確率的勾配降下法
📂最適化理論確率的勾配降下法
定義
目的関数 Q とラーニングレート α>0、バッチサイズ m、そしてi番目のデータに対して、
ωn+1:=ωn−αn1i=1∑m∇Qi(ωn)
を確率的勾配降下法という。
説明
マシンラーニング
確率的勾配降下法はデータを扱う以上、必然的にマシンラーニングと深い関係を持つ。いくつかの言葉が慣れないかもしれないが、例を通して理解することがいい:
x1 と x2 が与えられたとき、y を予測する問題があるとする。推測されるモデルは線形結合 y=ax1+bx2 だ。私たちのデータセットは約30兆個の観測値を含んでおり、それを処理するコンピュータのスペックが乏しいため、問題を少しずつ分けて解くとする。
y5.22.19.06.7x12.01.23.83.7x20.90.01.3−0.5
たとえ上記のように4 個のデータに分けて処理するならバッチサイズはm=4 になる。これは単なる例であり、問題は非常に単純で、目で見てもa≈2,b≈1 が答えであることがわかる。典型的な回帰分析問題なので、単に最小二乗法で解くこともできるが、理解を助けるためにわざわざ最適化技術で解くことを考えよう。
最適化技術にはまず目的関数が必要である。ここで、目的関数 Q は次のように定義でき、私たちの目標は目的関数を最小にするω=(a,b) を見つけることである。
Q(a,b):=(ax1+bx2−y)2
ここで、私たちが関心を持つ変数がa,b であることを再度思い出しておこう。与えられたデータに基づいてa,b を見つけることは、次のようにi=1,⋯,m 番目のデータに対する4つの関数を同時に考えることと同じである。
Q1(a,b):=(2.0a+0.9b−5.2)2Q2(a,b):=(1.2a+0.0b−2.1)2Q3(a,b):=(3.8a+1.3b−9.0)2Q4(a,b):=(3.7a−0.5b−6.7)2
ここで「確率的」という名前の動機が出てきた。確率論的な概念がないにも関わらず、確率的勾配降下法と呼ぶ理由は、通常このように選ばれるデータがランダムだからである。これに対する導関数の平均で新しい値をアップデートすることは、もちろん当然である。
勾配降下法?
確率的勾配降下法は式的に通常の勾配降下法と変わりない。本質的な違いはデータの有無であり、確率的勾配降下法から発展した最適化技術もデータを気にすることだけを覚えておけば良い。