EM算法以及推导
EM算法
Jensen不等式
其实Jensen不等式正是我们熟知的convex函数和concave函数性质,对于convex函数,有
\[
\lambda f(x) + (1-\lambda)f(y)\ge f(\lambda x + (1-\lambda)f(y)),\ where\ 0\le\lambda\le 1
\]
推广一下,便有
\[
f(\sum_{i=1}^n\lambda_ix_i)\le\sum_{i=1}^n\lambda_if(x_i),\ where \sum_{i=1}^n\lambda_i = 1
\]
这就是Jensen不等式,写成期望的形式便有
\[
f(E(x))\le E(f(x))
\]
对于concave函数,只需不等号反向,因为对convex函数取负得到的是concave函。
EM算法推导
我们的目的是最大化似然函数\(P(X|\theta)\),为了计算方便,取对数,得到
\[
L(\theta)=\ln P(X|\theta)
\]
假设我们已知\(\theta^n\),现在要求新的\(\theta\),为了极大化似然函数,我们期望最大化
\[
\max(L(\theta)-L(\theta'))
\]
于是有
\[
\begin{align*}
L(\theta) - L(\theta') &= \log\left(\sum_ZP(Y|Z,\theta)P(Z|\theta)\right) - \log P(Y|\theta')\\
&= \log\left(\sum_ZP(Z|Y,\theta')\dfrac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta')}\right) - \log P(Y|\theta')\\
&\ge \sum_ZP(Z|Y,\theta')\log\dfrac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta')} - \log P(Y|\theta')\\
&= \sum_ZP(Z|Y,\theta')\log\dfrac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta')} - \log P(Y|\theta')\sum_ZP(Z|Y,\theta')\\
&= \sum_ZP(Z|Y,\theta')\log P(Y|Z,\theta)P(Z|\theta) - \log P(Y|\theta') - \sum_ZP(Z|Y,\theta')\log P(Z|Y,\theta')
\end{align*}
\]
后面两项是常数项,去掉还是等价的。于是便有
\[\begin{align*}
\arg\max_\theta L(\theta) - L(\theta') &= \arg\max_\theta\sum_ZP(Z|Y,\theta')\log P(Y|Z,\theta)P(Z|\theta) \\
&- \log P(Y|\theta') - \sum_ZP(Z|Y,\theta')\log P(Z|Y,\theta')\\
&= \arg\max_\theta\sum_ZP(Z|Y,\theta')\log P(Y|Z,\theta)P(Z|\theta)\\
&= \arg\max_\theta \sum_ZP(Z|Y,\theta')\log P(Y,Z|\theta)
\end{align*}\]
上面这种形式是采用李航的《统计学习方法》中的形式,与PRML中的形式初看有些不一样,我们只需要把最初的\(P(Y|Z,\theta)P(Z|\theta)\)替换为\(P(Y,Z|\theta)\)就一样了。
EM算法以及推导的更多相关文章
- EM算法简易推导
EM算法推导 网上和书上有关于EM算法的推导,都比较复杂,不便于记忆,这里给出一个更加简短的推导,用于备忘. 在不包含隐变量的情况下,我们求最大似然的时候只需要进行求导使导函数等于0,求出参数即可.但 ...
- 【机器学习】EM算法详细推导和讲解
今天不太想学习,炒个冷饭,讲讲机器学习十大算法里有名的EM算法,文章里面有些个人理解,如有错漏,还请读者不吝赐教. 众所周知,极大似然估计是一种应用很广泛的参数估计方法.例如我手头有一些东北人的身高的 ...
- EM算法-完整推导
前篇已经对EM过程,举了扔硬币和高斯分布等案例来直观认识了, 目标是参数估计, 分为 E-step 和 M-step, 不断循环, 直到收敛则求出了近似的估计参数, 不多说了, 本篇不说栗子, 直接来 ...
- Machine Learning系列--EM算法理解与推导
EM算法,全称Expectation Maximization Algorithm,译作最大期望化算法或期望最大算法,是机器学习十大算法之一,吴军博士在<数学之美>书中称其为“上帝视角”算 ...
- EM算法理论与推导
EM算法(Expectation-maximization),又称最大期望算法,是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计(或极大后验概率估计) 从定义可知,该算法是用来估计参数的,这 ...
- EM算法
EM算法的推导
- 猪猪的机器学习笔记(十四)EM算法
EM算法 作者:樱花猪 摘要: 本文为七月算法(julyedu.com)12月机器学习第十次次课在线笔记.EM算法全称为Expectation Maximization Algorithm,既最大 ...
- EM算法原理总结
EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等.本文就对 ...
- NLP —— 图模型(零):EM算法简述及简单示例(三硬币模型)
最近接触了pLSA模型,该模型需要使用期望最大化(Expectation Maximization)算法求解. 本文简述了以下内容: 为什么需要EM算法 EM算法的推导与流程 EM算法的收敛性定理 使 ...
随机推荐
- 一个简单的Javascript闭包示例
//=====用闭包实现函数的Curry化===== //数字求和函数的函数生成器 function addGenerator( num ){ //返回一个简单的匿名函数,求两个数的和,其中第一个数字 ...
- html5学习(新增元素)
来源于<实战html5>contenteditable 规定是否可编辑元素的内容 css3圆角 border-radius旋转变换 transform:rotate(); 变换 trans ...
- http post上传文件
php.ini中关于文件上传的配置指令: file_uploads = On //是否接受上传的文件 upload_tmp_dir //临时文件保持目录 ...
- ActiveMq 高级特性的使用
消费者的 destination 可以使用 wildcards 生产者的 destination 可以使用 composite destinations VirtualTopic 真是一大利器,当初读 ...
- jekyll+github搭建个人博客总结
jekyll+github搭建个人博客 经过一天多的折腾,终于算是搭建好了自己的个人博客,看到有些社区评论说:在windows下用jekyll搭建静态博客,简直就自讨苦吃,但是都到一半了,有什么办法呢 ...
- js中scrollIntoView()的用法
一. 什么是scrollIntoView scrollIntoView是一个与页面(容器)滚动相关的API 二. 如何调用 element.scrollIntoView() 参数默认为true 参数为 ...
- TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute【转】
转自:http://blog.csdn.net/goodboy1881/article/details/670761 1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议(是一种尽力传送的协 ...
- svn文件大小类型限制,提交必须加多少字的说明
#!/bin/sh REPOS="$1" TXN="$2" #此处更改大小限制,这里是5M MAX_SIZE= #此处增加限制文件后缀名 FILTER='\.( ...
- 魔法效果——dijkstra+堆(邻接表存储)
dijkstra本身每次要for一遍,才能找出最小的节点,但用了堆之后,直接取出堆首就可以了. 但要注意的一点是,c++自带的stl里的priority_queue本身是先入大出的,而我们要求的是最小 ...
- RTP协议全解(H264码流和PS流)
写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析, 其中借鉴了很多文章,我都列在了文章最后,在此表示感谢. 互联网的发展离不开大家的无私奉献,我决定从我做起,希 ...