机器学习笔记(十六)——EM算法概述
生活随笔
收集整理的這篇文章主要介紹了
机器学习笔记(十六)——EM算法概述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、引言
????按照計劃,這周應該學習HMM中的第三個基本問題:參數估計問題,但是其中的內容涉及到了EM算法,所以打算先把EM算法搞定之后再去繼續HMM的問題。EM算法的推導過程比較復雜,這節我只給出簡述和計算公式,待推導完成后再貼上推導過程。
二、一個實例
例1 (三硬幣模型) 假設有3枚硬幣,分別記為A,B,C。這些硬幣正面出現的概率分別是π,p,q。進行如下擲硬幣試驗:先擲硬幣A,根據其結果選出B或者C,正面選B,反面選C;然后擲選出的硬幣,擲硬幣的結果,正面記為1,反面記為0;獨立重復n次試驗(這里,n=10),觀測結果如下:1,1,0,1,0,0,1,0,1,1.假設只能觀測到擲硬幣的結果,不能觀測擲硬幣的過程。問如何估計三硬幣正面出現的概率,即求三硬幣模型的參數。
????三硬幣模型可以寫作:
上式中,隨機變量 y是觀測變量,z是隱變量且不可觀測, θ=(π,p,q)是模型參數。這一模型是以上數據的生成模型。將觀測數據表示為 Y=(Y1,Y2,…,Yn)T, 未觀測數據表示為 Z=(Z1,Z2,…,Zn)T,則觀測數據的似然函數為:
P(Y;θ)=∑zP(Z;θ)P(Y|Z;θ)=∏j=1n[πpyj(1?p)1?yj+(1?π)qyj(1?q)1?yj]
三、EM算法的迭代公式
????考慮求模型參數θ=(π,p,q)的極大似然估計,即:
這個問題沒有解析解,只有通過迭代方法求解,EM算法就是求解這個問題的一種算法。下面先給出去針對上述問題的EM算法,推導過程下節給出。
1. 選取初始參數 θ(0)=(π(0),p(0),q(0))
2. E步:計算模型參數 π(i),p(i),q(i)下觀測數據 yj來自擲硬幣B的概率:
μ(i+1)=π(i)(p(i))yj(1?p(i))1?yjπ(i)(p(i))yj(1?p(i))1?yj+(1?π(i))(q(i))yj(1?q(i))1?yj
3. M步:計算模型參數的新估計值:
π(i+1)=1n∑j=1nμ(i+1)jp(i+1)=∑nj=1μ(i+1)jyj∑nj=1μ(i+1)jq(i+1)=∑nj=1(1?μ(i+1)j)yj∑nj=1(1?μ(i+1)j)
4. 給出停止迭代的條件, 一般是較小的正數 ε, 滿足:
||θ(i+1)?θ(i)||<ε
重復上式2-4步,完成求解,需要注意的是EM算法對初始值的選取是相當敏感的。
總結
以上是生活随笔為你收集整理的机器学习笔记(十六)——EM算法概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32开发 -- IAP详解
- 下一篇: Druid 介绍及配置