SOMとは の履歴(No.2)


Ikemura Laboratory

自己組織化マップ法 (Self-Organizing Map)とは

  • 数式が苦手という方は、こちらをご参照下さい。

ゲノム塩基配列の解読は益々加速する勢いにあり、既に500を超えるゲノムの完全配列が解読されている。広範囲な生物のゲノム配列の多様性を統合的に理解することは、ゲノム科学の重要な課題である。我々は、コホネン(Kohonen, 1982, 1990, 1996)が記憶やその想起の機構を研究するために開発した自己組織化マップ(SOM)に着目し、研究を進めてきた。SOMは大量で複雑な情報について、似た情報を自ずと集める(自己組織化する)ことを計算機上で実現させている。記憶機構の情報学的な研究を目的に開発されたが、応用性の高い方法として知られるようになった。工学・経済学・言語学のような大量で複雑な情報を解析する分野で普及してきたが、塩基配列の解析には殆ど用いられずにきた。長い計算時間を必要とし、出来上がった地図がデータの入力順に依存する問題があった。記憶の場合には、情報の入力順序に依存することに意味があるが、ゲノム配列の解析では、対象とするゲノムの種類が同じならば、どのグループが解析しても同様の地図を得ることが重要である。我々は、『学習過程と結果の地図構造がデータの入力順序に依存しないようにする』という新しい特徴をSOMに導入した。
 SOM解析に用いる入力データは、複数の対象について複数の特徴により表現するベクトルデータであればよい。ゲノムの塩基配列組成に注目して生物種を特徴付ける場合、仮に2連塩基に注目したとすると、各ゲノムあるいは各ゲノム断片を、AA,AG,AC,AT,GA,…,TC,TTの16種類の2連塩基の出現頻度からなるベクトルで記述する。また、発現プロファイルの解析においては、各遺伝子について複数の実験下での発現量をベクトルで記述する。以下では、発現プロファイル解析を例にBL-SOMを解説する。N個の遺伝子におけるM種類の実験条件における発現量データ(例えば、N個の遺伝子の発現量について、M種類の薬剤を添加した際の、薬剤無添加細胞での発現量と比較したデータ)は、式(1)の行列により表現できる。

式1

この行列をもとに遺伝子の発現量データの類似性により分類を行う。いま、s番目の遺伝子についての発現プロファイルは、式(2)によりM次元のベクトルとして表現できる。

式2

ここで、Xstは s番目の遺伝子におけるt番目の実験条件での発現量を示しており、M次元空間における遺伝子の分布は、模式的に図1aのように図示できる。N個の遺伝子がM次元空間に散らばっているが、このM次元空間内での遺伝子分布を最もよく反映するように代表ベクトルを配置する。この際、代表ベクトルは二次元格子上に関連づけられて配置されているものとする。

コホネンSOM

最初に従来型のコホネンSOMについて説明する。ij番目の初期代表ベクトルをwij により表現するが、二つのサフィックスiとjにより初期代表ベクトルは2次元格子上に配置されている。コホネン SOMでは、初期ベクトルは通常はランダム値を各代表点に割り当てる。これらの代表ベクトルを2つのパラメータ (r)と (r)により、以下の競合学習により更新する。 (r)は0から1の間の値で、代表ベクトルを入力ベクトルに近づけるためのものであり、 (r)は正の整数で、変更する代表ベクトルの範囲を決めるパラメータである。二つのパラメータは学習が進むに従って小さな値となるように設定する。
M次元空間内で任意の入力ベクトルxsと最も近隣にある代表ベクトルを選別し、これをwi'j'とする。この代表点の格子の位置i'j'をもとに、変更すべき代表ベクトルを式(3)および式(4)により決定する。

 

i'-β(r)≦ i ≦ i'+β(r) (3)

 

j'-β(r)≦ j ≦ j'+β(r) (4)

 

式(3)および式(4)の条件を満たす代表ベクトルを式(5)により更新する。

式5

学習の過程はQ(r)(式(6))によりモニターする。Q(r)は入力データと最近隣にある代表ベクトルとの距離の二乗であるので、Q(r)が小さいほど、入力データと更新された代表ベクトルとが似た構造を持つ。Q(r)が充分に小さくなり変化がみられなくなったところで学習を終了し、各々の遺伝子を最近隣にある代表点へ分類する。

式6

一括学習型SOM (Batch-learning SOM; BL-SOM)

式(5)によるコホネンSOMの学習では、データの入力順{x1,x2,…,xs,…, xN}により、勝者として選択される代表ベクトルが異なる。このことは、遠い過去に学習したものは、直近に学習したものに比べてぼやけるという記憶のシミュレーションとしての意味を持つ。しかし、ゲノム配列ならびにポストゲノムデータの解析においては、入力順序は意味を持たないことが多い。一般的な多変量解析としても、入力順序により最終結果が異なることは、データの解釈を煩雑なものにする。また、入力データ全てを対象に式(5)の更新をしなければならないので、ゲノムデータやトランスクリプトームデータのように数千~数十万のベクトルデータを入力として用いる場合では、学習の過程が困難になる。さらには、スーパーコンピュータのような高機能計算機で高効率の並列処理を行うことも可能でない。そこで、入力順序の影響を除去し、学習過程を効率化するBatch-learning SOM (BL-SOM)アルゴリズムを開発した。BL-SOMにおいては初期値を主成分分析により設定し、入力ベクトルを代表ベクトルに分類するプロセスと代表ベクトルを更新するプロセスを切り離すことで、学習順の影響を除き、並列化による学習の効率化を図った。これら3つのステップに従って、BL-SOMのアルゴリズムを紹介する。

(i)初期ベクトルの設定

初期代表ベクトルを主成分分析法により設定する。M次元空間に分布するN個の遺伝子からなる行列(式(1))をもとに主成分分析を行うと、分散の最も大きな二つの軸が第1主成分軸と第2主成分軸となる。これらの主成分ベクトルをb1 ならびにb2とする。主成分第1軸と第2軸に沿って、それぞれIおよびJ個からなる合計IxJ個の代表点を等間隔に配置する。ここでij番目の代表ベクトル(wij)を式(7)により定義する。

式7

Iは通常は主成分第1軸の標準偏差の5倍の範囲に設定している。また、Jは、主成分第1軸と第2軸の分散の比

 

(σ2/ σ1) x I

 

に最も近い整数により規定した。式(7)におけるxav は入力データの平均値ベクトルである。

(ii)入力ベクトルの分類

k番目の入力ベクトルxk とM次元空間において最近隣にある代表ベクトルをwi'j'とする。入力ベクトル xk を、

 

i'-β(r)≦ i ≦ i'+β(r) (8)

 

j'-β(r)≦ j ≦ j'+β(r) (9)

 

を満たす集合 に分類する。すべての入力ベクトルxk (k=1,2,…,N)について式(7)および式(8)に従って分類を行い、集合 を構築する。

(iii)代表ベクトルの更新

集合 の構築を完了した後、式(10)により代表ベクトルの更新を行う。

式10

二つのパラメータ (r)と (r)はコホネンSOMと同様の方法で設定する。ここでrは、全ての入力ベクトルxk (k=1,2,…,N)が集合 に分類されるごとに増加させる。これらのパラメータは、通常は式(11)および式(12)のように規定した。重要なことは、二つのパラメータが学習回数に従って減少することで、はじめは大幅に代表ベクトルを変化させ、徐々に最適値へと収束させる。

 

(r) = max {0.01, (1)(1 - r/T)} (11)

 

(r) = max {0, (1) - r} (12)

 

なお、学習過程はコホネン SOMと同様に式(6)によりモニターする。Q(r)が小さくなるまでステップ(ii)と(iii)を繰り返し、Q(r)が充分に小さくなったら学習を終了し、各々の遺伝子を最近隣である代表点に分類する。

解析プログラム開発・提供について

改良型SOMプログラムは、