ニューラルガス(NG:Neural Gas)
ニューラルガス(NG)とは
ニューラルガス(NG)はベクトル量子化に用いられるネットワークで,SOMとよく似たアルゴリズムで動作します.ベクトル量子化とは多数の入力ベクトルの集合を比較的少ないユニット(参照ベクトル)で近似することをいいます.NGはSOMと同様に教師なし学習によって自己組織的にベクトル量子化をおこないます.
SOMとニューラルガス
NGの学習
NGに入力ベクトルが与えられると入力ベクトルに最も近い参照ベクトルを持つユニットが勝者ユニットとなります. SOMの場合には勝者ユニットからのマップ空間上での距離によって各ユニットの学習率が決定しました. それに対してNGの場合には,入力ベクトルに対するベクトル空間上での距離のランキングによって 各ユニットの学習率が決まります. つまり入力ベクトルから1番近い勝者ユニットが最も強く入力ベクトルに対して学習し,2番目,3番目とランキングが下位になるほど学習の強さは弱くなります.またSOMと同様に学習アルゴリズムにはOnline-LearningとBatch-Learningがあり,用途によって使い分けられます.
Demo:SOMとの比較
Learnボタンで学習開始,もう一度押すとStopです.Resetボタンを押すと入力分布も変わります.
自己組織化マップ(SOM) | ニューラルガス(NG) |
このデモでは2次元SOMとNGに2次元座標データを与えて学習させています.
SOMの場合には各ユニットが隣接するユニットに引っ張られていることが分かります.
これによってデータベクトルの存在しない場所にもユニットが配置されています.
それに対してNGの場合には,ほとんどのユニットがデータベクトルのいずれかの点を代表するものとなっています.
しかしこれはどちらのアルゴリズムが優秀であるかという問題ではありません.
どちらにもそれぞれの利点があり,やはりここでも問題に適したアルゴリズムを選択する必要があります.