机器学习/数据挖掘-----EM算法推论和相关数学知识

1. EM 算法推论和相关数学知识

1.1. Describe

EM(Expectation-Maxmization)算法是一个迭代算法
主要应用的理论是极大似然估计
对于贝叶斯算法来说,训练的样本必须是完整的,属性值如果缺失会对结果有较大的影响。EM算法对于缺失属性的数据集有较好的表现。

期望最大化(EM)算法是一种被广泛用于极大似然(ML)估计的迭代性型计算方法。处理大量数据不完整问题非常有用。

Advantages:

- 数值计算的稳定
- 实现简单
- 可靠全局收敛

1.2. Theory

1.2.1. 先验概率&后验概率

接下来把c记成Θc,Θc\Theta_c,\Theta_c是c的一组条件。

  1. 结果还没有发生,我们通过一些经验等猜测某个结果可能发生的概率。先验(通过历史原因求)

Θc\Theta_c类别的概率。

PΘc P(\Theta_c)

  1. 结果已经发生,根据结果估计发生的原因的概率。后验(通过结果求原因)

P(Θcx) P(\Theta_c | x)

Θcx\Theta_c代表原因,x代表结果。在已知结果求各种原因的概率
对于机器学习,Θ\Theta代表

1.2.2. 极大似然估计/条件概率 (通过原因求结果)

Maximum Likelihood Estimation ,简称MLE,是一种根据采用来估计概率分布参数的方法。

先定下来原因,然后根据原因求结果。
如果是Θ\Theta类别里的(结果),求x的概率。

P(xΘ) P(x|\Theta )

1.2.3. Jensen不等式

优化理论中的函数凹凸性和高数中是相反的,

如果f(x)0f''(x) \geq0是,是凸函数
如果f(x)0f''(x) \leq0是,是凹函数

E[f(X)]f(EX) 凸函数:E[f(X)] \geq f(EX)

E[f(X)]f(EX) 凹函数:E[f(X)] \leq f(EX)

机器学习/数据挖掘-----EM算法推论和相关数学知识

图片来源

以凹函数为例,开口向上。如果概率为0.5的二项分布,E[f(x)]相当于是对纵轴两个值加和除以2,一定大于对应的f(x)取值。简单理解:[f(a)+f(b)]/2 >= f((a+b)/2)

1.2.4. 联合概率密度&边缘概率密度

联合概率分布
二维离散随机变量(X,Y)可能取值为(Xi,Yj)(i,j=1,2,…)

P{X=xi,Y=yj}=pi,j,i,j=1,2.... P\{ X=x_i,Y=y_j\}=p_{i,j}, \quad i,j=1,2....
成为随机变量(X,Y)的概率分布(联合概率分布)

连续型:
F(x,y)=xyf(u,v)dudv<x,y<+F(x,y)=\int_{-\infty}^{x}\int_{-\infty}^{y}f(u,v)dudv\quad -\infty < x,y <+\infty

边缘概率分布
pi =P{X=xi},i=1,2....p_{i \ ·}=P\{X=x_i\} ,i=1,2....称为(X,Y)关于X的边缘概率分布。

显然pi =P{X=xi}=j=1+P{X=xi,Y=yj}=j=1+pij,i=1,2...p_{i \ ·}=P\{X=x_i\}=\sum_{j=1}^{+\infty}P\{X=x_i,Y=y_j\}=\sum_{j=1}^{+\infty}p_{ij} ,\quad i=1,2...

连续型:
对一个进行积分。

1.2.5. 数学期望相关

数学期望:
E(X)=k=1+xkpkE(X)=\sum_{k=1}^{+\infty}x_k p_k
E(X)=+xf(x)dxE(X)=\int_{-\infty}^{+\infty}xf(x)dx

随机变量X的函数Y=g(X)的数学期望

  • 离散型
    E(Y)=E[g(x)]=ig(xi)p(xi)E(Y)=E[g(x)]=\sum_i g(x_i)p(x_i)

  • 连续型
    E(Y)=E[g(x)]=+g(x)p(x)E(Y)=E[g(x)]=\int_{-\infty}^{+\infty}g(x)p(x)

1.2.6. 推导过程

参考来源

Begin
X={xi}X=\{x_i\}完整数据, Z=(zi)Z=(z_i)隐数据 Y=(X,Z)Y={(x1,z1)....}Y=(X,Z),Y=\{(x_1,z_1)....\}

  1. 根据边缘概率分布,
    logL(θ)=iln(xi;θ)=ilnzp(xi,zi;θ)(1)logL(\theta)=\sum_iln(x_i;\theta)=\sum_i ln \sum_{z}p(x_i,z_i;\theta) \quad (1)

离散型边缘概率密度等于另一个维度累加。
上文提到的 pi =P{X=xi}=j=1+P{X=xi,Y=yj}=j=1+pij,i=1,2...p_{i \ ·}=P\{X=x_i\}=\sum_{j=1}^{+\infty}P\{X=x_i,Y=y_j\}=\sum_{j=1}^{+\infty}p_{ij} ,\quad i=1,2...

  1. 假定Z服从分布Qi

QiQ_i是Z的某种分布,满足ZQi(zi)=1Qi(z)0\sum_ZQ_i(z_i)=1 \quad Q_i(z)\geq0
(1)经过变换得到(2)
=ilnzQi(zi)p(xi,zi;θ)Qi(zi)(2)=\sum_iln\sum_zQ_i(z_i)\frac{p(x_i,z_i;\theta)}{Q_i(z_i)} \quad (2)

  1. 根据jensen不等式和数学期望
    E(Y)=E[g(x)]=ig(xi)p(xi)E(Y)=E[g(x)]=\sum_i g(x_i)p(x_i)
    令:g(xi)=p(xi,zi;θ)Qi(zi)g(x_i)=\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}
    p(xi)=Qi(zi)p(x_i)=Q_i(z_i) 注意这里是z的概率,也就是对z的函数求期望。

则(2)式中zQi(zi)p(xi,zi;θ)Qi(zi)\sum_zQ_i(z_i)\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}代表是p(xi,zi;θ)Qi(zi)\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}的数学期望。也就是

(2)=iln(E[p(xi,zi;θ)Qi(zi)])(3) (2)=\sum_iln(E[\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}]) \quad (3) \quad

  1. 根据Jensen不等式,ln函数为凹函数(优化理论中的凹函数,和高数中相反。这里的凹凸性概念有混淆。)
    E[f(X)]f(EX)凹函数:E[f(X)] \leq f(EX)
    可得:
    iln(E[p(xi,zi;θ)Qi(zi)])iE[lnp(xi,zi;θ)Qi(zi)]\sum_iln(E[\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}]) \geq \sum_i E[ln\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}]

把E提出来了。确定了下界线

  1. 把E展开。是对z的函数求期望。

由公式E(Y)=E[g(x)]=ig(xi)p(xi)E(Y)=E[g(x)]=\sum_i g(x_i)p(x_i)
iE[lnp(xi,zi;θ)Qi(zi)]=izQi(z)lnp(xi,zi;θ)Qi(zi)](4)\sum_i E[ln\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}]=\sum_i\sum_zQ_i(z)ln\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}] \quad (4)

  1. 可得logL(θ)(4)logL(\theta) \geq (4)

logL(θ)izQi(z)lnp(xi,zi;θ)Qi(zi)(5) logL(\theta) \geq\sum_i\sum_zQ_i(z)ln\frac{p(x_i,z_i;\theta)}{Q_i(z_i)} \quad (5)

机器学习/数据挖掘-----EM算法推论和相关数学知识

  1. (5)式等号成立的条件:
    固定θ\theta,选择Q的可能分布,等号成立时达到了L(θ)L(\theta)的下界。Jensen不等式等号成立的条件是X为常亮。也就是p(xi,zi;θ)Qi(zi)=C(6)\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}=C \quad (6)
    p(xi,zi;θ)=C(Qi(zi))\Rightarrow p(x_i,z_i;\theta)=C(Q_i(z_i))
    zp(xi,zi;θ)=C(zQi(zi))\Rightarrow \sum_z p(x_i,z_i;\theta)=C(\sum_z Q_i(z_i))
    由于Qi是z的分布率,故累加和为1,可得:
    zp(xi,zi;θ)=C(7)\sum_z p(x_i,z_i;\theta)=C \quad (7)
    (6)=(7)可得:
    p(xi,zi;θ)Qi(zi)=zp(xi,zi;θ)=C\frac{p(x_i,z_i;\theta)}{Q_i(z_i)}=\sum_z p(x_i,z_i;\theta)=C
    解得

Qi(zi)=p(xi,zi;θ)zp(xi,zi;θ)=p(xi,zi;θ)p(xi;θ)=p(zixi;θ) Q_i(z_i)=\frac{p(x_i,z_i;\theta)}{\sum_z p(x_i,z_i;\theta)} \\ =\frac{p(x_i,z_i;\theta)}{p(x_i;\theta)} \\ =p(z_i|x_i;\theta)
意义:在θ\theta参数下,xi条件下,取到zi的概率。
总结
E-step
固定θ\theta,求zi的Qi的概率密度公式。建立(θ)L(\theta)的下界。
Qi(zi):=p(zixi;θ)Q_i(z_i):=p(z_i|x_i;\theta)

M-step:
给定Qi,极大似然估计θ\theta。极大化L(θ)L(\theta)的下界(因为L最大化,下界也就随之提升)。得到新的θ\theta