低ランク行列補完のための
マトロイド理論
冨岡 亮太
数理助教の会
2013/5/10
共同研究者
Franz Kiraly, Louis Theran, Takeaki Uno
低ランク行列補完
•  協調フィルタリング (collaborative filtering)
Star	
  Wars	
 Titanic	
 Blade	
  
Runner	
…	
User	
  1	
   5	
 2	
 4	
User	
  2	
 1	
 4	
 2	
User	
  3	
 5	
 ?	
 ?	
Movies	
Users	
2006-2009: Netflix Prize (www.netflixprize.com)
低ランク行列補完
•  解釈
Users
Movies
Users features Movies features
ui	
vj	
yij	
yij = ui vj
dot	
  prodcut	
  
in	
  r-­‐dim	
  space
⇥
難しい例
•  ランク1行列。穴埋めにはO(mn)サンプル
必要
A =
0
B
B
@
a 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1
C
C
A
Questions
•  穴埋め成功するのに
必要なサンプル数
は?
–  真の低ランク行列に関
する仮定
–  サンプリング分布に関
する仮定
[Candes	
  &	
  Tao	
  2010;	
  Negahban	
  
&Wainwright	
  2011;	
  Foygel	
  &	
  Srebro	
  
2011]	
  
Questions
•  穴埋め成功するのに
必要なサンプル数
は?
–  真の低ランク行列に関
する仮定
–  サンプリング分布に関
する仮定
•  与えられたマスクの
もとで generic に
(測度ゼロ集合を除
いて)穴埋め可能?
•  穴埋めできる要素と
できない要素は?
[Candes	
  &	
  Tao	
  2010;	
  Negahban	
  
&Wainwright	
  2011;	
  Foygel	
  &	
  Srebro	
  
2011]	
  
[Kiraly & T 2012; Kiraly,
Theran, T, Uno 2013 ]
マスク Ω
•  行列表現 M
– 見えている要素 =1、見えていない要素=0
– 観測は A * M(要素ごとの積)
•  2部グラフ表現 G = (V, W, E)
– V, W は行列の行・列に対応する頂点集合
– E は見えている要素 (I,j) = 枝 の集合
2部グラフGの組み合わせ的な性質が重要!
(でもそれだけではない・・・)
行列表現と2部グラフ表現
•  行列表現 •  2部グラフ表現
0
B
B
B
B
@
1 1 1 1
1 1 1 1
1 1 0 0
1 1 0 0
1 1 0 0
1
C
C
C
C
A
観測要素が1、非観測要素が0
Determinantal variety: 低ラン
ク行列の集合
•  ランク≤ r 行列(サイズ m x n)の集合
•  自由度は
– r(m+n ‒r) =: dr(m,n)
•  すべての可能な (r+1) x (r+1) 部分行列の
行列式がゼロという方程式で定義される
部分観測から低ランク行列を復元
するということ
•  観測 Ω の逆写像を見つけること
M(r; m ⇥ n) 3 A = UV T
7! ⌦(A)
Generic fiber dimension = dimM ‒ dimΩ(A)
= 0 : 穴埋め可能(一意とは限らない)
Generic fiber dimension はどの点Aで評価するかによらず一定
(M(r; mxn) が irreducible algebraic variety であるため)
実は一意でないときの解の個数もどの点Aで評価するかによらず一定
必要条件
•  観測の数 #E ≥ r(m+n-r)
•  各行、各列に r 個以上の観測が必要
•  グラフ G が r-edge connected := 任意
の r-1 本の枝を取り除いても連結
•  (証明)より強い以下の条件から
十分条件: r-closure
•  ランク≤r行列
–  任意の (r+1) x (r+1) 小行列式がゼロ
•  (r+1) x (r+1) 部分マスクで枝が一本だけ欠けてい
るもの
–  欠けている要素を復元できる
–  復元した要素に対応する枝を加える
•  r-closable: この操作を繰り返してマスクが完全グ
ラフになる(一意穴埋め可能の十分条件)
•  一般にはO(nr+1)の計算。速いアルゴリズムを作れ
る(宇野さん)
2-closable な例
0
B
B
@
1 1 1 1
1 1 1 1
1 1 0 0
1 1 0 0
1
C
C
A
0
B
B
@
1 1 1 1
1 1 1 1
1 1 0 0
1 1 0 0
1
C
C
A
0
B
B
@
1 1 1 1
1 1 1 1
1 1 0 0
1 1 0 0
1
C
C
A
0
B
B
@
1 1 1 1
1 1 1 1
1 1 0 0
1 1 0 0
1
C
C
A
0
B
B
@
1 1 1 1
1 1 1 1
1 1 0 0
1 1 0 0
1
C
C
A
0
B
B
@
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1
C
C
A
1-closable 連鎖を伴う例
0
@
1 1 0
1 0 1
0 1 0
1
A
0
@
1 1 0
1 1 1
0 1 0
1
A
0
@
1 1 1
1 1 1
0 1 0
1
A
0
@
1 1 1
1 1 1
1 1 0
1
A
0
@
1 1 1
1 1 1
1 1 1
1
A
Start
Finish
※ 最後のステップは最初のステップが先に必要
必要条件と十分条件の間
•  ランク1の場合
– 1-連結(普通の連結)= 1-closable
– 必要条件=十分条件!
– 穴埋め可能 = 一意穴埋め可能
•  ランク2 0
B
B
@
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
1
C
C
A
穴埋め可能だが
一意ではない(解は2つ)
必要条件と十分条件の間
•  ランク3
一意穴埋め可能だが
3-closable ではない
全体像
既存研究:サンプリングモデルから直接穴埋めの成功/失敗を議論
この研究:間にある組み合わせ的な構造を考える
数値例 (100 x 100 ランク 3)
0 1000 2000 3000 4000 5000 6000
0
0.2
0.4
0.6
0.8
1
Number of edges
Successprobability
100 x 100
Degree>=3
3−connected
finitely completable
3−closable
nuclear norm
1 step 3−closable
Finitely closable は後述のヤコビアンを用いて計算
数値例 (500x500 ランク 2)
1000 2000 3000 4000 5000 6000 7000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Number of edges
Successprobability
500 x 500
Degree>=2
2−connected
finitely completable
2−closable
数値例 (40x50 ランク10)
0 500 1000 1500 2000
0
0.2
0.4
0.6
0.8
1
Number of measurements
Successprobability
m=40, n=50, r=10
r−connectivity
r−closability
OptSpace
Nuclear norm
連鎖が非常に長くなる例
3000 4000 5000 6000 7000 8000 9000 10000 11000 12000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Number of edges
Successprobability
1
2
3
4
5
6
7
8
9
10
11
12
13
closable
マトロイド
•  ある集合Eの部分集合全体を考える
–  何らかの意味で独立な部分集合の全体F=: マトロ
イド
•  例:
–  行列の列ベクトルの集合E
•  線形独立な列ベクトルの全体F =: ベクトルマトロイド
–  無向グラフ(V,E)
•  ループのないEの部分集合の全体F =: 閉路マトロイド
Determinantal matroid
•  E=行列の要素全体の集合
•  F=ランクrで独立に選べる要素の集合
•  結論
–  穴埋め可能(一意とは限らない)
未観測要素のすべてが観測要素に従属
観測要素の中で独立なものの数が r(m+n-r)以上
–  復元できる要素とできない要素
•  観測要素に従属な要素 復元可能
•  観測要素に独立な要素 復元不可能
partial completability
独立性/従属性の判定
•  ランダムサンプル
– A = UVT(U Rmxr, V Rnxr)
•  非線形写像 (U,V) → A
– ヤコビアン J Rmn x r(m+n)
[Singer and Cucuringu 2010; Kiraly et al. 2012]
daij = hvj, duii + huj, dvji
Jは mn x r(m+n) 行列
ヤコビアン
•  観測要素の中で独立なものの数
=観測要素に対応するJの行を集めた行列JEのランク
•  JE のランク = r(m+n-r) 穴埋め可能(一意と
は限らない)
•  観測要素以外の要素の従属性 (partial compl)
–  その要素に対応するJの列がJEのスパンに入っている
かどうかチェックする
–  計算量 #E x r(m+n) 行列のSVD + O(mn-#E)回の
線形射影
Stress matrix
•  ヤコビアンJEの左ヌルベクトルは観測要素
の間の従属性に対応
– Stress matrix S
– Stress matrix が co-rank r 一意復元可能
Sij =
(
vij if Mij = 1
0 otherwise
vij: 左ヌルベクトルのij要素に対応する係数
[Singer & Cucuringu 2010]
Movielens (100k) データセット
•  映画の評価
–  ユーザ数 943人
–  映画の数 1682
–  観測要素の数 100,000 (=100k)
•  直接 100,000 x 2625r 行列のSVDは無理
•  最も密な190x178部分行列が与えられたラ
ンクで穴埋め可能かチェック
–  可能であれば 190x178二部クリークが得られる。
これを種としてr-closableかどうかチェック(十
分条件)
Movielens (100k) データセット
Rank=72 での穴埋め可能な要素
(190x178部分行列のうち)
展望
•  Partial completability
– 原理的に復元可能な要素と不可能な要素がある
– 凸緩和によって得られた解は不正確な可能性
•  どの要素とどの要素が独立 or 従属かわかる
– 「この映画を評価して下さい」と言える
•  より大きいデータの解析にはSVDの高速化
or 別の方法が必要
•  定量的な partial completability
– 分散が大きい要素、小さい要素
まとめ
•  行列の穴埋めは根本的なところでマトロイ
ド的な構造を持つ
– 代数的な構造:低ランク性
– 組み合わせ的な構造:マスク
•  マトロイド的な理解から様々な条件
– r-closability はマトロイドの circuit の特殊
な場合
– ヤコビアン
– Stress matrix

低ランク行列補完のためのマトロイド理論