木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定
DESCRIPTION
木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定. 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター. 講演内容. 木の編集距離の埋め込み 順序木 : オイラー文字列 を利用した文字列の編集距離への埋め込み ⇒文字列編集距離の L 1 空間 への埋め込み ⇒順序木編集距離の L 1 空間 への埋め込み 無順序木 : 特徴ベクトル を用いた L 1 空間 への埋め込み 特徴ベクトルからの構造推定 特徴ベクトルからの 木構造推定 その 新規化学構造設計 への応用可能性. 埋め込み. 編集距離空間. - PowerPoint PPT PresentationTRANSCRIPT
木構造および化学構造に対する特徴ベクトル:
埋め込み、検索、構造推定
阿久津 達也
京都大学 化学研究所 バイオインフォマティクスセンター
講演内容 木の編集距離の埋め込み
順序木:オイラー文字列を利用した文字列の編集距離への埋め込み
⇒文字列編集距離の L1 空間への埋め込み
⇒順序木編集距離の L1 空間への埋め込み 無順序木:特徴ベクトルを用いた L1 空間への埋め
込み 特徴ベクトルからの構造推定
特徴ベクトルからの木構造推定 その新規化学構造設計への応用可能性
埋め込み
構造推定
O
O
距離: DT 距離: DL1
L1 空間編集距離空間
CH3
O
O
O
OONH2
特徴ベクトル空間化合物空間
11 LTL DDD
Part-I木の編集距離の埋め込み
背景
背景 木構造のパターンマッチング
バイオインフォマティクス RNA 構造の比較、糖鎖構造の比較
XML データベース 類似 XML 文書の検索
画像理解
木構造の比較 部分グラフに基づく最大共通部分木
順序木: O(n2) 時間 無順序木: O(n2.5/log n) 時間
編集距離に基づく最大共通部分木 順序木: O(n3) 時間 無順序木: NP 困難( MAX SNP 困難)
本研究での対象 順序木、および、無順序木 (頂点にラベルあ
り) 高さに制限(無順序木の場合)
DBLP の XML 文書では高さは最大で6、 99% は 2 以下 単位編集コスト
n: 二つの入力木のうち、大きい方の頂点数
順序木の編集距離の計算 上限
O(n6) 時間 [K-C.Tai, 1979]
O(n4) 時間 [K. Zhang & D. Shasha, 1989]
O(n3log n) 時間 [P. N. Klein, 1998]
O(n3) 時間 [E. Demaine et al., 2007]
下限 Ω (n3) 時間 [E. Demaine et al., 2007]
(ただし、 decomposition strategy algorithms の枠内)
無順序木に対する計算 編集距離
NP 困難 [K. Zhang, R. Statman, D. Shasha, 1992]
MAX SNP 困難 [K. Zhang & T. Jiang, 1994]
最大共通部分木 MAX SNP 困難 [K. Zhang & T. Jiang, 1994]
一方が高さ1の木で、もう一方が高さ2の木でも
定数近似困難 [M. M. Halldorsson & K. Tanaka, 1996]
O(log 2n) 近似 [M. M. Halldorsson & K. Tanaka, 1996]
高さが h の時、 2h 近似 [M. M. Halldorsson & K. Tanaka, 1996]⇒ 1.5h 近似 [Akutsu, Fukagawa, Takasu, 2008]
文字列の編集距離の埋め込み 編集距離 計算
O(n2) 程度の時間がかかる ⇒ 近似 2000 年代に多くの優れた研究
最適に近い結果 L1 埋め込みの近似(歪み)下限
[Khot & Naor, FOCS2005]
[Krauthgamer & Rabani, SODA2006]
L1 埋め込みの近似(歪み)上限 [Ostrovsky & Rabani, STOC2006 & JACM 2007]
編集距離の近似計算 ほぼ線形時間で 近似 [Andoni & Onak,
STOC2009]
nlog nlog
)logloglog(2 nnO
)log(~
2 nO
講演内容( Part-1 ) 順序木 ( Ω(n3))
文字列の編集距離への変換 [Akutsu, IPL, 2006]
⇒ O(n2) 時間 O(h) 近似アルゴリズム
O(n2) 時間、 O(n3/4) 近似アルゴリズム ただし、木の最大次数は定数以下
[Akutsu, Fukagawa & Takasu, Algorithmica (to appear)]
無順序木 (MAX SNP-hard) 特徴ベクトルによる編集距離の 2h+2 近似 [Fukagawa, Akutsu &
Takasu, SPIRE 2009]
木の編集距離
木の編集距離 編集距離: T1 を T2 に変換するのに要する編集
操作の最小回数 削除: 頂点 v を削除し、 v の子を v の親の子とする 挿入: 削除の逆 置換: 頂点 v のラベルを置き変える(無順序木では、子の左右を入れ替えても OK )
A
B
BC
B D
A A B
D
A
B
B B D A
A B
D
C を挿入
C を削除
T1 T2
木間の写像と最大共通部分木 木間写像: 以下を満たす写像
最大共通部分木
の要素数が最大となる Mid により誘導される部分木
編集距離と最大共通部分木の関係 編集距離 =
)()( 21 TVTVM )),()(),(( 2211 MwvMwv
2121 wwvv
の先祖がの先祖が 2121 wwvv
)}(label)(label,),(|),{( wvMwvwvM id
|||||)(||)(| 21 idMMTVTV
)(2121 順序木 の左がの左が wwvv
木間写像と最大共通部分木の例
最大共通部分木
編集距離=3
埋め込みO
O
距離: DT 距離: DX
埋め込み空間 X編集距離空間
XTX DDD α 、 β が1に近いほど良い 空間 X (e.g., L1 空間)における高速
アルゴリズム( eg. 検索)が利用可
順序木の編集距離のO(h) 近似アルゴリズム
オイラー文字列 木を深さ優先探索 探索した順に頂点のラベルを並べる ただし、戻る時のラベルは の様に区別する
A
A
B
C E
C
D
T1
B
C E
C
D
s(T1)=
B C C E E B C D D C“ ”
アルゴリズム T1, T2 をオイラー文字列 s1, s2 に変換 s1, s2 間の編集距離 EDS(s1,s2) を計算して出力
定理
),()12(),(),( 21212121 ssEDhTTEDssED STS
h: 低い方の木の高さ
文字列の編集距離 編集操作
文字の追加 文字の削除 文字の置換 編集距離 = 文字列 s1 を s2 に変換するための最
小の編集操作回数 距離の公理を満たす
s1 = GCGTCGT s2 = CGATCCTC
G C G ー T C G T ー
ー C G A T C C T C
⇒ 距離=4アラインメント
命題 T1 に対する1編集操作 ⇒ s1 に対する2編集操作
),(),( 212121 TTEDssED TS
B C
D
B C
D
T1 T2B D D B C C
B B C Cs2:
s1:
B C
D
B C
E
T1 T2B D B C CD
B B C Cs2:
s1:
E E
アラインメントからの写像の復元 アラインメントから両者において完全に保存さ
れている部分木のみを抽出
上限の解析(1) 命題:途中に編集操作の入らない部分木どおしを対応
させると正当な木間写像になる 証明:部分木どおしは親子関係に無く、かつ、オイラ
ー文字列を利用しているので左右の関係が保存される
A B
上限の解析 (2)
),()12(
),(
21
21
ssEDh
TTED
S
T
文字列アライメントにおける1個のエラーが高さ ×2個( T1 と T2 )の頂点の対応関係を損なう
定理
),()12(),(),( 21212121 ssEDhTTEDssED STS
[Akutsu, IPL 2006]
順序木の編集距離のO(n3/4) 近似アルゴリズム
最悪となる場合の例 文字列の距離=2 木の距離≒高さ
幹の頂点にAD, BD, AE, BE などのラベルをつけてマッチを防げば良い
枝へのラベルの割り当て(1) すべての枝に部分木の情報を割り当てると、(オ
イラー文字列の)エラーが大きくなりすぎる ⇒ 一部の枝のみに小さな部分木の情報を付加
枝へのラベルの割り当て(2) Special node: 部分木のサイズが 以下で、 親部分木のサイズが より大 Special edge: 子の少なくとも1個が special node
Special node を根とする部分木の情報をラベルとして与える
nn
無順序木の編集距離の2h+2 近似アルゴリズム
無順序木の編集距離の近似 最大共通部分木(最大化)⇔編集距離(最小化) しかし、近似に関しては無関係 編集距離: MAX SNP 困難以外の結果が無い⇒ 無順序木の編集距離の 2h+2 近似
[Fukagawa, Akutsu & Takasu, SPIRE 2009]
方法 木 T を特徴ベクトル Φ ( T ) に変換
12121121 )()(),()()(22
1TΦTΦTTdistTΦTΦ
h
特徴ベクトル T(v) : v とその子孫から誘導
される T の部分木 Φt(T)= #(T,t)= |{ v | T(v)~ t }|,
Φ(Ti) = < Φt(Ti) | t∊ {Ti(v)|i=1,2} >
r
c
a b
a
b
T1
r
c
a c
a
b
T2
Φ(T1)= ( 1, 2, 0, 1, 1, 0, 1, 0 )
Φ(T2)= ( 1, 1, 1, 1, 0, 1, 0, 1 )
a b ca
b
c
a b a c
c T1 T2
特徴ベクトルの性質補題 1
証明:編集操作 1により距離が高々 2h+2 増加
補題 2
証明:略
),()22(
)()(
21
121
TTdisth
TΦTΦ
121
21
)()(
),(
TΦTΦ
TTdist
r
c
a b
a
b
T1
r
c
a c
a
b
T2
Φ(T1)= ( 1, 2, 0, 1, 1, 0, 1, 0 )
Φ(T2)= ( 1, 1, 1, 1, 0, 1, 0, 1 )
a b ca
b
c
a b a c
c T1 T2
乱数の利用による埋め込み Φ(Ti) の計算
T1,T2, … , Tm を知る必要があり、データベース検索に不向き code(T(v)): T(v) の一意な表現(整数値)
そのままだと O(n) サイズ code(T(v)) mod p を利用 ( p は素数 ) ⇒ O(log n)サイズ ( Karp-Rabin の randomized
fingerprint )
12121121 )()(),()()(22
1TΦTΦTTdistTΦTΦ
hpppp
),(
),(#)(pkt
pk tTTΦ
Τ
}mod)(code|{),( pktTtpk i Tただし、
定理 : で以下が成立確率ランダムな素数
のがとし、、、
)/1(1
]1,...,0[logmax 22
nO
pNnNTnTN iii i
結論 ( Part-I ) 順序木 ( Ω(n3))
高さが h の木に対する O(n2) 時間 O(h) 近似 O(n2) 時間、 O(n3/4) 近似アルゴリズム
無順序木 (MAX SNP-hard) 特徴ベクトルによる 2h+2 近似
Open Problem 無順序木の編集距離の h に依存しない近似 O(n3/4) 近似における定数次数制約の除去 順序木の編集距離の埋め込み
Part-II特徴ベクトルからの構造推定
サポートベクターマシン カーネル法の一つ
1990 年代に、 Cortes と Vapnik が発明 トレーニングデータとして与えられた正例と負例
から、それらを分離する超平面を計算 機械学習、統計学、人工知能、パターン認識、バ
イオインフォマティクスなど様々な分野に応用 配列分類 タンパク質フォールド予測、二次構造構造 遺伝子発現データ解析 タンパク質相互作用予測 化合物の性質推定
サポートベクターマシン 正例と負例( e.g., 活性あり化合物、活性なし化合物)を与えて、それらを最適(マージンを最大)に分離する超平面を学習
カーネルを適切に定義することにより超平面以外での分離が可能
margin
カーネル サポートベクターマシン:基本的には超平面で分離 Φ(x) ( 特徴ベクトル):「非線形曲面⇒超平面」に写像 カーネル K(x,y)=Φ(x)・Φ(y) x と y の類似度が高い ⇔ K(x,y) が大
φ (x)
カーネル法に基づく化合物活性予測
CH3
O
O
O
OONH2
特徴ベクトル空間化合物空間
化合物を特徴ベクトルに写像 SVM ( SVR )を用いて活性の有無(活性値)を予測
Φ
化合物に対する特徴ベクトル
Walk based ( パスの出現頻度 )
Descriptor based ( 部分構造の出現頻度 )
特徴ベクトルからの化学構造の推定 従来のカーネル法
データ ⇒ 特徴ベクトル (写像 Φ ) 我々のアプローチ ( pre-image 問題)
特徴ベクトル ⇒ データ (逆写像 Φ-1 )
CH3
特徴空間化合物空間
Φ
Φ-1
noneapproximatepre-image
Φ-1
創薬への応用可能性(1) 二つの化合物の中間構造を持つ新たな化合物の設計
CH3
CH3
A
B (A+B)/ 2
44
創薬への応用可能性(2)
(A)
(B) (C)
新規化合物
効能あり
効能なし
副作用 あり
副作用 なし
以下の化合物は既知 (A) 効能はあるが、悪い副作用もある (B) 効能も無く、悪い副作用も無い (C) 効能は無いが、悪い副作用はある
ここから、効能があり、 悪い副作用が無い 化合物を設計したい
既存研究 カーネル PCA + 回帰 [Bakir, Wetson & Schoelkopf, 2003]
シミュレーテッドアニーニング [Bakir, Tsuda & Schoelkopf, 2004]
文字列の pre-image オイラー閉路問題に帰着 [Cortes, Mohri & Weston, 2005]
グラフに対しては厳密アルゴリズムや計算論的考察は無し
問題の定式化 入力 : 長さ K 以下のラベル付きパスの出現頻度
からなる特徴ベクトル v 出力 : 特徴ベクトルを Φ(G) とする時、 Φ(G)=v
を満たす化学構造(グラフ) G(V,E)
v
Φ
特徴ベクトルからの化学構造推定は、以下の場合、動的計画法により多項式時間で計算可能 ラベルの種類が定数以下 パスの長さが定数以下 最大次数が定数以下の木構造 (木構造はある制約つきの外平面グラフに拡張可能
) 一方、パスの長さに制約がない場合には、木構造
に対しても NP 困難
理論的結果
[Akutsu & Fukagawa, CPM 2005,BIOINFO 2005]
特徴ベクトルからの化学構造推定は、 K=1 の場合、 Graph Detachment を用いることにより、一般のグラフに対しても多項式時間で計算可能
[Nagamochi, COCOON 2006]
動的計画法アルゴリズムの概要 木は葉を1個づつ付加することにより生成可能
1)2,,,,1,(
1),1,1,,1,(
1),1,1,,,1(
1),,,2,,1(
1),,,,,(
bbbaabaaba
bbbaabaaba
bbbaabaaba
bbbaabaaba
bbbaabaaba
nnnnnnD
nnnnnnD
nnnnnnD
nnnnnnD
nnnnnnD
a
b
ba
a
ba
a
b
aa
baba
D(v)=1 Φ(T)=v を満たす v が存在
多項式とはいえ、 計算量が大きく 非実用的
単純な分枝限定法アルゴリズム
頂点を一つずつ追加することにより木構造(もしくは木に似た構造)を生成
いくつかの候補を記憶しておき、最も目的の特徴ベクトルに近いものを展開
深さ優先探索 (DFS, depth-first search procedure)に基づく
現時点での木構造が、対象の特徴ベクトルに至らないことが判明した時点でバックトラックを行う
木構造+ベンゼン環に対応可能
数え上げに基づく分枝限定法アルゴリズム 中野 & 宇野の木構造数え上げと以下の組み合わ
せ 次数制約によるカット 特徴ベクトルによるカット Detachment カット [Ishida et al., GIW 2008]
主に永持研で開発 二つのバージョン
水素原子を陽に扱う、扱わない アルカン( CnH2n+2) の数え上げでは、ほぼ最高速 特徴ベクトルからの化学構造推定では、水素を除いて 20~ 30原子程度の化合物まで対応可能
[Fujiwara et al., J. Chemical Information & Modeling, 2008]
化学構造数え上げサーバ
制約を満たす木構造の数え上げサーバ http://sunflower.kuicr.kyoto-u.ac.jp/~ykato/chem/ 与えられたパス頻度に関する制約を満たす木
構造を数え上げて表示 SMILE 形式の構造式も出力 永持研で開発されたプログラムを実装 限定的ながらもベンゼン環にも対応 アルカンなどの数え上げも可能
Web server開発 : Y. Kato
サーバの実行例
C6H14
サーバの実行例
C6H14
結論( Part-II ):特徴ベクトルからの構造推定 木に対する多項式時間アルゴリズム
パスの長さに制約がない場合の NP 困難性 分枝限定法アルゴリズム
木構造の数え上げ 次数制約カット、特徴ベクトルによるカット、 detachmentカット
WEBサーバの構築
今後の課題 提案手法の新規化合物設計における有効性の証明 更なる改良、拡張
より広いグラフクラスへの拡張 エラーを許した場合のアルゴリズムの開発 他問題への応用
NMR/質量分析データからの構造推定
結論 ( Part-I ): 特徴ベクトルによる木の編集距離の埋め込み 順序木 ( Ω(n3))
高さが h の木に対する O(n2) 時間 O(h) 近似 O(n2) 時間、 O(n3/4) 近似アルゴリズム
無順序木 (MAX SNP-hard) 特徴ベクトルによる 2h+2 近似
結論( Part-II ): 特徴ベクトルからの構造推定
木に対する多項式時間アルゴリズム パスの長さに制約がない場合の NP 困難性 分枝限定法アルゴリズム
木構造の数え上げ 次数制約カット、特徴ベクトルによるカット、 detachmentカット
WEBサーバの構築
Acknowledgment A. Takasu & D. Fukagawa at NII H. Nagamochi & Members of Nagamochi Lab. at Kyoto U. Y. Kato at BIC, Kyoto U.