📖机器学习|EM算法
2024-6-22|2024-8-2
黎明
type
status
date
slug
summary
tags
category
icon
password
进度
EM解决什么问题 🤔
模型已定,参数未知。通俗理解是根据已知样本信息,推断出最有可能导致出现样本结果的参数值,重要的是存在隐变量。
已知观察变量:
未知隐变量:
求参数:
优点:
- 计算相对简单
- 收敛是稳定的
缺点:
- 初始值敏感,需要尝试不同的初始值
- 局部最优解
- 若数据集非常大,则计算量也非常大
隐变量是什么🤔
在概率模型中,有时既有观察变量,又有隐变量。示例如下:假设有两个盒子,编号1和2。每个盒子装有不同颜色的球。在实验中不知道从哪个盒子抓取球,只观察到抓到球的颜色。
- 盒子1
- 3个红球 🏀🏀🏀
- 2个白球 ⚽⚽
- 盒子2
- 1个红球 🏀
- 4个白球 ⚽⚽⚽⚽
球的颜色是观察变量,盒子编号是隐变量。
专业俗语 📖
- : likelihood function
- EM : expectation maximization
- 隐变量: latent variables
- 观察变量: observed variables
- 极大似然估计: MLE, Maximum Likelihood Estimation
算法定义 😇
给定统计模型,已知生成观察数据集,未知观察数据集和未知参数向量和似然函数。
连续概率函数:
离散概率函数:
目标是求解,但是隐变量是未知的,的概率分布也是未知。
1977年哈佛大学3位教授提出EM算法,它是一种迭代算法,用于求解参数的极大似然估计在含有隐变量的统计模型中。
Arthur Dempster
亞瑟·丹普斯特
哈佛大学统计系的名誉教授
Nan McKenzie Laird
南·麦肯齐·莱尔德
哈佛大学统计系的名誉教授
Donald Bruce Rubin
唐纳德·布鲁斯·鲁宾
哈佛大学统计系的名誉教授
EM算法是通过不断求解下界的极大化逐步逼近求解对数似然函数极大化的算法。
先定义函数:
期望的理解:掷骰子示例求期望;
- 表示期望
- 是给定观察变量和当前估计参数下隐变量的条件概率分布
- 表示对数似然估计函数
完全数据的对数似然函数关于在给定观察变量X和当前参数下对隐变量的条件概率分布的期望称为Q函数
步骤:
- 初始化参数,注意算法对初始值是敏感的。
- E步求解。
- M步求解的极大值,得到。完成→迭代。
- 停止迭代条件,一般是给定较小的和,若满足以下条件,则停止迭代。
或
🤔 目标是求解,EM算法是如何实现的?我们面对一个含有隐变量的概率模型,目标是极大化观察数据关于参数的对数似然估计。
联合概率变换:
EM算法通过迭代的方式逼近; 假设第t次迭代后参数的估计值是, 希望新估计值能使增加,则有如下:
所以:
利用Jensen inequality(詹森不等式):其中 且
, 且
令:
则:
函数是的一个下界
当时:
因此,任何可以使增大的,也可以使增大。
展开:
是关于 的函数和 是关于的常量
EM算法通过不断迭代求解
收敛性证明📖
在EM算法中,需要不断通过E步和M步来不断求解 →,那么EM算法是否收敛?如果收敛,收敛到全局最大值还是局部极大值?
证明单调递增:
即:
联合概率:取对数:由EM算法可知:令:则:
则:
由于使达到极大值,则:
只需证明
利用詹森不等式:其中 且
则:
因此:
EM算法是收敛的
投硬币示例 ✅
引用《What is the expectation maximization algorithm》中示例。有两枚硬币,和, 目标是求解两枚硬币各自正面朝上的概率。
实验过程:总计5轮实验,每轮置10次。
实验一:明确知道实验使用的硬币
实验二: 不知道实验使用硬币
实验表明:使用3次硬币,2次硬币
先验概率:
含有隐变量的概率模型,无法直接求解。
- 初始化
- EM迭代
- 第一次
期望 | H | T |
Coin A | 0.45*5=2.2 | 0.45*5=2.2 |
Coin B | 0.55*5=2.8 | 0.55*5=2.8 |
- 第二次
期望 | H | T |
Coin A | 0.80*9=7.2 | 0.80*1=0.8 |
Coin B | 0.20*9=1.8 | 0.20*1=0.2 |
- 第三次
期望 | H | T |
Coin A | 0.73*8=5.9 | 0.73*2=1.5 |
Coin B | 0.27*8=2.1 | 0.27*2=0.5 |
- 第四次
期望 | H | T |
Coin A | 0.35*4=1.4 | 0.35*6=2.1 |
Coin B | 0.65*4=2.6 | 0.65*6=3.9 |
- 第五次
期望 | H | T |
Coin A | 0.65*7=4.5 | 0.65*3=1.9 |
Coin B | 0.35*7=2.5 | 0.35*3=1.1 |
下一轮两枚硬币和的似然估计
参考文章 🔗
Loading...
- 关于
黎明
当机器会思考时,会不会失业?!
博客 已经上线🎉
但行耕耘,不问收获 🤪
-- 感谢您的支持 ---