【西瓜书笔记】8. EM算法(上)

EM算法的引入

引入EM算法的原因:

概率模型有时候既含有观测变量,又含有隐变量或者潜在变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或者贝叶斯估计法估计模型参数。但是当模型含有隐变量时,就不能简单地使用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计法。

EM算法的例子

《统计学习方法》例9.1(三硬币模型):

假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率分别是 π\piπpppqqq 。进行如下掷硬币试验: 先掷硬币A,根据其结果选出硬币B或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立地重复n次实验(这里,n=10),观测结果如下
1,1,0,1,0,0,1,0,1,1 1,1,0,1,0,0,1,0,1,1 1,1,0,1,0,0,1,0,1,1
假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币正面出现的概率,即三硬币模型的参数。

对于每一次实验可以进行如下建模:
P(y∣θ)=∑zP(y,z∣θ)=∑zP(z∣θ)P(y∣z,θ) P(y \mid \theta)=\sum_{z} P(y, z \mid \theta)=\sum_{z} P(z \mid \theta) P(y \mid z, \theta) P(yθ)=zP(y,zθ)=zP(zθ)P(yz,θ)
随机变量y是观测变量,表示一次试验观测的结果是1或0;随机变量z是隐变量,表示未观测到的掷硬币A的结果。这里其实利用了P(A)=∑BP(A,B)P(A)=\sum_{B}P(A, B)P(A)=BP(A,B),以及P(A,B)=P(A)⋅P(A∣B)P(A, B)=P(A)\cdot P(A|B)P(A,B)=P(A)P(AB)。然后我们有
P(y∣θ)=∑zP(y,z∣θ)=∑zP(z∣θ)P(y∣z,θ)=P(z=1∣θ)P(y∣z=1,θ)+P(z=0∣θ)P(y∣z=0,θ)={ πp+(1−π)q, if y=1π(1−p)+(1−π)(1−q), if y=0=πpy(1−p)1−y+(1−π)qy(1−q)1−y \begin{aligned} P(y \mid \theta) &=\sum_{z} P(y, z \mid \theta)=\sum_{z} P(z \mid \theta) P(y \mid z, \theta) \\ &=P(z=1 \mid \theta) P(y \mid z=1, \theta)+P(z=0 \mid \theta) P(y \mid z=0, \theta) \\ &= \begin{cases}\pi p+(1-\pi) q, & \text { if } y=1 \\ \pi(1-p)+(1-\pi)(1-q), & \text { if } y=0\end{cases} \\ &=\pi p^{y}(1-p)^{1-y}+(1-\pi) q^{y}(1-q)^{1-y} \end{aligned} P(yθ)=zP(y,zθ)=zP(zθ)P(yz,θ)=P(z=1θ)P(yz=1,θ)+P(z=0θ)P(yz=0,θ)={ πp+(1π)q,π(1p)+(1π)(1q), if y=1 if y=0=πpy(1p)1y+(1π)qy(1q)1y
这里θ=(π,p,q)\theta=(\pi, p, q)θ=(π,p,q)是模型参数。将观测数据表示为Y=(Y1,Y2,…,Yn)TY=\left(Y_{1}, Y_{2}, \ldots, Y_{n}\right)^{T}Y=(Y1,Y2,,Yn)T,未观测数据表示为Z=(Z1,Z2,…,Zn)TZ=\left(Z_{1}, Z_{2}, \ldots, Z_{n}\right)^{T}Z=(Z1,Z2,,Zn)T,则观测数据的似然函数为每次实验累乘的结果:
P(Y∣θ)=∑ZP(Z∣θ)P(Y∣Z,θ)=∏j=1nP(yj∣θ)=∏j=1n[πpyj(1−p)1−yj+(1−π)qyj(1−q)1−yj] P(Y \mid \theta)=\sum_{Z} P(Z \mid \theta) P(Y \mid Z, \theta)=\prod_{j=1}^{n} P\left(y_{j} \mid \theta\right)\\ =\prod_{j=1}^{n}\left[\pi p^{y_{j}}(1-p)^{1-y_{j}}+(1-\pi) q^{y_{j}}(1-q)^{1-y_{j}}\right] P(Yθ)=ZP(Zθ)P(YZ,θ)=j=1nP(yjθ)=j=1n[πpyj(1p)1yj+(1π)qyj(1q)1yj]
考虑求模型参数θ=(π,p,q)\theta=(\pi, p, q)θ=(π,p,q)的极大似然估计,也就是使用对数似然函数来进行参数估计可得:
θ^=arg⁡max⁡θln⁡P(Y∣θ)=arg⁡max⁡θln⁡∏j=1n[πpyj(1−p)1−yj+(1−π)qyj(1−q)1−yj]=arg⁡max⁡θ∑j=1nln⁡[πpyj(1−p)1−yj+(1−π)qyj(1−q)1−yj] \begin{aligned} \hat{\theta} &=\arg \max _{\theta} \ln P(Y \mid \theta) \\ &=\arg \max _{\theta} \ln \prod_{j=1}^{n}\left[\pi p^{y_{j}}(1-p)^{1-y_{j}}+(1-\pi) q^{y_{j}}(1-q)^{1-y_{j}}\right] \\ &=\arg \max _{\theta} \sum_{j=1}^{n} \ln \left[\pi p^{y_{j}}(1-p)^{1-y_{j}}+(1-\pi) q^{y_{j}}(1-q)^{1-y_{j}}\right] \end{aligned} θ^=argθmaxlnP(Yθ)=argθmaxlnj=1n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值