您的位置:首页 > 其它

机器学习(4) EM算法

2017-05-24 11:44 162 查看

似然函数

统计学中,似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ)

举例

假设统计了一批学生的身高,这批学生的身高是服从同一个高斯分布P(X|θ)。现抽取N个学生的身高,第i个学生的身高为xi,那么同时抽到这N个学生的概率就是P(x1|θ)P(x2|θ)…P(xN|θ),即样本集X中这N个样本的联合概率。

公式表示为:

L(θ)=L(x1,x2,…,xN;θ)=∏i=1NP(xi;θ)

该公式反映了,在概率密度函数的参数为θ时,得到这组身高样本的概率。由于这组身高样本是可以测出来的,所以上述公式的未知数为θ,L为θ的函数,表示的是在不同的θ取值下,取得当前样本集的概率,因此L(θ)为参数θ相对样本集X的似然函数(likehood function)。那么问题来了,如何通过这批样本来推断θ呢?

这里要用到极大似然的思想,当从样本集X中随机提取出N个样本时,说明抽出来的这N个样本所代表的数据在样本集中占的比重最大,最有可能被抽中,所以才被我随机抽出。在学生身高这个例子中,因为这N个学生的身高被抽出了,而我又是随机抽取的,那就说明这N个学生的身高最具有代表性,最容易在学生中被抽取出来。所以这批身高样本服从的高斯分布的参数θ应该是会让这N个学生的身高出现的概率最大,即L(θ)最大。这叫θ的最大似然估计量,记作:

θ̂ =argmaxL(θ)

因为L(θ)是连乘的,所以通过添加log的方式,将其变为连加,成为对数似然函数。

H(θ)=logL(θ)=log∏i=1NP(xi;θ)=∑i=1NlogP(xi;θ)

因此要求出θ,则让似然函数L(θ)极大化,L(θ)的极大值对应的θ就是我们的估计量。这里就回到了求最值的问题了。怎么求一个函数的最值?当然是求导,然后让导数为0,那么解这个方程得到的θ就是了(当然,前提是函数L(θ)连续可微)。那如果θ是包含多个参数的向量那怎么处理啊?当然是求L(θ)对所有参数的偏导数,也就是梯度了,那么n个未知的参数,就有n个方程,方程组的解就是似然函数的极值点了,当然就得到这n个参数了。

极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

求极大似然函数估计值的一般步骤:

(1)写出似然函数

(2)对似然函数取对数,并整理

(3)求导数,令导数为0,得到似然方程

(4)解似然方程,得到的参数即为所求

EM算法(Expectation maximization)

是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。

假设我们有一个样本集x1,…,xN,包含N个独立的样本。但每个样本i对应的类别zi是未知的(相当于聚类),也即隐含变量。故我们需要估计概率模型P(x,z)的参数θ,但是由于里面包含隐含变量z,所以很难用最大似然求解,但如果z知道了,则很容易求解。

logL(θ)=∑i=1NlogP(xi;θ)=∑i=1Nlog∑ziP(xi,zi;θ)=∑i=1Nlog∑ziQi(zi)P(xi,zi;θ)Qi(zi)≥∑i=1N∑ziQi(zi)logP(xi,zi;θ)Qi(zi)(1)(2)(3)

我们的目标是找到合适的θ和z来让L(θ)最大。

关于(1)式,对于每个样本xi的所有可能类别z求等式右边的联合概率密度函数和,即可得到该随机变量xi的边缘概率密度。

而对于(2)(3)式,我们则通过Jensen不等式(介绍和证明见附录),将和的对数转换成对数的和,这样方便对θ和z求偏导。

对于(2)式,因为f(x)=logx (二次导数−1x2<0,是凹函数 ),所以f(E(x))≥E(f(x)) 。

∑ziQi(zi)P(xi,zi;θ)Qi(zi)是P(xi,zi;θ)Qi(zi)的期望,其中∑ziQi(zi)=1

所以根据Jensen不等式,

f(Ezi~Qi[p(xi,zi;θ)Qi(zi)])≥Ezi~Qi[f(p(xi,zi;θ)Qi(zi))]

(3)式的形式可以简单表示为L(θ)≥J(z,θ,Q) ,我们的目标既然是最大化L(θ),那也可以通过不断增大下界J(z,θ,Q),使得L(θ)不断提高,最终达到最大值。

让我们再来写一下L(θ)和J(z,θ,Q),

L(θ)J(z,θ,Q)=∑i=1Nlog∑ziQi(zi)P(xi,zi;θ)Qi(zi)=∑i=1N∑ziQi(zi)logP(xi,zi;θ)Qi(zi)

这里的Qi(zi)表示对于类别zi的概率密度。

我们首先固定θ,然后调整Q(z),使得下界J的值变大直到等同L(这个过程θ始终不变),然后我们固定Q(z)

附录:

Jensen不等式

设f是定义域为实数的函数,如果对于所有的实数x。如果对于所有的实数x,f(x)的二次导数大于等于0,那么f是凸函数。如果只大于0,不等于0,那么称f是严格凸函数。如果f是凸函数,X是随机变量,那么

E[f(X)]≥f(E[X])离散形式:∑i=1npif(xi)≥f(∑i=1npixi)连续形式:∫bap(x)⋅f(x)dx≥f(∫bap(x)⋅xdx)

特别地,如果f是严格凸函数,当且仅当X是常量时,上式取等号。



图中,实线 f 是凸函数,X是随机变量,其中有P(x=a)=P(x=b)=0.5。而X的期望值为a和b的中值,图中可以看到E[f(X)]>=f(E[X])成立。当 f 是(严格)凹函数当且仅当 −f 是(严格)凸函数。Jensen不等式应用于凹函数时,不等号方向反向。

Jensen不等式证明:http://blog.csdn.net/wang_yi_wen/article/details/8917396
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: