Tunny Icon
TunnyDocs

The next-gen Grasshopper optimization tool.

SOM Map

SOM Map ウィジェットは、標準化した特徴空間に自己組織化マップを学習し、トポロジーを保存した 2D グリッドとして表示します。

表示は次の 3 つを切り替えられます。 U 行列(隣接セル間の距離で、クラスタ境界が見える)、コンポーネントプレーン(1 つの変数がマップ上でどう変化するか)、ヒット数(各セルに落ちる trial の数)です。

SOM は、高次元の trial 空間を 2D の格子へ写像する手法です。 格子上で近いセルほど、元の空間でも似た特徴を持つように学習されます。 k-meansDendrogram が trial を決まった数のクラスタへ分けるのに対し、SOM は分割そのものを行わず、各 trial が格子上のどのセルに落ちるかだけを決めます。 どこで区切るかを決めないため、クラスタ領域、勾配、外れ値は境目のない「地図」として読むことになります。 グループがいくつあるかを決める前に、設計空間がどう広がっているかを眺めたい段階で向いています。

学習の考え方

1. 標準化

入力列は学習前に平均 0、分散 1 に標準化します。 BMU の探索は入力どうしのユークリッド距離で決まるため、標準化しないと、単に数値の桁が大きいというだけの列で距離のほとんどが決まってしまいます。

2. BMU(最良一致ユニット)

各データ点 xx は、重みベクトル wiw_i がもっとも近いノードへ割り当てられます。

b(x)=argminixwi2b(x) = \arg\min_i \lVert x - w_i \rVert^2

3. バッチ更新

Tunny Dashboard の SOM はバッチ学習です。 1 点ずつ更新する代わりに、エポックごとに全点の BMU を求め、ガウス近傍で重み付けした平均でノード重みを一括更新します。 更新後の重みが全点の平均だけで決まるため、点を与える順序は結果に影響しません。

wixh(b(x),i)xxh(b(x),i),h(b,i)=exp ⁣(dgrid(b,i)22σ(t)2)w_i \leftarrow \frac{\sum_x h\bigl(b(x), i\bigr), x}{\sum_x h\bigl(b(x), i\bigr)}, \qquad h(b, i) = \exp!\left(-\frac{d_{\text{grid}}(b, i)^2}{2,\sigma(t)^2}\right) dgridd_{\text{grid}} は格子上の距離、$\sigma(t)$ は近傍半径です。 学習の進行に合わせて近傍を縮め、序盤は大局構造、終盤は局所構造を整えます。

4. 決定論的な初期化

初期化はランダムではなく、PCA バイプロットと同様に上位 2 主成分平面を使って配置します。 初期配置を乱数に任せないことで、同じデータと同じ設定なら毎回同じ地図が得られます。 設定を変えて比べたときに、見え方の違いを乱数のせいにしなくて済みます。

操作

グリッドはパン・ズームを持たず、セル単位の選択で操作します。

操作 方法
ホバー セルにマウスを載せると、ノード座標・ヒット数・現在の表示の値・そのセルに落ちた trial number(先頭 10 件、残りは件数)がツールチップに表示されます。
セルの値 セルの幅に収まる場合は、値がセルの中央に数値で描かれます。グリッドが細かく文字が入らないときは省略されるので、ホバーで読み取ってください。
選択 セルを左クリックすると、そのセルに落ちた trial だけが選択されます。選択はチャート間で共有され、他のウィジェットでも強調されます。
選択の追加 Ctrl(macOS は Cmd)を押しながらクリックすると、そのセルを選択に追加します。すでに選択済みのセルなら選択から外します。
選択の解除 グリッド上で右クリックまたはダブルクリックすると、選択が解除されます。

グリッドサイズやエポック数を変更すると地図が学習し直されるため、選択も解除されます。

3 つの表示の読み方

  • U 行列:各セルと上下左右セルの距離の平均です。 高い値の帯は、元の空間で異質な領域の境界(クラスタ境界候補)を示します。
  • コンポーネントプレーン:1 変数ずつ、その変数の重みが地図上でどう変化するかを示します。 U 行列で見えた境界と見比べることで、その境目の左右で何が違っているのかを変数ごとに切り分けられます。
  • ヒット数:各セルに割り当てられた trial 数です。 密な領域と疎な領域を把握できます。 ヒット数の少ない領域は、地図の上では場所を占めていても、それを裏づける trial がほとんどない領域です。

注意点

  • ノード数が少なすぎると異なる trial が同じセルに詰まり、分解能が落ちます。 逆に多すぎると空セルが増え、U 行列がノイジーになります。
  • トポロジー保存は近似であり、完全保証ではありません。 高次元構造を 2D に畳み込むため、局所的な歪みは起こり得ます。
  • U 行列の境界は視覚的な手がかりで、統計的有意性そのものではありません。 コンポーネントプレーンやヒット数と合わせて解釈してください。

参考