サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
saiias.hatenablog.com
元論文はこちらです. 自分の実装はここに置いてあります. 1データに対する学習率の調整部分は部分は以下の通りです. (論文内の擬似コードをそのまま実装している感じです. double pred = sigma(X,i); for(int idx = 0; idx < d; idx++){ if(X(i,idx) != 0){ double tbeta = 1-(1-beta1) * pow(lambda,iter); double grad = (pred - label(i)) * X(i,idx)+ C * w(idx); m[idx] = tbeta * grad + (1-tbeta) * m[idx]; v[idx] = beta2*pow(grad,2) + (1-beta2) * v[idx]; double hat_m = m[idx]/(1-pow((1-beta1),i
AdaGradとAdaDeltaを実装&収束速度評価を行ってみました. https://github.com/saiias/Adadelta 詳しいアルゴリズムは論文を参照してください. AdaGradもAdaDeltaのどちらも学習率を自動で調節することによって学習の高速化をすることができる手法です. どちらも実装が簡単で適用範囲が広いです. AdaGradとAdaDeltaについてざっくり述べると Adagradは過去すべての勾配の2乗和の平方根の逆数を利用 AdaDeltaはAdadeltaの改良版で,学習率の初期値が不要で、直近の勾配を重く評価する などの特徴を持っています. 今回は実装の簡単さからロジスティック回帰+L2正則化の実装と評価を行いました. 実装についてはgithubにのせているのでここでは重みの更新式について記載します. ロジスティック回帰+L2正則化 w(idx)
このページを最初にブックマークしてみませんか?
『saiias.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く