Courseraの機械学習ネタの続き。前回は、ロジスティック回帰のパラメータ推定(2014/4/15)に共役勾配法(Conjugate Gradient: CG法)を使いました。今回はより複雑なニューラルネット(多層パーセプトロン)のパラメータ推定に共役勾配法を適用してみました。 以前、多層パーセプトロンで手書き数字認識の実験をしたとき(2014/2/1)は、共役勾配法ではなく、勾配降下法(Gradient Descent)を用いてパラメータの更新式を自分で書いていました。 self.weight1 -= learning_rate * np.dot(delta1.T, x) self.weight2 -= learning_rate * np.dot(delta2.T, z) 勾配降下法は、学習率(learning rate)を適切な値に設定しないと収束が遅い、発散するなど欠点があります
![共役勾配法によるニューラルネットのパラメータ推定 - 人工知能に関する断創録](https://cdn-ak-scissors.b.st-hatena.com/image/square/3be89a9e22d7ef8cfe09625dd1d3e3c2fab3b119/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fa%2Faidiary%2F20140522%2F20140522214715.png)