Saya memiliki model campuran yang saya ingin menemukan penduga kemungkinan maksimum dari diberikan satu set data dan satu set data yang diamati sebagian . Saya telah mengimplementasikan langkah-E (menghitung ekspektasi dari diberikan dan parameter saat ini ), dan langkah-M, untuk meminimalkan kemungkinan log negatif yang diberikan pada diharapkan .
Seperti yang saya mengerti, kemungkinan maksimum meningkat untuk setiap iterasi, ini berarti bahwa kemungkinan log negatif harus menurun untuk setiap iterasi? Namun, seperti yang saya iterate, algoritma tersebut memang tidak menghasilkan penurunan nilai kemungkinan log negatif. Sebaliknya, itu mungkin menurun dan meningkat. Misalnya ini adalah nilai-nilai dari kemungkinan log negatif hingga konvergensi:
Apakah di sini saya salah paham?
Juga, untuk data yang disimulasikan ketika saya melakukan kemungkinan maksimum untuk variabel laten (tidak teramati) yang sebenarnya, saya memiliki kesesuaian yang hampir sempurna, yang menunjukkan tidak ada kesalahan pemrograman. Untuk algoritma EM, seringkali konvergen dengan solusi suboptimal yang jelas, terutama untuk subset spesifik dari parameter (yaitu proporsi variabel klasifikasi). Diketahui bahwa algoritma dapat konvergen ke titik minimum lokal atau stasioner, apakah ada heuristik pencarian konvensional atau juga untuk meningkatkan kemungkinan menemukan minimum global (atau maksimum) . Untuk masalah khusus ini saya percaya ada banyak klasifikasi yang salah karena, dari campuran bivariat, salah satu dari dua distribusi mengambil nilai dengan probabilitas satu (ini adalah campuran dari masa hidup di mana kehidupan yang sebenarnya ditemukan olehz z mana menunjukkan milik dari salah satu distribusi. Indikator tentu saja disensor dalam kumpulan data.
Saya menambahkan angka kedua ketika saya mulai dengan solusi teoretis (yang harus mendekati optimal). Namun, seperti dapat dilihat kemungkinan dan parameter menyimpang dari solusi ini menjadi salah satu yang jelas lebih rendah.
sunting: Data lengkapnya dalam bentuk mana adalah waktu yang diamati untuk subjek , menunjukkan apakah waktu dikaitkan dengan peristiwa aktual atau jika itu disensor benar (1 menunjukkan peristiwa dan 0 menunjukkan penyensoran benar), adalah waktu pemotongan pengamatan (mungkin 0) dengan indikator pemotongan dan akhirnya adalah indikator populasi yang dimiliki pengamatan (karena bivariatnya, kita hanya perlu mempertimbangkan 0 dan 1). t i i δ i L i τ i z i
Untuk kita memiliki fungsi kerapatan , juga dikaitkan dengan fungsi distribusi ekor . Untuk acara yang menarik tidak akan terjadi. Meskipun tidak ada terkait dengan distribusi ini, kami mendefinisikannya sebagai , dengan demikian dan . Ini juga menghasilkan distribusi campuran lengkap berikut:
dan
Kami melanjutkan untuk mendefinisikan bentuk umum dari kemungkinan:
Sekarang, hanya diamati sebagian ketika , jika tidak maka tidak diketahui. Kemungkinan penuh menjadi
di mana adalah berat dari distribusi yang sesuai (mungkin terkait dengan beberapa kovariat dan koefisien masing-masing oleh beberapa fungsi tautan). Dalam kebanyakan literatur ini disederhanakan ke kemungkinan loglik berikut
Untuk langkah-M , fungsi ini dimaksimalkan, meskipun tidak secara keseluruhan dalam 1 metode pemaksimalan. Sebaliknya kami tidak berpendapat bahwa ini dapat dipisahkan menjadi bagian .
Untuk k: th + 1 E-step , kita harus menemukan nilai yang diharapkan dari variabel laten yang tidak teramati (sebagian) . Kami menggunakan fakta bahwa untuk , lalu .
Di sini kita memiliki, oleh
yang memberi kita
(Catat di sini bahwa , jadi tidak ada peristiwa yang diamati, dengan demikian probabilitas data diberikan oleh fungsi distribusi tail.
sumber
Jawaban:
Tujuan dari EM adalah untuk memaksimalkan kemungkinan data yang dicatat,
Sayangnya, ini cenderung sulit untuk dioptimalkan sehubungan dengan . Sebaliknya, EM berulang kali membentuk dan memaksimalkan fungsi bantuθ
Jika memaksimalkan , EM menjamin hal ituθt+1 Q(θ,θt)
Jika Anda ingin tahu persis mengapa ini terjadi, Bagian 11.4.7 dari Machine Learning Murphy : Sebuah Perspektif Probabilistik memberikan penjelasan yang baik. Jika implementasi Anda tidak memenuhi ketidaksetaraan ini, Anda telah membuat kesalahan di suatu tempat. Mengatakan hal-hal seperti
berbahaya. Dengan banyak optimasi dan algoritma pembelajaran, sangat mudah untuk membuat kesalahan namun masih sering mendapatkan jawaban yang benar. Intuisi yang saya sukai adalah bahwa algoritma ini dimaksudkan untuk menangani data yang berantakan, sehingga tidak mengherankan bahwa mereka juga menangani bug!
Ke bagian lain dari pertanyaan Anda,
Restart acak adalah pendekatan termudah; Paling mudah berikutnya mungkin disimulasikan anil atas parameter awal. Saya juga pernah mendengar varian EM yang disebut deterministic annealing , tetapi saya belum menggunakannya secara pribadi sehingga tidak bisa memberi tahu Anda banyak tentang itu.
sumber