質問への回答をより明確にするような方法で、ニストロム近似を導き出しましょう。
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(xn,x1)…⋱…k(x1,xn)⋮k(xn,xn)⎤⎦⎥⎥,
mmKK=UΛUT
Un×mΛm×m
mK11
K=[K11K21KT21K22],
K11m×mK21(n−m)×mK22
K=UΛUT=[U1U2]Λ[U1U2]T=[U1ΛUT1U2ΛUT1U1ΛUT2U2ΛUT2],
U1m×mU2(n−m)×mK11=U1ΛUT1U1ΛK11
K21=U2ΛUT1U2(ΛUT1)−1=U1Λ−1
U2=K21U1Λ−1.
K22K22=U2ΛUT2=(K21U1Λ−1)Λ(K21U1Λ−1)T=K21U1(Λ−1Λ)Λ−1UT1KT21=K21U1Λ−1UT1KT21=K21K−111KT21=(K21K−1211)(K21K−1211)T.(*)(**)
K22
K21K−1211(n−m)×mK1211mm
Φ=⎡⎣⎢K1211K21K−1211⎤⎦⎥.
ΦΦΦT=⎡⎣⎢K1211K21K−1211⎤⎦⎥⎡⎣⎢K1211K21K−1211⎤⎦⎥T=⎡⎣⎢K1211K1211K21K−1211K1211K1211K−1211KT21K21K−1211K−1211KT21⎤⎦⎥=[K11K21KT21K21K−111KT21]=K.
mΦK
xΦ
ϕ(x)=[k(x,x1)…k(x,xm)]K−1211.
x[k(x,x1)…k(x,xm)]K21K21K−1211ϕ(x)K11K11K−1211=K1211ΦxnewΦtest=Ktest,1K−1211.
m[KtrainKtest,trainKtrain,testKtest]mKtestK22
上記では、カーネル行列
は
正確にランク
mであると仮定しました。通常、これは当てはまりません。ガウスカーネルのために、例えば、
Kがあり
、常にランク
nは、ために起こっているので、後者の固有値は、通常、かなり迅速に落ちる
近いランクの行列
M、および当社の再建
K 21または
Kのテストでは、1が行っていますされるように
近くに真の値が、まったく同じではありません。彼らは、より良い再建近いの固有空間になるだろう
K 11のものになります
KmKnmK21Ktest,1K11全体。これは、正しい
mポイントを選択することが実際に重要な理由です。
Km
また、にゼロの固有値がある場合、逆行列を疑似逆行列に置き換えても、すべてが機能することに注意してください。あなただけの置き換えK 21と復興にK 21 K † 11 K 11。K11K21K21K†11K11
Kmax(λi,10−12)