自己組織化マップの基本原理
人間の直感に近い柔軟な情報処理
SOMのコンセプトをもっとも簡単に言えば、それは代表的な人工ニューラルネットワークの1つであり、我々の脳機能が誰かにプログラムされるわけではなくて、自分自身で賢くなれるということの本質的原理を数理モデルにしたものです。
というと、なにやらとてつもなく複雑な仕掛けであるかのような印象を与えそうですが、もちろんSOMが脳全体と同じだというわけがなく、脳機能のほんの一部をさらに簡略化したものに過ぎません。SOMの基本的原理はじつはとても簡単なことなのです。
まず、ある物事について、「それが何であるか?」を認識することを考えてください。リンゴを認識するときに、実在する個物としてのリンゴには、いつでも「リンゴ」という名札がついているわけではありません。我々は、その物体の色や形、香りなどの特性を五感(視覚・聴覚・臭覚・味覚・触覚)からキャッチして、その情報をもとに「それはリンゴである」と認識します。
このように対象物の特性から「それが何であるか?」を認識することを「パターン認識」と言います。パターン認識とは、「AならばBである」というように言語(記号)を使って論理を構築するのではなくて、五感として実際に知覚できる「感覚信号のパターン」と物事の「概念(意味)」が連鎖的に結びついているということです。言い換えれば、パターン認識は「感覚」と「言語」を結びつける下層の情報処理で、言語的思考以前に必要となる概念を成立させる働きです。
SOMの本来の目的は、「これはリンゴである」とか「これはミカンである」というような分類基準(外的基準または教師信号)を外部から与えることなしに、上記のような判断の仕組みを入力信号の学習から自己組織化的に形成する能力を人工的に実現することです。
これを短い言葉で言えば、「概念獲得の能力」です。実際に人間が物事の概念を獲得する仕組みは、SOMよりもずっと複雑なはずですが、SOMはそのエッセンスを効率的に表現したモデルだと言えます。もともとのSOMは、人間同士が共通の概念構造を持ち合わせていて、物事をそんなに厳密に表現しなくても一応適当に了解し合えるものの、より踏み込んだ議論となると、一人ひとり微妙に異なる概念構造を持っている(すなわち物事の判断が微妙に異なる)のと同じような性質を持っています。
このような性質は、より人間的な柔軟な判断を機械(ロボット)に行なわせるのには都合のよい性質だと考えられます。しかしながら、データ可視化やデータマイニング、または統計的なデータ分析でSOMを活用する場合には、そのような性質がしばしば邪魔になります。
データを分析する場合は、モデルの再現性が保証された改良型のSOMを使用する必要がありますが、しかしながら、やはり、それでもSOMが概念を表現していることには変わりはありません。データ可視化、データマイニング、データ分析におけるSOMは、人間の思い込みを廃して、新しい概念(コンセプト)を発見するために使用します。
トポグラフィック・マップ(位相マップ)の形成
データ可視化やデータマイニングでのSOMの重要性は、じつは「自己組織化」よりも、むしろ位相マップ(Topographic
Map)と呼ばれる表現形式にあります。位相マップとは、データ空間のトポロジー(つながり)を保持するマッピング手法です。
位相マップの利点は、非線形なデータの要約が可能になるということです。これを理解するには、まず多次元データの代表的な要約方法である主成分分析と対比させると理解の助けになります。ここでは詳細な説明を省きますが、主成分分析とは、たくさんの変数を持つデータについて、変数間の相関を考慮して、元の変数に重みをかけた新しい合成変数(主成分)によって、次元軸を整理する手法です。簡単に言えば、座標変換ですが、各主成分の間の相関がゼロになっていて、一般的に次元が削減される効果があります。
 |
| 主成分分析のイメージ |
主成分分析の結果を2次元で表示する場合は、一般的に第1主成分と第2主成分による平面にデータポイントを投影させる方法が用いられます。しかし、実際には第3、第4の軸の方向にもデータは散らばっています。その散らばり方が、投影されている平面にほぼ沿っていたらあまり問題がありませんが、平面に対して曲がっているような場合、投影ではデータポイントの局所的な位置関係を正確に判断することができません。
近年、コンピュータ・グラフィックスを用いたデータ可視化では、3次元の主成分空間を表示できるようになっていますので、従来の制約はやや緩和されていますが、それでも次元軸を切り捨てて表示することには変わりはありません。位相マップとは、次元軸を切り捨てないで、多次元のデータ空間の様子を人間が視覚的に認識できるようにする方法です。要するにデータ空間の姿を特定の平面に投影するのではなくて、データ空間のつながりを保持したまま、スルメのように平べったく広げて表示するわけです。
SOMなどの位相マップは、柔軟な格子をデータの分布に沿って配置させて、多次元空間内で自由曲面を形成します。各格子点(ノード)は、データ空間内でのその局所的周辺のデータポイントを代表していて、データ空間のトポロジー(位相的順序)に沿って並んでいます。ピンポン玉のようなものをゴムひもで格子状につなぎ合わせて、それでデータの分布を要約しているようなイメージを頭の中で思い浮かべれば、わかりやすいはずです。
言い換えると、各ノードには、元データの次元(変数)に対応する次元数のノード値が記憶されています。可視化するときは、保持された位相的順序でノードが(平面的に)並べられて、ノードの各次元(成分)の値をさまざまな方法で可視化します。
 |
| 位相マップのイメージ |
位相マップの学術的なトピックとしては、Bishopらが1996年に提案したGTM(Generative
Topographic Map)や、それに続くHulleのカーネルベース等確率マップがあります。これらも同様に、格子によって自由曲面を形成して、データ空間(または潜在変数の空間)をモデリングします。ここでは詳細な説明は省きますが、簡単に言えば、これらは実際に観測されたデータポイントの間の空間について、データの密度分布を推定する計算を行ないます。
たとえ話で言えば、「ゴキブリを1匹見たら、その50倍のゴキブリが潜んでいる」というのに似た話です。思いっきり簡単に言えば、実際の観測されたデータポイントを中心にして、そこかの距離に応じて釣鐘型の曲線で推定される密度(たとえばゴキブリの数の推定)が減っていくイメージです。近隣のデータポイントが同じように周辺の密度を従えていますので、それらが重なりあって、データポイント間の空間のデータの密度がスムージングされて推定されるわけです。
つまり、これらの位相マップの手法は、事実データのみに基づくのではなく、事実データに欠落している部分の情報を推定によって生成して補いながら学習を行なうのです。とくにオブザベーションが少ない場合や欠損値の多いデータに対しては、このような手法が有効であろうと予想されます。
通常のSOMでは、このような計算は行ないませんが、ノード間のトポロジーを指定する近傍関数によって、簡易な方法でマップのノード値をスムージングすることはできます。十分な数のオブザベーションがあって、欠損値が極端に多いということがない場合はもちろん、実際上ほとんどの場合で、次のページで述べるバッチ型SOMの改良版で十分に実用的な結果を得ることができます。
 |
3次元の主成分空間でデータをプロットしたところ(Miner3D使用)
白いオブジェクト(点)がデータレコードに対応し、色づきのオブジェクトがSOMノードに対応します。色分けは、Viscovery
SOMineのSOM-Wardクラスタリングの結果です。SOMのノードは、周辺のデータレコードを代表して、データ空間のトポロジーに沿って配置されます。SOMのノードのトポロジカルな並び順(位相的順序)を考慮に入れながらクラスタ分析を行なうことによって、結果的にデータレコードの分布に沿って、自然なクラスタリングが形成されます。 |
|