木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

56
木木木木木木木木木木木木木木木木木木木木木木木木 木木木 木木木木 、、 阿阿阿 阿阿 阿阿阿阿 阿阿阿阿阿 阿阿阿阿阿阿阿阿阿阿阿阿阿阿阿阿

Upload: serena

Post on 14-Jan-2016

29 views

Category:

Documents


0 download

DESCRIPTION

木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定. 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター. 講演内容. 木の編集距離の埋め込み 順序木 : オイラー文字列 を利用した文字列の編集距離への埋め込み     ⇒文字列編集距離の L 1 空間 への埋め込み     ⇒順序木編集距離の L 1 空間 への埋め込み 無順序木 : 特徴ベクトル を用いた L 1 空間 への埋め込み 特徴ベクトルからの構造推定 特徴ベクトルからの 木構造推定 その 新規化学構造設計 への応用可能性. 埋め込み. 編集距離空間. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

木構造および化学構造に対する特徴ベクトル:

埋め込み、検索、構造推定

阿久津 達也

京都大学 化学研究所 バイオインフォマティクスセンター

Page 2: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

講演内容 木の編集距離の埋め込み

順序木:オイラー文字列を利用した文字列の編集距離への埋め込み

    ⇒文字列編集距離の L1 空間への埋め込み

    ⇒順序木編集距離の L1 空間への埋め込み 無順序木:特徴ベクトルを用いた L1 空間への埋め

込み 特徴ベクトルからの構造推定

特徴ベクトルからの木構造推定 その新規化学構造設計への応用可能性

Page 3: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

埋め込み

構造推定

O

O

距離: DT 距離: DL1

L1 空間編集距離空間

CH3

O

O

O

OONH2

特徴ベクトル空間化合物空間

11 LTL DDD

Page 4: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

Part-I木の編集距離の埋め込み

Page 5: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

背景

Page 6: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

背景 木構造のパターンマッチング

バイオインフォマティクス RNA 構造の比較、糖鎖構造の比較

XML データベース 類似 XML 文書の検索

画像理解

Page 7: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

木構造の比較 部分グラフに基づく最大共通部分木

順序木: O(n2) 時間 無順序木: O(n2.5/log n) 時間

編集距離に基づく最大共通部分木 順序木: O(n3) 時間 無順序木: NP 困難( MAX SNP 困難)

本研究での対象 順序木、および、無順序木  (頂点にラベルあ

り) 高さに制限(無順序木の場合)

DBLP の XML 文書では高さは最大で6、 99% は 2 以下 単位編集コスト

n: 二つの入力木のうち、大きい方の頂点数

Page 8: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

順序木の編集距離の計算 上限

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 の枠内)

Page 9: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

無順序木に対する計算 編集距離

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]

Page 10: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

文字列の編集距離の埋め込み 編集距離 計算

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

Page 11: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

講演内容( 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]

Page 12: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

木の編集距離

Page 13: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

木の編集距離 編集距離: 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

Page 14: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

木間の写像と最大共通部分木 木間写像: 以下を満たす写像

最大共通部分木

 の要素数が最大となる Mid により誘導される部分木

編集距離と最大共通部分木の関係 編集距離 =

)()( 21 TVTVM )),()(),(( 2211 MwvMwv

2121 wwvv

の先祖がの先祖が 2121 wwvv

)}(label)(label,),(|),{( wvMwvwvM id

|||||)(||)(| 21 idMMTVTV

)(2121 順序木 の左がの左が wwvv

Page 15: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

木間写像と最大共通部分木の例

最大共通部分木

編集距離=3

Page 16: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

埋め込みO

O

距離: DT 距離: DX

埋め込み空間 X編集距離空間

XTX DDD α 、 β が1に近いほど良い 空間 X (e.g., L1 空間)における高速

  アルゴリズム( eg. 検索)が利用可

Page 17: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

順序木の編集距離のO(h) 近似アルゴリズム

Page 18: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

オイラー文字列 木を深さ優先探索 探索した順に頂点のラベルを並べる ただし、戻る時のラベルは の様に区別する

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“ ”

Page 19: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

アルゴリズム T1, T2 をオイラー文字列 s1, s2 に変換 s1, s2 間の編集距離 EDS(s1,s2) を計算して出力

定理

),()12(),(),( 21212121 ssEDhTTEDssED STS

h: 低い方の木の高さ

Page 20: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

文字列の編集距離 編集操作

文字の追加 文字の削除 文字の置換 編集距離 = 文字列 s1 を s2 に変換するための最

小の編集操作回数 距離の公理を満たす

s1 = GCGTCGT s2 = CGATCCTC

G C G ー T C G T ー

ー C G A T C C T C

⇒  距離=4アラインメント

Page 21: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

命題 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

Page 22: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

アラインメントからの写像の復元 アラインメントから両者において完全に保存さ

れている部分木のみを抽出

Page 23: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

上限の解析(1) 命題:途中に編集操作の入らない部分木どおしを対応

させると正当な木間写像になる 証明:部分木どおしは親子関係に無く、かつ、オイラ

ー文字列を利用しているので左右の関係が保存される

A B

Page 24: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

上限の解析 (2)

),()12(

),(

21

21

ssEDh

TTED

S

T

文字列アライメントにおける1個のエラーが高さ ×2個( T1 と T2 )の頂点の対応関係を損なう

Page 25: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

定理

),()12(),(),( 21212121 ssEDhTTEDssED STS

[Akutsu, IPL 2006]

Page 26: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

順序木の編集距離のO(n3/4) 近似アルゴリズム

Page 27: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

最悪となる場合の例 文字列の距離=2 木の距離≒高さ

幹の頂点にAD, BD, AE, BE などのラベルをつけてマッチを防げば良い

Page 28: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

枝へのラベルの割り当て(1) すべての枝に部分木の情報を割り当てると、(オ

イラー文字列の)エラーが大きくなりすぎる  ⇒ 一部の枝のみに小さな部分木の情報を付加

Page 29: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

枝へのラベルの割り当て(2) Special node: 部分木のサイズが   以下で、    親部分木のサイズが   より大 Special edge: 子の少なくとも1個が special node

Special node を根とする部分木の情報をラベルとして与える

nn

Page 30: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

無順序木の編集距離の2h+2 近似アルゴリズム

Page 31: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

無順序木の編集距離の近似 最大共通部分木(最大化)⇔編集距離(最小化) しかし、近似に関しては無関係 編集距離: MAX SNP 困難以外の結果が無い⇒ 無順序木の編集距離の 2h+2 近似

[Fukagawa, Akutsu & Takasu, SPIRE 2009]

方法 木 T を特徴ベクトル Φ ( T ) に変換

12121121 )()(),()()(22

1TΦTΦTTdistTΦTΦ

h

Page 32: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

特徴ベクトル 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

Page 33: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

特徴ベクトルの性質補題 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

Page 34: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

乱数の利用による埋め込み Φ(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

Page 35: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

結論 ( Part-I ) 順序木 ( Ω(n3))

高さが h の木に対する O(n2) 時間 O(h) 近似 O(n2) 時間、 O(n3/4) 近似アルゴリズム

無順序木 (MAX SNP-hard) 特徴ベクトルによる 2h+2 近似

Open Problem 無順序木の編集距離の h に依存しない近似 O(n3/4) 近似における定数次数制約の除去 順序木の編集距離の埋め込み

Page 36: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

Part-II特徴ベクトルからの構造推定

Page 37: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

サポートベクターマシン カーネル法の一つ

1990 年代に、 Cortes と  Vapnik が発明 トレーニングデータとして与えられた正例と負例

から、それらを分離する超平面を計算 機械学習、統計学、人工知能、パターン認識、バ

イオインフォマティクスなど様々な分野に応用 配列分類 タンパク質フォールド予測、二次構造構造 遺伝子発現データ解析 タンパク質相互作用予測 化合物の性質推定

Page 38: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

サポートベクターマシン 正例と負例( e.g., 活性あり化合物、活性なし化合物)を与えて、それらを最適(マージンを最大)に分離する超平面を学習

カーネルを適切に定義することにより超平面以外での分離が可能

margin

Page 39: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

カーネル サポートベクターマシン:基本的には超平面で分離 Φ(x) ( 特徴ベクトル):「非線形曲面⇒超平面」に写像 カーネル K(x,y)=Φ(x)・Φ(y) x と y の類似度が高い ⇔ K(x,y) が大

φ (x)

Page 40: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

カーネル法に基づく化合物活性予測

CH3

O

O

O

OONH2

特徴ベクトル空間化合物空間

化合物を特徴ベクトルに写像 SVM ( SVR )を用いて活性の有無(活性値)を予測

Φ

Page 41: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

化合物に対する特徴ベクトル

Walk based ( パスの出現頻度 )

Descriptor based ( 部分構造の出現頻度 )

Page 42: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

特徴ベクトルからの化学構造の推定 従来のカーネル法

 データ ⇒ 特徴ベクトル    (写像 Φ ) 我々のアプローチ   ( pre-image 問題)

 特徴ベクトル ⇒ データ   (逆写像 Φ-1 )

CH3

特徴空間化合物空間

Φ

Φ-1

noneapproximatepre-image

Φ-1

Page 43: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

創薬への応用可能性(1) 二つの化合物の中間構造を持つ新たな化合物の設計

CH3

CH3

A

B (A+B)/ 2

Page 44: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

44

創薬への応用可能性(2)

(A)

(B) (C)

新規化合物

効能あり

効能なし

副作用 あり

副作用 なし

以下の化合物は既知 (A) 効能はあるが、悪い副作用もある (B) 効能も無く、悪い副作用も無い (C) 効能は無いが、悪い副作用はある

ここから、効能があり、   悪い副作用が無い   化合物を設計したい

Page 45: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

既存研究 カーネル PCA + 回帰 [Bakir, Wetson & Schoelkopf, 2003]

シミュレーテッドアニーニング   [Bakir, Tsuda & Schoelkopf, 2004]

文字列の pre-image オイラー閉路問題に帰着 [Cortes, Mohri & Weston, 2005]

グラフに対しては厳密アルゴリズムや計算論的考察は無し

Page 46: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

問題の定式化 入力 : 長さ K 以下のラベル付きパスの出現頻度

からなる特徴ベクトル v 出力 : 特徴ベクトルを Φ(G) とする時、 Φ(G)=v

を満たす化学構造(グラフ) G(V,E)

v

Φ

Page 47: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

特徴ベクトルからの化学構造推定は、以下の場合、動的計画法により多項式時間で計算可能 ラベルの種類が定数以下 パスの長さが定数以下 最大次数が定数以下の木構造   (木構造はある制約つきの外平面グラフに拡張可能

) 一方、パスの長さに制約がない場合には、木構造

に対しても NP 困難

理論的結果

[Akutsu & Fukagawa, CPM 2005,BIOINFO 2005]

特徴ベクトルからの化学構造推定は、 K=1 の場合、 Graph Detachment を用いることにより、一般のグラフに対しても多項式時間で計算可能

[Nagamochi, COCOON 2006]

Page 48: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

動的計画法アルゴリズムの概要 木は葉を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 が存在

 多項式とはいえ、   計算量が大きく   非実用的

Page 49: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

単純な分枝限定法アルゴリズム

頂点を一つずつ追加することにより木構造(もしくは木に似た構造)を生成

いくつかの候補を記憶しておき、最も目的の特徴ベクトルに近いものを展開

深さ優先探索 (DFS, depth-first search procedure)に基づく

現時点での木構造が、対象の特徴ベクトルに至らないことが判明した時点でバックトラックを行う

木構造+ベンゼン環に対応可能

Page 50: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

数え上げに基づく分枝限定法アルゴリズム 中野 & 宇野の木構造数え上げと以下の組み合わ

せ 次数制約によるカット 特徴ベクトルによるカット Detachment カット  [Ishida et al., GIW 2008]

主に永持研で開発 二つのバージョン

水素原子を陽に扱う、扱わない アルカン( CnH2n+2) の数え上げでは、ほぼ最高速 特徴ベクトルからの化学構造推定では、水素を除いて 20~ 30原子程度の化合物まで対応可能

[Fujiwara et al., J. Chemical Information & Modeling, 2008]

Page 51: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

化学構造数え上げサーバ

Page 52: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

制約を満たす木構造の数え上げサーバ http://sunflower.kuicr.kyoto-u.ac.jp/~ykato/chem/ 与えられたパス頻度に関する制約を満たす木

構造を数え上げて表示 SMILE 形式の構造式も出力 永持研で開発されたプログラムを実装 限定的ながらもベンゼン環にも対応 アルカンなどの数え上げも可能

Web server開発 : Y. Kato

Page 53: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

サーバの実行例

C6H14

Page 54: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

サーバの実行例

C6H14

Page 55: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

結論( Part-II ):特徴ベクトルからの構造推定 木に対する多項式時間アルゴリズム

パスの長さに制約がない場合の NP 困難性 分枝限定法アルゴリズム

木構造の数え上げ 次数制約カット、特徴ベクトルによるカット、 detachmentカット

WEBサーバの構築

今後の課題 提案手法の新規化合物設計における有効性の証明 更なる改良、拡張

より広いグラフクラスへの拡張 エラーを許した場合のアルゴリズムの開発 他問題への応用

NMR/質量分析データからの構造推定

Page 56: 木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定

結論 ( 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.