- Octaveチュートリアル -
講座のホームページの構成が変わってここまでが第2週の課程ということになりました。今回は基本的にOctaveの使い方と課題の提出についての説明です。これはできれば前回の課題をやる前にやりたかった内容です。
重要な点としてforループのベクトル化の説明がありました。パラメータ計算のところで、c言語などでプログラムすると2重forループになってしまうのが、ベクトルの内積として表現することで1行で書くことができます。

machine learning - Stanford university

machine learning - Stanford university

こういった勉強は久しぶりなのでときどき何をやっているのかがわからなくなってしまいます。ということでこれまでのところを言葉でまとめておきたいと思います。

たくさんのデータセット(Xi, Yi)たとえば住宅の面積とその価格のデータ群があったときに、新たな住宅サンプル(面積は既知)の価格を予測したい。エクセルの散布図のような形にデータをプロットしてそこによくフィットする直線(面積と価格との関係を表す式)がほしい。その式を、
 hθ(x) = θ0 + θ1 * x (線形)
とおいてパラメータΘ0とΘ1を求めていく。
直線が最もデータ群にフィットしたときには直線と各データとの距離の合計が最小になる、という考えから最小二乗和をコスト関数(どれくらいフィットしているかを表す関数)とする。
 J(θ0,θ1) = 1/2m ∑i=1:m (hθ(x(i))−y(i))2
適当に選んだθ0,θ1から少しずつ値を変えていきながらJを計算し最小となるΘの組を探す。その際にはJの式をθ0とθ1に関して偏微分し傾斜の下のほうに向かって移動していく。(最急降下法)

次週からはデータの自動分類(腫瘍が良性か悪性かなど)の手法に入っていくようです。