Coursera (week2)
線形回帰のコスト関数をどうやって最適化するか
1. 最急降下法を使う
2. 正規方程式を解く
最急降下法を使う際には学習率の調整が必要になる。大きすぎなきゃ収束することが保証されているから、小さいのから大きいのを3倍ずつくらいに分割して学習率を調整するのがいいとのこと。
また、早く収束するためにはデータの正規化も有効。本コースでは単純に平均を引いて大きさで割って0~1の正規化を行っていたけれど、平均0分散1になる正規化もOKだと思う。
正規方程式は
をムーア・ペンローズの擬似逆行列を用いて解くというものだ
正規方程式を解くことの利点は学習率が存在しないのでパラメータ調整が必要ない。また、データの正規化も必要ない。
しかしがデータの次元数×次元数の行列となっていて、次元数が大きくなると逆行列を解くコストが高くなる。実際、逆行列を掃き出し法で解くとのオーダーとなる。Andrewさんは次元数が10000を勾配法と正規方程式の選ぶ境目ぐらいだと言っていた。