確率的勾配降下法・最急降下法・最小二乗法

確率的勾配降下法・最急降下法・最小二乗法とは

最小二乗法は、統計分析や機械学習の分野において、測定データと特定の関数の誤差を測定する際に用いられる手法です。
最小二乗法は、統計学では回帰分析などでモデル関数の当てはまりを評価するために用いられます。例えば線形回帰分析において、測定データに対し1次関数を用いて当てはまりを評価するとします。
この場合、任意の直線と測定データ群とのユークリッド距離である誤差の二乗和を求めます。この二乗和が最小になるように、回帰直線を求めます。
同様に、重回帰分析や多変量解析で関数近似する場合も、誤差の二乗和を求め、最小になるようなモデル関数を求めます。

最急降下法は、最適化問題の勾配降下法のアルゴリズムのひとつです。
傾きの最も急な方向に降下することを意味し、最小二乗法とともに18世紀のドイツの数学者ガウスが発見しました。

最急降下法は、最小二乗法をより一般化したもので、測定データとモデル関数の誤差による関数(誤差関数)の最小を求めるための最適化を行う方法です。
複雑な分類問題の場合、最適化問題を解くこと、すなわち誤差関数の最小を解析的に求めることは難しいため、反復学習によりパラメータを更新するアプローチをとります。
誤差関数の導関数を求め、重みを更新して傾きである微分係数が0になる点を逐次的に探索します。

最急降下法の問題点は、全てのデータを一度に扱うため計算量が多く遅いことです。
その欠点を補うために、最急降下法をオンライン学習に改良したのが確率的勾配降下法です。オンライン学習とはデータが入ってくるたびにその都度学習を行う方法です。

確率的勾配降下法は、最急降下法の一種で、ランダムに選んだ1つのデータのみで勾配を計算してパラメータを更新し、データの数だけ繰り返します。確率的勾配降下法の利点は、局所最小に陥りにくいことです。
しかし、確率的勾配降下法にもデータ数が多い場合に計算量が膨大になる問題点があります。


最急降下法と確率的勾配降下法の中間に当たるのが、ミニバッチ勾配降下法です。
ミニバッチ勾配降下法では、数個から数百個程度に区切ったデータをランダムに選び、勾配計算とパラメータの更新をすべてのデータについて繰り返します。ミニバッチ勾配降下法は、計算量が少なく学習も収束しやすいため、一般によく用いられています。選ぶデータは学習のエポックごとにシャッフルされます。
この文脈では通常の最急降下法はバッチ勾配降下法と呼ばれています。