graph clustering on missing data

36
2015/01/29 グラフクラスタリングセミナ 3.1. Generation models for clustered graphs & Graph Clustering With Missing Data: Convex Algorithms and Analysis Ramya Korlakai Vinayak, Samet Oymak, Babak Hassibi 発表: 井上 祐馬 1 Satu Elisa Schaeffer

Upload: yuma-inoue

Post on 18-Jul-2015

149 views

Category:

Science


3 download

TRANSCRIPT

Page 1: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

3.1. Generation models for clustered graphs

& Graph Clustering With Missing Data:

Convex Algorithms and AnalysisRamya Korlakai Vinayak, Samet Oymak, Babak Hassibi

発表: 井上 祐馬

1

Satu Elisa Schaeffer

Page 2: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

今日のお話• データ欠損のある隣接行列でクラスタリング • 元のグラフに生成モデルを仮定すると、クラスタリングの成功率を保証できる定式化を提案

• まずは生成モデルの話をします

2

サンプリング

1 2 3 4 5 6 7 81 0 1 ? ? 0 ? 0 12 1 ? 1 1 0 ? ? ?3 ? 0 0 1 ? 0 ? ?4 1 1 1 1 ? ? ? ?5 0 1 ? ? ? 1 0 16 ? ? ? ? 1 ? 1 17 ? ? 0 0 ? ? 0 ?8 ? ? 0 ? ? ? ? 1

Page 3: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

3.1. Generation models for clustered graphs

3

Page 4: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

Gilbert model [Gilbert 59]• 一様ランダムな生成

✓ nC2の各辺が独立に確率pで存在

✓ 次数はポアソン分布に従う ✓ 密なクラスタは期待できない

4

p

1-p

Page 5: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

planted ℓ-partition model [Condon01]• n = ℓ・k として、ℓ 個の頂点からなる k 個のクラスタを生成

• 同じクラスタの頂点間は確率 p 、違うクラスタの頂点間は確率 q で辺を生成 (q < p)

5

p1-p

q

Page 6: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

Stochastic Block model [Holland01]• n = Σk ni として、ni 個の頂点からなる k 個のクラスタを生成

• 同じクラスタの頂点間は確率 pi 、違うクラスタの頂点間は確率 q で辺を生成 (q < pi)

6

p1-p

q

Page 7: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

Caveman Graph [Watts99]

• Cave と呼ばれるクリーク (クラスタ) が複数ある

• Cave 内の辺 1 本を他の Cave の頂点に繋ぎかえ

7

Page 8: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

Caveman Graph [Watts99]

• Cave と呼ばれるクリーク (クラスタ) が複数ある

• Cave 内の辺 1 本を他の Cave の頂点に繋ぎかえ

8

Page 9: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

Caveman Graph [Watts99]

• Cave と呼ばれるクリーク (クラスタ) が複数ある

• Cave 内の辺 1 本を他の Cave の頂点に繋ぎかえ

9

Page 10: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

Caveman Graph [Watts99]

• Cave と呼ばれるクリーク (クラスタ) が複数ある

• Cave 内の辺 1 本を他の Cave の頂点に繋ぎかえ

10

Page 11: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

Relaxed Caveman Graph [Virtanen03]

• 再帰的に定義される多階層のクラスタ

✓ クラスタ内の辺存在確率 p

✓ 一階層潜る度に係数 s で存在率が変化

✓ subcave のサイズの min と max も設定

1111

Page 12: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

モデルの特徴• planted partition model や relaxed caveman

model はいい感じの人工データ

✓ planted partition model は調整等が扱いやすい

✓ relaxed caveman model は違うサイズのクラスタを作りやすい

12

Page 13: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

Graph Clustering With Missing Data: Convex Algorithms and Analysis

13

Page 14: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

概要• グラフ上の関係 nC2 個のデータを完全に得るのは難しい場合がある

• 不完全な隣接行列に対するグラフクラスタリングを考えよう!

• 隣接行列補完手法を提案

• クラスタリング成功/失敗率の見積もり付き

14

Page 15: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

問題定義• Input : 欠損あり隣接行列 Aobs

• Goal : 欠損がない隣接行列 A に対する   グラフクラスタリング

15

1 2 3 4 5 6 7 81 0 1 ? ? 0 ? 0 12 1 ? 1 1 0 ? ? ?3 ? 0 0 1 ? 0 ? ?4 1 1 1 1 ? ? ? ?5 0 1 ? ? ? 1 0 16 ? ? ? ? 1 ? 1 17 ? ? 0 0 ? ? 0 ?8 ? ? 0 ? ? ? ? 1

Page 16: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

行列補完法1: Simple Convex Program

• L : Low-Rank matrix, 復元された行列

• S : エラーを表す行列

• クラスタ = 理想的にはクリークが独立して存在

⇔ 行列のランクは低い16

minL,S

kLk⇤ + �kS||1

subject to

0 Li,j 1 for all i, j 2 {1, 2, . . . , n}

Lobs + Sobs = Aobs

Page 17: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

行列補完法1: Simple Convex Program

• : nuclear norm, 行列の特異値の総和

• : ℓ1 norm, 各エントリの絶対値の総和

• ランク最小化はNP-hardなので convex な

nuclear normを使う17

minL,S

kLk⇤ + �kS||1

subject to

0 Li,j 1 for all i, j 2 {1, 2, . . . , n}

Lobs + Sobs = Aobs

k · k⇤

k · k1

Page 18: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

行列補完法1: Simple Convex Program

• 問題点: p<1/2 になると復元の方が大変に

     なって L = 0 になりやすい

18

minL,S

kLk⇤ + �kS||1

subject to

0 Li,j 1 for all i, j 2 {1, 2, . . . , n}

Lobs + Sobs = Aobs

理想 最適化

Page 19: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

• : クラスタ内の辺の総数 (既知とする)

• S : クラスタ内の辺のみに関するエラー行列

• L のエントリの和に下限が与えられているので0に行列にならない

19

Li,j

= Si,j

whenever Aobs

i,j

= 0

sum(L) � |R|

行列補完法2: Improved Convex ProgramminL,S

kLk⇤ + �kS||1subject to

|R|

0 Si,j Li,j 1 for all i, j 2 {1, 2, . . . , n}

Page 20: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

本論文の貢献• 前述2つの最適化問題への定式化を与え、グラフがあるモデルに従うという仮定の元で理論解析した

1. について、成功率/失敗率の見積もりを与えた。これによりどの辺りで成功/失敗が入れ替わるのかがわかりやすくなった

2. について、成功率を与えた • 実験で性能を確認した

✓ モデルに従ったグラフでの実験

✓ Crowdsourcing で集めた結果でのクラスタリング実験

20

Page 21: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

仮定するモデル• 生成モデル : Stochastic Block Model

• ni 個の頂点からなる k 個のクラスタを生成

• 同じクラスタの頂点間は確率 pi 、違うクラスタの頂点間は確率 q で辺を生成 (q < pi)

• 欠損モデル : Partial Observation Model

• ある辺が観測されるかどうかは独立に確率 r

21

Page 22: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

仮定するモデル• まとめると……

✓ l と m が同じクラスタ i に含まれるなら

✓ そうでないなら

22

Aobs

l,m

=

8><

>:

1, w.p. rpi

0, w.p. r(1� pi

)

⇤, w.p. 1� r

Aobs

l,m

=

8><

>:

1, w.p. rq

0, w.p. r(1� q)

⇤, w.p. 1� r

Page 23: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

定理 - Simple Convex Program -

✓ : 異なるクラスタ間の辺の総数

✓ 証明略23

� � (1 + ✏)⇤fail

1� c1 exp(�c2|Rc|)

|Rc|

⇤�1fail =

vuutrq

n�

KX

i=1

n2i

n

!

失敗率について、 を満たすなら

確率 で失敗する

Page 24: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

定理 - Simple Convex Program -

✓ ✓

24

成功率について、 を満たすとき

•              なら、

確率 で成功する

•              なら、確率          で失敗する

0 < � (1� ✏)⇤succ

min1iK

{nir(2pi � 1)} � (1 + ✏)1

min1iK

{nir(2pi � 1)} (1� ✏)1

1� c1n2exp(�c2 min

1iKni)

1� c1 exp(�c2 min

1iKni)

�succ = max

1iK2rpni

p2(1/r � 1) + 4(q(1� q) + pi(1� pi))

⇤�1succ = 2r

pnp1/r � 1 + 4q(1� q) + �succ

Page 25: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

• 要約すると……

•     なら、クラスタ外の辺が少ないほど高確率で失敗

•     なら、           のときクラスタが大きいほど高確率で成功

•        のときはよくわからない

25

定理 - Simple Convex Program -

� > ⇤fail

� < ⇤succ min1iK

{nir(2pi � 1)} > 1/�

⇤fail < � < ⇤succ

�0 1min

1iK{nir(2pi � 1)} ⇤succ ⇤fail

fail failsucc ???

Page 26: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

•       を仮定すると、式変形より高い成功率のためのクラスタサイズの下限がわかる

26

定理 - Simple Convex Program -max

1iKni = o(n)

min1iK

ni >2pn

2p� 1

r1

r� 1 + 4q(1� q)

Page 27: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ 27

定理 - Improved Convex Program -

成功率について、 を満たすとき

•              なら、

確率 で成功する1� c1n2exp(�c2 min

1iKni)

0 < � (1� ✏)⇤succ

⇤�1succ = 2r

pnp

(1/r � 1 + q)(1� q) + �succ

�succ = 2 max

1iKrpni

p(1� pi)(1/r � 1 + pi) + (1� q)(1/r � 1 + q)

min1iK

{nir(pi � q)} � (1 + ✏)1

✓ ✓ ✓ 同じく証明略

Page 28: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

• 要約すると……

• ならクラスタが大きいほど高確率で成功

• を仮定すると、式変形より高い成功率のためのクラスタサイズの下限がわかる

• 式変形より、欠損箇所をそのままにするより、0 で埋めた方が精度がよくなることがわかる

28

定理 - Improved Convex Program -

min1iK

{nir(pi � 1)}�1 < � < ⇤succ

max

1iKni = o(n)

min1iK

ni >2pn

p� q

vuut 1

r� 1 + q

!(1� q)

Page 29: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

実験1: 人工データ + Simple CP• 600頂点3クラスタのグラフを SBM + POM に従って生成

1. n1 = n2 = n3 = 200 に固定し、p と r を変化させる

2. p1 = p2 = p3 = 0.85 に固定し、nmin と r を変化させる

• として、成功と失敗の境界を観察

29

� = 1.01 min1iK

{nir(2pi � 1)}�1

白:成功, 黒:失敗 赤:理論成功閾値 緑:理論失敗閾値

だいたい理論通り

Page 30: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

実験2: 人工データ + Improved CP• 600頂点3クラスタのグラフを SBM + POM に従って生成

✓ n1 = n2 = n3 = 200 に固定し、p と r を変化させる

• として、成功の境界を観察

30

白:成功, 黒:失敗 赤:理論成功閾値

� = 0.49⇤succ

だいたい理論通り

Page 31: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

実験3: 人工データで比較• 600頂点3クラスタのグラフを SBM + POM に従って生成

✓ n1 = n2 = n3 = 200, r = 1 に固定し、p を変化させる

• として、成功の境界を観察

31

� = 0.49⇤succ

Simple は1/2以下ではダメ Improved は 0.35 までOK

Page 32: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

実験4: クラウドソーシング• 犬の画像による犬種の分類

✓ Stanford Dogs Dataset より

✓ 3犬種: Norfolk Terrier (172枚)

Toy Poodle (151枚)

Bourvier des Flandres (150枚)

32

Page 33: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

実験4: クラウドソーシング• 実験設定 ✓ 一人のワーカーにランダムに 30 組の写真を見せる

✓ 隣接行列の 111,628 エントリのうち 16,750 が埋まり、間違いは23.53%含まれていた

✓ 何もしない・simple CP・improved CPの

それぞれで k-means した結果を

比較 (λ = 1/√n, |R| = 0.125nC2)

33

Page 34: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

実験4: クラウドソーシング• 実験結果:精度向上

クラスタ数推定のための固有値も綺麗に出る

34

Page 35: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

実験4: クラウドソーシング• 実験結果:精度向上

クラスタ数推定のための固有値も綺麗に出る

35

Page 36: Graph Clustering on Missing Data

2015/01/29グラフクラスタリングセミナ

まとめ• モデルに基づくクラスタが存在するグラフの隣接行列に対し、効果的な行列補完を定式化した

• (式は実験では拡張ラグランジュ法で解いた)

• 理論的な成功 / 失敗率を見積もり、実験でその正当性を確認した

• 現実のクラスタリングに使用したところ、精度が向上した

36