机器学习 | EM 算法原理


相关文章:

机器学习 | 目录

无监督学习 | GMM 高斯混合原理及Sklearn实现

本文大部分内容搬运自李航老师的《统计学习方法》[1],以给出 EM 算法较为完整的定义。

EM 算法

EM 算法是一种迭代算法,1977 年由 Dempster 等人总结提出,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验估计。

EM 算法的每次迭代由两步组成:E 步:求期望(expectation);M 步:求极大(maximization)。所以这一算法称为期望极大算法(expectation maximization algorithm, EM)。

1. EM 算法的引入

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

三硬币模型

假设有三枚硬币,分别记作 A,B,C。这些硬币正面出现的概率分别是 π \pi π p p p q q q。进行如下掷硬币试验:

先掷硬币 A ,若为正面则选硬币 B ,若为反面则选硬币 C ;然后掷 A 选出的硬币( B 或 C ),若为正面则记作 1,若为反面则记作 0,试验结束。

独立重复试验 n n n 次(这里 n = 10 n=10 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 ∣ θ ) = ∑ z P ( y , z ∣ θ ) = ∑ z P ( z ∣ θ ) P ( y ∣ z , θ ) = π p y ( 1 − p ) 1 − y + ( 1 − π ) q y ( 1 − q ) 1 − y (1) \begin{aligned} P(y | \theta) &=\sum_{z} P(y, z | \theta)=\sum_{z} P(z | \theta) P(y | z, \theta) \\ &=\pi p^{y}(1-p)^{1-y}+(1-\pi) q^{y}(1-q)^{1-y} \end{aligned} \tag{1} P(yθ)=zP(y,zθ)=zP(zθ)P(yz,θ)=πpy(1p)1y+(1π)qy(1q)1y(1)

这里,随机变量 y y y观测变量,表示一次试验观测的结果是 1 或 0;随机变量 z z z隐变量,表示未观测到的掷硬币 A 的结果; θ = ( π , p , q ) \theta=(\pi,p,q) θ=(π,p,q) 是模型参数。这一模型是以上数据的生成模型。注意,随机变量 y y y 的数据可以观测,随机变量 z z z 的数据不可观测

将观测数据表示为 Y = ( Y 1 , Y 2 , . . . , Y n ) T Y=(Y_1,Y_2,...,Y_n)^T Y=(Y1,Y2,...,Yn)T ,未观测数据表示为 Z = ( Z 1 , Z 2 , . . . , Z n ) T Z=(Z_1,Z_2,...,Z_n)^T Z=(Z1,Z2,...,Zn)T,则观测数据的似然函数为:

P ( Y ∣ θ ) = ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) (2) P(Y|\theta)=\sum_Z P(Z|\theta)P(Y|Z,\theta) \tag{2} P(Yθ)=ZP(Zθ)P(YZ,θ)(2)

P ( Y ∣ θ ) = ∏ j = 1 n [ π p y j ( 1 − p ) 1 − y j + ( 1 − π ) q y j ( 1 − q ) 1 − y j ] (3) P(Y | \theta)=\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] \tag{3} P(Yθ)=j=1n[πpyj(1p)1yj+(1π)qyj(1q)1y

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值