【EM算法】三硬币模型

【EM算法】算法及注解
三硬币模型是EM算法运用的一个经典例子
EM算法:

1.选择初值

2.E步求期望

3.M步求极大

4.迭代至收敛

目录

三硬币模型

极大似然估计方法

EM方法


三硬币模型

3枚硬币分别记作A、B、C,这些硬币正面出现的概率分别是,和。进行如下掷硬币试验:先掷硬币 A,根据其结果选出硬币B 或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立地重复n次试验(这里取n= 10),观测结果为:{1,1,0,1,0,0,1,0,1,1}

假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计参数,和。

目的是估计模型参数,自然地考量到极大似然估计方法

极大似然估计方法

三硬币模型可以写作:

:观测变量,表示一次试验观测的结果是 1 或 0

:隐变量(不可观测变量),表示未观测到的掷硬币 A 的结果

:模型参数

将观测数据表示为,未观测数据表示为则观测数据的似然函数为

展开得

考虑求模型参数的极大似然估计,即

实际上,这个问题没有解析解,只有通过迭代的方法求解。EM 算法就是可以用于求解这个问题的一种迭代算法。换句话说,EM算法是求解含有隐变量的概率模型参数的极大似然估计法。

EM方法

首先选取参数的初值,记作

然后通过E步和M步迭代计算参数的估计值。第次迭代参数的估计值为。EM 算法的第次迭代如下:

E 步:计算在模型参数 下观测数据来自掷硬币 B 的概率

M 步:计算模型参数的新估计值


进行数值计算。假设模型参数的初值取为

依据E步公式,对与均有

依据M步公式, 得到

再依据E步公式,得到

再依据M步公式, 得到

两次迭代结果一致,这时已经满足收敛条件

于是得到模型参数的极大似然估计

表示硬币 A 是均匀的,这一结果容易理解
EM算法对初值敏感:

如果取初值, 那么得到的模型参数的极大似然估计是。

相关推荐
dialect_10 小时前
KMP算法
开发语言·c++·算法
reikocao10 小时前
卡尔曼滤波的动态机制:P如何改变融合权重
算法
漂流瓶jz11 小时前
UVA-1612 猜名次 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·题解·排序·aoapc·算法竞赛入门经典
吞下星星的少年·-·11 小时前
Div.2 CF 1130B题(构造,贪心)
算法·贪心·构造
是main不是漫12 小时前
【双指针——移动零】数组划分类题目的入门基石
c++·算法
深圳市快瞳科技有限公司13 小时前
野外鸟类AI识别落地实录:输入适配、结构化输出、去重聚合与置信度分流的工程实践
算法·计算机视觉·鸟类识别·鸟类ai识别·野外鸟类观测·林业调查
专注仿真15 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
小豆庄15 小时前
视频遮罩追踪退场后ID撞号的排查—多目标场景下的失效
opencv·算法·bug·视频·python3.11
Tisfy16 小时前
LeetCode 3882.网格图中最小异或路径:动态规划
算法·leetcode·动态规划
Rocky Ding*16 小时前
深入浅出GroundingPI技术解析:精确空间感知如何迁移到机器人动作
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·具身智能