# 机器学习之从极大似然估计到最大熵原理以及EM算法详解

L(X1,X2...Xn;θ1,θ2...θk)=∏i=1nf(xi;θ1,θ2...θk)

L(X_{1},X_{2}...X_{n};\theta _{1},\theta _{2}...\theta _{k})=\prod_{i=1}^{n}f(x_{i};\theta _{1},\theta _{2}...\theta _{k})

logL(θ1,θ2...θk)=∑ni=1logf(xi;θ1,θ2...θk)logL(\theta _{1},\theta _{2}...\theta _{k})=\sum_{i=1}^{n}logf(x_{i};\theta _{1},\theta _{2}...\theta _{k}) ∂L(θ)∂θi=0,i=1,2....k\frac{\partial L(\theta )}{\partial \theta _{i}}=0,i=1,2....k

1.比其他估计方法更加简单； 2.收敛性：无偏或者渐近无偏，当样本数目增加时，收敛性质会更好； 3.如果假设的类条件概率模型正确，则通常能获得较好的结果。但如果假设模型出现偏差，将导致非常差的估计结果。

H(X)=−∑xϵXp(x)lnp(x)H(X)=-\sum_{x\epsilon X}^{ }p(x)lnp(x)

max(pϵP)H(Y|X)=−∑(x,y)p(x,y)logp(y|x)max(p\epsilon P)H(Y|X)=-\sum_{(x,y)}^{ }p(x,y)logp(y|x)

min−H(p)=∑5i=1p(yi)logp(yi)min-H(p)=\sum_{i=1}^{5}p(y_{i})logp(y_{i})

s.t.p(y1)+p(y2)=p˜(y1)+p˜(y2)=310s.t. p(y_{1})+p(y_{2})=\widetilde{p}(y_{1})+\widetilde{p}(y_{2})=\frac{3}{10}

∑5i=1p(yi)=∑5i=1p˜(yi)=1\sum_{i=1}^{5}p(y_{i})=\sum_{i=1}^{5}\widetilde{p}(y_{i})=1

L(p,w)=p(yi)logp(yi)+w1(p(y1)+p(y2)−310)+w0(∑i=15p(yi)−1)

L(p,w)=p(y_{i})log p(y_{i})+w_{1}(p(y_{1})+p(y_{2})-\frac{3}{10})+w_{0}(\sum_{i=1}^{5}p(y_{i})-1)

∂L(p,w)∂p(y1)=1+logp(y1)+w1+w0\frac{\partial L(p,w)}{\partial p(y_{1})}=1+log p(y_{1})+w_{1}+w_{0}

∂L(p,w)∂p(y2)=1+logp(y2)+w1+w0\frac{\partial L(p,w)}{\partial p(y_{2})}=1+log p(y_{2})+w_{1}+w_{0}

∂L(p,w)∂p(y3)=1+logp(y3)+w0\frac{\partial L(p,w)}{\partial p(y_{3})}=1+log p(y_{3})+w_{0}

∂L(p,w)∂p(y4)=1+logp(y4)+w0\frac{\partial L(p,w)}{\partial p(y_{4})}=1+log p(y_{4})+w_{0}

∂L(p,w)∂p(y5)=1+logp(y5)+w0\frac{\partial L(p,w)}{\partial p(y_{5})}=1+log p(y_{5})+w_{0}

p(y1)=p(y2)=e−w1−w0−1，p(y3)=p(y4)=p(y5)=e−w0−1

p(y_{1})=p(y_{2})=e^{-w_{1}-w_{0}-1}，p(y_{3})=p(y_{4})=p(y_{5})=e^{-w_{0}-1}

maxL(pw,w)=−2e−w1−w0−1−3e−w0−1−310w1−w0

max L(p_{w},w)=-2 e^{-w_{1}-w_{0}-1}-3e^{-w_{0}-1}-\frac{3}{10}w_{1}-w_{0}

e−w1−w0−1=320，e−w0−1=730

e^{-w_{1}-w_{0}-1}=\frac{3}{20}，e^{-w_{0}-1}=\frac{7}{30}

p(y1)=p(y2)=320，p(y3)=p(y4)=p(y5)=730

p(y_{1})=p(y_{2})=\frac{3}{20}，p(y_{3})=p(y_{4})=p(y_{5})=\frac{7}{30}

a) 最大熵统计模型获得的是所有满足约束条件的模型中信息熵极大的模型,作为经典的分类模型时准确率较高。 b) 可以灵活地设置约束条件，通过约束条件的多少可以调节模型对未知数据的适应度和对已知数据的拟合程度。

l(θ)=∑i=1mlogp(x;θ)=∑i=1mlog∑zp(x,z;θ))

l(\theta )=\sum_{i=1}^{m}log p(x;\theta )=\sum_{i=1}^{m}log \sum_{z}^{ }p(x,z;\theta )) 进一步计算可得：

∑ilogp(x(i);θ)==≥∑ilog∑z(i)p(x(i),z(i);θ)(1)∑ilog∑z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))(2)∑i∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))(3)

Jensen不等式

Jensen不等式表述如下：

（2）式中∑z(i)Qi(z(i))[p(x(i),z(i);θ)Qi(z(i))]\sum_{z^{(i)}}^{ } Q_{i}(z^{(i)})[\frac{p(x^{(i)},z^{(i)};\theta )}{Q_{i}(z^{(i)})}] 是p(x(i),z(i);θ)Qi(z(i))\frac{p(x^{(i)},z^{(i)};\theta )}{Q_{i}(z^{(i)})}的期望，（考虑到E(X)=∑x∗p(x)E(X)=\sum x*p(x)，f(x)是x的函数，则E(f(X))=∑f(x)∗p(x)E(f(X))=\sum f(x)*p(x)，又∑zQi(z(i))=1\sum_{z}^{ } Q_{i}(z^{(i)})=1所以就可以得到公式（3）的不等式了。

OK，到这里，现在式（3）就容易地求导了，但是式（2）和式（3）是不等号啊，式（2）的最大值不是式（3）的最大值啊，而我们想得到式（2）的最大值，那怎么办呢？

p(x(i),z(i);θ)Qi(z(i))=c

\frac{p(x^{(i)},z^{(i)};\theta )}{Q_{i}(z^{(i)})}=c

Qi(z(i))=p(x(i),z(i);θ)∑zp(x(i),z;θ)=p(x(i),z(i);θ)p(x(i);θ)=p(z(i)|x(i);θ)

Q_{i}(z^{(i)})=\frac{p(x^{(i)},z^{(i)};\theta )}{\sum_{z}^{ }p(x^{(i)},z;\theta )}=\frac{p(x^{(i)},z^{(i)};\theta )}{p(x^{(i)};\theta )}=p(z^{(i)}|x^{(i)};\theta )

EM算法整体框架：

E步(第一步)： 如果是首次运行，则根据先验知识给定一个θ；如果不是，则这个θ就是M步求出来的。利用这个θ和样本x，求出隐变量z的条件概率，即Q。 M步(第二步)： 将E步求出的Q带入式1后求出θ的最大值。 重复上面两步，直到收敛。

0 条评论

• ### 机器学习之从极大似然估计到最大熵原理以及EM算法详解

极大似然估计是建立在极大似然原理的基础上的一个统计方法，极大似然原理的直观想法是，一个随机试验如有若干个可能的结果A，B，C，... ，若在一次试验中，结果A出...

• ### 关于排序算法的理解（一）

版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

• ### 机器学习之深入理解SVM

版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

• ### 机器学习之从极大似然估计到最大熵原理以及EM算法详解

极大似然估计是建立在极大似然原理的基础上的一个统计方法，极大似然原理的直观想法是，一个随机试验如有若干个可能的结果A，B，C，... ，若在一次试验中，结果A出...

• ### 贝叶斯估计、最大似然估计、最大后验概率估计

贝叶斯估计、最大似然估计(MLE)、最大后验概率估计(MAP)这几个概念在机器学习和深度学习中经常碰到，读文章的时候还感觉挺明白，但独立思考时经常会傻傻分不清楚...

• ### 为什么局部下降最快的方向就是梯度的负方向？

版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.csdn.n...

• ### 【机器学习】算法原理详细推导与实现(一):线性回归 房价预测代码

今天我们这里要讲第一个有监督学习算法，他可以用于一个回归任务，这个算法叫做 线性回归

• ### 【机器学习】算法原理详细推导与实现(二):逻辑回归 logistic函数逻辑回归鸢尾花分类

在上一篇算法中，线性回归实际上是 连续型 的结果，即 $$y\in R$$ ，而逻辑回归的 $$y$$ 是离散型，只能取两个值 $$y\in \{0,1\}$$...

• ### Python3入门机器学习（六）- 梯度下降法

以下是定义了一个损失函数以后，参数theta对应的损失函数J的值对应的示例图，我们需要找到使得损失函数值J取得最小值对应的theta（这里是二维平面，也就是我们...