確率的勾配降下法 (stochastic gradient descent method)

予測の誤差関数が \(E^N=\sum_i^NE_i\) のように,各データ点についての誤差の総和で表されているとする.例えば,2乗誤差なら \[E_i=(y_i-f(\mathbf{x}_i))^2\] とすれば, \[E^N=\sum_i^NE_i=\sum_i^N(y_i-f(\mathbf{x}_i))^2\] のように,各データ点の誤差の総和となっている.

最急降下法では \(N\) 個のデータ全体についての勾配を考えた \[\theta\leftarrow\theta-\nabla E^N\]

確率的勾配降下法では,総和の勾配を計算する代わりに,\(i\)個目データについての勾配を計算してパラメータを更新する手続きを \(i=1,\ldots,N\) について行う. \[\theta\leftarrow\theta-\eta_i\nabla E_i,\;i=1,\ldots,N\]

  • 全データで反復しても収束が十分でなければ,同じデータ集合を何度か適用する.
  • 収束するには\(\eta\)を適切なスケジュールで減少させる必要がある.
  • 一回の更新で,データ一つしか参照しないためメモリ効率が良く,大規模データの処理で注目されている.
  • 逆にデータが少なく,\(\eta\) のスケジューリングが悪いと良い近似にならない.

-- しましま

  • 異常値を参照してしまうことを避けやすくするために、データ全体をいくつかごとに分割してそれぞれの勾配を計算するミニバッチ学習という手法もある。
  • 近年(2018年7月24日追記日現在から見て)、深層学習の発展を背景として確率的勾配降下法の様々なバリアントが提案されている。

-- こびとさん

関連項目

リンク集

関連文献


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-07-24 (火) 11:29:30 (60d)