こかげむら

ゲーム好きな理系大学生のお話

【備忘録】パーセプトロンの学習規則

脳内のニューロンの働きを模倣した要素還元主義的なアプローチ,パーセプトロンモデルの学習規則について今日勉強したことを書いていく.

 

パーセプトロンアルゴリズム

入力xと重みベクトルwを以下のように置くと

w = \left(\begin{array}{rrr}w_1\\ w_2\\ \vdots\\ w_m \end{array}\right)   x = \left(\begin{array}{rrr}x_1\\ x_2\\ \vdots\\ x_m \end{array}\right)

 

総入力z = w_1 + w_2 + ... + w_m = w^T xと表される.

 

パーセプトロンアルゴリズムでは決定関数\phiは単位ステップ関数になっていて次の式で表される.

\begin{eqnarray}\phi (z) = \left\{ \begin{array}{ll}
1 & (z\geqq\theta) \\
-1 & (z<\theta) \end{array} \right.\\\end{eqnarray}

総入力zが変数となって出力outputが決定されていき,そのoutputをもとに重みが更新されていく.

重み更新の手順

1.重みw0または値の小さな乱数で初期化(適当に値を決める)

2.トレーニングサンプルx_iに対するラベルy_iを用意する(教師データ)

3.出力値outputを計算

4.重みを更新(間違えたら更新)

これらをひたすら繰り返して最適な重みを見つける

重みの更新式

w_i := w_i + \Delta w

\Delta w = \eta (y_i - output)x_i 

\etaは学習率で0以上1未満

例えばここで,出力値1でラベルも1で,出力値とラベルが合致しているときは

\Delta w = \eta (y_i - output)x_i = \eta (1 - 1)x_i = 0

となり

w_i := w_i + \Delta w = w_i + 0 = w_i

なので,更新されない.

合致していない時は,\Delta w_iが0にはならないので重みが更新される.