Processing math: 5%

2020年8月11日火曜日

勾配降下法によるパラメータ最適化

 勾配降下法によるパラメータ最適化の計算に関するメモです.

f(x) = w_{0} + w_{1}x + w_{2}x^{2} + \cdots + w_{M}x^{M} = \sum_{m=0}^{M} w_{m}x^{m} \ \ \ (1)

e.g. x_{1} \sim x_{10}の10箇所の観測点について式(1)で計算されるtの値と,実際に観測されたt_{n}を比較する.それぞれの差の2乗を合計したものをこの推定の誤差と定義する.

\{ f(x_{1}) - t_{1} \}^{2} + \{ f(x_{2}) - t_{2} \}^{2} + \cdots + \{ f(x_{10}) - t_{10} \}^{2} \ \ \ (2)

誤差の値が大きいということは...式(1)から推定されるtの値は,実際の観測値とはあまり一致していないということ.よって,誤差がなるべく小さくなるようなf(x)が得られるようにパラメータ\{ w_{m} \}_{m = 0}^{M}を決定すれば最適化がなされることになる.

ここで,計算の都合上,式(2)の値を1 / 2倍したものを誤差関数E_{D}として定義する.

E_{D} = \cfrac{1}{2} \sum_{n = 1}^{N} \{ f(x_{n}) - t_{n} \}^{2} \ \ \ (3)

式(3)に式(1)を代入すると

E_{D} = \cfrac{1}{2} \sum_{n = 1}^{N} ( \sum_{m = 0}^{M} w_{m} x_{n}^{m} - t_{n} )^{2} \ \ \ (4)

なお,式(3)は二乗誤差と呼ばれる.また,式(4)はトレーニングセットとして与えられた具体的な観測値\{ ( x_{n}, t_{n} ) \}_{n=1}^{N}を用いて計算される(問題の前提として与えられる定数値)である.

式(4)を係数\{ w_{m} \}_{m=0}^{N}の関数とみなして,これを最小にする係数を求める.式(3)の二乗誤差を最小にする手法を最小二乗法という.

式(4)の誤差関数を最小にする最小化問題に帰着する.すなわち,式(4)を\{ w_{m} \}_{m = 0}^{M}の関数とみなした際の偏微分係数が0になるという条件として

\cfrac{\partial E_{D}}{\partial w_{m}} = 0 \ \ \ (m = 0, 1, \cdots , M) \ \ \ (5)

を解く.係数をまとめてベクトル{\bf{w}} = (w_{0}, w_{1}, \cdots, w_{M})^{T}とみなせば,勾配ベクトルが0になると言っても良い.

\nabla E_{D} ( {\bf{w}} ) = 0 \ \ \ (6)

ここでは

0 件のコメント :

コメントを投稿