Transcript 第6回 - 京都大学
集中講義(東京大学)「化学システム工学特論第3」
バイオインフォマティクス的手法による
化合物の性質予測(6)
カーネル法を用いた化合物の性質予測
阿久津 達也
京都大学 化学研究所
バイオインフォマティクスセンター
内容
化合物の性質予測
サポートベクタマシンとカーネル法
グラフカーネル
モーガンインデックスとカーネルの
組み合わせ
計算機実験結果
特徴ベクトルからの化学構造の推定
化合物の性質予測
化合物の性質予測
創薬のために重要
従来手法
定量的構造活性相関
QSAR: quantitative structure-activity relationship
3D-QSAR
立体構造情報などを利用
CoMFA法(Comparative Molecular Field Analysis)など
人工知能的手法
化合物から特徴ベクトル(分子量、原子の組成、電荷、log P
など)を生成し、決定木、ニューラルネット、サポートベクター
マシンなどを利用
定量的構造活性相関(QSAR)
化学構造と生物活性との相関を統計的手法
(回帰式など)を用いて解析
例
BR = a π + b σ + c Es + d
BR: 生物活性値
π:置換基の疎水性
σ:電子の吸引性
Es:メチル基を基準にした置換基のかさ高さ
a, b, c, d は回帰分析などにより決定
サポートベクターマシン
カーネル法の一つ、ニューラルネットワークと類似
1990年代に、Cortes と Vapnik が発明
トレーニングデータとして与えられた正例と負例から、
それらを分離する超平面を計算
機械学習、統計学、人工知能、パターン認識、バイオ
インフォマティクスなど様々な分野に応用
配列分類
タンパク質フォールド予測、二次構造構造
遺伝子発現データ解析
タンパク質相互作用予測
化合物の性質推定
c.f. Kernel Methods in Computational Biology, MIT Press,
2004
サポートベクターマシン
正例と負例を与
えて、それらを最
適(マージンを最
大)に分離する超
平面を学習
カーネルを適切に
定義することによ
り超平面以外で
の分離が可能
テス トデー タ
m argin
SVMによるテストデータの分類
学習データより超平面
を学習(SVM)
テストデータは、対応す
る点の超平面に対する
位置(上下)で判定
テス トデー タ
テストデータとサポート
ベクター間のカーネル関
数値の重み付き和でテ
ストデータを類別
m argin
f (x )
i: x i
i
K ( x ,x i )
j:x j
j
K (x , x j )
カーネル
サポートベクターマシン:基本的には超平面で分離
Φ(x) (特徴ベクトル):「非線形曲面⇒超平面」に写像
カーネル K(x,y)=φ(x)・φ(y)
x と y の類似度が高い ⇔ K(x,y)が大
φ (x)
カーネルの例
線形カーネル:
K(x,y) = x・y
多項式カーネル: K(x,y) = (x・y + c)d
RBFカーネル: K(x,y) = exp (-||x - y||2 /2σ2 )
シグモイドカーネル(厳密にはカーネルではない):
K(x,y) = tanh (κx・y - δ)
カーネルとなるための条件
カーネルの定義: K(x,y)=φ(x)・φ(y)
Mercer条件を満たす ⇒ カーネル
連続値の場合
K (x , z ) f (x ) f (z )dx dz 0
離散値の場合 ( x1,x2,…,xn が入力データ)
K ( K ( x i , x j ))
n
i , j 1
が半正定値行列
カーネルの作り方
データから特徴ベクトル(feature vector)を
作るのが一般的、かつ、
多くの場合に実用的
特徴ベクトル: 実数値の列
例えば、各化合物 x に対し、
Φ(x) = (分子量, 容積, 表面積, logP,…)
とすれば、化合物 x,y に対するカーネルは
Φ(x) と Φ(y) の単なる内積
グラフ・カーネル
グラフ
情報科学において幅広く利用されているデータ表現法
頂点と辺で構造を表す(点と線で構造を表す)
V: 頂点の集合
E: 辺の集合
バイオインフォマティクスにおいても幅広い利用
G(V,E)
化学構造、遺伝子ネットワーク、代謝ネットワーク
グラフカーネル
二つのグラフ G1(V1,E1) 、G2(V2,E2) 間の類似性の指標
G(V,E)
Marginalized カーネル
Tsudaらが2002年に提案
定義
K ( x , y ) p ( h | x ) p ( h '| y ) K ' (( x , h ), ( y , h ' ))
h h'
h,h’: 隠れ変数群、K’:カーネル
配列解析やRNA二次構造解析に応用
Marginalized グラフ・カーネル(1)
Kashimaらが2003年に提案
K (G1 , G 2 )
p ( h ) p ( h ' ) K ' (l ( h ), l ( h ' ))
*
*
hV1 h 'V 2
h: グラフ G1 におけるパス
h’: グラフ G2 におけるパス
l(h): パス h のラベル(原子名)の列
K’(x,y): ラベル列間のカーネル関数
(例: K’(x,y)=1 if x=y, otherwise 0
)
Marginalized グラフ・カーネル(2)
u3
G1
u1
u2
H
C
O
G2
u4
Cl
v1
H
h ( u 1 , u 2 , u 3 ), h ' ( v1 , v 2 , v 5 )
l ( h ) ( H, C, O ), l ( h ' ) ( H, C, O )
K ' ( l ( h ), l ( h ' )) 1
H
v2
v4
v3
v5
C
O
v6
H
H
h ' ' (u1 , u 2 , u 3 , u 2 , u 4 )
l ( h ' ' ) ( H, C, O, C, Cl )
h ' ' ' ( v1 , v 2 , v 5 , v 2 , v1 )
l ( h ' ' ' ) ( H, C, O, C, H )
K ' ( l ( h ' ' ), l ( h ' ' ' )) 0
Marginalized グラフ・カーネル(3)
x
H
O
C
φ (x)
Cl
H
( 0.03
H
H
H
C
C
C
N
C
O
H
H
0.03
0.0
0.02
0.0
0.01
0.002
)
Marginalized グラフ・カーネル(4)
p ( v1 , v 2 , v 3 )
0 . 25 0 . 9 0 . 3 0 . 1
G1
p (v2 , v4 , v2 , v3 )
0 . 25 0 . 3 0 . 9 0 . 3 0 . 1
p 0 ( v i ) 0 . 25
p q ( v i ) 0 .1
START
0 .2 5
p a (v3 | v 2 ) 1 / 3
(1 p 0 ) p a ( v 3 | v 2 ) 0 . 3
0 .2 5
O
0 .3
v1
H
0 .3
v2
C
0 .3
0 .9
0 .1
v3
0 .9
0 .9
p a ( v 2 | v1 ) 1 . 0
(1 p 0 ) p a ( v 2 | v1 ) 0 . 9
0 .2 5
0 .2 5
0 .1
v4
Cl
0 .1
EN D
0 .1
Marginalized グラフ・カーネル(5)
p s (v ) p0 (v ) p q (v )
p t (u | v )
1 p q (v )
p q (v)
p a (u | v ) p q (u )
n
p ( v1 , , v n ) p s ( v1 ) p t ( v i | v i 1 )
i2
Marginalized グラフ・カーネル(6)
s ( u 1 , v1 ) p s ( u 1 ) p s ( v1 )
(1 )
(2)
t (( u i , v i ) | ( u i 1 , v i 1 )) p t ( u i | u i 1 ) p t ( v i | v i 1 )
(1 )
(2)
n
(( u 1 , v1 )( u 2 , v 2 ) ( u n , v n )) s ( u 1 , v1 ) t (( u i , v i ) | ( u i 1 , v i 1 ) )
i2
G 1 u1
H
G 1× G 2 ( u 1 , v1 ) ( u 1 , v2 ) ( u 1 , v3 )
H ,K
H ,O
H ,H
Cl
u2
G2
v1
v2
v3
K
O
H
C l,K
C l,O
C l,H
( u 2 , v1 ) ( u 2 , v2 ) ( u 2 , v3 )
Marginalized グラフ・カーネル(7)
K (G1 , G 2 )
p ( h ) p ( h ' ) K ' (l ( h ), l ( h ' ))
*
*
hV1 h 'V 2
s ( s ( v )) vV
(V V V )
1
2
t ( t ( u ' | u )) u 'V , u V
h (V1 V 2 )
(h)
*
(h ) s ( t )
n 1
*
hV , | h | n
n 1
K ( G1 , G 2 )
( h ) s ( t ) 1
*
n 1 hV , | h | n
n 1
2
1
1
x
x
1 /( 1 x )
s ( I t ) 1
1
Marginalized グラフ・カーネル⇒逆行列の計算
Marginalized グラフカーネルの問題点
パス(の集合)だけを用いて化学構造を表現
反応中心などの情報を十分に取り入れることが困
難?
行列のサイズが大きく(数千×数千)なるため、
逆行列の計算に時間がかかる
すべてのトレーニングデータのペア(化合物のペア)
について、それぞれ、逆行列を計算することが必要
⇒ 構造情報(Morgan Index)との組み合わせ
Morganインデックス
化学構造の一意名を計算機により計算するために
1960年代に考案
CAS(Chemical Abstract Service)で利用
等価な原子に同じ番号(整数値)が与えられるような、
各原子への番号づけを計算
簡単な繰り返し計算による番号づけ
等価で無い原子にも同じ番号がつく可能性(でも、低い)
⇒ Marginalized グラフカーネルにおいて、原子名ととも
に、モーガンインデックスを利用
原子名およびモーガンインデックスの両者が一致するパス
のみを考慮
⇒ 部分構造に関する特徴も、ある程度、取り入れられる
Morganインデックスの計算法
すべての原子に番号1を割り当てる
すべての原子 x について以下を実行
x に結合している原子の番号を総和を、x の番号とする
1
2
1
1
1
1
1
1
1
1
N
O
1
2
2
1
4
3
2
2
3
2
2
1
5
4
3
7
5
5
7
5
6
7
1
1
N
1
3
N
3
O
O
3
O
O
5
O
計算機実験
MUTAG データを利用
標準的ベンチマークテストの一つ
化合物のサルモネラ菌の変異性への影響データ
125個の正例、63個の負例を利用
各例1個のみをテストデータとし、他を学習データと
したテストを繰り返した
ソフトウェア
SVMソフトとして、GIST
(http://microarray.cpmc.columbia.edu/gist)
を利用
他は C++ で記述
結論
モーガンインデックスの利用により以下を達成
Marginalizedカーネルと、同様の精度
他手法と比べても同等以上
数十倍以上、高速
今後の課題
他のインデックス手法の利用、開発
他手法との比較
大規模な計算機実験
参考文献
SVMおよびカーネル一般
バイオインフォマティクスにおけるカーネル
N. Cristianini & J. Shawe-Taylor: An Introduction to Support Vector
Machines and Other Kernel-based Learning Methods, Cambridge Univ.
Press, 2000. (日本語訳:大北剛:サポートベクターマシン入門, 共立出
版, 2005)
Kernel Methods in Computational Biology, MIT Press, 2005.
Marginalized Graph Kernel + Morgan Index
P. Mahe, N. Ueda, T. Akutsu, J-L. Perret, J-P. Vert: Extensions of
marginalized graph kernels, Proc. 21st Int. Conf. Machine Learning,
552-559, 2004.