木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター 講演内容 木の編集距離の埋め込み 順序木:オイラー文字列を利用した文字列の編集距離へ の埋め込み ⇒文字列編集距離の L1 空間への埋め込み ⇒順序木編集距離の L1 空間への埋め込み 無順序木:特徴ベクトルを用いた L1 空間への埋め込み 特徴ベクトルからの構造推定 特徴ベクトルからの木構造推定 その新規化学構造設計への応用可能性 埋め込み 編集距離空間 L1空間 O 距離: DL1 距離: DT O DL DT DL 1 構造推定 1 特徴ベクトル 空間 化合物空間 O O CH3 O NH2 O O Part-I 木の編集距離の埋め込み 背景 背景 木構造のパターンマッチング バイオインフォマティクス XMLデータベース RNA構造の比較、糖鎖構造の比較 類似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] 4 O(n )時間 [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埋め込みの近似(歪み)下限 log n [Khot & Naor, FOCS2005] [Krauthgamer & Rabani, SODA2006] L1埋め込みの近似(歪み)上限 log n O( log n loglog n ) 2 [Ostrovsky & Rabani, STOC2006 & JACM 2007] 編集距離の近似計算 ほぼ線形時間で ~ O( log n ) 近似 2 [Andoni & Onak, STOC2009] 講演内容(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 T1 A C を削除 B D B A C A B B D D A C を挿入 B B T2 B D A B 木間の写像と最大共通部分木 木間写像: 以下を満たす写像 M V (T1 ) V (T2 ) ((v1 , w1 ) M )((v2 , w2 ) M ) v1 v2 w1 w2 v1がv2の先祖 w1がw2の先祖 v1がv2の左 w1がw2の左 (順序木) 最大共通部分木 M id {(v, w) | (v, w) M , label(v) label(w)} の要素数が最大となる Mid により誘導される部分木 編集距離と最大共通部分木の関係 編集距離 = | V (T1 ) | | V (T2 ) | | M | | M id | 木間写像と最大共通部分木の例 編集距離=3 最大共通部分木 埋め込み 編集距離空間 埋め込み空間 X O 距離: DT 距離: DX O DX DT DX α、βが1に近いほど良い 空間X (e.g., L1空間)における高速 アルゴリズム(eg. 検索)が利用可 順序木の編集距離の O(h) 近似アルゴリズム オイラー文字列 木を深さ優先探索 探索した順に頂点のラベルを並べる ただし、戻る時のラベルは A の様に区別する T1 A B B “B C C E E B C D D C ” C C C s(T1)= C E D E D アルゴリズム T1, T2 をオイラー文字列 s1, s2 に変換 s1, s2間の編集距離 EDS(s1,s2) を計算して出力 定理 1 2 EDS (s1, s2 ) EDT (T1, T2 ) (2h 1)EDS (s1, s2 ) h: 低い方の木の高さ 文字列の編集距離 編集操作 文字の追加 文字の削除 文字の置換 編集距離 = 文字列 s1 を s2 に変換するための最小 の編集操作回数 距離の公理を満たす s1 = GCGTCGT s2 = CGATCCTC G C G ー T C G T ー ー C G A T C C T C アラインメント ⇒ 距離=4 命題 1 2 EDS (s1, s2 ) EDT (T1, T2 ) T1に対する1編集操作 ⇒ s1 に対する2編集操作 T1 T2 B C B C D D T1 T2 B C D B C E s1: B D D B C C s2: B B C C s1: B D D B C C s2: B E E B C C アラインメントからの写像の復元 アラインメントから両者において完全に保存されてい る部分木のみを抽出 上限の解析(1) 命題:途中に編集操作の入らない部分木どおしを対応 させると正当な木間写像になる 証明:部分木どおしは親子関係に無く、かつ、オイラー 文字列を利用しているので左右の関係が保存される A B 上限の解析(2) 文字列アライメントにおける1個のエラーが高さ×2個 (T1と T2 )の頂点の対応関係を損なう EDT (T1 , T2 ) (2h 1) EDS (s1 , s2 ) 定理 1 2 EDS (s1, s2 ) EDT (T1, T2 ) (2h 1)EDS (s1, s2 ) [Akutsu, IPL 2006] 順序木の編集距離の O(n3/4) 近似アルゴリズム 最悪となる場合の例 文字列の距離=2 木の距離≒高さ 幹の頂点にAD, BD, AE, BE な どのラベルをつ けてマッチを防 げば良い 枝へのラベルの割り当て(1) すべての枝に部分木の情報を割り当てると、(オイ ラー文字列の)エラーが大きくなりすぎる ⇒ 一部の枝のみに小さな部分木の情報を付加 枝へのラベルの割り当て(2) Special node: 部分木のサイズが n 以下で、 親部分木のサイズが n より大 Special edge:子の少なくとも1個が special node Special nodeを根とする部分木の情報をラベルとして与える 無順序木の編集距離の 2h+2 近似アルゴリズム 無順序木の編集距離の近似 最大共通部分木(最大化)⇔編集距離(最小化) しかし、近似に関しては無関係 編集距離: MAX SNP困難以外の結果が無い ⇒無順序木の編集距離の 2h+2近似 方法 木 T を特徴ベクトル Φ(T) に変換 1 Φ(T1 ) Φ(T2 ) 1 dist (T1 , T2 ) Φ(T1 ) Φ(T2 ) 1 2h 2 [Fukagawa, Akutsu & Takasu, SPIRE 2009] 特徴ベクトル T1 T(v) : v とその子孫から誘導さ れる T の部分木 Φt(T)= #(T,t)= |{ v | T(v)~t }|, Φ(Ti) = < Φt(Ti) | t∊{Ti(v)|i=1,2} > T2 r r c a a b b a c Φ(T1)= ( 1, 2, 0, 1, 1, 0, 1, 0 ) Φ(T2)= ( 1, 1, 1, 1, 0, 1, 0, 1 ) a b c a b c c T 1 a b a c c T2 a b 特徴ベクトルの性質 T1 補題1 Φ (T1 ) Φ (T2 ) 1 (2h 2) dist (T1 , T2 ) 証明:編集操作1に より距離が高々 2h+2 増加 補題2 dist (T1 , T2 ) Φ(T1 ) Φ(T2 ) 1 証明:略 T2 r r c a b c a b a a c b Φ(T1)= ( 1, 2, 0, 1, 1, 0, 1, 0 ) Φ(T2)= ( 1, 1, 1, 1, 0, 1, 0, 1 ) a b c a b c c T 1 a b a c 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) Φ (T ) p k # (T , t) ただし、 T(k , p) {t Ti | code (t ) k mod p } tΤ( k , p ) 定理: N i Ti 、 n maxi Ti 、 N 2 n 2 log N とし、 ランダムな素数 p が [0,..., 1] の 確率 1 O(1 / n)で以下が成立 1 Φ p (T1 ) Φ p (T2 ) dist (T1 , T2 ) Φ p (T1 ) Φ p (T2 ) 1 1 2h 2 結論 (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) カーネル法に基づく化合物活性予測 化合物を特徴ベクトルに写像 SVM(SVR)を用いて活性の有無(活性値)を予測 化合物空間 Φ O O CH3 O NH2 O O 特徴ベクトル 空間 化合物に対する特徴ベクトル Walk based (パスの出現頻度) Descriptor based (部分構造の出現頻度) 特徴ベクトルからの化学構造の推定 従来のカーネル法 データ ⇒ 特徴ベクトル 我々のアプローチ (写像 Φ) (pre-image 問題) 特徴ベクトル ⇒ データ (逆写像 Φ-1) 化合物空間 特徴空間 Φ CH3 Φ-1 none approximate pre-image Φ-1 創薬への応用可能性(1) 二つの化合物の中間構造を持つ新たな化合物の設計 A CH3 CH3 (A+B)/2 B 創薬への応用可能性(2) 以下の化合物は既知 (A) 効能はあるが、悪い副作用もある (B) 効能も無く、悪い副作用も無い (C) 効能は無いが、悪い副作用はある ここから、効能があり、 悪い副作用が無い 化合物を設計したい 新規化合物 (A) 効能あり 効能なし (C) 副作用 あり (B) 副作用 なし 44 既存研究 カーネル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個づつ付加することにより生成可能 a a a a b a D(v)=1 a a b a b a b b b Φ(T)=v を満たす v が存在 D(na , nb , naa , nab , nba , nbb ) 1 D(na 1, nb , naa 2, nab , nba , nbb ) 1 D(na 1, nb , naa , nab 1, nba 1, nbb ) 1 D(na , nb 1, naa , nab 1, nba 1, nbb ) 1 D(na , nb 1, naa , nab , nba , nbb 2) 1 多項式とはいえ、 計算量が大きく 非実用的 単純な分枝限定法アルゴリズム 頂点を一つずつ追加することにより木構造(もしくは 木に似た構造)を生成 いくつかの候補を記憶しておき、最も目的の特徴ベク トルに近いものを展開 深さ優先探索 (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.
© Copyright 2025 ExpyDoc