EM算法的形式化推导
EM算法的形式化推导:
——序:
EM算法的思想在K_Means, GMM, Semi-GMM, HMM,等算法/模型中均有应用,事实上,对于任何带有隐变量的问题,都可以用EM来求解,可以说EM是机器学习中的一个极其重要的算法。其基本思想是:首先根据己经给出的观测数据,估计出模型参数的值;然后再依据上一步估计出的参数值估计缺失数据的值(E-step),再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计(M-step),然后反复迭代,直至最后收敛,迭代结束。
下面这张图可以说是,形象的刻画了EM的算法过程:反复构造优化问题的下界并求解最优值。
下面通过形式化的推导来验证这一过程.
假设模型参数为theta, 样本:{xl+1,…, xl+n}, 隐变量:z,则似然函数可以写为:
然后对上式变形(为了引入期望):
由Jessen不等式,对于凹函数logx, 其相应的Jessen不等式可以写为:
由此,可获得似然函数的下界:
右边写为:
其中第二项不影响优化,忽略掉,写成期望的形式:
最大化似然函数等价于最大化前后两次似然函数值之差:
然后可得**对数似然函数的下界 **:l(theta|theta’t), 其中delta项为前后两个概率分布的K-L散度
接下来,最大化该下界:
去掉常数项以及无关项,由此得到EM的形式化描述:
参考:
- https://www.cnblogs.com/pinard/p/6912636.html
- https://blog.csdn.net/qq_39388410/article/details/78235754
EM算法的形式化推导相关推荐
- EM算法的原理推导及解释
文章目录 EM算法的原理推导及解释 前置知识:极大似然估计(Maximum Likelihood) 核心部分:期望最大化算法(Expectation Maximum) 实例:EM求解"三硬币 ...
- 机器学习之EM算法的原理推导及相关知识总结
文章目录 1.知道先验概率和后验概率 2.了解高斯混合模型GMM 3.通过最大似然估计推导EM算法的过程的实例 4.EM算法 5.知道pLSA模型 1.知道先验概率和后验概率 先验概率(prior p ...
- GMM 模型与EM算法求解详细推导
1. 高斯模型与高维高斯模型介绍 高斯模型也就是正态分布模型,该模型最早可见于我们的高中数学教材中.闻其名知其意,正态分布是自然界中普遍存在的一种分布.比如,考试成绩,人的智力水平等等.都是大致呈现为 ...
- 机器学习系列之EM算法
机器学习系列之EM算法 我讲EM算法的大概流程主要三部分:需要的预备知识.EM算法详解和对EM算法的改进. 一.EM算法的预备知识 1.极大似然估计 (1)举例说明:经典问题--学生身高问题 我们需要 ...
- EM算法(Expectation Maximization Algorithm)
文章目录 1. 前言 2.基础数学知识 2.1.凸函数 2.2.Jensen不等式 3.EM算法所解决问题的例子 4.EM算法 4.1.模型说明 4.2.EM算法推导 4.3.EM算法收敛性证明 4. ...
- 机器学习 | EM 算法原理
文章目录 EM 算法 1. EM 算法的引入 三硬币模型 2. EM 算法 Q 函数 参考文献 相关文章: 机器学习 | 目录 无监督学习 | GMM 高斯混合原理及Sklearn实现 本文大部分内容 ...
- 机器学习——EM算法
EM算法 EM算法是一种常用的估计参数隐变量的利器,也称为期望最大算法,是数据挖掘的十大经典算法之一.EM算法主要应用与训练样本不完整即存在隐变量时的情形(例如某个属性值未知),通过独特的两步走策略能 ...
- python 数学期望_python机器学习笔记:EM算法
完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote EM算法也称期望最大化 ...
- EM算法从直观到数学理解
0x00 引言 EM算法是什么?什么是E(Epectation)?什么是M(Maximization)?什么又是公式里面出现的Q函数?这些公式都是怎么推导的?Nature抛硬币的那个图怎么就看不懂嘞? ...
- EM算法(1)—— 彻底理解EM算法推导
最近看了很多关于EM算法推导的文章,包括<统计学习方法(第二版)>中关于EM算法的内容,总感觉说得不够清楚.虽然公式都写得挺详细,但是没有说清楚为什么要这样算,怎么想到这样变形的,本文总结 ...
最新文章
- 阅读Book: MultiObjective using Evolutionary Algorithms (2) -- Multi-Objective Optimization: 各种解释多目标
- Binder相关面试总结(一):为什么Android要采用Binder作为IPC机制?
- Python程序设计题解【蓝桥杯官网题库】 DAY5-基础练习
- Bash 中的特殊字符大全
- re:Invent 大会第一天,看看AWS有哪些最新进展?\n
- configure project qt,如何为Qt Framework配置CLion IDE?
- 卸载后以前拍的视频会删除吗_可立拍!苹果自己的视频编辑App是一个被忽视的好工具...
- Linux环境安装配置JDK
- 点击元素改变样式,再点击,又变回去,来回变
- 拓端tecdat|Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load(file, DLLpath = DLLpath,
- CDA LEVELⅠ2021最新模拟题一(全网最详细有答案)
- XPT2046电阻触摸屏芯片的使用
- 3分钟tips:高斯分布和高斯积分的关系
- styleSheets
- bluehost虚拟主机有什么用?适合做什么网站呢?
- 金山 WPS 2016 春季实习校招笔试面试回忆
- JavaCV - 图像色温调整
- SDK无埋点技术在百分点的探索和实践
- 【建议】个人竞争力≠个人竞争力模型
- 添加打印机还显示脱机_打印机脱机状态怎么解除