00-EM算法
来源:互联网 发布:java的编程思想是什么 编辑:程序博客网 时间:2024/06/06 20:51
在GMM/HMM(语音识别)训练过程中,需要使用EM算法进行求解模型参数。所以,本文主要推导一下EM算法。即明白什么是期望最大化?
Outline:
- 极大似然估计(Maximum Likelihood Estimation, MLE)
- 期望最大化算法(Expectation Maximization, EM)
我们知道如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法(MLE),或者贝叶斯估计法来估计模型参数(如:求在校学生身高分布)。然而,当模型中含有隐藏变量时,就不能简单地使用这些估计方法(如:《统计学习方法-李航》中的三硬币模型)。所以,在含有隐变量(Latent Variables)统计模型中,就需要利用EM算法来找到符合观测数据的最大似然的模型参数。
1.极大似然估计(Maximum Likelihood Estimation, MLE)
假如有
所有观测的联合密度函数:
极大化似然函数:
得到的
2.期望最大化算法(Expectation Maximization,EM)
然而在一些实际问题中,所要求解的概率模型含有Latent Variable,导致无法利用ML直接计算。(注:下式是向量形式,对向量形式求概率实际上对每一个观测值概率做累乘,
因为有Latent Variable存在,在求 时会遇到困难。所以应把Latent Variable考虑进去求解
我们的目标是最大化
(2.4)到(2.5),
(2.4)到(2.5),利用到了Jensen不等式:
(2.5)到(2.6),利用
当
以上就是EM算法的导出过程。
- Expectation-Step: 确定条件期望
- Maximization-Step: 最大化期望值,更新
但实际使用中,可能有点misnomer。因为我们这样使用:
1. 选择初始值 ,开始迭代;
2. E-step:计算的是有关
3. M-step:更新模型参数
4. 重复2, 3,直至收敛
具体EM算法收敛性证明,见参考资料:《统计学习方法_9.2》- 李航
- 00-EM算法
- EM 算法
- EM 算法
- EM算法
- EM算法
- EM算法
- EM算法
- EM算法
- EM算法
- EM算法
- EM算法
- EM算法
- EM算法
- EM算法
- em算法
- EM算法
- EM算法
- EM算法
- MySQL安装目录
- 应用统计学与R语言实现学习笔记(四)——抽样方法与抽样分布
- 逆向工程核心原理学习笔记(十六):栈帧3:add()函数参数传递与调用
- Intellij IDEA 快捷键整理
- Java设计模式
- 00-EM算法
- 关于shellll脚本的基本编译
- LVM:logcal volume manager逻辑卷管理器
- bzoj3039 玉蟾宫 (悬线法)
- ubuntu使用命令粉碎文件
- ROS系统架构
- L1-002. 打印沙漏
- 1028. 人口普查(20)
- Android广播机制(下)