1個のニューロンの学習(8)

いままでAが任意でしたので、ここで

  • A=\frac{a\beta}{\gamma}・・・・(30)

とおくと「1個のニューロンの学習(7)」の式(29)

  • -2aA\vec{S}\cdot\vec{Q}(k)+a^2\vec{Q}(k)^2{\le}-2aA\gamma+a^2\beta・・・・(29)

  • -2aA\vec{S}\cdot\vec{Q}(k)+a^2\vec{Q}(k)^2{\le}-a^2\beta・・・・(31)

となります。ところで\gamma=0ですと式(30)は成り立ちません。\gamma\neq{0}と言えるのでしょうか? 「1個のニューロンの学習(6)」の式(14)

  • \vec{S}\cdot\vec{v}(i)>0・・・・(14)

と「1個のニューロンの学習(7)」の式(27)

  • \gamma=\min_{i=1,...,m}\vec{S}\cdot\vec{v}(i)・・・・(27)

から\gamma>0を言うことが出来ます。なので式(30)は成り立ちます。さて、\betaの定義である式(25)から\betaは正なので式(31)から

  • -2aA\vec{S}\cdot\vec{Q}(k)+a^2\vec{Q}(k)^2<0

が言えます。さて式(31)は上の式より有用です。式(31)と「1個のニューロンの学習(7)」の式(23)

  • \left(\vec{s}_{k+1}-A\vec{S}\right)^2{\le}\left(\vec{s}_k-A\vec{S}\right)^2-2aA\vec{S}\cdot\vec{Q}(k)+a^2\vec{Q}(k)^2・・・・(23)

から

  • \left(\vec{s}_{k+1}-A\vec{S}\right)^2{\le}\left(\vec{s}_k-A\vec{S}\right)^2-a^2\beta

同様に考えて

  • \left(\vec{s}_k-A\vec{S}\right)^2{\le}\left(\vec{s}_{k-1}-A\vec{S}\right)^2-a^2\beta

・・・・

  • \left(\vec{s}_2-A\vec{S}\right)^2{\le}\left(\vec{s}_1-A\vec{S}\right)^2-a^2\beta

これらの式から

  • \left(\vec{s}_{k+1}-A\vec{S}\right)^2{\le}\left(\vec{s}_1-A\vec{S}\right)^2-ka^2\beta・・・・(32)

式(32)の左辺は非負なので

  • 0{\le}\left(\vec{s}_1-A\vec{S}\right)^2-ka^2\beta

よって

  • ka^2\beta{\le}\left(\vec{s}_1-A\vec{S}\right)^2
  • k{\le}\frac{\left(\vec{s}_1-A\vec{S}\right)^2}{a^2\beta}・・・・(33)

つまりkには上限があるということです。kニューロン\vec{s}を修正した回数を表していますので、よって、修正の回数には上限があるということになり、いつかは修正が止まるということです。つまり、やがて全てのパターンに対して修正が不要になるということで、全てのパターンに対して正解を出力するということになります。よって、ニューロンの学習は必ず成功します。
おもしろいのは、aの値がいくつであってもa>0ありさえすればニューロンの学習は成功するということです。a<0では式(23)を導くことが出来ないので学習の成功は証明できません。またa=0であるとすると\vec{s}は変化しないので学習は成り立ちません。a>0であることが必要です。


以上の証明は、ネットに出ていた石井健一郎名古屋大学教授の「パーセプトロンの収束定理の証明」を参考に致しました。