Coursera Machine Learning 受講ノート 6
Week2 / Normal Equision
正規方程式。最急降下法で漸近的に得ていた最適値を一発で出すための方程式。
偏微分と解析学わからないとわからない領域に入ってきたが、後でフォローしてもらえるらしい。
訓練データとその答えを別の行列とベクトルとして扱って、それをある方法で解くと最適なθが手に入るらしい。
具体的には
pinv(x' * x) * x' * y
この式を使う場合、前に説明したFeature Scaling(すべてのパラメータをだいたい同じ値に揃えること)は必要ない。
正規方程式と最急降下法の使い分け
最急降下法では、学習レートを選んで何度もイテレーションを回す必要があるが、特徴が何個あってもちゃんと動く。 正規方程式では特徴の行列をその転置行列と掛け算して逆行列を求める必要があるので、特徴が増えるとめちゃめちゃ遅くなる。 具体的には、10,000個の特徴を計算するくらいまでは正規方程式でも良い。
正規方程式と非可逆性
Octaveのpinv
関数は、x' * x
が非可逆でもθを計算できる。
非可逆な時は
- 冗長な特徴がある
- 特徴が多すぎる
ことを疑うと良い。
課題提出システム
すごい。
Octaveって ファイル名()
すると中身を実行できるのか。
submit()
で提出できるのクールだな。
添字つきの変数が混乱してきた。
右上と右下にそれぞれ変数がつくやつ、最初分かってたけど読み方忘れてきた。
Week2 / Octave/Matlab Tutorial
Refs
- ヒストグラムがGUIで見られなかったが、Octave does not plot - Stack Overflowに助けられた