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. 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. 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
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. 分類精度と計算時間
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. 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