LVQ3はLVQ2の学習則を改良したものです。 LVQ2では学習が進んだとき、 正しいカテゴリーに対して結合重みベクトルが遠ざかるという問題点がありました。 そこでLVQ3では結合重みベクトルの更新の際、もう1つの条件を加えました。
LVQ3の学習則をみてみましょう。
- 入力データベクトルXjに最適マッチングした結合重みベクトルWkとWmを見つける。 どちらが最適マッチングするベクトルでも良い。
このときXjのカテゴリーをCj、WkのカテゴリーをCk、WmのカテゴリーをCmとし、 CjとCkは一致しないが、CjとCmは一致しているとする。
- WkとWmの中間の位置で、ある一定の幅をもつウインドウを設定する。
- Xjがそのウインドウに入っている場合、次の式により結合重みベクトルを更新する。
![]()
Wknew=Wkold−α(Xj−Wkold)
Wmnew=Wmold+α(Xj−Wmold)
- どちらの結合重みベクトルも入力データベクトルと同じカテゴリーの場合は、 次の式によって結合重みベクトルを更新する。
![]()
Wknew=Wkold+ε(Xj−Wkold)
Wmnew=Wmold+ε(Xj−Wmold)
εは学習係数で0.1〜0.5が適当であるとされています。 また、εはウインドウの幅が狭いほど小さく、広いほど大きい値にします。