Perceptronメモ
線形識別モデル
- 識別=入力ベクトルがどのクラスに属するか
- 線形識別=どのクラスに属するかを表す境界が「超平面」によって決まる
- 各入力ベクトルから直接クラスを推定する識別関数を作成
- この識別関数に入力ベクトルをいれることで、どのクラスに属するかを判定する
(単純)パーセプトロンアルゴリズム
- 線形識別モデルの一つ、ニューラルネットワークの一つ
- Frank Rosenblatt(1928-1969)
- 2クラスの分類モデル
- 上記のパラメータwを決定するのが「学習」
- 実際に学習したwを使って、上記の式を計算してy(x)を求めるのが「予測」
学習アルゴリズム(確率的勾配降下法, stochastic gradient descent)
- 学習パターンx_nが与えられたとき、現在のwを使って分類してみて
- 正しく分類された→なにもしない
- 正しく分類されなかった→その特徴ベクトルΦ(x_n)が正しく分類されるように、現在のwからΦ(x_n)を加えるor差し引く
-
- η : 学習率パラメータ(慎重に選ばないといけない。=1としていい)
- t : 学習のステップ回数
- 学習中にwが変化すると誤分類集合も変化する→収束しない可能性、いろんな解があり得る
- 学習パターンが線形分離可能な場合は「パーセプトロンの収束定理」より、有限回の繰り返しで厳密解に収束することが保証されている
- でも実際はこの繰り返し回数はかなり多い
- 学習パターンが線形分離不可能な場合は、決して収束しない
- 収束が遅いのか、そもそも収束しないか判定できない
その他
- Averaged Perceptron
- 上記の学習方法だと最後の方の訓練データに偏りがち
- 学習で出てきた全ステップのwの平均値を結果として用いる
- 多層パーセプトロン
- 誤差逆伝搬法で学習
- 複数のパーセプトロンの組み合わせ"ではない"らしい
- 参考:http://home.hiroshima-u.ac.jp/tkurita/lecture/prnn/node18.html
- Structured Perceptron
- 系列分類への応用?