読者です 読者をやめる 読者になる 読者になる

オンライン学習周りを調べている

ADAGRAD *1

  • 学習率をいい感じに調節してくれるスゴイやつ
    • 過去の gradient の2乗和で,今の gradient を割る

ADADELTA *2

  • adagrad をちょっと変更していて,ある程度直近の gradient の2乗和を見て,学習率を求めるやつ
    • adagrad は学習率 \eta を設定する必要があるけど,こっちは要らない
    • そのかわりにどの程度,過去を重視するかのパラメータ \rho がある
  • ここに adagrad と adadelta の比較がある ConvNetJS Trainer Comparison on MNIST
  • L1 とかどういう更新式になるんじゃろ?

FOBOS

  • オンライン学習の解き方の1つで,正則化項を考えない w を求めてから
  • その w に対して,正則化項を考慮したときの projection をする

RDA *3

  • 損失関数と正則化項がある時のオンライン学習の解き方の1つっぽいやつ
    • h(x) なる補助関数的なのを使っている
      • 損失関数の勾配の average を求めてから,閉じた形で w_{t+1} を求める( l_1)
  • ADAGRAD と使うと精度が高いらしい

色々書いたのです


実行
~ ❯❯❯ python run_sgd.py a9a a9a.t
0.8496

そこそこの精度出てる気がする...