Apakah optimasi PCA cembung?

12

Fungsi objektif dari Principal Component Analysis (PCA) adalah meminimalkan kesalahan rekonstruksi dalam norma L2 (lihat bagian 2.12 di sini . Pandangan lain sedang mencoba untuk memaksimalkan varians pada proyeksi. Kami juga memiliki posting yang sangat baik di sini: Apa fungsi tujuan PCA ? ).

Pertanyaan saya adalah apakah optimasi PCA cembung? (Saya menemukan beberapa diskusi di sini , tetapi berharap seseorang dapat memberikan bukti yang bagus di sini di CV).

Haitao Du
sumber
3
Tidak. Anda memaksimalkan fungsi cembung (di bawah batasan).
user603
5
Saya pikir Anda harus spesifik tentang apa yang Anda maksud dengan "optimasi PCA." Salah satu formulasi standar adalah untuk memaksimalkan xAx subjek ke xx=1 . Masalahnya adalah bahwa cembung bahkan tidak masuk akal: domain xx=1 adalah bola, bukan ruang Euclidean.
whuber
1
@whuber terima kasih atas komentar Anda, saya mungkin tidak dapat mengklarifikasi pertanyaan karena pengetahuan yang terbatas. Saya mungkin menunggu beberapa jawaban dapat membantu saya mengklarifikasi pertanyaan pada saat yang sama.
Haitao Du
3
Saya akan merujuk Anda ke definisi "cembung" yang Anda kenal. Tidakkah mereka semua melibatkan konsep titik dalam domain fungsi yang terletak "di antara" titik lain? Itu perlu diingat, karena mengingatkan Anda untuk mempertimbangkan geometri domain fungsi serta sifat aljabar atau analitik dari nilai fungsi. Dalam terang itu, terpikir oleh saya bahwa formulasi varians-memaksimalkan dapat sedikit dimodifikasi untuk membuat domain cembung: cukup membutuhkan daripada x x = 1 . Solusinya sama - dan jawabannya menjadi cukup jelas. xx1xx=1
Whuber

Jawaban:

17

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

  1. Dapatkan ungkapan sederhana untuk fungsi tujuan.

  2. Perbesar domainnya, yang bukan cembung, menjadi domain yang cembung.

  3. 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)= xAx  subject to  xx=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 ( ) .)xAx/xxxλx()

Setiap masalah optimasi dapat dirumuskan secara abstrak sebagai

Temukan setidaknya satu yang membuat fungsi f : XR sebesar mungkin.xXf:XR

Ingat bahwa masalah pengoptimalan adalah cembung saat menikmati dua properti terpisah:

  1. The domain cembung. XRn 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 .xXyX0λ1λx+(1λ)yXXX

  2. 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 XxXyX0λ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.yay2+by+ca0.

Kesulitan dengan adalah bahwa X adalah satuan bola S n - 1R n , yang jelas-jelas bukan cembung. ()XSn1Rn 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<xx<1x, dengan demikian meningkatkanftetapi tetap dalam bola satuanDn={x R nxx1}. Karena itu marilah kita merumuskan kembali()sebagaiλ=1/xx>1f Dn={xRnxx1}()

(**)Maximize f(x)= xAx  subject to  xx1

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

ΣPAxxAx

AΣP

σ1σ2σn0.

x=Pyxy=Pxf

f(y)=yAy=xPAPx=xΣx=σ1x12+σ2x22++σnxn2.

Xσi

()xx=1σ1fXffσ1

g(y)=f(y)σ1yy.

σ1fgfX

σ1σ1yyPyy=xxxg

g(y)=σ1x12++σnxn2σ1(x12++xn2)=(σ2σ1)x22++(σnσ1)xn2.

σ1σiiggx2=x3==xn=0xx=1x1=±1y=P(±1,0,,0)P

gDn=Sn1yy=1fgσ1gfDnfg

whuber
sumber
4
σ1
@amoeba Tepat dalam semua hal; Terima kasih. Saya telah memperkuat diskusi tentang hal itu.
whuber
3
(+1) Dalam jawaban Anda, Anda tampaknya mendefinisikan fungsi cembung menjadi apa yang oleh sebagian besar orang dianggap sebagai fungsi cekung (mungkin karena masalah optimisasi cembung memiliki domain cembung dan fungsi cekung di mana maksimum dihitung (atau a cembung fungsi di mana suatu minimum dihitung))
user795305
2
gXf
2
fgg
6

Tidak.

kM

X^=argminrank(X)kMXF2

F

Meskipun normalnya cembung, set di mana ia dioptimalkan adalah nonconvex.


Sebuah relaksasi cembung masalah PCA ini disebut Convex Rendah Ranking Pendekatan

X^=argminXcMXF2

1

Anda dapat melihat Pembelajaran Statistik dengan Sparsity , bab 6 (dekomposisi matriks) untuk detailnya.

Jika Anda tertarik pada masalah yang lebih umum dan bagaimana hubungannya dengan kecemburuan, lihat Generalized Low Rank Models .

Jakub Bartczuk
sumber
1

Penafian: Jawaban sebelumnya melakukan pekerjaan yang cukup baik untuk menjelaskan bagaimana PCA dalam formulasi aslinya adalah non-cembung tetapi dapat dikonversi ke masalah optimasi cembung. Jawaban saya hanya ditujukan untuk jiwa-jiwa miskin (seperti saya) yang tidak begitu akrab dengan jargon Unit Spheres dan SVD - yang, baik, baik untuk diketahui.

Sumber saya adalah catatan kuliah ini oleh Prof. Tibshirani

Untuk masalah optimasi yang harus diselesaikan dengan teknik optimasi cembung, ada dua prasyarat.

  1. Fungsi objektif harus cembung.
  2. Fungsi kendala juga harus cembung.

Sebagian besar formulasi PCA melibatkan kendala pada peringkat matriks.

rank(X)=k,J11J22

kasa
sumber
Xk
Xk