Saya memiliki matriks X , yang mengandung N saya = 20 sampel dalam ruang D = 100- dimensi. Saya sekarang ingin kode analisis komponen utama saya sendiri (PCA) di Matlab. Saya merendahkan X ke X 0 terlebih dahulu.
Saya membaca dari kode seseorang bahwa dalam skenario seperti itu di mana kita memiliki dimensi lebih dari pengamatan, kita tidak lagi eigen-menguraikan matriks kovarians . Sebagai gantinya, kami eigen-decompose 1 . Mengapa ini benar?
Matriks kovarians normal adalah ukuran , masing-masing elemen memberi tahu kita kovarians antara dua dimensi. Bagi saya, 1 bahkan tidak memiliki dimensi yang benar! Hal iniN×Nmatriks, sehingga apa yang akan memberitahu kita? Kovarian antara dua pengamatan ?!
n<p
itu membutuhkan lebih sedikit RAM dan lebih sedikit waktu untuk terurai XX'
karena ukurannya lebih kecil.
XX'
ke PC. Bisakah Anda menunjukkan dengan singkat bagaimana caranya? Mengingat bahwa PC hanyalah vektor eigen dari matriks kovarians, saya berusaha untuk beralih dari eigen XX'
ke eigen dari matriks kovarians X'X
, tetapi gagal.
X'X
danXX'
(serta svd dariX
danX'
). Apa yang disebut "memuat" dalam satu kasus akan disebut "skor pc" dalam kasus lain dan sebaliknya. Karena keduanya hanya koordinat ( lihat, misalnya ) dan sumbu, "dimensi utama" adalah sama.