Algoritma PCA dapat dirumuskan dalam bentuk matriks korelasi (anggap data telah dinormalisasi dan kami hanya mempertimbangkan proyeksi ke PC pertama). Fungsi objektif dapat ditulis sebagai:
Ini bagus, dan kami menggunakan pengganda Lagrangian untuk menyelesaikannya, yaitu menulis ulang sebagai:
yang setara dengan
dan karenanya ( lihat di sini di Mathworld ) tampaknya sama dengan
Tapi ini mengatakan untuk memaksimalkan jarak antara titik dan garis, dan dari apa yang saya baca di sini , ini tidak benar - seharusnya , bukan . Di mana kesalahan saya?
Atau, dapatkah seseorang menunjukkan kepada saya hubungan antara memaksimalkan varians dalam ruang yang diproyeksikan dan meminimalkan jarak antara titik dan garis?
pca
optimization
Cam.Davidson.Pilon
sumber
sumber
Jawaban:
Biarkan menjadi matriks data terpusat dengan pengamatan dalam baris. Biarkan menjadi matriks kovariansnya. Biarkan menjadi vektor satuan yang menentukan sumbu dalam ruang variabel. Kami ingin menjadi sumbu utama pertama. n Σ = X ⊤ X / ( n - 1 ) w wX n Σ=X⊤X/(n−1) w w
Menurut pendekatan pertama, sumbu utama pertama memaksimalkan varians dari proyeksi (varians dari komponen utama pertama). Varians ini diberikan olehV a r ( X w ) = w ⊤ X ⊤ X w / ( n - 1 ) = w ⊤ Σ wXw
Menurut pendekatan kedua, poros utama pertama meminimalkan kesalahan rekonstruksi antara dan rekonstruksinya , yaitu jumlah jarak kuadrat antara titik asli dan proyeksi mereka ke . Kuadrat kesalahan rekonstruksi diberikan olehX Xww⊤ w
Perhatikan tanda minus sebelum istilah utama. Karena itu, meminimalkan jumlah kesalahan rekonstruksi untuk memaksimalkan , yang merupakan varians. Jadi meminimalkan kesalahan rekonstruksi sama dengan memaksimalkan varians; kedua formulasi menghasilkan sama .w⊤Σ b w
sumber