Doğrusal çekirdekli Çekirdek PCA, standart PCA'ya eşdeğer midir?


Yanıtlar:


27

Özet: Doğrusal çekirdekli çekirdek PCA, standart PCA ile tam olarak eşdeğerdir.

, sütunlarda D değişkenleri ve satırlardaki N veri noktaları ile N × D boyutunun Xortalanmış veri matrisi olsun . Daha sonra D x D kovaryans matrisi XX / ( n - 1 ) ile verilir , özvektörleri temel eksenler ve özdeğerler PC varyanslarıdır. Aynı zamanda, N × N boyutunda Gram matrisi X X olarak adlandırılabilir . N - 1'e kadar aynı özdeğerlere (yani PC varyanslarına) sahip olduğunu görmek kolaydır.N×DDND×DXX/(n1)XXN×Nn1 faktör ve özvektörleri birim normlara göre ölçeklendirilmiş temel bileşenlerdir.

Bu standart PCA idi. Şimdi, çekirdek PCA'da, her veri noktasını, genellikle daha büyük boyutta D n e w , muhtemelen sonsuz olan başka bir vektör uzayına eşleyen bazı fonksiyonunu ele alıyoruz . Çekirdek PCA fikri, bu yeni alanda standart PCA'yı gerçekleştirmek.ϕ(x)Dnew

Bu yeni uzayın boyutsallığı çok büyük (veya sonsuz) olduğundan, bir kovaryans matrisi hesaplamak zor veya imkansızdır. Ancak, yukarıda açıklanan PCA'ya ikinci yaklaşımı uygulayabiliriz. Aslında, Gram matrisi hala aynı yönetilebilir boyutunda olacaktır. Bu matrisin elemanları tarafından verilmektedir cp ( x i ) φ ( x j ) , dediğimiz olan çekirdek fonksiyonu K ( X i , x j ) = φ ( x i ) φ ( x j )N×Nϕ(xi)ϕ(xj)K(xi,xj)=ϕ(xi)ϕ(xj). Çekirdek hilesi olarak bilinen şey budur : kişinin aslında hesaplaması gerekmez , sadece K ( ) . Bu Gram matrisinin özvektörleri, ilgilendiklerimiz olan hedef uzaydaki temel bileşenler olacaktır.ϕ()K()

Sorunuzun cevabı şimdi belli oluyor. Eğer , sonra çekirdek gram matris azaltır x x , standart Gram matris eşit olan, ve bu nedenle temel bileşenler değiştirmeyecektir.K(x,y)=xyXX

Çok okunabilir bir referans, Scholkopf B, Smola A ve Müller KR, Çekirdek ana bileşen analizi, 1999'dur ve örneğin Şekil 1'de standart PCA'yı açıkça bir çekirdek işlevi olarak nokta ürünü kullanan olarak ifade ettiklerine dikkat edin:

kernel PCA


cevabınızdaki resimler nelerdi? Bazı kitaplardan mı?
Pinokyo

@Pinocchio, şekil Scholkopf ve ark. cevabımda atıfta bulunulan ve bağlantı verilen kağıt.
amip diyor Reinstate Monica

" N − 1 faktörüne kadar aynı özdeğerlere (yani PC varyanslarına) sahip olduğunu görmek kolaydır " - bu, o zaman tamamen eşdeğer olmadıkları anlamına gelmez mi? Diyelim ki n = 10 örnek, d = 200 boyutlu bir matrisim var. Standart PCA'da verileri istersem 199 boyuta yansıtabilecektim, ancak doğrusal çekirdekli PCA'da en fazla 10 boyuta sahip olabilirim.
Cesar

1
@Cesar, hayır, n = 10 örneğiniz varsa kovaryans matrisi 10-1 = 9 derecesine sahip olacak ve standart PCA sadece 9 boyut bulacaktır (çekirdek PCA'nın yanı sıra). Buraya bakın: stats.stackexchange.com/questions/123318 .
amip diyor Reinstate Monica

Scholkopf B, Smola A ve Müller KR referans bağlantısı için dosya bulunamadı.
pbible

5

XN×DDNX=UΣVUXXX=UΣ2U aynı sol tekil vektörlere ve dolayısıyla aynı temel bileşenlere sahiptir.


Standart PCA için, kovaryans matrisinin SVD'sini önemsediğimizi düşündüm, bu yüzden X'in SVD'sinin nasıl alakalı olduğunu gerçekten anlamayın, lütfen genişletebilir misiniz?
m0s

@ m0s PCA için, genellikle (ortalanmış) veri matrisinin SVD'si tarafından gerçekleştirdiğimiz kovaryans matrisinin özdeğiştirilmesini önemseriz.
MrDrFenner

1

Bana öyle geliyor ki, doğrusal çekirdekli bir KPCA, basit PCA ile aynı olmalıdır.

Özdeğerleri alacağınız kovaryans matrisi aynıdır:

linearKPCAmatrix=1lj=1lK(xj,xj)=1lj=1lxjxjT=PCAmatrix

You can check with more details here.


3
Your answer is correct in spirit, but the formula looks confusing. KPCA works with Gram matrix K(xi,xj), not with covariance matrix (for many nonlinear kernels it's actually impossible to compute covariance matrix as the target space has infinite dimensionality). See page 2 of the paper you cite.
amoeba says Reinstate Monica
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.