天天看点

极大似然法(ML)与最大期望法(EM)

极大似然法

极大似然,或者称最大似然(Maximum likelihood)。

目的

利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。

原理

极大似然估计是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。

举例

说人话就是,学霸和学渣考试结束之后,一个成绩是A,一个成绩是C。这时候,一般是猜测学霸的成绩是A;学渣的成绩为C。这就体现了极大似然的基本思想。在已知结果集(一个A,一个C)的情况下,根据一些先验知识(学霸成绩有很大可能高于学渣),得到分析的结果(学霸A,学渣C)。一句话总结,已知结果,求出现这个结果的最大可能条件

数学定义

似然函数:L(θ)L(θ)

最大似然估计量(需要得到的结果):θθ

目的是需要找到一个θθ,使得L(θ)L(θ)最大。这个最大的θθ表示为:θ^=argmaxL(θ)θ^=arg⁡maxL(θ)。(argarg表示在θθ所有的索引值)

在某些情况下,L(θ)L(θ)是用连乘来表示的,如L(θ)=∏i=1np(xi;θ)L(θ)=∏i=1np(xi;θ)。此时,为了便于分析,将其转换为连加计算,H(θ)=lnL(θ)=∑i=1np(xi;θ)H(θ)=ln⁡L(θ)=∑i=1np(xi;θ)

此时,问题转换为求L(θ)L(θ)的极大值,方法就是运用求导(前提是这个函数连续可微)。值得一提的是,θθ不一定只有一个值,可能为一个向量,所以求极大值的时候需要对每个参数进行求偏导。

EM算法

EM算法,最大期望算法(Expectation-maximization)

目的

在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。

原理

最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。

举例

说人话就是,一堆钞票(很多很多),在不借助外力(点钞机)的情况下,如何平均分成两部分。最简单的做法就是,首先大致分为两堆,然后比较两堆钞票的高低;将高堆的一部分钞票转给低堆;来回往复,直到两堆同高。前提钞票是崭新,每张厚度一样。为了想得到在开始状态下未知的两个参数A、B(平均分为两堆钞票),前提条件是得到A了就可以得到B,得到B也可以得到A。此时,就可以随机(指定)赋予A某初值(先大概分一堆钞票出来),B也得到了一个值(另一堆钞票就是B);根据B的当前值(钞票高度)重新估计A值(对比两堆高低,进行转钞票),直到收敛(两堆钞票相等)。一句话总结,想要得到一堆有关联的未知参数,先猜一个大概的参数结果,再不断的调整,直到参数结果符合条件(收敛)

数学定义

样本集:{x(1),x(2),⋯,xm}{x(1),x(2),⋯,xm}

每个样本对应的类别(未知):z(i)z(i)

基于最大似然问题的定义,概率估计模型p(x(i);θ)p(x(i);θ)。现在多了一个未知变量z(θ)z(θ),变成了p(x(i),z(i);θ)p(x(i),z(i);θ)。问题还是一样,求解θ^θ^。

E步骤:根据参数初始值或上一次迭代的参数值(一开始定义的钞票高度或者每次调整完钞票高度后的两堆高度)来计算隐性变量(z(i)z(i)的后验概率(隐性变量的期望,新估计值)

M步骤:将似然函数极大化获得新参数值(根据B堆高度调整A堆高度)

推导过程

一个背景知识,Jensen不等式。ff是凸函数,XX是随机变量,公式是这样的,E(f(X))≥f(EX)E(f(X))≥f(EX)。具体推导过程不做介绍。

H(θ)=logL(θ)=∑i=1mlogp(x(i);θ)=∑i=1mlog∑z(i)p(x(i),z(i);θ)=∑i=1mlog∑z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))≥∑i=1m∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))H(θ)=log⁡L(θ)=∑i=1mlog⁡p(x(i);θ)=∑i=1mlog⁡∑z(i)p(x(i),z(i);θ)=∑i=1mlog⁡∑z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))≥∑i=1m∑z(i)Qi(z(i))log⁡p(x(i),z(i);θ)Qi(z(i))

稍作解释,第一行到第二行,是引出z(i)z(i)这个未知变量,第三行是引入一个额外的Qi(z(i))Qi(z(i))变量,便于使用Jensen不等式,第四行运用Jensen不等式。

接下来,就是求解p(x(i),z(i);θ)Qi(z(i))p(x(i),z(i);θ)Qi(z(i)),令其等于cc。由推导可得∑zQi(z(i))=1∑zQi(z(i))=1。所以:

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);θ)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);θ)

所以,接下来就可以正式的进行E、M步骤

E:Qi(z(i))=p(zi|x(i);θ)Qi(z(i))=p(zi|x(i);θ)

M:θ=argmax∑i∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))θ=arg⁡max∑i∑z(i)Qi(z(i))log⁡p(x(i),z(i);θ)Qi(z(i))

最后收敛。关于一定会收敛的证明。

在第t步骤中,

L(θ(t))=∑i∑z(i)Q(t)i(z(i))logp(x(i),z(i);θ(t))Q(t)i(z(i))L(θ(t))=∑i∑z(i)Qi(t)(z(i))log⁡p(x(i),z(i);θ(t))Qi(t)(z(i))

之后进行M步骤,固定了Q(t)i(z(i))Qi(t)(z(i)),求新的θθ,即θ(t+1)θ(t+1)。所以,

L(θ(t+1))≥∑i∑z(i)Q(t)i(z(i))logp(x(i),z(i);θ(t+1))Q(t)i(z(i))L(θ(t+1))≥∑i∑z(i)Qi(t)(z(i))log⁡p(x(i),z(i);θ(t+1))Qi(t)(z(i))

显然,L(θ(t+1))≥L(θ(t))L(θ(t+1))≥L(θ(t))

参考文章:

继续阅读