SOMとは
自己組織化マップ (Self-Organizing Map, SOM)とは†
ゲノム塩基配列の解読は益々加速する勢いにあり、既に3000を超えるゲノムの完全配列が解読されている。広範囲な生物のゲノム配列の多様性を統合的に理解することは、ゲノム科学の重要な課題である。我々は、コホネン (Kohonen, 1982, 1990, 1996)が記憶やその想起の機構を研究するために開発した自己組織化マップ (SOM) に着目し、研究を進めてきた。SOMは大量で複雑な情報について、似た情報を自ずと集める (自己組織化する) ことを計算機上で実現させている。記憶機構の情報学的な研究を目的に開発されたが、応用性の高い方法として知られるようになった。工学・経済学・言語学のような大量で複雑な情報を解析する分野で普及してきたが、塩基配列の解析には殆ど用いられずにきた。長い計算時間を必要とし、出来上がった地図がデータの入力順に依存する問題があった。記憶の場合には、情報の入力順序に依存することに意味があるが、ゲノム配列の解析では、対象とするゲノムの種類が同じならば、どのグループが解析しても同様の地図を得ることが重要である。我々は、『学習過程と結果の地図構造がデータの入力順序に依存しないようにする』という新しい特徴をSOMに導入した。
SOM解析に用いる入力データは、複数の対象について複数の特徴により表現するベクトルデータであればよい。ゲノムの塩基配列組成に注目して生物種を特徴付ける場合、仮に2連塩基に注目したとすると、各ゲノムあるいは各ゲノム断片を、AA, AG, AC, AT, GA, …, TC, TTの16種類の2連塩基の出現頻度からなるベクトルで記述する。N個のゲノム断片におけるある連続塩基 (M次元) の出現頻度は、式(1)の行列により表現できる。
この行列をもとにゲノム断片の出現頻度データの類似性により分類を行う。いま、s番目のゲノム断片の出現頻度データは、式(2)によりM次元のベクトルとして表現できる。
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)により更新する。
学習の過程はQ(r)(式(6))によりモニターする。Q(r)は入力データと最近隣にある代表ベクトルとの距離の二乗であるので、Q(r)が小さいほど、入力データと更新された代表ベクトルとが似た構造を持つ。Q(r)が充分に小さくなり変化がみられなくなったところで学習を終了し、各々の遺伝子を最近隣にある代表点へ分類する。
一括学習型SOM (Batch-Learning SOM; BLSOM)†
式(5)によるコホネンSOMの学習では、データの入力順{X1,X2,…,Xs,…, XN}により、勝者として選択される代表ベクトルが異なる。このことは、遠い過去に学習したものは、直近に学習したものに比べてぼやけるという記憶のシミュレーションとしての意味を持つ。しかし、ゲノム配列ならびにポストゲノムデータの解析においては、入力順序は意味を持たないことが多い。一般的な多変量解析としても、入力順序により最終結果が異なることは、データの解釈を煩雑なものにする。また、入力データ全てを対象に式(5)の更新をしなければならないので、ゲノムデータやトランスクリプトームデータのように数千~数十万のベクトルデータを入力として用いる場合では、学習の過程が困難になる。さらには、スーパーコンピュータのような高機能計算機で高効率の並列処理を行うことも可能でない。そこで、入力順序の影響を除去し、学習過程を効率化するBatch-Learning SOM (BLSOM)アルゴリズムを開発した。BLSOMにおいては初期値を主成分分析により設定し、入力ベクトルを代表ベクトルに分類するプロセスと代表ベクトルを更新するプロセスを切り離すことで、学習順の影響を除き、並列化による学習の効率化を図った。これら3つのステップに従って、BL-SOMのアルゴリズムを紹介する。
(i)初期ベクトルの設定†
初期代表ベクトルを主成分分析法により設定する。M次元空間に分布するN個の遺伝子からなる行列(式(1))をもとに主成分分析を行うと、分散の最も大きな二つの軸が第1主成分軸と第2主成分軸となる。これらの主成分ベクトルをb1 ならびにb2とする。主成分第1軸と第2軸に沿って、それぞれIおよびJ個からなる合計IxJ個の代表点を等間隔に配置する。ここでij番目の代表ベクトル(wij)を式(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)により代表ベクトルの更新を行う。
二つのパラメータ α(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)が充分に小さくなったら学習を終了し、各々の遺伝子を最近隣である代表点に分類する。
解析プログラム開発・提供について†
BLSOMプログラムは、
コホネンSOMによるデータセット入力順による結果の比較†
以下に、コホネンSOMによるデータセット入力順による結果を比較するために、16種類の細菌・古細菌ゲノムを対象にコドン組成を用いて解析を例を示す。SOM解析に使用した微生物種名を表1に示す。このときのデータの入力順序は、表1の入力順序1および、入力順序2 (入力順序1の逆順) の入力順で行っています。従来型SOMの分類結果を図1,図2に示す。
図1を見てみると、入力順が遅い生物種であるAFUなどに比べ、入力順が後の生物種であるPHOやSYNの方が、マップ上に占めるクラスタの割合が高い。また、図2をみると図2でマップ上に占めるクラスタの割合が高かったSYNやPHOのマップ上に占めるクラスタの割合が低く、逆に図1で割合の少なかったAFUやBSUのマップ上に占めるクラスタの割合が高くなっている。
したがって、後に入力されるデータほど、学習後に形成されるマップに大きな影響を与えていることがわかる。また、そのためにマップ上での微生物の相対関係も入力順序によって大きく異なってします。そのため、データが新しく更新されるたびにすべての解析をやり直さなければなりません。
我々が開発したBLSOM (一括学習型SOM, Batch-Learning SOM) は、入力順序に依存しないという問題を解決することにより、すべての生物種および遺伝子に対して均質に解析を行うことができる。
表1 解析に使用した生物種名とその略称との対応関係
生物種名 | 略称 | 遺伝子数(注1) | 入力順序1 | 入力順序2 |
Archaeoglobus fulgidus | AFU | 2088 | 1 | 16 |
Aquifex aeolicus | AAE | 1489 | 2 | 15 |
Borrelia burgdorferi | BBU | 772 | 3 | 14 |
Bacillus subtilis | BSU | 3788 | 4 | 13 |
Chlamydia trachomatis | CTR | 833 | 5 | 12 |
Escherichia coli | ECO | 3913 | 6 | 11 |
Helicobacter pylori | HPY | 1392 | 7 | 10 |
Haemophilus influenzae | HIN | 1572 | 8 | 9 |
Metdanococcus jannascii | MJA | 1522 | 9 | 8 |
Metdanobacterium tdermoautotrophicum | Mtd | 1646 | 10 | 7 |
Mycobacterium tuberculosis | MTU | 3675 | 11 | 6 |
Mycoplasma genitalium | MGE | 450 | 12 | 5 |
Mycoplasma pneumoniae | MPN | 657 | 13 | 4 |
Pyrococcus horikoshii | PHO | 1973 | 14 | 3 |
Synechocystis sp. | SYN | 2909 | 15 | 2 |
Treponema pallidum | TPA | 917 | 16 | 1 |