* 確率的勾配降下法 (stochastic gradient descent method) [#c51c528f]

//ここには %項目の説明を書いてください.よろしければ署名しておいてください.

予測の誤差関数が \(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日追記日現在から見て)、深層学習の発展を背景として確率的勾配降下法の様々なバリアントが提案されている。

> -- こびとさん


** 関連項目 [#d0d59c53]

//英語や同義語のあとに,#brで区切って関連する項目をリストしてください.
-[[stochastic gradient descent method]]
-[[確率的降下法]]
-[[stochastic descent method]]
#br
-[[最適化]]
-[[逐次学習]]
#br
-[[検索:確率的勾配降下法 確率的降下法]]

** リンク集 [#a80461fc]

//関連するWWW資源があればリンクしてください.

-[[Learning with Stochastic Gradient Descent>http://leon.bottou.org/research/stochastic]] @ Léon Bottou
-[[Stochastic Optimization: ICML 2010 Tutorial:http://www.ttic.edu/icml2010stochopt/]] @ Nathan Srebro
#br
-[[Wikipedia:Stochastic_gradient_descent]]

** 関連文献 [#uf15798e]

//この%項目%に関連する書籍や論文を紹介してください.

-[[Book/わかりやすいパターン認識]] 8.3節
-[[Book/Pattern Recognition and Machine Learning]] 3.1.3節

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS