SlideShare a Scribd company logo
1 of 19
Download to read offline
[論文解説]
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

More Related Content

Similar to Sparse pca via bipartite matching

公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題
Joe Suzuki
 

Similar to Sparse pca via bipartite matching (20)

2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第5回 微分方程式とは・変数分離形 (2018. 10. 23)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第5回 微分方程式とは・変数分離形 (2018. 10. 23)2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第5回 微分方程式とは・変数分離形 (2018. 10. 23)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第5回 微分方程式とは・変数分離形 (2018. 10. 23)
 
公開鍵暗号(3): 離散対数問題
公開鍵暗号(3): 離散対数問題公開鍵暗号(3): 離散対数問題
公開鍵暗号(3): 離散対数問題
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
 
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
 
Packing
PackingPacking
Packing
 
情報幾何勉強会 EMアルゴリズム
情報幾何勉強会 EMアルゴリズム 情報幾何勉強会 EMアルゴリズム
情報幾何勉強会 EMアルゴリズム
 
公開鍵暗号(1): RSA暗号
公開鍵暗号(1): RSA暗号公開鍵暗号(1): RSA暗号
公開鍵暗号(1): RSA暗号
 
公開鍵暗号1: RSA暗号
公開鍵暗号1: RSA暗号公開鍵暗号1: RSA暗号
公開鍵暗号1: RSA暗号
 
2016年度秋学期 応用数学(解析) 第5回 微分方程式とは,変数分離形 (2016. 10. 27)
2016年度秋学期 応用数学(解析) 第5回 微分方程式とは,変数分離形 (2016. 10. 27)2016年度秋学期 応用数学(解析) 第5回 微分方程式とは,変数分離形 (2016. 10. 27)
2016年度秋学期 応用数学(解析) 第5回 微分方程式とは,変数分離形 (2016. 10. 27)
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~
 
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
 
PRML 第14章
PRML 第14章PRML 第14章
PRML 第14章
 
双対性
双対性双対性
双対性
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
第5章 拡張モデル(前半)
第5章 拡張モデル(前半)第5章 拡張モデル(前半)
第5章 拡張モデル(前半)
 
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)
 
公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題
 
Casual learning machine learning with_excel_no4
Casual learning machine learning with_excel_no4Casual learning machine learning with_excel_no4
Casual learning machine learning with_excel_no4
 
Takuya Tsuchiya
Takuya TsuchiyaTakuya Tsuchiya
Takuya Tsuchiya
 
クラシックな機械学習の入門 4. 学習データと予測性能
クラシックな機械学習の入門  4.   学習データと予測性能クラシックな機械学習の入門  4.   学習データと予測性能
クラシックな機械学習の入門 4. 学習データと予測性能
 

More from Kimikazu Kato

More from Kimikazu Kato (20)

Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
 
Fast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-MeansFast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-Means
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前
 
Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習
 
Introduction to behavior based recommendation system
Introduction to behavior based recommendation systemIntroduction to behavior based recommendation system
Introduction to behavior based recommendation system
 
Pythonによる機械学習の最前線
Pythonによる機械学習の最前線Pythonによる機械学習の最前線
Pythonによる機械学習の最前線
 
正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方
 
養成読本と私
養成読本と私養成読本と私
養成読本と私
 
Introduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersIntroduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning Programmers
 
Recommendation System --Theory and Practice
Recommendation System --Theory and PracticeRecommendation System --Theory and Practice
Recommendation System --Theory and Practice
 
A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic RegressionA Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic Regression
 
特定の不快感を与えるツイートの分類と自動生成について
特定の不快感を与えるツイートの分類と自動生成について特定の不快感を与えるツイートの分類と自動生成について
特定の不快感を与えるツイートの分類と自動生成について
 
Effective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPyEffective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPy
 
Sapporo20140709
Sapporo20140709Sapporo20140709
Sapporo20140709
 
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
 
Zuang-FPSGD
Zuang-FPSGDZuang-FPSGD
Zuang-FPSGD
 
About Our Recommender System
About Our Recommender SystemAbout Our Recommender System
About Our Recommender System
 
ネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについてネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについて
 

Sparse pca via bipartite matching