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 0
Birinin kodundan, gözlemlerden daha fazla boyuta sahip olduğumuz senaryolarda, artık kovaryans matrisini öz-ayrıştırmadığımızı okudum . Bunun yerine, . Neden doğru?
Normal kovaryans matrisi, D \ times D büyüklüğündedir , her bir eleman bize iki boyut arasındaki kovaryansı söyler. Bana göre, doğru boyutlarda bile değil! Öyle matris, bu yüzden bize söylerdi? İki gözlem arasındaki kovaryans ?!
n<paz RAM ve daha XX'küçük boyutlu olduğu için ayrışması daha az zaman aldığında .
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.
X'XveXX'(yanı sıra svdXveX'). 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.