自己組織化写像

自己組織化写像（じこそしきかしゃぞう、）はニューラルネットワークの一種であり、大脳皮質の視覚野をモデル化したものである。自己組織化写像はによって提案されたモデルであり、教師なし学習によって入力データを任意の次元へ写像することができる。主に1～3次元への写像に用いられ、多次元のデータの可視化が可能である。出力となる空間をマップ (map)、競合層 (competitive layer)、もしくは出力層 (output layer) と呼ぶ。出力層に対して入力データの空間を入力層(input layer)と呼ぶこともある。自己組織化写像はコホネンマップ (Kohonen map)、コホネンネットワーク (Kohonen network)、自己組織化マップ、ソム (SOM) などと呼ぶこともある。
自己組織化写像は複数の人工ニューロンが接続された構造である。この人工ニューロンはノード (node)、もしくはユニット (unit) と呼ぶこともある。
定性的紹介.
自己組織化写像は入力層と競合層（出力層）からなる2層構造の教師なし学習ニューラルネットワークである。入力層は単に入力を与えるだけであるため、競合層のみを単に自己組織化写像と呼ぶこともある。
入力はformula_1次元の数値データであり、出力は競合層に配置されたノードとなる。各ノードはformula_2次元空間上に配置され、それぞれのノードに入力データの次元と同じ次元のベクトルが対応付けられている。この対応付けられたベクトルのことを重みベクトルと呼び、この重みベクトルを更新することで学習が行われる。
競合層のノード配置の次元は自由に設定できる。最も基本的な利用法は、2次元上にノードを配置し、高次元データを学習させることで高次元データの関係性を可視化するというものである。このように、自己組織化写像は高次元のデータ間に存在する非線形な関係を簡単に幾何学的関係を持つ像に変換することができる。
現在、自己組織化写像には様々なバリエーションがあり、従来の自己組織化写像を基本SOM (Basic SOM, BSOM) と呼ぶことがある。しかし、BSOMという略し方は後述するバッチ学習SOM (Batch Learning SOM, BL-SOM) と混同しかねないため望ましくない。
基本SOMの算法.
前提.
ネットワークにおける実際の学習はベクトル量子化を参考にしている。技術的には「教師（監督）なし学習」とはいうものの、「我々には望んだ結果がある」という点で「監督」がついている（SOMにおいては、BMUの選定がそれ。算法参照）。
もうすこし算法をみていこう。10×10の人工ニューロン（以下「ノード」）の配列を作る（「競合層」）。それぞれのノードには一つずつの重みベクトルがあり、自分の「物理的な位置」について全智である（つまり、配列の添字を自分自身が知っている）。各ノードが持つ重みベクトルの成分は入力ベクトル（後述）と同じ次元を持つ。それらの重みベクトルの内容は初期化時にランダマイズされることによく注意して欲しい。
さて、ここでマップへの入力を用意する。通例に倣って、色を表現するベクトルを三つ作ろう。計算機科学の世界では、色は赤、緑、青の三つの要素で表現できる。従って、入力ベクトルは3要素を持ち（3次元ベクトルである）、一つ一つのベクトルには色空間の中に対応点がある。
 R = <255, 0, 0>
 G = <0, 255, 0>
 B = <0, 0, 255>
変数.
ベクトルは太字で表す。
算法のステップ.
入力ベクトルを様々に振れば、このような繰り返しによって、似た性質のノード（似た重みベクトルをもったノード）が競合層の上で「物理的な」クラスタを形成する。
この算法についての解析的アプローチ.
SOMのアルゴリズムにはどんな次元の特徴ベクトルでも入力できるが、多くの応用では、入力の次元は高い。出力されるマップは1次元や2次元など、入力と異なる次元でも構わない（「近傍」が定義できればよい（→位相幾何学））。しかしポピュラーなのは2次元もしくは3次元のマップである。なぜなら、SOMは次元の拡大でなく、主に次元の削減に用いられるからである。
アルゴリズムはニューラルネットの用語を用いることで容易に記述できる。各々のニューロンは出力のマップ上にそれぞれ固有の「物理的な」位置を持っている。入力に対して、一番近いウェイトベクトルを持っていたニューロンを「勝者」と呼び、勝者の重みベクトルはより入力ベクトルに近くなるように修正される。この「勝者が全部とる (winner-take-all, WTA)」プロセスは競合学習と呼ばれる。
それぞれのニューロンは近傍を持っている。あるニューロンが勝者となった場合、その近傍のニューロンもまた重みベクトルを修正される。このプロセスを、全てのデータについて、何度も（通常、たくさん）繰り返す。
このネットワークは最終的には、入力データセット中のグループまたはパターンを出力ノードに関連付ける結果となる。それら関連づけられたニューロンは入力パターンの名前で呼んでもよいことになる（色のベクトルを学習したなら色ニューロンのように）。
他の多くのニューラルネット同様、SOMにも2つのフェーズがある。
generative topographic map (GTM) はSOMの新しいバージョンの一つである。GTMは1996年にBishop, Svensen, Williamsの論文中で初めて発表された。GTMは確率モデルであり、おそらく収束する。また、近傍半径の収縮や学習係数の減少を必要としない。
GTMは生成モデルである。入力データを「まず低次元空間側で確率的に点を選び、それを観測された高次元入力データの空間上の点に滑らかな関数で写像した後でノイズを加えたもの」と仮定する。低次元側の確率分布、滑らかな関数、そして高次元側でのノイズのパラメータは全てEMアルゴリズム () によって入力データから学習される。
ニューラルネットとしてのSOM.
大脳皮質の視覚野は、コラム構造を持っている。このコラム構造は生得的なものではなく、学習によって得られるものである。この視覚野におけるコラム構造の自己組織化をモデル化したものが自己組織化写像である。WillshawとVon Der Malsburgによって1976年に提案された。
クラスタリング手法としてのSOM.
SOMはk平均法に位相の概念を入れたものである。また、k平均法はBL-SOMにおいて近傍半径を0、学習係数を1に固定したものと等価である。
可視化手法としてのSOM.
高次元のデータや、ベクトル空間上にないデータを、2次元の平面上などのより低次元で容易に観察できる空間に写像する（次元削減する）ことで可視化できる。次元削減によって可視化を行う手法としては他に主成分解析などがある。曲面上に分布している場合は主成分解析ではうまく削減できないが、SOMなら高次元空間上でのニューロンの配置が曲面にフィットするよう変形するので表示用の空間を有効に利用できる。
アルゴリズム.
SOMのアルゴリズムは大きく分けて2つ存在する。一つは大脳視覚野のモデルであったことに由来するオンライン学習モデルである。このモデルでは、データが入力されるたびに学習が行われる。後から入力されたデータのウェイトが高くなる傾向がある。また、各ニューロンの初期値はランダムに設定される。
一方、SOMを解析手法と見て、データの入力順序に依存する性質を取り除くための変更が加えられたものがBL-SOMである。BL-SOMではニューロンは主成分解析を用いて求められた主成分軸の張る空間上に整然と初期配置される。また、全てのデータを各々のニューロンに分類し終わった後で各々のニューロンが同時に学習を行う。
書籍.
この分野の代表的な書籍としては、考案者自身による著書『自己組織化マップ』が挙げられる。