Tidak, formulasi PCA yang biasa bukan masalah cembung. Tetapi mereka dapat ditransformasikan menjadi masalah optimisasi cembung.
Wawasan dan kesenangan dari ini mengikuti dan memvisualisasikan urutan transformasi daripada hanya mendapatkan jawaban: itu terletak pada perjalanan, bukan tujuan. Langkah utama dalam perjalanan ini adalah
Dapatkan ungkapan sederhana untuk fungsi tujuan.
Perbesar domainnya, yang bukan cembung, menjadi domain yang cembung.
Ubah tujuan, yang bukan cembung, menjadi sesuatu yang, dengan cara yang jelas tidak mengubah titik di mana ia mencapai nilai optimalnya.
Jika Anda terus mencermati, Anda dapat melihat pengganda SVD dan Lagrange mengintai - tetapi mereka hanya tontonan, ada untuk pemandangan indah, dan saya tidak akan mengomentarinya lebih lanjut.
Formulasi memaksimalkan-varians standar PCA (atau setidaknya langkah kuncinya) adalah
Maximize f(x)= x′Ax subject to x′x=1(*)
di mana matriks A adalah matriks simetris, positif-semidefinit yang dibangun dari data (biasanya jumlah kuadrat dan matriks produknya, matriks kovariansnya, atau matriks korelasinya).n×nA
(Dengan kata lain, kita dapat mencoba memaksimalkan objektif yang tidak dibatasi . Tidak hanya ini ekspresi yang lebih buruk - ini bukan lagi fungsi kuadrat - tetapi grafik kasus khusus akan dengan cepat menunjukkan itu bukan fungsi cembung) , salah satu. Biasanya orang mengamati fungsi ini invarian di bawah rescalings x → λ x dan kemudian menguranginya ke formulasi terbatas ( ∗ ) .)x′Ax/x′xx→λx(∗)
Setiap masalah optimasi dapat dirumuskan secara abstrak sebagai
Temukan setidaknya satu yang membuat fungsi f : X → R sebesar mungkin.x∈Xf:X→R
Ingat bahwa masalah pengoptimalan adalah cembung saat menikmati dua properti terpisah:
The domain cembung. X⊂Rn Ini dapat dirumuskan dengan banyak cara. Salah satunya adalah bahwa setiap kali dan y ∈ X dan 0 ≤ λ ≤ 1 , λ x + ( 1 - λ ) y ∈ X juga. Geometris: setiap kali dua titik akhir dari kebohongan segmen garis di X , seluruh kebohongan segmen di X .x∈Xy∈X0≤λ≤1λx+(1−λ)y∈XXX
The Fungsi adalah cembung. f Ini juga dapat dirumuskan dengan banyak cara. Salah satunya adalah bahwa setiap kali dan y ∈ X dan 0 ≤ λ ≤ 1 , f ( λ x + ( 1 - λ ) y ) ≥ λ f ( x ) + ( 1 - λ ) f ( y ) . (Kami membutuhkan Xx∈Xy∈X0≤λ≤1
f(λx+(1−λ)y)≥λf(x)+(1−λ)f(y).
Xmenjadi cembung agar kondisi ini untuk masuk akal) geometris. setiap kali adalah setiap segmen garis di X , grafik f (sebagai terbatas segmen ini) terletak di atas atau segmen yang menghubungkan ( x , f ( x ) ) dan ( y , f ( y ) ) dalam R n + 1 .xy¯Xf(x,f(x))(y,f(y))Rn+1
Pola dasar dari fungsi cembung adalah lokal di mana-mana parabola dengan koefisien terkemuka non-positif: pada setiap segmen garis dapat dinyatakan dalam bentuk dengan a ≤ 0.y→ay2+by+ca≤0.
Kesulitan dengan adalah bahwa X adalah satuan bola S n - 1 ⊂ R n , yang jelas-jelas bukan cembung. (∗)XSn−1⊂Rn Namun, kami dapat memodifikasi masalah ini dengan memasukkan vektor yang lebih kecil. Itu karena ketika kita skala dengan faktor λ , f dikalikan dengan λ 2 . Ketika 0 < x ′ x < 1 , kita dapat menskalakan x hingga satuan panjang dengan mengalikannya dengan λ = 1 / √xλfλ20<x′x<1x, dengan demikian meningkatkanftetapi tetap dalam bola satuanDn={x∈ R n∣x′x≤1}. Karena itu marilah kita merumuskan kembali(∗)sebagaiλ=1/x′x−−−√>1f Dn={x∈Rn∣x′x≤1}(∗)
Maximize f(x)= x′Ax subject to x′x≤1(**)
Domainnya adalah yang jelas-jelas cembung, jadi kita setengah jalan. Masih mempertimbangkan cembungnya grafik f .X=Dnf
Cara yang baik untuk memikirkan masalah - bahkan jika Anda tidak bermaksud melakukan perhitungan yang sesuai - adalah dalam hal Teorema Spektral. (∗∗) Ia mengatakan bahwa dengan cara transformasi ortogonal , Anda dapat menemukan setidaknya satu dasar R n di mana A adalah diagonal: yaitu,PRnA
A=P′ΣP
ΣPAx→x′Ax
AΣP
σ1≥σ2≥⋯≥σn≥0.
x=P′yxy=Pxf
f(y)=y′Ay=x′P′APx=x′Σx=σ1x21+σ2x22+⋯+σnx2n.
Xσi
(∗∗)x′x=1σ1fXffσ1
g(y)=f(y)−σ1y′y.
σ1fgfX
−σ1−σ1y′yPy′y=x′xxg
g(y)=σ1x21+⋯+σnx2n−σ1(x21+⋯+x2n)=(σ2−σ1)x22+⋯+(σn−σ1)x2n.
σ1≥σiiggx2=x3=⋯=xn=0x′x=1x1=±1y=P(±1,0,…,0)′P
g∂Dn=Sn−1y′y=1fgσ1gfDnfg