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):
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.
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.
sumber