[論文解説]
Sparse PCA via Bipartite Matching
2016/1/20 @ ドワンゴセミナールーム
NIPS2015 論文読み会
加藤公一
1 / 19
紹介する論文
M.Asteris , D. Papailiopoulous , A. Kyrillidis , A.G. Dimakis
Sparse PCA via Bipartite Matching
NIPS2015
: UT Austin, : UC Berkeley
α β α α
α β
2 / 19
自己紹介
加藤公一 Kimikazu Kato
Chief Scientist, Silver Egg Technology
博士(情報理工学)
Twitter: @hamukazu
修士課程:代数幾何学
博士課程:量子情報理論、計算幾何
過去の仕事:
三次元CAD、CG、幾何計算
数理最適化、偏微分方程式
並列計算、GPGPU
今の仕事
機械学習関連:レコメンドシステム、自然言語処理
3 / 19
この論文を選んだ理由
勝手に自分を数学担当だと思ってる
最近スパースモデルに興味がある
組合せ最適化問題に帰着するのがおもしろい
4 / 19
Introduction
PCA(主成分分析)とは入力データ行列の共分散行列の主な固有ベクトルの方向
に射影する手法である→ベクトル列をバラける方向に射影する
Sparse PCA(定義後述)はそのスパース版であり、疎ベクトルの方向に射影する
従来は疎ベクトルを逐次的に求めることが多かったが、本論文では同時に求め
るMulti-component sparse PCA(定義後述)を扱う
5 / 19
Sparse PCA
-sparse PCAとは
が入力行列 ( 次元ベクトルが 個)として与えられたとき:
ただし、 (共分散行列)
ここで ノルムは で定義される
はベクトル列の 方向への射影と見ることができるので、射影のノルムの二乗和
の最大化と見ることができる。( )
s
S n × d d n
= Axx∗ argmax∥x =1,∥x =s∥
2
∥
0
x
T
A = S
1
n
S
T
L0 ∥x := #{ | ≠ 0}∥
0
xi xi
Sx x
Ax = ∥Sxx
T 1
n
∥
2
2
6 / 19
Multi-component Sparse PCA
component -sparse PCAとは次で定義される:
ただし
k s
= Tr( AX)X∗ argmaxX∈Xk
X
T
:=Xk {X|X ∈ Mat(R; d, k),  ∥ = 1, ∥ = s,X
j
∥
2
X
j
∥
0
Supp ∩ Supp = ∅,  i, j ∈ {1, … , k},  i ≠ j}X
i
X
j
7 / 19
現状認識
PCAは射影先のベクトルをひとつだけ求めるのは実用上不十分
複数のベクトルを求めるのは、single component版アルゴリズムで一つ見つ
けて、その分を入力行列から割り引いて(deflateして)さらにsingle
component版アルゴリズムを回す
その割り引き方によって出力されるベクトル列が異なる。ベクトル列が直行す
るとも限らない。
8 / 19
本論文の貢献
Multi-component Sparse PCAについて、入力行列のランクを固定した場合の
bipartite matchingを用いた近似アルゴリズムを示す
それを元に、一般のランクについてAdditive PTASなアルゴリズムを示す
9 / 19
と固有値分解できるとき
(Cauchy-Schwartzの不等式)
しがって
ただし、 は のランク。
したがって
ただし は 次元曲面( ノルムの意味で)を表す。
A = U ΛU
T
Ax = (x, U c)x
T
max
c∈S
1
2
Λ
1/2
Tr( AX) = A = (X, UX
T
∑
j=1
k
X
jT
X
j
∑
j=1
k
max
∈C
j
S
r−1
2
Λ
1/2
C
j
)
2
r A
Tr( AX) = (X, Umax
X∈Xk
X
T
max
X∈Xk
max
∈C
j
S
r−1
2
∑
j=1
k
Λ
1/2
C
j
)
2
S
l
2
l L2
10 / 19
アイデア
新たな変数 を導入
次元球面 をを網目状に分割して均等に を選び各 に対する最適化
を行う。いくつかの から最適なものを選ぶ
が小さければ の探索空間は十分に小さいので効率よい計算ができるはず
C
r − 1 S
r−1
2
C C
C
r C
11 / 19
アルゴリズム
ここで は、 上の -net(曲面上の点列で、すべての要素の 近
傍内に他の要素があるようなもの)である。netの作り方は[Matoušek 2002]参照。
近似比:
計算量: で計算できる(論文中に証明あり)。
では、このargmaxの計算をどうするか?
( )Nϵ/2
S
r−1
2
S
r−1
2
ϵ/2 ϵ/2
Tr( A ) ≥ (1 − ϵ)Tr( A )X
^
T
X
^
X
T
∗
X∗
(r) + O(( ⋅ d(sk )TSVD
d
ϵ
)
rk
)
2
12 / 19
argmaxの計算
であった。この解 を求めたい。 とおく。
ここで と定義すると(この はあらかじめわかるものではないので
注意)
(Cauchy-Schwartzの不等式)
を固定するとこの等式を満たす は確かに存在するので、最適な を求める
問題に帰着される。
Tr( AX) = ( , Umax
X∈Xk
X
T
max
X∈Xk
max
∈C
j
S
r−1
2
∑
j=1
k
X
j
Λ
1/2
C
j
)
2
X
^
U =Λ
1/2
C
j
W
j
:= SuppIj
X
^
j
Ij
( , ) = ( , ) ≤∑
j=1
k
X
^
j
W
j
∑
j=1
k
∑
i∈Ij
X
^
ij Wij ∑
j=1
k
∑
i∈Ij
Wij
Ij X
^
{ }Ij
13 / 19
, という性質があった。したがって
は二部グラフ の重み付き完全マッチングと見ることができる。
ただし、 , , ,
ここで を仮定していて、その場合の重み付き完全マッチングとは、 の
頂点をすべて尽くし、端点を共有しないような辺の集合で重みの和を最大にするも
の。
「 と の間の辺が採用される」ことは、「 に が含まれる」ことを意味する。
計算量は [Ramshaw and Tarjan 2012]
# = sIj ∩ = ∅Ii Ij
max
{ }Ij
∑
j=1
k
∑
i∈Ij
Wij
(U , V , E)
U = ∪
k
l=1
Ul | | = sUl V = { , , … , }v1 v2 vd E = U × V
|U | < |V | U
Uj vi Ij i
O(|E||U | + |U log |U |)|
2
14 / 19
スケッチを使ったアルゴリズム
前述のアルゴリズムでは計算量は のランク の指数になってしまう。そこで、
を低いランクの行列で近似して前述のアルゴリズムを適用する。
これは、 に対し、 とすることで、
となる解を確率 、計算量 で求めることができる。
A r A
ϵ ∈ (0, 1] r = O( log d)ϵ
−2
Tr( A ) ≥ Tr( A ) − s ⋅ ϵX¯
T
(r)
X¯
(r)
X
T
∗
X∗
1 − 1/poly(d) n
O(log(1/ϵ)/ )ϵ
2
15 / 19
実験結果
(a)は としたときの分散の推移、(b)は を変えながらアルゴリズムを回した時
の結果。
k = 5 k
16 / 19
さまざまなデータセットによる実験( , のときの分散)
Bag of Wordsモデルによる実験( , のときの分散)
k = 5 s = 40
k = 8 s = 15
17 / 19
NYTimesデータでのトピック抽出
18 / 19
まとめ
入力行列のランク固定のときにMulti-component PCAの効率よい近似アルゴ
リズムを示した。
そのアルゴリズムを元に一般の場合にも近似アルゴリズムを示した。
提案アルゴリズムで実データを使った実験を行い、既存手法に対する優位性を
示した。
19 / 19

Sparse pca via bipartite matching