next up previous
Next: About this document ... Up: パーセプトロンの学習則 Previous: パーセプトロンの学習則

パーセプトロンの学習

パターン c に対する教師信号を tc と書くことにすると パーセプトロンの学習、すなわち結合強度の更新式は

 \begin{displaymath}\Delta w_{ji} = \eta\delta x_{c,j} = \eta \Brc{t_{c,j} - y_{c,j}}x_{c,j}.
\end{displaymath} (1)

と表すことができる。あるいは、wji の更新式として

 \begin{displaymath}w_{ji}(n+1) = w_{ji}(n) + \eta\Delta w_{ji}(n)
= w_{ji}(n) + \eta\Brc{t_{c,j} - y_{c,j}}x_{c,j}.
\end{displaymath} (2)

でも同じ意味。ベクトル表現すれば

 \begin{displaymath}\mb{w}(n+1) = \mb{w}(n) + \eta\Brc{\mb{t}_c - \mb{y}_c}\,\mb{x}_c.
\end{displaymath} (3)

ここで、$\mb{w}(n)$n 回目の学習終了時点での結合強度を入力層の ニューロンだけ並べて $\Brc{w_1,w_2,\ldots,w_{N}}$ としたものである。 $\mb{t}_c$ はパターン c に対応する教師信号を表し、 $\mb{y}_c$ はパターン c に対するパーセプトロンの出力を表す。 $\mb{x}_c$ は入力信号である。

入力 2 出力 1 のネットワークを考えれば、このネットワークへの入力全体は 2 次元平面で表現できる。


\begin{FigHere}% latex2html id marker 42
\begin{center}
\resizebox{0.4\textwidt...
...pp0.eps}} \end{center}\caption{パーセプトロンの入力の幾何学的表現}
\end{FigHere}

この平面(この場合は入力層のニューロン数が 2 だったから平面であったが) のことを入力空間と呼ぶことがある。 パーセプトロンにおける学習とはこの空間を 2 分割するような領域に分けることである。

いま、閾値が 0、すなわち入力データを 2 群に分ける直線が原点を通る場合 を考えることにする。このとき w1x1 + w2x2 > 0 であれば 1 を出力し $w_1x_1 + w_2x_2 \le 0$ ならば0 を出力するとは ベクトル (x1,x2) と ベ クトル (w1,w2) との内積の正負の判断をしているのと同義である。なぜなら ベクトルの内積とは 2 通りの表現があって

\begin{displaymath}\Brc{\mb{w},\mb{x}} = w_1x_1 + w_2x_2 = \vert\mb{w}\vert\,\vert\mb{x}\vert \cos\theta
\end{displaymath} (4)

だからである。 上式の最右辺の正負は 2 つのベクトルのなす角 $\cos\theta$ のみによって決まる。 すなわち


 \begin{FigHere}% latex2html id marker 56
\begin{center}
\resizebox{0.4\textwidt...
...領琉茲農気砲覆襪箸蓮∨\�戰�肇襪箸瞭眄僂正であることを意味する}\end{FigHere}

Figure.2 のように斜線をつけた領域にある全てのベクトルは、 2 群を判別する直線の法線ベクトルとの内積が正である。つまり $\cos\theta$ $-\displaystyle\frac{\pi}{2}<\theta<\displaystyle\frac{\pi}{2} \rightarrow
\cos\theta >0$ 平たく言えば二つのベクトルのなす角が 90 度より小さいとき 正、大きいとき負になる。

このパーセプトロンに学習すべきデータが一つ入って来たと仮定しよう。
 \begin{FigHere}% latex2html id marker 70
\begin{center}
\resizebox{0.4\textwidt...
...phics{perceptron-supp3.eps}} \end{center}\caption{学習すべきデータ}\end{FigHere}
Figure 3 は 1 と出力すべき(y=1 すなわち法線ベクトルとの内積が正であるべき)データを、誤って 0 と出力してしまったという事態である。 このとき、式(3) 内の $\Brc{\mb{t}-\mb{y}}$ は 1 - 0 = 1 になるので 結合荷重の更新式、すなわち法線ベクトルの更新式は

 \begin{displaymath}\mb{w}(n) + \eta\Brc{\mb{t}_c - \mb{y}_c}\,\mb{x}_c =
\mb{w}(n) + \eta\mb{x}_c.
\end{displaymath} (5)

となってベクトルの足し算になる。


\begin{FigHere}\begin{center}
\resizebox{0.4\textwidth}{!}{\includegraphics{perceptron-supp4.eps}} \end{center}\end{FigHere}

これによって判別直線が回転し


\begin{FigHere}\begin{center}
\resizebox{0.4\textwidth}{!}{\includegraphics{perceptron-supp5.eps}} \end{center}\end{FigHere}

今度は法線ベクトルとデータ $\mb{x}$ とのなす角が 90 度以内になる。 0 と出力すべきデータを、誤って 1 と出力してしまった場合は ベクトルの引き算になる。

最後に判別直線が原点を通らない場合、すなわち閾値が 0 ではない場合を見ておこう。


\begin{FigHere}\begin{center}
\resizebox{0.4\textwidth}{!}{\includegraphics{perceptron-supp7.eps}} \end{center}\end{FigHere}

この場合は、原点を通る直線を並行移動したことになるので、 原点を通る判別直線では 1 と答えるべきの領域(図中の白マル)に入ってしまっている 点を底アゲして 0 と答えるべき領域(図中の黒マル) の領域にするために 行われると考えることができる。



Shinichi ASAKAWA
1999-10-29