LVQ2はLVQ1の学習則を改良したものです。どのようなことが改良されたのでしょう。
LVQ2の学習則をみてみましょう。 ただし、カテゴリーを割り付けるまではLVQ1と同じです。
- 入力データベクトルXjに最適マッチングした結合重みベクトルWkと、 その次にマッチングするWmを見つける。
このときXjのカテゴリーをCj、WkのカテゴリーをCk、WmのカテゴリーをCmとし、 CjとCkは一致しないが、CjとCmは一致しているとする。
- WkとWmの中間の位置で、ある一定の幅をもつウインドウを設定する。
- Xjがそのウインドウに入っている場合、次の式により結合重みベクトルを更新する。
Wknew=Wkold−α(Xj−Wkold) (Ck≠Cjのとき)
Wmnew=Wmold+α(Xj−Wmold) (Cm=Cjのとき)
LVQ2では、カテゴリーが一致した場合は近づけ、 一致しない場合には遠ざけるという操作をしています。 αは学習係数です。
学習則の中にウインドウというものがありました。 これをもう少し詳しく説明しましょう。
ウインドウとは2つの結合重みベクトルの中間にある、一定の幅をもった領域です。 LVQ2ではこのウインドウ内に入力データベクトルがあるときだけ、 結合重みベクトルが更新されます。
ウインドウの幅は、2つの結合重みベクトルの距離の10〜20%としています。
しかし、LVQ2では学習が十分進んだとき、 入力データベクトルが正しいカテゴリーであっても結合重みベクトルが近づかないということが起ってきます。そこで、LVQ2は学習係数αを1万回程度の学習で0に収束させ、 短い間だけに適用するという方法がとられます。