Top Banner
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
36

Graph Clustering on Missing Data

Jul 18, 2015

Download

Science

Yuma Inoue
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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