760 likes | 922 Views
生命情報学基礎論 カーネル法. 阿久津 達也. 京都大学 化学研究所 バイオインフォマティクスセンター. 講義予定. 4月14日(月) : 生命情報学の基盤 4月21日(月): 配列の比較と相同性検索 4月28日(月): 進化系統樹推定 5月12日(月): 隠れマルコフモデル 5月19日(月): タンパク質立体構造予測 5月26日(月)、6月2日(月): カーネル法 6月9日(月) : 生物情報ネットワークの構造解析. 6月16日(月) : 遺伝子ネットワークの解析と制御(田村 ) 6月23日(月): 代謝ネットワークの 堅牢性(田村)
E N D
生命情報学基礎論カーネル法 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
講義予定 • 4月14日(月):生命情報学の基盤 • 4月21日(月): 配列の比較と相同性検索 • 4月28日(月): 進化系統樹推定 • 5月12日(月): 隠れマルコフモデル • 5月19日(月): タンパク質立体構造予測 • 5月26日(月)、6月2日(月): カーネル法 • 6月9日(月): 生物情報ネットワークの構造解析 • 6月16日(月):遺伝子ネットワークの解析と制御(田村) • 6月23日(月): 代謝ネットワークの堅牢性(田村) • 6月30日(月): 木の編集距離(田村) • 7月7日(月): タンパク質相互作用予測(林田) • 7月14日(月): タンパク質複合体予測(林田) • 7月17日(木): 生物データの圧縮による比較(林田)
内容 • サポートベクターマシンとカーネル法 • タンパク質配列分類のためのカーネル • 化合物分類のためのグラフカーネル
サポートベクターマシン(1) • カーネル法の一つ、データのクラス予測に利用 • 1990年代に、Cortes と Vapnik が発明 • トレーニングデータとして与えられた正例と負例から、それらを分離する超平面を計算 • 機械学習、統計学、人工知能、パターン認識、バイオインフォマティクスなど様々な分野に応用 • 配列分類 • タンパク質フォールド予測、二次構造予測 • 遺伝子発現データ解析 • タンパク質相互作用予測 • 化合物の性質推定 • c.f. Kernel Methods in Computational Biology, MIT Press, 2004
サポートベクターマシン(2) • 正例と負例を与えて、それらを最適(マージンを最大)に分離する超平面を学習 • カーネルを適切に定義することにより超平面以外での分離が可能
SVMによるテストデータの分類 • 学習データより超平面を学習(SVM) • テストデータは、対応する点の超平面に対する位置(上下)で判定
カーネル • サポートベクターマシン:基本的には超平面で分離 • Φ(x) (特徴ベクトル):「非線形曲面⇒超平面」に写像 • カーネル: • xと yの類似度が高い ⇔ K(x,y)が大
カーネルの定義 • 関数 K: X×X→ Rがカーネル iff. X から内積空間 Fへの写像Φが存在し、 とかける
マーセルの定理 (1) • X を有限空間とし、K(x,y) を X上の対称関数とすると、 K(x,y)がカーネル iff 行列 K=(K(xi,xj)) (i, j=1,…,n) が半正定値 • 行列 Kが半正定値 iff Kの固有値がすべて非負 iff (x) (xtKx 0)
マーセルの定理 (2):証明 • Kは対称なので、K=VΛVtとかける。ただし、Λは固有値λiを対角要素とする対角行列で、Vは直交行列。 ( はλiの固有ベクトル。VVt= Vt V =I) • ここで とすると • 一方、とすると、 となり、半正定値となる。
マーセルの定理 (3):連続値の場合 • K(x,y) がカーネル iff. 任意の二乗可積分関数 f に対して
カーネルの性質(1) • のとき、特徴ベクトル間の距離は • 証明
カーネルの性質(2) • Kiが以下を満たす時、Kもカーネル
カーネルの例(1) • (x・y+c)dはカーネル • 証明(d=2, c=0の場合)
カーネルの例(2) • K1, K2がカーネルの時、以下もカーネル • (i)(ii)より、カーネルの正係数の線形和もカーネル • (i)(ii)(iii)より、カーネルの正係数の多項式もカーネル
カーネルの例(3) (i) f(x): X →R ⇒ f(x) f(y) はカーネル • 証明 (別証: f(x)を1次元の特徴ベクトルと考える) (ii)exp(K(x,y))はカーネル • 略証: 指数関数は正の係数を持つ多項式により任意の精度で近似でき、また、カーネルの多項式もカーネルとなるため、性質(2)によりカーネルとなる
カーネルの例(4) • exp(-||x-y||2/σ2) はカーネル (Gaussian RBF kernel) • 証明 • 最初の二項の積は例(3-i)によりカーネル、 最後の項は例(3-ii)によりカーネル、 それらの積は例(2-iii)によりカーネル
カーネルの例(5) • 以下は必ずしもカーネルとはならない
サポートベクターマシン: 定式化(1) • 学習データ: Rd上の点とラベルのペアの集合 • yi=1 ⇒ 正例 yi=-1 ⇒ 負例 • 最適化問題 (凸二次計画問題) • (w,b): Rd上の超平面 h: w・x+b=0に対応 • 1/||w||:hから一番近い xi までの距離(=margin)
サポートベクターマシン: 双対化(1) • 問題の双対化 • もとの問題のラグランジアンは (|S|=l) • もとの問題は以下のmin-max型と等価 • 更に、この最適解は以下の双対問題の最適解と一致
サポートベクターマシン: 双対化(2) • 双対問題の最適解 • 双対問題は • この式のwと bについて微分をとり • 上記をもとのラグランジアンに代入し
サポートベクターマシン: 双対化(3) • 双対問題 (凸二次計画問題) • マージン
サポートベクターマシン: 双対化(4) • KKT相補条件 • サポートベクター • xi がサポートベクター ⇔ αi* > 0 • 超平面 h
サポートベクターマシン: カーネル化 • xi・xjを K(xi, xj) で置換 (← K(xi, xj) =Φ(xi)・ Φ(xj) ) • 識別関数 (SV:サポートベクターの集合) • 利点: 特徴ベクトルを陽に扱わずに、カーネル値のみが計算できればOK ⇒ カーネルトリック
ソフトマージン(2-ノルム) h • 正負例が完全には 分離不可の場合 • スラック変数 ξiの導入 xi ξi/||w|| ξj/||w|| xj γ ξk/||w|| xk
ソフトマージン(2-ノルム): 双対化+カーネル化
ソフトマージン(1-ノルム) h • 1-ノルムの場合、二乗和でなく、線形和をとる xi ξi/||w|| ξj/||w|| xj γ ξk/||w|| xk
ソフトマージン(1-ノルム): 双対化+カーネル化
カーネル法 • 古くから多くの研究 • SVM以外にも様々な応用 • KPCA: カーネル主成分分析 • KCCA: カーネル正準相関分析 SVMによる多数のクラスの分類法(一例) • 各クラスごとにSVMを構成 • そのクラスの例を正例、それ以外の例を負例とする • 新たなデータをそれぞれのSVMに入力し、スコアが最も良いクラスを出力
実問題に対するカーネル • データから特徴ベクトル(feature vector)を作るのが一般的、かつ、 多くの場合に実用的 • 特徴ベクトル: 実数値の列 • 例えば、各化合物 x に対し、 • Φ(x) = (分子量, 容積, 表面積, logP,…) とすれば、化合物 x,yに対するカーネルは Φ(x) と Φ(y) の単なる内積
内容 • サポートベクターマシンとカーネル法 • タンパク質配列分類のためのカーネル • 化合物分類のためのグラフカーネル
タンパク質立体構造予測 • アミノ酸配列から、タンパク質の立体構造(3次元構造)をコンピュータにより推定 • 実験よりは、精度が悪い • だいたいの形がわかれば良いのであれば、4~5割の予測率
フォールド予測 (Fold Recognition) • 精密な3次元構造ではなく、だいたいの形(fold)を予測 • 立体構造は1000種類程度の形に分類される、との予測(Chotia, 1992)に基づく
SCOP Root Class.1 Class.2 ‥‥‥‥‥ Fold.1 Fold.2 ‥‥‥‥‥ Super Family.1 Super Family.2 ‥‥‥‥‥ Family.1 Family.2 Family.3 mkkrltitlsesvlenlekmaremglsksamisvalenykkgq ispqarafleevfrrkqslnskekeevakkcgitplqvrvwfinkrmrs SCOPデータベース • タンパク質立体構造を形状を中心に、人手で、 階層的に、分類したデータベース
Super Family.1 タンパク質配列 madqlteeqiaefkeafslfdkdgdgtittkelgtvmrslgqnpteaelqdminevdadgngtidfpefltmmark Super Family.2 Super Family.3 : : Super Family 予測 • 入力配列が SCOP のどのスーパーファミリーに属するかを予測
Class Secondary Structure Prediction Fold Threading Super Family HMM, PSI-BLAST, SVM Family SW, BLAST, FASTA 既存手法の主なターゲット
配列解析のためのカーネル • 配列を実数ベクトルに変換 • 様々なカーネルの提案 • Marginalized kernel, Fisher kernel, Local alignment kernel, …
タンパク質配列解析のための既存カーネル • HMMから特徴ベクトルを抽出 • Fisher カーネル(Jaakkola et al., 2000) • Marginalized カーネル(Tsuda et al., 2002) • 配列から直接特徴ベクトルを抽出 • Spectrum カーネル(Leslie et al., 2002) • Mismatch カーネル(Leslie et al., 2003) • 他の配列とのスコアを特徴ベクトルとして利用 • SVM pairwise (Liao & Noble, 2002)
Spectrumカーネル • 部分配列 tの配列 xでの出現回数をocc(t,x)とすると • この内積をとり、k-spectrumカーネルを得る 例: ∑={A,C}で、x=“CAACA”, y=“AACCCA”とすると、 となるので、 なお、Spectrumカーネルは接尾辞木というデータ構造を使うと高速に計算可能
All Substring カーネル (1) • Spectrumカーネルでは長さ kの文字列のみ考えたが、All substringカーネルではすべての長さの(不連続も含めた)文字列を考える 例:x=“CAC”, y=“ACA”とすると、φは次のとおり よって、
All Substring カーネル (2) • All substringカーネル • 無限次元だが、実際には有限次元 • 動的計画法を用いて効率的に計算できる 例:x=“CAC”, y=“ACA”
配列アラインメント • バイオインフォマティクスの最重要技術の一つ • 2個もしくは3個以上の配列の類似性判定に利用 • 文字間の最適な対応関係を求める(最適化問題) • 配列長を同じにするように、ギャップ記号(挿入、欠失に対応)を挿入
ローカルアラインメント (1) (Smith-Watermanアルゴリズム) • 配列の一部のみ共通部分があることが多い ⇒共通部分のみのアラインメント • 配列検索において広く利用されている • 例えば、HEAWGEH と GAWED の場合、 A W G E A W -E というアラインメントを計算
ローカルアラインメント(2) 動的計画法 の式
SVM-ペアワイズ法 • 学習に使う配列の集合を S={s1, s2, …, sn } とする • 各配列 xに対する特徴ベクトルを次のように定義 • カーネルは、この内積をとり x = ACGATTCG SW(x,s3)=115 SW(x,s1)=80 SW(x,s2)=25 s1 = CTGAAGG s2 = TTCGAA s3 = TACGATGCG
LAカーネル • SWアルゴリズムをそのままカーネルとして利用したい ⇒ カーネルとならない • 最適な1個のパスを考えただけではカーネルとならない • 全部のパスの重み付き和を考えればカーネルとなる
LAカーネルの定義(1) • 文字(残基)ペアのスコア: Kaβ(x,y) • ギャップのスコア: Kgβ(x,y)
LAカーネルの定義(2) • カーネルの畳み込み(convolution) • アラインされる文字が n個ある場合のスコア • LAカーネル
LAカーネルとSWスコアの関係 • π:(ローカル)アラインメント • s(x,y,π): x,yの アラインメントπの スコア • Π:可能なアライメントの集合 定理