わかりやすい パターン認識
第3章 誤差評価に基づく学習
3.1 Widrow-Hoffの学習規則
「[2] 閉じた形の解(p.35)」を例題に当てはめて解いてみる。
例題は以前パーセプトロンの学習規則を使って試した、2.3節「パーセプトロンの学習規則」(p.18)で、特徴が1次元の6個のパターンを2クラスに分類する例。
添字が多くてイメージがわかないので、まずは展開して計算してみる。
学習パターン
学習パターン
- 行ベクトルが各パターン(列の数はバイアスの分を加えるので、1+特徴次元数=2)で、行数はパターン数(=6)
教師マトリクス
教師マトリクス
- 行ベクトルが各クラスでの教師信号で、行数はパターン数(=6)、列数はクラス数=2
- パターンがクラスに属していれば列が、それ以外はという教師信号
識別関数のウェイト
- 求めるべき値
- 列ベクトルが各識別関数のウェイト(1+特徴次元数=2)で、列の数は分類したいクラスの数(=2)
識別関数のウェイトを閉じた形で求める
全クラス、全パターンの識別関数に対する教師信号との二乗誤差$J$を、各ウェイトベクトルで偏微分した値を0と置いて、最小解を求める。
から計算:
これによって
となり、 と との間で識別する値が学習できている。
コード
PythonのNumPyを使って、プログラムで計算してみる:
learn_error_close.py
# coding: UTF-8 |