SOMとは2 の履歴(No.1)


SOMとは

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

#ref(): The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename)

わが国の20種類の新聞(一般紙、経済新聞、異なったスポーツ紙や地方紙等を含むとする)について、各紙ごとに10,000ページを集めるとする。次に、ページごとに200種類の単語(例えば、憲法、教育、株価、金利、金本、清原、京都、三島、葉山、長浜, ………)について単語数を数えあげ(Word Countを行い)、単語の出現頻度の類似度に着目して、これらの新聞のページに関するSOM解析を行うとする。

SOMでは初期状態を定義する必要があるが、コホネンの従来型SOMの場合では、記憶機構の情報学的な研究を目標にするので、ランダムな初期状態からスタートするのが望ましい。ランダムな初期状態を実現する目的で、ここでは新聞と全く関係のない多種類の小説から2500ページを選び、それらを縦横のサイズが50 x 50の2次元格子上に並べて、上記と同じ200種類の単語(憲法、教育、株価、金利、金本……)の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)を開発して、この問題も解決した。