Mengapa Maksimalisasi Ekspektasi penting untuk model campuran?

15

Ada banyak literatur yang menekankan metode Maksimalisasi Ekspektasi pada model campuran (Campuran Gaussian, Hidden Markov Model, dll.).

Mengapa EM itu penting? EM hanyalah cara untuk melakukan optimasi dan tidak banyak digunakan sebagai metode berbasis gradien (layak gradien atau metode newton / quasi-newton) atau metode bebas gradien lain yang dibahas di SINI . Selain itu, EM masih memiliki masalah minimum lokal.

Apakah karena prosesnya intuitif dan dapat dengan mudah diubah menjadi kode? Atau alasan apa lagi?

Haitao Du
sumber

Jawaban:

14

Pada prinsipnya, baik EM dan pendekatan optimasi standar dapat bekerja untuk distribusi campuran pas. Seperti EM, pemecah optimasi cembung akan menyatu ke optimal lokal. Namun, ada berbagai algoritma pengoptimalan untuk mencari solusi yang lebih baik dengan adanya beberapa optima lokal. Sejauh yang saya ketahui, algoritma dengan kecepatan konvergensi terbaik akan tergantung pada masalah.

Salah satu manfaat EM adalah secara alami menghasilkan parameter yang valid untuk distribusi campuran pada setiap iterasi. Sebaliknya, algoritma pengoptimalan standar akan membutuhkan kendala yang harus dipaksakan. Misalnya, Anda cocok dengan model campuran Gaussian. Pendekatan pemrograman nonlinier standar akan membutuhkan matriks kovariansi pembatas untuk menjadi semidefinit positif, dan membatasi bobot komponen campuran menjadi tidak negatif dan dijumlahkan menjadi satu.

Untuk mencapai kinerja yang baik pada masalah dimensi tinggi, pemecah pemrograman nonlinier biasanya perlu mengeksploitasi gradien. Jadi, Anda harus menurunkan gradien atau menghitungnya dengan diferensiasi otomatis. Gradien juga diperlukan untuk fungsi kendala jika tidak memiliki bentuk standar. Metode Newton dan pendekatan terkait (misalnya metode trust region) membutuhkan Hessian juga. Metode beda hingga atau bebas turunan dapat digunakan jika gradien tidak tersedia, tetapi kinerja cenderung berskala buruk ketika jumlah parameter meningkat. Sebaliknya, EM tidak memerlukan gradien.

EM secara intuitif intuitif, yang merupakan kebajikan besar. Ini sering berlaku untuk pendekatan optimasi standar juga. Ada banyak detail implementasi, tetapi konsep keseluruhannya sederhana. Seringkali dimungkinkan untuk menggunakan pemecah pengoptimalan standar yang memisahkan detail ini di bawah tenda. Dalam kasus ini, pengguna hanya perlu menyediakan fungsi objektif, kendala, dan gradien, dan memiliki pengetahuan yang cukup untuk memilih pemecah yang cocok untuk masalah tersebut. Tetapi, pengetahuan khusus tentu diperlukan jika sampai pada titik di mana pengguna harus memikirkan atau mengimplementasikan detail tingkat rendah dari algoritma optimasi.

Manfaat lain dari algoritma EM adalah dapat digunakan dalam kasus di mana beberapa nilai data hilang.

Juga menarik (termasuk komentar):

pengguna20160
sumber
ipi=1qiRpi=exp(qi)jexp(qj)
1
CUC=UTUC
U0
Benar, benar, dekomposisi cholesky. Jauh lebih baik.
user20160
1
+1 jawaban yang bagus! Bisakah Anda menjelaskan lebih lanjut tentang "itu secara alami menghasilkan parameter yang valid untuk distribusi campuran pada setiap iterasi"? Untuk metode lain, kami masih memiliki nilai variabel keputusan untuk setiap iterasi, bukan?
Haitao Du
2

Saya pikir jawaban user20160 memberikan penjelasan yang sangat baik, alasan paling penting yang membuat metode berbasis gradien tidak cocok di sini adalah kendala untuk matriks kovarians menjadi semidefinit positif, dan koefisien campuran menjadi tidak negatif dan dijumlahkan menjadi satu.

Hanya ingin menunjukkan bahwa jika kita membatasi matriks kovarian menjadi diagonal, maka dua kendala ini dapat diekspresikan dengan mudah.

Σ=[σ12σN2]
ϕk=epk/Kepi

Selain itu, ini memungkinkan kami untuk secara langsung mengoptimalkan kemungkinan nyata alih-alih variational lower bound (ELBO), sehingga menghilangkan kebutuhan untuk variabel laten.

Namun bahkan dalam kasus seperti itu EM sering ternyata menjadi algoritma yang lebih baik daripada gradien yang layak.

dontloo
sumber