EM算法学习

1.EM算法的介绍


可以发现:计算出θA和θB的值的前提是知道A、B币种的抛掷情况。
所以我们需要使用EM算法:求出每轮选择硬币种类的概率

2.EM算法执行过程:

第一步:首先初始化设置一组PA和PB证明的值。然后通过最大似然估计得到每轮实验对于硬币种类的选择。【E步】

第二步:继续用最大似然估计,和第一步进行迭代。

首先得到标准答案:

然后随机初始化,进行假设第一轮是AorB:

得到第一轮PA正=0.005

然后假设第一轮的硬币是B,得到概率:0.03

可以得到:【这个过程就是E步】

得到隐变量的选择序列后,再根据这个序列重新计算PA和PB的结果**(M步:)**

然后E和M所对应的初始化值和估计值进行对比:

然后在第二轮迭代时,重选择使用的硬币

然后基于新的硬币序列重新计算PA和PB,会发现计算结果越来越接近真实的PA=0.4和PB=0.5

结论:

EM最终迭代后的结果不一定就刚好满足最初设想的真实值,最终结果取决于初始化情况。

相关推荐
信奥卷王38 分钟前
[GESP202609 六级] 分树规划
算法
夏幻灵1 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
qq_284274052 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
徐小黑ACG2 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
qq_284274053 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
Navigator_Z3 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛3 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记3 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
Titan20244 小时前
MySQL访问个人学习笔记
笔记·学习·mysql