Fungsi objektif PCA: apa hubungan antara memaksimalkan varians dan meminimalkan kesalahan?

32

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:X

maxw(Xw)T(Xw)s.t.wTw=1.

Ini bagus, dan kami menggunakan pengganda Lagrangian untuk menyelesaikannya, yaitu menulis ulang sebagai:

maxw[(Xw)T(Xw)λwTw],

yang setara dengan

maxw(Xw)T(Xw)wTw,

dan karenanya ( lihat di sini di Mathworld ) tampaknya sama dengan

maxwi=1n(distance from point xi to line w)2.

Tapi ini mengatakan untuk memaksimalkan jarak antara titik dan garis, dan dari apa yang saya baca di sini , ini tidak benar - seharusnya min , bukan max . 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?

Cam.Davidson.Pilon
sumber
Saya pikir jarak minimum digunakan untuk memenuhi kriteria orthogonality untuk komponen. Poin diproyeksikan ke PC yang ortogonal satu sama lain tetapi dalam setiap komponen berturut-turut varians yang tersisa dimaksimalkan.
Michael R. Chernick
Petunjuk: Apa yang terjadi ketika Anda mempertimbangkan nilai eigen terkecil terlebih dahulu, bukan yang terbesar?
whuber
@whuber Nilai eigen terkecil mungkin memiliki PC yang merupakan solusi untuk fungsi tujuan akhir. Namun PC ini tidak memaksimalkan fungsi tujuan semula.
Cam.Davidson.Pilon
2
Saya tidak yakin apa yang Anda maksud dengan fungsi tujuan "final" dan "asli", Cam. PCA bukan (secara konseptual) program optimasi. Keluarannya adalah sekumpulan arahan pokok, bukan hanya satu. Ini adalah teorema matematika (menarik) bahwa arah ini dapat ditemukan dengan memecahkan urutan program kuadratik terbatas, tetapi itu tidak mendasar untuk konsep atau praktik PCA. Saya hanya menyarankan bahwa, dengan memfokuskan pada nilai eigen terkecil daripada yang terbesar, Anda dapat merekonsiliasi dua gagasan (1) meminimalkan jarak dan (2) mengambil pandangan optimasi PCA.
whuber
1
Tidak apa-apa - jawaban Anda adalah versi non-kesalahan dari apa yang saya coba lakukan.
Cam.Davidson.Pilon

Jawaban:

42

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 Σ = XX / ( n - 1 ) w wXnΣ=XX/(n1)ww

Menurut pendekatan pertama, sumbu utama pertama memaksimalkan varians dari proyeksi (varians dari komponen utama pertama). Varians ini diberikan olehV a r ( X w ) = wXX w / ( n - 1 ) = w Σ wXw

Var(Xw)=wXXw/(n1)=wΣw.

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 oleh XXwww

X-Xww2=tr((X-Xww)(X-Xww))=tr((X-Xww)(X-wwX))=tr(XX)-2tr(XwwX)+tr(XwwwwX)=cHainst-tr(XwwX)=cHainst-tr(wXXw)=cHainst-cHainstwΣ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Σww

amuba kata Reinstate Monica
sumber
Sesuatu yang saya perhatikan, bukan fungsi cembung (Sehubungan dengan sebagai adalah PSD? Bagaimana kita mencoba memaksimalkannya?wTΣwwΣ
Royi
@amoeba dapatkah Anda menjelaskan bagaimana Anda beralih dari tr () ke const di langkah terakhir?
alberto
1
@alberto Apa yang ada di dalam jejak adalah angka (1x1 matriks); jejak nomor adalah nomor ini sendiri, sehingga jejak dapat dihapus. Konstanta muncul karena sama dengan , jadi ada faktor . X X / n 1 / nΣXX/n1/n
Amuba kata Reinstate Monica
1
@Leullame Perhitungan akan menampung kata demi kata untuk jika merupakan matriks dengan kolom ortonormal. Anda perlu untuk beralih dari baris # 3 ke baris # 4. Jika matriks memiliki kolom ortonormal, maka memang akan menjadi proyeksi ke subruang yang direntang oleh kolom (di sini adalah vektor baris). WWW=sayaWxWWxWx
Amuba kata Reinstate Monica
1
@ DanielLópez Nah, kami sedang mencari subruang 1 dimensi yang meminimalkan kesalahan rekonstruksi. Subruang 1-dimensi dapat didefinisikan oleh vektor satuan-norma yang menunjuk ke arahnya, yang menjadi . Ini memiliki norma satuan dengan konstruksi. w
Amuba kata Reinstate Monica