2016-12-26 9 views
-8

次のテキストは、HalDauméIIIの"A Course in Machine Learning"オンラインテキストブック(Page-41)のテキストです。パーセプトロントレーニングアルゴリズムの理解

enter image description here

私は理解し、そのD =入力ベクトルの大きさ。

(1)これはどのようなパーセプトロンアルゴリズムですか?バイナリ/マルチクラス?オンライン/オフライン?

(2)yとは何ですか?バイアス/ウェイト/サンプル/ class_label?

(3)重みを更新するためのya<=0のテストの根拠は何ですか?


EDIT。

yはclass_labelです。ご質問

+0

あなたは質問の範囲を拡大し続け、古い回答を時代遅れにしています。これは許可されていないと言っているわけではありませんが、複数の質問をする方が良いかもしれません。たとえば、回答を投稿してからしばらく追加した4番目の質問は、スタンドアロンの質問になる可能性があります。 – ilim

+2

この質問はhttp://stats.stackexchange.com/aka cross validatedに属します。 – Oleg

+0

あなたの投稿を壊さないでください。 – excaza

答えて

7

回答:

1からこれは、オフラインバッチに取り組んで、バイナリパーセプトロンアルゴリズムです。

2 -あなたが書いた通り - Yはラベルベクトルです。各ラベルは1または-1のいずれかになります。

3- y * a< = 0であるかどうかをテストする合理的なのは、パーセプトロンが特定のサンプルを正しく分類したかどうかをチェックすることです。そうでない場合、パーセプトロンの重みが変更されます。

次のように

第三質問

についてもう少しパーセプトロンアルゴリズムの背後にある考え方です。サンプルMaxIter回繰り返します。

b。パーセプトロンは、各サンプルに重みベクトルWを掛けてバイアスbを加えて分類する。結果は変数aに代入されます。

c。各サンプルの予測は、1または-1のいずれかになります。それは符号(a)によって計算される。この段階で、分類の正確性をチェックします。

y * a> 0の場合、y = sign(a)を意味します。換言すれば、予測された分類は正しいので、次のサンプルに移ります。

ただし、y * a < = 0の場合は、パーセプトロンが正しいラベルを予測できなかったことを意味します。この場合、アルゴリズムはパーセプトロンの重みを、分類に失敗したサンプルとの互換性がより高くなるように変更します。