Python机器学习,你怎么可以不懂EM算法?

EM算法:

最大期望算法是一类通过迭代进行极大似然估计的优化算法,通常作为牛顿迭代法的替代,用于对包含隐变量或缺失数据的概率模型进行参数估计。

在进行了解之前,我们先通过一个抛硬币的经典例子来解释EM算法的由来:
现在我们有两枚硬币 A 和 B,这两枚硬币和普通的硬币不一样,他们投掷出正面的概率和投掷出反面的概率不一定相同。

我们将 A 和 B 投掷出正面的概率分别记为θA和θB。独立地做 5 次试验:
随机的从这两枚硬币中抽取 1 枚,投掷 10 次,统计出现正面的次数,如下图:
在这里插入图片描述

在实验中,记录两组随机变量:
X = (X1 , X2 , X3 , X4 , X5 )
Z = (Z1 , Z2 , Z3 , Z4 , Z5 )
其中 Xi ∈ { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } 代表试验 i 中出现正面的次数,
Zi∈{ A, B } 代表这次 试验投掷的是硬币 A 还是硬币 B。
目标是通过这个实验来估计θ= (θA ,θB) 的数值。
这个实 验中的参数估计是有完整数据的参数估计,因为我们不仅知道每次试验中投掷出正面的次数,还知道每次试验中投掷的是硬币 A还是B。可以很直接的估计θ的方法

在这里插入图片描述

这样的估计是统计上的极大似然估计的结果。用 P (X, Z | θ) 来表示 X,Z 的联合概率分布(其中带有参数 θ),对于上面的实验,可以计算出现观察到的结果:
即 x0 = (5, 9, 8, 4, 7), z0 = (B, A, A, B, A) 的概率。
函数 P (X = x (0) , Z = z (0) | θ) 就叫做 θ 的似然函数。
在这里插入图片描述
只知道每次试验有几次投掷出正面,但是不知道每次试验投掷的是哪个硬币,这个时候就称 Z 为 隐藏变量 (Hidden Variable),X 称为观察变量 (Observed Variable)。
此时估计参数 θA 和θB,就没有那么多数据可供使用了,这个时候的估计叫做不完整数据的参数估计。如果没有方法来获得更多的数据的话,那么利用迭代的方式来进行
在这里插入图片描述
如上图所示,EM算法分为两个步骤,分别是E-step和M-step:
a.E-step:
先赋给 θ 一个初始值,可以是经验也也可以是猜测,这里给定 θA = 0.6, θB = 0.5。
判断或者猜测每次投掷更像是哪枚硬币投掷的结果。
对于上述试验,如果投掷的是 A,那么出现 5个正面的概率为prob_a = ?10 5 ×0.65×0.45 ;
如果投掷的是B,出现5个正面的概率为 ???_? = ?10 5 ×0.55×0.55;
基于上述试验的结果,可以判断:
这个试验投掷的是硬币 A 的概率为 prob_a/(prob_a+ prob_b)=0.45,
是 B 的概率为 prob_b/(prob_a+ prob_b)=0.55 。

如果是A,则正面的个数为5× prob_a/(prob_a+ prob_b) = 2.2,
反面个数为(10-5) × prob_a/(prob_a+ prob_b) = 2.2。
如果是B,则正面的个数为5× prob_b/(prob_a+ prob_b) = 2.8,
反面个数为(10-5) × prob_b/(prob_a+ prob_b) = 2.8。
b.M-step:
利用完整数据的参数估计一样 (公式2) 重新计算θ的值。
迭代 E和M 步骤直到收敛,我们就得到了θ的估计

详细教程细节可观看视频学习:
视频节选自王静老师的Python数据分析-入门案例实战

王静老师:中国科学院博士/国际期刊审稿国家重大项目负责人/国家自然科学基金专家。

课程历经三个月打磨,对于基于位置服务的应用案例进行剖析,通过具体案例结合实际,实现Python学习的从零入门。

学习完整个课程你可以学到:
1.快速的进行python语言的入门,并在使用过程中得到提升
2.python常用库的深入理解
3.机器学习算法原理的讲解及python实现
4.机器学习、python处理轨迹数据的案例应用

下面附全部课程的视频链接,希望对你有用
https://edu.csdn.net/course/detail/25576

扫码入Python技术交流群,可免费听技术讲座+领学习资料+视频课免费看!
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值