2011年3月19日土曜日

単純パーセプトロンの動作

さて、パーセプトロンの学習がどうなるかという前に、パーセプトロンがどのように出力を求めるか、という動作について少し説明しておきたいと思います。まず、パーセプトロンが実際どのように動くかが分かってないとですね。

と、ここまで書いて、いろいろ調べてみると、どうも、三層パーセプトロンよりも簡単な、単純パーセプトロンでも十分、線型判別可能のようですので、ここからは、単純パーセプトロンについて説明させて頂きます。混乱させるようで申し訳ありませんがより単純で分かりやすい説明になりますのでよろしくお願いします。

単純パーセプトロンの図は、以下のようになります。



三層パーセプトロンは、この単純パーセプトロンを複数組み合わせて多数決で答えを求めると考えて下さい。

さて、前回、線型分離可能なトレーニングデータの超平面の関数は


となると説明しました。従って、超平面の方程式はf(x)=0であるとなります。言い方を変えると上記の式が0となるとき入力ベクトルx =(x1,x2,…,xn)が超平面上にあるという意味です。これからは、簡単に超平面の方程式は

  wx+b=0
と表現することにします。

単純パーセプトロンは、入力ベクトルx=(x1,x2,…,xn)法線ベクトルw=(w1,w2,…wn)の内積に原点からの距離bを加えるということをやり、なおかつ、その出力の正負だけをみて超平面で分離可能かどうか見ます。

つまり、正負を分ける関数をsgnとし、次のように定義することにしたとき、



単純パーセプトロンの出力は、

 y=sgn(wx+b)

という関数で表せるということになります。

上図4を見て頂くと分かるように、超平面の法線ベクトルwは入力ベクトルの各要素に対する重みとなっています。従って、パーセプトロンを考えるときは、超平面の法線ベクトルw重みベクトルと言い、bバイアスと言ったりもします。

単純パーセプトロンの学習は、トレーニングデータをを用いてこの重みベクトルwとバイアスbを求めるということに相当します。
次回は、この学習について説明する予定です。


0 件のコメント:

コメントを投稿