NIPS2013読み会: Scalable kernels for graphs with continuous attributes

7,022 views
6,989 views

Published on

Published in: Education
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,022
On SlideShare
0
From Embeds
0
Number of Embeds
5,334
Actions
Shares
0
Downloads
30
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

NIPS2013読み会: Scalable kernels for graphs with continuous attributes

  1. 1. NIPS reading@Univ of Tokyo, Jan. 23, 2014 Scalable kernels for graphs with continuous attributes A.Feragen, N.KasenBurg, J.Petersen, M.Bruijne, K.Borgwardt 読む人: 田部井 靖生 (JST)
  2. 2. 発表概要 •  連続値ベクトルをノード属性として, 長さをエッジ として持つグラフに対するカーネルを提案 –  カーネル 類似度 •  GraphHopper Kernel –  2つのグラフ中に存在する同じ長さの最短路のノードの類 似度を足し算 –  前向き後ろ向き計算(message-passing)で効率的に計算 可能 •  結果: 高速, 分類性能は既存のカーネルと同じぐらい
  3. 3. Graph kernels •  グラフの類似度計算に関する機械学習の一分野 •  グラフG,G のカーネルは特徴ベクトル      , (G )の内積で定義 K(G, G ) =< (G), (G ) > –  KはG,G の類似度 •  応用 –  分類 (SVM), 回帰, 検定 etc
  4. 4. Graph classification Training data +1 +1 -1 ? ? ? Test data
  5. 5. Graph kernels •  グラフカーネルは共通する部分グラフの数をカ ウントする –  (G) = パス,木,サイクルetcを成分とするベクトル •  すべての部分グラフをカウントするカーネルは NP困難 (Gartner et al., 2003) •  これまでに多くのグラフカーネルが提案されて いる (主に離散ラベル) –  RW (ICML,2003, COLT,2003) –  WLKernel (NIPS, 2009) –  NH Kernel (ICDM,2009)
  6. 6. Weisfeiler-Lehman procedure 6  
  7. 7. 実数値をエッジに, 連続値ベクトル をノードに持つグラフ •  グラフG=(V,E) with lengths : E d attributes A : V 1.2 2.3 0.1 0.1 1.2 1.3 1.2 3.5 1.2 0.8 1.5 1.2 1.3 0.5 2.2 1.3 •  •  •  •  +, タンパク質 化合物 AIRWAYS etc node
  8. 8. 既存のGraph Kernels •  Shortest path kernel (ICDM,2005) –  ノード属性の類似度をknで計算, パスの類似度をノー ドペアーの最短距離dGをklで計算 KSP (G, G ) = v,w V v ,w V kn (v, v ) · kl (dG (v, w), dG (v , w )) · kn (w, w ) ノードの 最短路距離の類似度 類似度 •  O(n4)時間 (n:ノード数) –  大きいグラフに対しては有効でない ノードの 類似度
  9. 9. Overview of proposed method •  連続値ベクトルをノードに属性値として持つグラフに対 するカーネルを提案 (GraphHopper Kernel) •  類似度は, 2つのグラフ中に存在するすべての同じ長さ の最短路に沿ったノードの類似度の和 –  グラフを渡り歩きながら計算 •  計算を上手く分割することにより, あるノードを通過す る個数を前向き後向き計算で計算可能             O(n2 (m + log n + 2 + d)) 時間 •  - n: ノード数, m:エッジ数, δ:直径, d:ノード属性の次元 実際のグラフではO(n2)に振る舞う
  10. 10. GraphHopper Kernel •  2つのグラフの同じ長さの最短路上の対応する各ノード のカーネルの和 •  長さ1からδ(直径)まで計算 K(G, G ) = kp ( , F, kp ( , )= 0 ) F | | j=1 kn ( (j), (j)) if | | = | | otherwise Kn( n( K Kn( , , , )+ ) + ) 順番が重要
  11. 11. グラフ間からグラフ内計算 •  ノードカーネルの重み付き和として計算可能 –  wはグラフの構造をエンコード •  wが計算できれば, n n で計算可 k(G, G ) = w(v, v )kn (v, v ) v V,v V w(v, v ) = i=1 j=1 #{ | (i) = v, | | = j}#{ | (i) = v , | | = j} Gに長さjの最短路πでi番目にvが現れる回数 例: j=2の場合 v •  グラフ内での計算問題に帰着 v
  12. 12. vを経由する最短路を分割 #{ | (i) = v, | | = j} : 距離jの最短路πでvがi番目に出現する回数 = ( v から距離jの最短路πでvがi番目に出現する回数) ˜ v V ˜ •  あるノードから他のすべてのノードへの最短路はDAGとなる ˜ G v v v v ˜ Gv v ˜ ˜ v •  DAG Gv 上で ˜ ˜   ( v からvの長さiの最短路の個数) (vから長さj-iの最短路の個数) v V ˜ 前向き計算 後ろ向き計算
  13. 13. DAG Gv 上のvを前向き計算 ˜ •  v から各ノードへの距離j(=1,…,δ)の最短路の個数を計算 ˜ •  各のノードvは距離j(=1,…,δ)の最短路の個数 c(v) v 1.  初期化: c(˜) = 1, それ以外を c(v) = 0 v ˜ 2.  v に対する子ノード(j=1のノード)に対して, 0 c(˜)= 01を伝 搬する 3.  v から距離j=2,…,δのノードvに対して0c(v)を子ノードに ˜ 伝搬する 1 1 +01 01 +01 01 01 +001 +001 +001 +01 0 0 0  0  0  002  001
  14. 14. DAG Gv 上の後ろ向き計算 ˜ •  vを始点とした, 距離j(=1,…,δ)の最短路の個数 1.  初期化: c(v)=1 2.  入次数0のノードvに隣接するノードに0c(v)=01を伝搬 する 3.  vから距離j=2,…,δのノードv に隣接するノードに 0c(v )を伝搬する 133 1 1 1 1 1 1 +011 +01 1 +012 11 12 +01 +01 +01 1 1
  15. 15. 計算時間 O(n2 (m + log n + d + •  •  •  •  •  2 ) 時間 n: ノード数 m: エッジ数 d: ノードattributeの次元 δ: グラフ直径 •  現実世界のグラフでO(n2)に振る舞う
  16. 16. 実験 •  データ: ENZYMES, PROTEINS, AIRWAYS, SYNTHETIC •  評価尺度: 計算時間, 分類精度(10-fold cross validation) •  比較相手: –  Propergation kernel (PROP)[ECML,12] –  Shortest pass kernel (SP) [ICDM,05] –  connected matching subgraph kernel (CSM) [ICML,12], –  Weisfeiler-Lehman kernel (WL)[NIPS,09]
  17. 17. データーセット •  ノード属性の類似度 kn (v, v ) = exp( |||A(v) A(v )|2 ) •  ENZYMES [NAR,2004] •  PROTEINS [JMB,2003] •  AIRWAYS [IPMI,2011] Number of nodes Number of edges Graph diameter Node attribute dimension Dataset size Class size ENZYMES 32.6 46.7 12.8 18 600 6 ⇥ 100 PROTEINS 39.1 72.8 11.6 1 1113 663/450 AIRWAYS 221 220 21.1 1 1966 980/986 SYNTHETIC 100 196 7 1 300 150/150 Table 1: Data statistics: Average node and edge counts and graph diameter, dataset and class sizes.
  18. 18. 分類精度と計算時間 Kernel GraphHopper PROP-diff [16] PROP-WL [16] SP [17] CSM [14] WL [2] ENZYMES 69.6 ± 1.3 (120 1000 ) 37.2 ± 2.2 (1300 ) 48.5 ± 1.3 (10 900 ) 71.0 ± 1.3 (3 d) 69.4 ± 0.8 48.0 ± 0.9 (1800 ) PROTEINS 74.1 ± 0.5 (2.8 h) 73.3 ± 0.4 (2600 ) 73.1 ± 0.8 (20 4000 ) 75.5 ± 0.8 (7.7 d) OUT OF MEMORY 75.6 ± 0.5 (20 5100 ) AIRWAYS 66.8 ± 0.5 (1 d 7 h) 63.5 ± 0.5 (40 1200 ) 61.5 ± 0.6 (80 1700 ) OUT OF TIME OUT OF MEMORY 62.0 ± 0.6 (70 4300 ) SYNTHETIC 86.6 ± 1.0 (120 1000 ) 46.1 ± 1.9 (10 2100 ) 44.5 ± 1.2 (10 5200 ) 85.4 ± 2.1 (3.4 d) OUT OF TIME 43.3 ± 2.3 (20 800 ) Table 2: Mean classification accuracies with standard deviation for all experiments, significantly best accuracies in bold. OUT OF MEMORY means that 100 GB memory was not enough. OUT OF TIME indicates that the kernel computation did not finish within 30 days. Runtimes are given in parentheses; see Section 3.1 for further runtime studies. Above, x0 y 00 means x minutes, y seconds. •  SPは精度が高いが遅い •  WLは離散ラベルに応用 •  PROPは, 属性に対してLSHをかけて, 既存の カーネルを使う(精度が悪い) •  精度はSPと同程度でありながら高速
  19. 19. est accuracies in bold. OUT OF MEMORY means that OF TIME indicates that the kernel computation did not fin  ノード数に対する計算時間 arentheses; see Section 3.1 for further runtime studies. A 4 3.5 3 2.5 2 1.5 1 0.5 0 0 50 100 150 200 250 300 350 400 450 500
  20. 20. グラフ直径に対する計算時間 (AIRWAYS) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 12 14 16 18 20 22 24 26
  21. 21. グラフ直径に対する計算時間 (PROTEINS) 0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 0 5 10 15 20 25 runtime on n, and m on synthetic and real graph datasets.
  22. 22. まとめ •  連続値の属性(ベクトル)をノード, 連続値をエッ ジに持つグラフのためのGraphHopper Kernel •  2つのグラフ中に存在するすべての同じ長さの 最短路上のノードの類似度の足しあわせ –  前向き後向き計算計算 •  精度はshortest path kernelと同程度, 計算時間 は高速

×