nips yomikai 1226
TRANSCRIPT
An Inverse Power Method for
Nonlinear
Eigenproblems with Applications in
1-Spectral Clustering and Sparse PCA
NIPS 2010, 1133
江原遥@niam
12/26
1
全体の流れ• 応用としての目的
– p-Laplacian法というGraph-cutの方法ではp=1に近い方が経験的に良いので効率的な解法欲しい
– PCAで最大固有ベクトルをSparseにしたい
通常(p=2)どちらもIPM(逆べき乗法)を使用して行列の固有値/固有ベクトルを用いる方法で解かれる.
1. 固有値問題自体を一回非線形(p>=1)に拡張する
2. IPMを非線形な場合の固有値問題に拡張
3. 拡張したIPMでこの2つの問題を解く
All proofs had to be omitted due to space restrictions and
can be found in the supplementary material.
2
選んだ理由:•行列やグラフの話が俯瞰できそう?•逆べき乗法だからAlgorithmは複雑じゃないだろう.
ベキ乗法 (Power Method)
(半正定値)対称行列Aの最大固有値/ベクトル
xk+1 =Axk
を繰り返すと,xkは最大固有値に対応する固有ベクトルの定数倍に近づく.理由:
3
Courant-Fischerの定理
4
(2)
http://www.math.meiji.ac.jp/~mk/labo/text/generalized-eigenvalue-
problem/node16.html
レイリー商.Courant-Fischerの定理は,固有値・固有ベクトルをレイリー商との関係から説明する定理.
レイリー商の非線形拡張
5
(2) (3)
A:対称n x n
f∈Rn
凸 (convex)
偶関数 (even)
p-homogeneous
S(f)=0 ⇔ f=0Lipschitz連続
あるpに対して
なら関数Gは
p-homogeneous.
関数R,Sに必要な条件を列挙してやる
微分不可能な点を含む場合があってもよい.Lipschitz連続は微分不可能な点が高々測度0であることに使われる.(Rademacherの定理)
vが固有ベクトル⇒α∈R, αvも固有ベクトル.
固有値問題の非線形拡張
6
と,おく.
(2)
R,Sがquadratic functionなら,通常の(1)の場合に帰着.
Fが微分可能なら∇は普通の微分だと思って良い.Fが微分不可能な点を含む場合,一般化微分を使う.
簡単に確かめる:R(f)=<f,Bf>, S(f)=<f,Cf>
Bf – λCf = 0⇒Bf=λCf⇒A=C-1Bとおけば(1)
C-1が存在しない⇒f!=0かつ<f,Cf>=0であるようなfが存在する⇒S(f)=0⇔f=0に反す
一般化微分 (general differential)
Fがnonconvex, nondifferentialな場合に微分の概念を拡張.
Fがconvexの時は,∂Fは劣微分,F0は方向微分と一致.
7
Theorem 2.2
8
通常の線形代数の場合で考えると,fがF=R(f)/S(f)のcritical point⇔∇F(f)=0
⇔∇(<f,Af>)-λ∇(<f,f>)=0, λ=R(f)/S(f)
⇔Af-λf=0, λ=<f,Af>/<f,f>定義より,fはAの固有ベクトルで,λがAの固有値.
定理2.2は,一般の場合でも,⇔が⇒なら成り立つよ,さらにSが連続微分可能なら,⇔が保たれるよ,と言っている.
ベキ乗法 (Power Method)
半正定値対称行列Aの最大固有値/ベクトル
xk+1 =Axk
を繰り返すと,xkは最大固有値に対応する固有ベクトルの定数倍に近づく.理由:
9
Inverse Power Method
10
Inverse Power Method(逆べき乗法):半正定値対称行列Aの最小固有値に対応する固有ベクトルを求める方法.
を,fが収束するまで繰り返す.つまり,各kで次の最適化問題を解くことに相当.
これを一般化すると,
Algorithm 1
11
そうしないと発散してしまう.2-norm以外でもよい.
necessary to guarantee descent
inner optimization problem (p=1)
12
inner optimization problem•s(fk)をどうやって見つける?•早く解きたい.1-Laplacianの場合は凸性は保たれるので普通に解いてもよいが,双対問題を考えるともっと効率的.sparse PCAの場合は,解析解で出る.p>1はこの論文では直接使わ
ないが,悔しいから書かれているだけなので,省略.
収束証明
13
更新すると必ず小さい固有値に近づき良くなりますよ.
Algorithm 1は,下の(5)式のλ*に近づきますよ.
Application2: sparse PCA
14
データ行列Xに対して,通常のPCAで第一主成分fを求めるとは:
これは,次の問題と同じ:
目的としては,f*をsparseにしたい.そのためには,1-normの項を導入して,
とし,これに対して,前述のIPMを適用すれば良い.
論文ではApplication 1(p-Laplacian)とApplication 2(PCA)の順だが,Applicaiton2の方がstraight-forwardなので,
再掲:Algorithm 1
15
inner optimization problem
Algorithm 4: Sparse PCA
16
4.でinner optimization problemが閉形式で解けるのがミソ
Application 1: p-Laplacian, Graph-
cut
いわゆる普通のGraph laplacian (2-Laplacian)
各エッジの重要度×(エッジの両端のノードのスコアの差)2
重要なエッジの両端のスコアは極端に違わないようにして欲しい.通常は,この問題のsecond
eigenvector (2番目に小さい固有値に対応する固有ベクトル)を求め,fとする.(最小固有値=0だから)
p-Laplacian:
17
=1/2 fT (D-W) f
graph Laplacian
Cheeger cut
18
頂点集合がV,weight matrixがWであるようなグラフGの頂点を2つに分ける.
とすると,h_RCCは次のように書けることが知られている.
1-Laplacian
提案する問題
つまり,この問題の固有ベクトルはmedian zeroという特性をもつ.一方,この問題のsecond eigenvectorはh_RCCに一致するが,second eigenvectorを直接求めることは出来ない.
(線形じゃないからGram-Schmidtのようなことが出来ないため?
そこで, Algorithm 1でmedian zero という条件を満たしながら更新していくアルゴリズムを提案し,収束を証明する.
19
再掲:Algorithm 1
20
Algorithm 3
21
median 0 なので,medianの分を引く
vはs(f)に相当.medianを引いても4.の目的関数の値が保たれるように
をみたすように更新
RCCに関して通常のp=2のLaplacianを使った方法より必ず良いことが証明できる.
実験 – Graph cut
22
1-Laplacian 2-Laplacian
two-moonsをどれだけ上手くGraph-cutで分けられるか.
2000点からなるtwo-moonsを100回描画したときの性能:
実験 – Graph-cut 2
23
で,K=10になるところでGraph-cutした結果,
実験 – Sparse PCA
3つのData Setでcadinality (非零の要素の数)を増やしたときに説明される分散の値.
24
まとめ
やりたかったこと:
行列操作による典型的な2つの問題,Graph-cutとPCAの第一主成分についてSparse(p=1に近い)解を得たい.前者はそうすると性能が上がることが経験的に知られているから.後者は解釈しやすくなるから.
個々の問題でSparseにする方法は色々提案されているが,元の固有値問題を一般化してp=1の場合を考え,IPMも一般化すると両方の問題に対して収束性が示された良いアルゴリズムが一気に得られるよ.
25
ご清澄ありがとうございました
26