EM算法


       

以下部分内容和图片来自链接

预备知识

极大似然估计

       极大似然估计是一种通过样本估计模型参数的统计学方法。
       比如,我们想要统计学生的身高,于是在校园中随机抽取了50名学生,对他们的身高进行了统计。同时,我们知道学生身高服从高斯分布,但是我们不知道该分布的 μ \mu μ σ \sigma σ,我们的目的就是通过这50个样本来估计 μ \mu μ σ \sigma σ
       于是,我们可以得出极大似然估计的用途:
           已知:①.一些随机样本,②.样本服从的分布模型。
           估计:样本服从的分布模型的参数。
       

       估计的步骤如下:
       假设样本集为 X = { x ( 1 ) , x ( 2 ) , . . . , x ( 50 ) } X=\{x^{(1)},x^{(2)},...,x^{(50)}\} X={x(1),x(2),...,x(50)},且每个样本独立同分布。若 θ \theta θ为待估计参数,我们可以用 p ( x ( i ) ∣ θ ) p(x^{(i)}|\theta) p(x(i)θ)表示抽取到样本 x ( i ) x^{(i)} x(i)的概率。则在待估计参数为 θ \theta θ的前提下,抽取到样本集 X X X的概率为(似然函数):
L ( θ ) = L ( x ( 1 ) , x ( 2 ) , . . . x ( 50 ) ; θ ) = ∏ i = 1 50 p ( x ( i ) ; θ ) L(\theta)=L(x^{(1)},x^{(2)},...x^{(50)};\theta)=\prod_{i=1}^{50}p(x^{(i)};\theta) L(θ)=L(x(1),x(2),...x(50);θ)=i=150p(x(i);θ)
       这个概率表示,在参数为 θ \theta θ时,得到样本集 X X X的概率。我们要做的事情就是中找到使 L ( θ ) L(\theta) L(θ)最大化的参数 θ \theta θ
θ ^ = a r g max ⁡   L ( θ ) \hat \theta=arg\max\ L(\theta) θ^=argmax L(θ)
       而求解 θ ^ \hat \theta θ^的一般步骤很多书籍里也都介绍过,将似然函数取对数:
H ( θ ) = log ⁡ L ( θ ) = ∑ i = 1 50 log ⁡ p ( x ( i ) ; θ ) H(\theta)=\log L(\theta)=\sum_{i=1}^{50}\log p(x^{(i)};\theta) H(θ)=logL(θ)=i=150logp(x(i);θ)
       然后对其求导,使导数为0,得到似然方程。对似然方程求解得到 θ ^ \hat \theta θ^

Jensen不等式

       Jensen不等式是凸函数的一个定理,简洁的说一下:
       如果函数 f f f是凸函数, X X X是随机变量,则 E [ f ( X ) ] ≥ f ( E [ X ] ) E[f(X)]\geq f(E[X]) E[f(X)]f(E[X]),如果函数 f f f是凹函数,不等号反向。
       用下面这张图片可以更好的理解这个定理:
       在这里插入图片描述
       当且仅当 X X X是常量的时候(即: p ( x = E [ X ] ) = 1 p(x=E[X])=1 p(x=E[X])=1),上式等号成立。

EM算法

       EM算法经常应用于模糊聚类问题中,用于对含有隐变量的模型进行参数估计。
       EM算法主要包括两部分:
           ①.E步:根据参数初始值或上一次迭代得到的参数值,对隐变量的分布进行估计,得到隐变量的后验概率。
           ②.M步:利用隐变量的后验概率,最大化似然函数,得到本轮迭代的参数值。


       对上文提到的例子进行一下修改:我们想要统计学生的身高,于是在校园中随机抽取了100名学生,其中包括50个男学生和50个女学生,对他们的身高进行了统计。我们知道男学生和女学生的身高相互独立,且都服从高斯分布,但是我们不知道这两个分布的 μ \mu μ σ \sigma σ。我们的目的就是通过这100个样本来估计每个样本属于的分布(即:该样本来自男学生or女学生),和这两个分布的 μ \mu μ σ \sigma σ
       于是,我们可以得出EM算法的用途:
           已知:①.一些随机样本,②.样本服从的分布模型。
           得出:①.每个样本属于哪个分布模型,②.分布模型的参数。


       还是刚才的身高问题,我们使用 z ( i ) z^{(i)} z(i)表示样本 x ( i ) x^{(i)} x(i)所属的分布,这里的 z z z称为隐变量。则对数似然函数可以写为:
H ( θ ) = ∑ i = 1 m log ⁡ p ( x ( i ) ; θ ) = ∑ i = 1 m log ⁡ ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) H(\theta)=\sum_{i=1}^m\log p(x^{(i)};\theta)=\sum_{i=1}^m\log \sum_{z^{(i)}} p(x^{(i)},z^{(i)};\theta) H(θ)=i=1mlogp(x(i);θ)=i=1mlogz(i)p(x(i),z(i);θ)
       假设 z ( i ) z^{(i)} z(i)服从概率分布 Q i ( z ( i ) ) Q_i(z^{(i)}) Qi(z(i)),对上式继续进行整理:
∑ i = 1 m log ⁡ ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) = ∑ i = 1 m log ⁡ ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \sum_{i=1}^m\log \sum_{z^{(i)}} p(x^{(i)},z^{(i)};\theta)=\sum_{i=1}^m\log \sum_{z^{(i)}} Q_i(z^{(i)})\frac {p(x^{(i)},z^{(i)};\theta)} {Q_i(z^{(i)})} i=1mlogz(i)p(x(i),z(i);θ)=i=1mlogz(i)Qi(z(i))Qi(z(i))p(x(i),z(i);θ)
       由于 log ⁡ \log log函数为凹函数,我们将 p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \frac {p(x^{(i)},z^{(i)};\theta)} {Q_i(z^{(i)})} Qi(z(i))p(x(i),z(i);θ)视为一个随机变量 Y Y Y,利用Jensen不等式可以得到:
∑ i = 1 m log ⁡ ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ≥ ∑ i = 1 m ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \sum_{i=1}^m\log \sum_{z^{(i)}} Q_i(z^{(i)})\frac {p(x^{(i)},z^{(i)};\theta)} {Q_i(z^{(i)})}\geq \sum_{i=1}^m \sum_{z^{(i)}} Q_i(z^{(i)})\log \frac {p(x^{(i)},z^{(i)};\theta)} {Q_i(z^{(i)})} i=1mlogz(i)Qi(z(i))Qi(z(i))p(x(i),z(i);θ)i=1mz(i)Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
       通过上式我们而可以看出,要想使得 H ( θ ) H(\theta) H(θ)最大,我们可以不断的最大化下界,使 H ( θ ) H(\theta) H(θ)不断提高,达到最大值。而使 H ( θ ) H(\theta) H(θ)取最大时,正是上述不等式取等号的时候。根据Jensen不等式可知,当不等式取等号时, p ( y = E [ Y ] ) = 1 p(y=E[Y])=1 p(y=E[Y])=1,也就是说 Y Y Y是一个常数。即:
p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = C            ( 1 ) \frac {p(x^{(i)},z^{(i)};\theta)} {Q_i(z^{(i)})}=C\ \ \ \ \ \ \ \ \ \ (1) Qi(z(i))p(x(i),z(i);θ)=C          (1)
       由于 Q i ( z ( i ) ) Q_i(z^{(i)}) Qi(z(i))是一个概率分布,则 ∑ z ( i ) Q i ( z ( i ) ) = 1 \sum_{z^{(i)}}Q_i(z^{(i)})=1 z(i)Qi(z(i))=1,对上式左侧,分子分母同时对 z ( i ) z^{(i)} z(i)求和,可得:
∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) ∑ z ( i ) Q i ( z ( i ) ) = C       − − >       ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) 1 = C \frac {\sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta)} {\sum_{z^{(i)}}Q_i(z^{(i)})}=C \ \ \ \ \ -->\ \ \ \ \ \frac {\sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta)} {1}=C z(i)Qi(z(i))z(i)p(x(i),z(i);θ)=C     >     1z(i)p(x(i),z(i);θ)=C
       即:
∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) = C            ( 2 ) {\sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta)}=C\ \ \ \ \ \ \ \ \ \ (2) z(i)p(x(i),z(i);θ)=C          (2)
       将 ( 1 ) (1) (1)式和 ( 2 ) (2) (2)式结合,可得:
Q i ( z ( i ) ) = p ( x ( i ) , z ( i ) ; θ ) ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) = 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^{(i)}}p(x^{(i)},z^{(i)};\theta)}=\frac {p(x^{(i)},z^{(i)};\theta)}{p(x^{(i)};\theta)}=p(z^{(i)}|x^{(i)};\theta) Qi(z(i))=z(i)p(x(i),z(i);θ)p(x(i),z(i);θ)=p(x(i);θ)p(x(i),z(i);θ)=p(z(i)x(i);θ)
       计算到这里,我们已经知道了如何在给定参数 θ \theta θ的情况下,得到使对数似然函数 H ( θ ) H(\theta) H(θ)取最大时隐变量 z z z的分布。那么,我们可得EM算法的一般步骤:
          ①.对待估计参数 θ \theta θ进行初始化;
          ②.E步:利用参数 θ \theta θ计算隐变量 z z z的后验概率:
Q i ( z ( i ) ) : = p ( z ( i ) ∣ x ( i ) ; θ ) Q_i(z^{(i)}):=p(z^{(i)}|x^{(i)};\theta) Qi(z(i)):=p(z(i)x(i);θ)
          ③.M步:利用隐变量 z z z的后验概率,最大化似然函数,得到新的参数 θ \theta θ
θ : = a r g max ⁡ θ ∑ i ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \theta:=arg\max_\theta\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} θ:=argθmaxiz(i)Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
          ④.重复②③至收敛。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值