SOMとは2 の履歴ソース(No.2)

[[SOMとは]]
#contents

SOMの簡単な原理を通常の新聞を例に図を用いて紹介する。

#ref(SOM.png,left,nowrap,解説図)

アメリカの20人の大統領の各500件で、合計10,000件の演説原稿について、200種類の単語 (Science, War, Iraq, Peace, Music, …. ) に着目したSOMを考える。

SOMでは初期状態を定義する必要があるが、コホネンの従来型SOMの場合では、記憶機構の情報学的な研究を目標にするので、ランダムな初期状態からスタートするのが望ましい。ランダムな初期状態を実現する目的で、ここでは新聞と全く関係のない多種類の小説から2500ページを選び、それらを縦横のサイズが50 x 50の2次元格子上に並べて、上記と同じ200種類の単語(Science, War, Iraq, Peace, Music, …. )の単語の頻度(Word Count)を行う。

次に、上記の大統領の演説原稿から、大統領名は秘して1番目の演説原稿を選び、それの単語の使用頻度パターン (正確には、多次元空間上での距離) が最も近い小説のページを選び出し、その小説のページだけでなくその周辺(例えば上下と左右+10格子分;図2ではβ値と呼ぶ)を含めて、演説原稿側の単語頻度へ大幅に近づける。但し重要な点は、元の小説側の単語頻度を若干は(例えば5%)は残す。演説原稿側の単語頻度で言い換えれば、それの0.95分だけ(図2ではα値として示した)演説原稿の単語頻度へ変化させる。次に演説原稿の2ページ目を取り出して、変更した新たな状態の格子を対象に、最も単語頻度の似た格子点を選らんで、その周辺(上下と左右+10格子分)を含めて、演説原稿側の単語頻度へα値だけ近づける。この過程を10,000の演説原稿の全てについて繰り返せば、最初は小説の単語頻度を持っていた格子点が、大幅に演説原稿の単語頻度に近づく。上記の10000回の学習過程で、同じ演説原稿が2度目に出てくれば(例えば、ブッシュ)、計算機に大統領名を与えなくても、単語頻度の類似度で、1度目に出現したブッシュの演説原稿の単語頻度により、ブッシュに近づけていた格子点領域(上下と左右+10格子分)のどれかの格子点と単語頻度の類似度が高い可能性が高い。そのような場合には、その格子点の近傍はさらにブッシュらしさ(正確には、ブッシュの複数の演説原稿の持つ特徴)を増すと考えられる。

次に、既に小説の単語頻度から演説原稿の単語頻度へとかなり変更されている1回目のサイク学習の最終結果をスタートの状態として、2サイクル目では、α値もβ値も若干下げて(例えば0.94と+9)、上と同じ同様な学習過程を10000回行う。3サイクル目では、α値もβ値もさらに減じの学習を繰り返す。SOMでは、このサイクルを数十回程度繰り返すのが通例である。α値もβ値の初期値の設定やその減少の仕方や、何回ぐらいサイクル繰り返すかには、一般的に使用され推奨されている経験則的なものがあるので、著者らの他の解説書や原著論文を参照されたい。

通常の演説原稿を例に取った場合では、どのような単語を選択するのかで、演説原稿別の分離(自己組織化)の程度が大きく左右されるはずである。我々の着目するゲノムの解析では、頻度を解析する連文字の長さを決めれば、例えば3連塩基を対象にした際には、64種類のトリヌクレオチドの全てを対象にするので、単語選択に関する曖昧さがない。初期状態に関しても、我々の主成分分析では、第1と第2主成分として定義するので、この点の曖昧さもない。SOMの学習では、どの順番で演説原稿のページの頻度データを計算機に与えるかでも、最終マップは変わるはずである。この種のデータの入力順への最終マップの依存性は、記憶の機構を解析する目的のSOMでは重要であるが、ゲノム解析ではむしろ障害になる。我々は一括学習型SOM(BL-SOM)を開発して、この問題も解決した。