Konvergensi dari Algoritma EM dengan distribusi campuran bivariat


9

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 .xzzxθkz

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:

masukkan deskripsi gambar di sini

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 zT=zT0+(1z) mana menunjukkan milik dari salah satu distribusi. Indikator tentu saja disensor dalam kumpulan data. zzmasukkan deskripsi gambar di sini

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 ixi=(ti,δi,Li,τi,zi)tiiδiLiτizi

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:z=1fz(t)=f(t|z=1)Sz(t)=S(t|z=1)z=0tinff(t|z=0)=0S(t|z=0)=1

f(t)=i=01pif(t|z=i)=pf(t|z=1) dan S(t)=1p+pSz(t)

Kami melanjutkan untuk mendefinisikan bentuk umum dari kemungkinan:

L(θ;xi)=Πif(ti;θ)δiS(ti;θ)1δiS(Li)τi

Sekarang, hanya diamati sebagian ketika , jika tidak maka tidak diketahui. Kemungkinan penuh menjadizδ=1

L(θ,p;xi)=Πi((pfz(ti;θ))zi)δi((1p)(1zi)(pSz(ti;θ))zi)1δi((1p)(1zi)(pSz(Li;θ))zi)τi

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 berikutp

(ziln(p)+(1p)ln(1p)τi(ziln(p)+(1zi)ln(1p))+δizifz(ti;θ)+(1δi)ziSz(ti;θ)τiSz(Li;θ))

Untuk langkah-M , fungsi ini dimaksimalkan, meskipun tidak secara keseluruhan dalam 1 metode pemaksimalan. Sebaliknya kami tidak berpendapat bahwa ini dapat dipisahkan menjadi bagian .l(θ,p;)=l1(θ,)+l2(p,)

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 .ziδ=1z=1

E(zi|xi,θ(k),p(k))=δi+(1δi)P(zi=1;θ(k),p(k)|xi)

Di sini kita memiliki, olehP(zi=1;θ(k),p(k)|xi)=P(xi;θ(k),p(k)|zi=1)P(zi=1;θ(k),p(k))P(xi;θ(k),p(k))

yang memberi kitaP(zi=1;θ(k),p(k)|xi)=pSz(ti;θ(k))1p+pSz(ti;θ(k))

(Catat di sini bahwa , jadi tidak ada peristiwa yang diamati, dengan demikian probabilitas data diberikan oleh fungsi distribusi tail.δi=0xi


Bisakah Anda menulis variabel masalah kami dari awal, dan persamaan E dan M Anda?
alberto

1
Tentu saja, saya telah mengedit pertanyaan dengan detail lebih lanjut mengenai E dan M-step
Good Guy Mike

Untuk memperjelas, nilai yang diplot adalah MLE lengkap yang diberikan nilai estimasi untuk data yang tidak lengkap.
Good Guy Mike

Apa itu ? Saya tidak mengerti "walaupun tidak ada yang terkait dengan distribusi ini, kami mendefinisikannya sebagai inf ...". Sz
wij

1
Algoritma EM secara langsung memaksimalkan kemungkinan data lengkap yang diharapkan, tetapi dapat menjamin peningkatan kemungkinan data yang diamati. Apakah Anda memeriksa peningkatan kemungkinan data yang diamati?
Randel

Jawaban:


6

Tujuan dari EM adalah untuk memaksimalkan kemungkinan data yang dicatat,

l(θ)=iln[zp(xi,z|θ)]

Sayangnya, ini cenderung sulit untuk dioptimalkan sehubungan dengan . Sebaliknya, EM berulang kali membentuk dan memaksimalkan fungsi bantuθ

Q(θ,θt)=Ez|θt(ilnp(xi,zi|θ))

Jika memaksimalkan , EM menjamin hal ituθt+1Q(θ,θt)

l(θt+1)Q(θt+1,θt)Q(θt,θt)=l(θ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

Saya hampir pas, menunjukkan tidak ada kesalahan pemrograman

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,

apakah ada pencarian heuristik konvensional atau juga untuk meningkatkan kemungkinan menemukan minimum global (atau maksimum)

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.


1
Jawaban yang bagus (+1). Akan lebih baik, jika Anda memasukkan referensi formal (khususnya, referensi ke sumber yang dikutip sebagian "Pembelajaran Mesin: Perspektif Probabilistik").
Aleksandr Blekh

Terima kasih banyak atas jawabannya. Saya telah menemukan bahwa algoritma melakukan konvergensi dengan benar sekarang setelah memperbaiki kesalahan dalam kode, tetapi hanya ketika saya mengecualikan data terpotong saya. Kalau tidak, akan rusak. Saya percaya ini adalah hasil dari beberapa kesalahan.
Good Guy Mike

Sebenarnya, masalahnya adalah bahwa saya berurusan dengan "pemotongan heterogen", yaitu ada titik pemotongan individu untuk setiap pengamatan, daripada ambang batas pemotongan bulat untuk semua pengamatan. Saya tidak pernah menemukan atau tidak dapat menemukan pengaturan ini dalam literatur, jadi saya tidak dapat memverifikasi bahwa saya menyelesaikannya dengan benar. Jika Anda kebetulan melihat pengaturan ini, saya ingin melihat referensi itu! Li
Good Guy Mike
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.