Menerapkan Maksimalisasi Ekspektasi pada contoh lemparan koin

18

Saya telah mempelajari sendiri Maksimalisasi Ekspektasi belakangan ini, dan mengambil sendiri beberapa contoh sederhana dalam proses:

Dari sini : Ada tiga koin c0 , c1 dan c2 dengan p0 , p1 dan p2 masing-masing probabilitas untuk mendarat di Head saat dilempar. Aduk c0 . Jika hasilnya adalah Head, lempar c1 tiga kali, atau lempar c2 tiga kali. Data yang diamati dihasilkan oleh c1 dan c2 adalah seperti ini: HHH, TTT, HHH, TTT, HHH. Data tersembunyi adalah hasil . Perkirakan ,p 0 p 1c0p0p1 dan .p2

Dan dari sini : Ada dua koin dan dengan dan menjadi probabilitas masing-masing untuk mendarat di Head saat dilempar. Setiap putaran, pilih satu koin secara acak dan lemparkan sepuluh kali; catat hasilnya. Data yang diamati adalah hasil undian yang disediakan oleh dua koin ini. Namun, kita tidak tahu koin mana yang dipilih untuk babak tertentu. Perkirakan dan .cAcBpApBpApB

Meskipun saya bisa mendapatkan perhitungan, saya tidak bisa menghubungkan cara penyelesaiannya dengan teori EM asli. Secara khusus, selama Langkah-M dari kedua contoh, saya tidak melihat bagaimana mereka memaksimalkan apa pun. Sepertinya mereka menghitung ulang parameter dan entah bagaimana, parameter baru lebih baik daripada yang lama. Selain itu, kedua E-Step bahkan tidak terlihat mirip satu sama lain, belum lagi E-Step teori asli.

Jadi, bagaimana tepatnya contoh-contoh ini bekerja?

IcySnow
sumber
Dalam contoh pertama, berapa banyak contoh percobaan yang sama yang kita dapatkan? Dalam contoh kedua, apa hukum "pilih satu koin secara acak"? Berapa putaran yang kita amati?
Raphael
File PDF yang saya tautkan sudah menyelesaikan dua contoh ini langkah demi langkah. Namun, saya tidak begitu mengerti algoritma EM yang digunakan.
IcySnow
@ IcySnow, apakah Anda memahami konsep ekspektasi dan ekspektasi bersyarat dari variabel acak?
Nicholas Mancuso
Saya mengerti harapan dasar dari variabel acak dan probabilitas bersyarat. Namun, saya tidak terbiasa dengan harapan bersyarat, turunannya dan statistik yang cukup.
IcySnow

Jawaban:

12

(Jawaban ini menggunakan tautan kedua yang Anda berikan.)

Ingat definisi kemungkinan: di mana dalam kasus kami adalah penaksir untuk probabilitas bahwa koin A dan B masing-masing memiliki kepala, sebagai hasil percobaan kami, masing-masing terdiri dari 10 flips, dan menjadi koin yang digunakan dalam setiap percobaan.θ = ( θ A , θ B ) X = ( X 1 , ... , X 5 ) X i Z = ( Z 1 , ... , Z 5 )

L[θ|X]=Pr[X|θ]=ZPr[X,Z|θ]
θ=(θA,θB)X=(X1,,X5)XiZ=(Z1,,Z5)

Kami ingin menemukan penaksir kemungkinan maksimum . Algoritma Expectation-Maximization (EM) adalah salah satu metode untuk menemukan (setidaknya lokal) . Ia bekerja dengan menemukan ekspektasi bersyarat, yang kemudian digunakan untuk memaksimalkan . Idenya adalah bahwa dengan terus mencari lebih mungkin (yaitu lebih mungkin) di setiap iterasi kita akan terus meningkatkan yang pada gilirannya, meningkatkan fungsi kemungkinan. Ada tiga hal yang perlu dilakukan sebelum maju merancang algoritma berbasis EM. q qqPr[X,Z| θ]θ^θ^θθPr[X,Z|θ]

  1. Bangun model
  2. Hitung Harapan Bersyarat di bawah model (E-Step)
  3. Maksimalkan kemungkinan kami dengan memperbarui perkiraan kami saat ini (Langkah-M)θ

Bangun Model

Sebelum kita melangkah lebih jauh dengan EM kita perlu mencari tahu apa sebenarnya yang kita komputasi. Pada langkah-E kita menghitung persis nilai yang diharapkan untuk . Jadi, apa nilai ini? Perhatikan bahwa Alasannya adalah karena kami memiliki 5 percobaan untuk diperhitungkan, dan kami tidak tahu koin apa yang digunakan di masing-masing. Ketidaksamaan ini disebabkan olehlog Pr [ X , Z | θ ]catatanPr[X,Z|θ]catatan

logPr[X,Z|θ]=i=15logC{A,B}Pr[Xi,Zi=C|θ]=i=15logC{A,B}Pr[Zi=C|Xi,θ]Pr[Xsaya,Zsaya=C|θ]Pr[Zsaya=C|Xsaya,θ]saya=15C{SEBUAH,B}Pr[Zsaya=C|Xsaya,θ]catatanPr[Xsaya,Zsaya=C|θ]Pr[Zsaya=C|Xsaya,θ].
catatanmenjadi cekung dan menerapkan ketimpangan Jensen. Alasan kita membutuhkan batas bawah adalah bahwa kita tidak dapat secara langsung menghitung arg max dengan persamaan aslinya. Namun kita dapat menghitungnya untuk batas bawah akhir.

Sekarang apa itu ? Ini adalah probabilitas bahwa kita melihat koin diberikan percobaan dan . Menggunakan probabilitas bersyarat yang kami miliki,C X i θ Pr [ Z i = C | X i , θ ] = Pr [ X i , Z i = C | θ ]Pr[Zsaya=C|Xsaya,θ]CXsayaθ

Pr[Zsaya=C|Xsaya,θ]=Pr[Xsaya,Zsaya=C|θ]Pr[Xsaya|θ].

Meskipun kami telah membuat beberapa kemajuan, kami belum selesai dengan modelnya. Berapa probabilitas bahwa koin yang diberikan membalik urutan ? Membiarkan Sekarang adalah jelas hanya probabilitas di bawah kedua kemungkinan atau . Karena kita miliki, h i = # kepala di  X i Pr [ X i , Z i = C | θ ] = 1Xsayahsaya=#menuju Xsaya Pr[Xi| θ]Zi=AZi=BPr[Zi=A]=Pr[Zi=B]=1/2

Pr[Xsaya,Zsaya=C|θ]=12θChsaya(1-θC)10-hsaya,  untuk  C{SEBUAH,B}.
Pr[Xsaya|θ]Zsaya=SEBUAHZsaya=BPr[Zsaya=SEBUAH]=Pr[Zsaya=B]=1/2
Pr[Xi|θ]=1/2(Pr[Xi|Zi=A,θ]+Pr[Xi|Zi=B,θ]).

E-Step

Oke ... itu tidak terlalu menyenangkan tetapi kita dapat mulai melakukan beberapa pekerjaan EM sekarang. Algoritma EM dimulai dengan membuat beberapa tebakan acak untuk . Dalam contoh ini kita memiliki . Kami menghitung Nilai ini sejalan dengan apa yang ada di kertas. Sekarang kita dapat menghitung jumlah kepala yang diharapkan dalam dari koin , Melakukan hal yang sama untuk koin kita dapatkan, θ 0 = ( 0,6 , 0,5 ) Pr [ Z 1 = A | X 1 , θ ] = 1 / 2 ( 0,6 50,4 5 )θθ0=(0.6,0.5)

Pr[Z1=A|X1,θ]=1/2(0.650.45)1/2((0.650.45)+(0.550.55))0.45.
X1=(H,T,T,T,H,H,T,H,T,H)A
E[#heads by coin A|X1,θ]=h1Pr[Z1=A|X1,θ]=50.452.2.
B
E[#heads by coin B|X1,θ]=h1Pr[Z1=B|X1,θ]=50.552.8.
Kami dapat menghitung jumlah ekor yang sama dengan mengganti dengan . Ini berlanjut untuk semua nilai dan . Berkat linearitas ekspektasi, kita dapat mengetahui h110h1Xihi 1i5
E[#heads by coin A|X,θ]=i=15E[#heads by coin A|Xi,θ]

M-Step

Dengan nilai yang kami perkirakan, kini hadir langkah M di mana kami ingin memaksimalkan mengingat nilai yang kami harapkan. Ini dilakukan dengan normalisasi sederhana! Demikian juga untuk . Proses ini dimulai lagi dengan E-Step dan dan berlanjut sampai nilai-nilai untuk bertemu (atau ke beberapa ambang batas yang diijinkan). Dalam contoh ini kita memiliki 10 iterasi dan . Dalam setiap iterasi, nilai meningkat, karena perkiraan yang lebih baik dariθ

θSEBUAH1=E[#kepala X dengan koin SEBUAH|X,θ]E[#kepala dan ekor X dengan koin SEBUAH|X,θ]=21.321.3+9.60,71.
Bθ1θθ^=θ10=(0.8,0,52)Pr[X,Z|θ]θ .

Sekarang dalam kasus ini modelnya cukup sederhana. Hal-hal dapat menjadi jauh lebih rumit dengan cukup cepat, namun algoritma EM akan selalu menyatu, dan akan selalu menghasilkan estimator kemungkinan maksimum maksimum . Mungkin merupakan penaksir lokal , tetapi untuk menyiasatinya kita bisa memulai kembali proses EM dengan inisialisasi yang berbeda. Kita dapat melakukan ini dalam jumlah yang konstan dan mempertahankan hasil terbaik (yaitu, mereka yang memiliki kemungkinan akhir tertinggi).θ^

Nicholas Mancuso
sumber
Jika ada bagian yang tidak jelas saya dapat mencoba memperluasnya juga.
Nicholas Mancuso
Itu menjadi jauh lebih jelas sekarang. Apa yang saya tidak benar-benar dapatkan adalah mengapa jumlah kepala yang diharapkan untuk koin A dihitung sebagai: E [# kepala dengan koin A | X1, θ] = h1⋅Pr [Z1 = A | X1, θ] = 5⋅0.45 ≈2.2? Masalah yang disebutkan dalam PDF pertama lebih rumit. Jika Anda tidak keberatan, dapatkah Anda melakukan perhitungan ilustratif untuk itu juga? Terima kasih banyak atas jawaban Anda.
IcySnow
@IcySnow, sejauh perhitungan harapan berjalan: . Alasannya adalah Anda dapat menganggap ada variabel acak indikator lain jika A digunakan. Komputasi ekspektasi atas variabel indikator adalah probabilitas sederhana dari peristiwa itu. E[# kepala dengan koin SEBUAH|X1,θ]=# menuju X1Pr[Z1=SEBUAH|X1,θ]=5Pr[Z1=SEBUAH|X1,θ]
Nicholas Mancuso
Maaf atas jawaban yang lambat. Terima kasih kepada Anda, saya sekarang dapat benar-benar memahami logika di balik dua contoh koin, setelah melalui jawaban Anda berkali-kali. Ada satu hal terakhir yang ingin saya tanyakan mengenai pertanyaan ini: Contoh mulai dari halaman 8 di slide ini cs.northwestern.edu/~ddowney/courses/395_Winter2010/em.ppt menunjukkan bahwa pada M-Step, kita harus menghitung terlebih dahulu turunan dari fungsi log-likelihood dan menggunakannya untuk memaksimalkan harapan. Mengapa tidak ada sesuatu seperti itu di coin-melemparkan contoh M-Langkah? Karena M-Langkah ini tidak terlihat seperti memaksimalkan apa pun
IcySnow
Saya bingung dengan persamaan yang ditampilkan pertama setelah "Membangun Model". Bisakah Anda menjelaskan dari mana asalnya? Bagiku seperti , jadi jumlah bagian dalam adalah 1 untuk setiap , jadi seluruh sisi kanan menjadi nol. Saya yakin saya kehilangan sesuatu - dapatkah Anda menguraikan alasan tentang bagaimana Anda sampai pada persamaan itu? iPr[Zsaya=SEBUAH|Xsaya,θ]+Pr[Zsaya=B|Xsaya,θ]=1saya
DW