睡眠不足?! RSSフィード

2162847

2012-06-05

[]パーセプトロン収束性定理と学習率について

昨日公開したパーセプトロンのデモに対して「パーセプトロンに学習率って必要だっけ?」というコメントを頂いた.結論から言えば「収束性の保証には要らない.ただし,適当な値に設定すると経験的には収束が速くなる.」という回答になる *1

パーセプトロン収束性定理では学習率は正の値であれば収束することが保証されている.1でよいので学習率は省略可能.ということを言いたのだけれど,そういえばパーセプトロン収束性定理を自分で証明したことがなかったので赤本[1]引っ張り出して式を追いかけてみた.どうやらバイアス項がある場合とない場合で,収束に要する試行回数の上界が4倍も変わるみたい*2

赤本の訳者が脚注に丁寧に導出の過程をフォローしてくれているので,pp.17-20あたりを読めばわかると思う.せっかくなのでバイアス項なしの場合について自分の言葉でノートにまとめてみた.

このノートでは,

ということを示した.

ただし,ここでは収束の可否に関係ないということを言っているのであって,経験的には適当な学習率を設定した方が収束が速い*3(2012-06-16削除 こちらの記事参照)."Perrceptronで学習率が大きいとぶっ飛んでしまうぶっ飛んでしまう" というのは「マージンあっちこっち行って扱いづらい」という意味で記述したつもり.Perceptronデモで学習率を大きく設定すると,ボタンを相当連打しないと分離平面を見つけてくれなかったりする.けれど学習率が大きくても見つかることは保証されているのだから不思議.

ただし,収束性定理で示された上界は学習率では変わらないので「本当にそうなのかよ」という疑問は残る.これは実験で部分的に検証するしかない.では経験的には (実験では) どうなんだろうということも今夜やって書こうかと思ったけれど無駄に引っ張ってみる.

なお,パーセプトロン収束性定理の証明についてはウェブで公開されているものでは @kisa12012 さんの資料[2]が簡潔でわかりやすい.バイアス項がある場合については赤本[1]に書いてある.

References

追記

  • @c2top さんに誤りを指摘して頂き修正しました.ありがとうございます.

*1:間違っていたらご指摘ください

*2バイアス項がない場合はt ¥le ¥frac{R^2}{¥gamma^2}.ある場合はt ¥le ¥frac{4 R^2}{¥gamma^2}

*3:これも違ったらすんません

n_shuyon_shuyo 2012/06/14 11:27 「学習率を適当な値に設定すると経験的には収束が速くなる」とありますが、本当にそうでしょうか?
重みの初期値は0ですから、更新式よりη倍した解が求まるだけで、収束性に影響があるように思えません。
参照されている [3] の資料も見てみたところ、確かに12ページ目に「学習係数が大きすぎる場合」とあって、ぶっとんでいる様子が描かれていますが、これは話の流れ的には単純パーセプトロンではなく多層パーセプトロンの誤差関数の最適化であるように読めます(そもそも単純パーセプトロンの誤差関数は凸なので図のような形になるはずがない)。

sleepy_yoshisleepy_yoshi 2012/06/15 03:21 コメントありがとうございます.

> 重みの初期値は0ですから、更新式よりη倍した解が求まるだけで
これを言われて己の誤りに気づきました.はい,そうです...
実験的にも変わらないことを確認しました.
ここらへんの誤りと勘違いについて明日ブログに<s>告白し</s>まとめます.

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元