Boyutsallık gözlem sayısından daha büyük olduğunda PCA hala kovaryans matrisinin öz bileşimi yoluyla mı yapılıyor?


10

Ben bir matris , benim içeren N = 20 numuneleri D = 100 boyutlu alan. Şimdi Matlab'da kendi temel bileşen analizimi (PCA) kodlamak istiyorum. Ben küçük düşürmek X için X_0 ilk.X N = 20 D = 100 X X 020×100XN=20D=100XX0

Birinin kodundan, gözlemlerden daha fazla boyuta sahip olduğumuz senaryolarda, artık X0 kovaryans matrisini öz-ayrıştırmadığımızı okudum . Bunun yerine, 1N1X0X0T . Neden doğru?

Normal kovaryans matrisi, D \ times D büyüklüğündedir D×D, her bir eleman bize iki boyut arasındaki kovaryansı söyler. Bana göre, 1N1X0X0T doğru boyutlarda bile değil! Öyle N×N matris, bu yüzden bize söylerdi? İki gözlem arasındaki kovaryans ?!


Sorunuzun cevabı, görevinizi yerine getirmenizden sonra olduğu gibi, sütunların kendi için kovaryans matrisine ihtiyaç duymama durumudur. Bunu sadece bilgisayar edinme yolu olarak istediniz. Sağ? Ancak aynı PCA sonuçları arasında Eigen yoluyla elde edilebilir X'Xve XX'(yanı sıra svd Xve X'). Bir durumda "yüklemeler" olarak adlandırılan, diğerinde "pc skorları" olarak adlandırılacaktır. Her ikisi de sadece koordinatlar ( örneğin bakınız ) ve eksenler olduğundan, "ana boyutlar" aynıdır.
ttnphns

1
Eğer öyleyse ve hangisini çürüteceğinizi seçmekte özgürsünüz - daha hızlı / daha verimli olanı çürütmek akıllıca olacaktır. Daha n<paz RAM ve daha XX'küçük boyutlu olduğu için ayrışması daha az zaman aldığında .
ttnphns

@ttnphns Harika bir açıklama. Şimdi anlıyorum. Ancak, hala özden XX'PC'ye gidiş sorunları var . Bana kısaca nasıl olduğunu gösterebilir misin? PC'ler kovaryans matrisinin sadece özvektörleridir göz önüne alındığında, ben Eigen taşımak denedi XX'kovaryans matrisinin eigen için X'X, ancak başarısız oldu.
Sibbs Kumar

1
Gitmek zorundayım. Belki de @amoeba (cebirde benden çok daha çevik olan) veya başka bir okuyucu yakında buraya bakacak ve size yardımcı olacaktır. Şerefe.
ttnphns

1
@ttnphns: Bitti :)
amoeba

Yanıtlar:


22

Kovaryans matrisi boyutundadır veC = 1D×D

C=1N1X0X0.

Bahsettiğiniz matris elbette bir kovaryans matrisi değildir; Gram matrisi olarak adlandırılır ve boyutundadır:G = 1N-xN-

G,=1N--1X0X0.

Temel bileşen analizi (PCA), bu matrislerin herhangi birinin öz-bileşimi yoluyla gerçekleştirilebilir. Bunlar aynı şeyi hesaplamanın sadece iki farklı yoludur.

Bunu görmenin en kolay ve en yararlı yolu, veri matrisinin tekil değer ayrıştırmasını kullanmaktır . Bunu ve ifadelerine takarak şunu elde ederiz:C G CX=USVCG,

C=VS2N--1VG,=US2N--1U.

Kovaryans matrisinin özvektörleri ana yönlerdir. Bu özvektörler üzerindeki verilerin izdüşümleri temel bileşenlerdir; bu projeksiyonlar tarafından verilmektedir . Birim uzunluğuna göre ölçeklendirilmiş ana bileşenler tarafından verilir . Gördüğünüz gibi, Gram matrisinin özvektörleri tam olarak bu ölçekli ana bileşenlerdir. Ve ve özdeğerleri çakışır.VUSUCG,

Görebileceğiniz nedeni o tavsiye eğer Gram matrisi kullanmak daha küçük boyutta olacağı için kovaryans matrisinin kıyasla, ve dolayısıyla daha hızlı bilgi işlem ve daha hızlı eigendecompose olsun. Aslında, boyutsallığınız çok yüksekse, kovaryans matrisini bellekte bile saklamanın bir yolu yoktur, bu nedenle Gram matrisinde çalışmak PCA yapmanın tek yoludur. Ancak yönetilebilir için , olsa bile, kovaryans matrisinin özdeğiştirmesini kullanabilirsiniz .N-<DDDN-<D



1
Mükemmel cevap! Bir ismi olduğunu bilmiyordum! Çok teşekkürler! Şimdi bunu hesaplamalarımı hızlandırmak için kullanacağımdan eminim.
Sibbs Kumar

3
Cevabım, almak istediğiniz şeyin ve belki de olduğunu varsayar . Ayrıca elde etmek istiyorsanız , o zaman yoluyla hesaplayabilir Elindeki sonra . Aslında, boyutsallığınız çok yüksekse, kovaryans matrisini bellekte bile saklamanın bir yolu yoktur , bu nedenle Gram matrisinde çalışmak PCA yapmanın tek yoludur. US/(n-1)VUXU
amip

Bu cevap, kitaplarda gördüğüm birçok serginin daha net olduğu açıktır. Teşekkürler.
usεr11852

Tamamen referans amacıyla: Bence IJ Good'un " Bir Matrisin Tekil Ayrışmasının Bazı Uygulamaları " nın 1969 Technometrics makalesi, buna tam olarak ilk atıf yapanlardan biridir.
usεr11852

1
@MattWenham Kesinlikle.
amip
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.