学習アルゴリズムの学習曲線

パーセプトロンの収束定理くらいまでかな?と思っていたらあんまり知らないような内容まであってびっくりした。アルゴリズムに対する学習曲線というものを導入し、統計力学の手法を使って解析する。次元数と例題数を無限大に飛ばすと0に行くんだが、問題はそのスピード。もちろん早いほうがいい。

バッチでやった場合の最小二乗法とか最尤推定に対する学習曲線は\epsilon(T) = \propto T^{-1}になるらしいが(ここでTはサンプル数)、パーセプトロンなどに対してこいつがどうなるか考える。(もう解き方とか覚えていない)微分方程式とパラメータにガウシアンを仮定してあげると解が閉じた形で出てくる(のでなかなかびびる)。解は\epsilon(T) = \propto T^{-1 / 3}ということで、バッチより大分遅いことが分かる。パーセプトロンは間違ったときの情報しか使っていないから、正解したときの情報も使ってあげましょうという考え方がヘブ学習。そういえば、@tkf君とかが前再帰的なニューラルネットワークとかやっていたような気がするが、このヘブ学習もそういうのと同じような感じなのかな。連想記憶がどうとか、という話の付近からついて行けなくなったが、学習曲線は\epsilon(T) = \propto T^{- 1 / 2}となり、パーセプトロンよりいいが、バッチには勝てないという結果が出てくる。

個人的には、オンラインとバッチをこういう学習曲線で比較するというのを初めて聞いたので、こういう考え方で理論的に評価が可能になる、というのが興味深かった。

課題は証明とかそういう感じのものではないんだが、レポートで証明とかあってもいいと思うんだけどなー(練習になるし)。後半ではそういうのがあるのかな。まあ、ガチなレポートにすると学生が死亡してしまうというところが大きいんだとは思いますが。。。