文章目录
0.前言
1.E-M在解决什么问题?(一句话概括EM)
2.E-M是一种模型么?
3.E-step和M-step分别指的是什么?
4.E-M的优化目标是什么?
5.E-M收敛么,为什么?
6.怎么理解隐变量,对任意模型都可以引入隐变量么?(隐变量的合理性)
7.如何理解GMM中的隐变量
8.怎么理解GMM和E-M之间的关系?
9.GMM可以做什么事情?
10.GMM和K-means之间有什么联系?
参考文献
源码
0.前言
看过很多博客“详解EM和GMM算法”这之类的,也看过李航《统计学基础》上的EM和GMM,这里总结一下几个问题,如果以下问题可以解决,我觉得EM算法和GMM模型就理解的相当好了。本文章不做数学推导,主要从大体上理解算法和模型(先弄懂算法在干什么比一味的推理公式要好很多),文末会附加pdf里边有详细的数学推导,当然你也可以参考其他博客的推导。
1.E-M在解决什么问题?(一句话概括EM)
①E-M在解决数据缺失的参数估计问题,这里缺失的参数就是所谓的隐变量。
②E-M在近似实现对观测数据的极大似然估计(Maximum Likelihood Estimation)
③当MLE过程中存在 log-sum项,虽然很好求导,但是求解起来简直怀疑人生,尤其是当数据量很大,模型比较复杂时,想死的心都有。
2.E-M是一种模型么?
①Sorry,如果你理解E-M为一种模型,那你从一开始就错了,EM只是用来解决问题的算法,你也可以理解为一种框架。
②我举个栗子,现在假如有一件事A,一般我们用方法B去解决,虽然B有时候很管用,但是在A变得比较复杂的时候,B就不行了,此时一位精神小伙走过来对B说:兄弟,让一让,我要开始装x了,那么这个小伙子就是EM(A Method That Better Than B)
3.E-step和M-step分别指的是什么?
①E-step:Expectation,就是求期望,关于谁呢,关于隐变量后验分布的期望。
②M-step:maximazation最大化期望,求出参数
③E步和M步不断迭代,直至收敛
④其实更深一步讲,后验分布一般求不出来,这就是为什么有变分推断的原因(本文不做说明,可以忽略)
4.E-M的优化目标是什么?
从EM解决了什么问题出发,很容易知道EM的优化目标是观测数据的似然函数最大化,怎么最大化,有个Q函数的概念,不做解释。
5.E-M收敛么,为什么?
答案是肯定的,这一块不做解释,因为有很多数学公式可以推导出来,