ベイジアン自己組織化写像シミュレーション(Ver. 1.3)

(To English version)

用語解説

ベイジアン自己組織化写像(BSOM)は, 確率モデルに基づいて データの分布を推定する方法の一つで、その推定アルゴリズムはある種のニューラルネットの 学習アルゴリズムとみなす事も出来ます。 下の図の黒い点は人工的に生成されたデータ点を表します。 青い丸とそれを結ぶ青い線は, それぞれBSOMモデルのパラメータである中心点と トポロジーを表します。 この中心点は最初はランダムに配置されています。 トポロジーの役割は、それに沿ってパラメータが緩やかに変化すると言う制約を与えることによって 推定を安定させる事にあります。 ベイズ統計ではそのような制約はパラメータの事前確率として表現されます。

このアプレットはBSOMモデルの最大事後確率推定(MAP推定)を EMアルゴリズムで実行するものです。 learnボタンを押す事で、学習が始まります。また、initボタンを押すとパラメータが ランダムに初期化されます。

BSOMモデルにはalphaとbetaと言う2つのハイパーパラメータがあり、 それぞれ「トポロジカルな制約の強度」と「データの中のノイズの大きさの推定値」を表します。 これらの値はスライダーを使って変化させる事が出来ます。 中心点の配置がハイパーパラメータの値によって変化する様子を観察し、 それらの意味を体感してみてください。そして、 中心点の最適な配置を目指して、これらの値を調整して見て下さい。 中心点の配置はハイパーパラメータの現在値だけでなく、 その履歴にも依存します。 ハイパーパラメータの値の動かし方によっては、良くない局所最適値に陥ることもあります(ノート5参照)。 実は、BSOMは自分自身で最適なハイパーパラメータの値を調整できる能力を持っており、 autoボタンを押す事でこの機能が有効になります。

人工データの形状は, width, height, phase, noise levelと記された スライダー群によって変化させる事が出来ます。 また、#unitに数字を入力し、リターンキーを押すと、中心点の数を変化させる事が出来ます。


貴方のブラウザーはJavaのアプレットを解釈する事ができません。

Javaのアプレットを解釈できるブラウザーをお使い下さい。 UNIX,Win95なら、Netscape Navigator version 2以上、Macならversion 3以上が Javaを解釈できます。 Internet Explorer version 3.01もJavaを解釈できます。
Netscape Navigatorの最新バージョンは以下のサイトから取って来る事が出来ます。

Internet Explorerの最新バージョンは以下のサイトから取って来る事が出来ます。

ここでは、アプレットの代りに、静止画を表示します。 最初の図は初期状態、2番目の図は収束状態を表します。


ノート

(1)ロードに少々時間が懸かります。上に何か表示されるまで、しばらくお待ちを。

(2)メモリーが少ない場合、動作が不安定になります。 (ハングアップ情報)
Just-in-Time(JIT)コンパイラを搭載したブラウザ(Windows版のNetscape Navigator 3, Internet Explorer 3.01)の使用をお薦めします。

(3)ラップトップ計算機などで、画面にアプレットの表示が収まりきらない場合は、NetscapeのOptionメニューで、 Show Toolbar, Show Location, Show Directory Buttonsをオフにして下さい。

(4)スライダー上の値はすべて相対値です。 ハイパーパラメータのスライダーは対数尺度です。

(5)学習は大きなalphaと小さなbetaから始めるといいでしょう。 そうしないと、混乱した配置に陥ります。 また、混乱した配置に陥ってしまった時は、alphaを大きくするか、betaを小さくする事で、 配置を単純な形状にする事が出来ます。 alphaや1/betaは物理系の温度に対応しており、十分高温からゆっくりと温度を下げることで、 質の悪い局所最適値を避ける戦略を模擬焼きなまし(simulated annealing)と言います。

(6)自動ハイパーパラメータ探索はalphaが非常に大きく、 betaが非常に小さい時に失敗する事があります。そういう場合は、 alphaを少し大きくするかbetaを少し小さくする事で探索がうまく働くようになる場合があります。 しかし、ノイズレベルが非常に大きい場合は、 BSOMは信号の検出を諦め、最も単純な形状(線分)に成ろうとします。

(7)中心点をマウスを使って直接移動させる事が出来ます。 中心点を表す赤い円のどれかの上でマウスボタンを押し、ドラッグする事で、 中心点は移動します。

(8)densityボタンを押すと、推定された密度がグレースケールによって表示されます。


他のモデルや手法との関係

alphaが無限に大きな値に固定された場合、BSOMは主成分分析(PCA)と似た結果を産みます。 逆に、alphaが0に固定され、トポロジカルな制約が無視された場合は、BSOMは 球形正規混合モデルに基づくクラスター分析と見倣せます。 さらに、betaが無限に大きい場合、k-meansアルゴリズム, ベクトル量子化(VQ), 競合学習 と殆ど同じになります。 このように、BSOMはPCAとクラスター分析の中間的な手法と言えます。 弾性ネットアルゴリズムもBSOMの推定アルゴリズムの一つと見倣せますが、ここでは、 EMアルゴリズムを使っています。

ハイパーパラメータの自動探索は経験的ベイズ法に基づいており、 evidenceという量を最大にするように探索します。 経験的ベイズ法とevidenceについては、MacKayの Bayesian methods for neural networks - FAQ を参照。


ソースとソフトウェアパッケージ

ソフトウェアパッケージにはデモ用アプレットに加えて、ユーザのデータを利用できる アプレットも含まれています。


参考文献

宇津木 (1993) 「トポロジー保存写像学習のベイズモデル」 電子情報通信学会論文誌D-II, J76-D-II, 1232-1239.
宇津木 (1996) 「ベイジアン自己組織化写像の高速学習アルゴリズム」 日本神経回路学会第7回全国大会(JNNS'96).
A. Utsugi (1996) "Topology selection for self-organizing maps", Network: Computation in Neural Systems, vol. 7, no. 4, 727-740.
A. Utsugi (1997) "Hyperparameter selection for self-organizing maps", Neural Computation, vol. 9, no. 3, pp. 623-635.



実験室入口へ
ホーム頁へ

宇津木明男

1996年6月24日作成
1997年3月11日修正