カーネル近似のNystroemメソッド


12

低ランクのカーネル近似のためのNyströmメソッドについて読んでいます。この方法は、データサンプルをカーネル機能マッピングの低ランクの近似に投影する方法として、scikit-learn [1]に実装されています。

私の知る限り、トレーニングセットとカーネル関数を指定すると、WとCに SVDを適用することにより、n × nカーネル行列Kの低ランクの近似が生成されます。{xi}i=1nn×nKWC

C = [ W K 21 ]、 W ∈ R L × LK=[WK21TK21K22] C=[WK21]W∈Rl×l

ただし、カーネルマトリックスの低ランクの近似を使用して、新しいサンプルを近似カーネル機能空間に投影する方法がわかりません。私が見つけた論文(たとえば[2])は、教訓がほとんどないため、あまり役に立ちません。

また、トレーニング段階とテスト段階の両方で、この方法の計算の複雑さに興味があります。

[1] http://scikit-learn.org/stable/modules/kernel_approximation.html#nystroem-kernel-approx

[2] http://www.jmlr.org/papers/volume13/kumar12a/kumar12a.pdf

回答:


15

質問への回答をより明確にするような方法で、ニストロム近似を導き出しましょう。

Nyströmの主要な仮定は、カーネル関数が階級であるということです。(実際には、ランクmとほぼ同じであると想定していますが、簡単にするために、今のところは正確にランクmであるとしましょう。)つまり、カーネル行列は最大でm、特に K = [ k (x 1、x 1)… k (x 1、x n)⋮ ⋱ ⋮ k (x nmmmm はランクmです。したがって、あるm個の非ゼロ固有値は、我々は、の固有値分解書くことができるKのように K=UΛUT に記憶された固有ベクトルでU形状で、N×M、及び固有値に配置Λ、M×M対角行列。

K=[k(x1,x1)…k(x1,xn)⋮⋱⋮k(xn,x1)…k(xn,xn)],
mmK
K=UΛUT
Un×mΛm×m

mK11

K=[K11K21TK21K22],
K11m×mK21(n−m)×mK22

K=UΛUT=[U1U2]Λ[U1U2]T=[U1ΛU1TU1ΛU2TU2ΛU1TU2ΛU2T],
U1m×mU2(n−m)×mK11=U1ΛU1TU1ΛK11

K21=U2ΛU1TU2(ΛU1T)−1=U1Λ−1

U2=K21U1Λ−1.
K22
K22=U2ΛU2T=(K21U1Λ−1)Λ(K21U1Λ−1)T=K21U1(Λ−1Λ)Λ−1U1TK21T=K21U1Λ−1U1TK21T(*)=K21K11−1K21T(**)=(K21K11−12)(K21K11−12)T.

K22

K21K11−12(n−m)×mK1112mm

Φ=[K1112K21K11−12].
Φ
ΦΦT=[K1112K21K11−12][K1112K21K11−12]T=[K1112K1112K1112K11−12K21TK21K11−12K1112K21K11−12K11−12K21T]=[K11K21TK21K21K11−1K21T]=K.

mΦK

xΦ

ϕ(x)=[k(x,x1)…k(x,xm)]K11−12.
x[k(x,x1)…k(x,xm)]K21K21K11−12ϕ(x)K11K11K11−12=K1112Φxnew
Φtest=Ktest,1K11−12.
m[KtrainKtrain,testKtest,trainKtest]mKtestK22


上記では、カーネル行列は正確にランクmであると仮定しました。通常、これは当てはまりません。ガウスカーネルのために、例えば、Kがあり、常にランクnは、ために起こっているので、後者の固有値は、通常、かなり迅速に落ちる近いランクの行列M、および当社の再建K 21またはKのテストでは、1が行っていますされるように近くに真の値が、まったく同じではありません。彼らは、より良い再建近いの固有空間になるだろうK 11のものになりますKmKnmK21Ktest,1K11全体。これは、正しい mポイントを選択することが実際に重要な理由です。Km

また、にゼロの固有値がある場合、逆行列を疑似逆行列に置き換えても、すべてが機能することに注意してください。あなただけの置き換えK 21と復興にK 21 K † 11 K 11。K11K21K21K11†K11

Kmax(λi,10−12)


1
AUΛUTAUΣVTA−12=VΣ−12VTAAVΣ−12VT=UΣVTVΣ−12VT=UΣ12VT=A12

1
UΣ−12VT=K−12U≈VK11UΣVTVΣ−12UT=UΣ12UT

1
x−12=1/xVVT

1
xm

1
xxRdx∈Xk:X×X→Rϕ:X→Rmk(x,xi)m
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.