经典机器学习模型(九)EM算法的推导

经典机器学习模型(九)EM算法的推导

1 相关数据基础

1.1 数学期望

1.1.1 数学期望的定义

在这里插入图片描述

根据定义,我们可以求得掷骰子对应的期望:
E ( X ) = X 1 ∗ p ( X 1 ) + X 2 ∗ p ( X 2 ) + . . . + X 6 ∗ p ( X 6 ) = 1 ∗ 1 6 + 2 ∗ 1 6 + 1 ∗ 1 6 + 3 ∗ 1 6 + 4 ∗ 1 6 + 5 ∗ 1 6 + 6 ∗ 1 6 = 3.5 E(X)=X_1*p(X_1)+X_2*p(X_2)+...+X_6*p(X_6)\\ =1*\frac{1}{6}+2*\frac{1}{6}+1*\frac{1}{6}+3*\frac{1}{6}+4*\frac{1}{6}+5*\frac{1}{6}+6*\frac{1}{6}\\ =3.5 E(X)=X1p(X1)+X2p(X2)+...+X6p(X6)=161+261+161+361+461+561+661=3.5

  • 要注意区分平均值和期望。平均值是一个统计量(对观察样本的统计),期望是一种概率论概念,是一个数学特征。比如我们进行掷骰子,掷了六次,点数分别为2,2,2,4,4,4,这六次的观察就是我们的样本,于是我们可以说平均值为(2+2+2+4+4+4)/6=3,但是千万不能说期望是3。
  • 平均值和期望的联系也是大数定理联系起来的。如果说概率是频率随样本趋于无穷的极限 ,期望就是平均数随样本趋于无穷的极限。
  • 可以用加权平均值来理解期望。

1.1.2 函数期望公式

在这里插入图片描述

1.1.3 常见分布的期望

在这里插入图片描述

具体推导可以参考:

数学期望及常见分布的期望计算与推导

1.2 极大似然估计

  • 极大似然估计法的出发点是已知被观测对象的分布,但不知道其参数。
  • 极大似然法用得到观测值(样本)最高概率的那些参数的值来估计该分布的参数,即产生该样本概率最大的原则
  • f ( y , θ ) f(y,θ) f(y,θ) 是随机变量 Y Y Y 的密度函数,其中 θ θ θ是该分布的未知参数,若有一随机样本 Y 1 , Y 2 , ⋯ , Y n Y_1,Y_2,⋯,Y_n Y1,Y2,,Yn,则 θ θ θ的极大似然估计值是具有产生该观测样本的最高概率的那个 θ θ θ值,或者换句话说, θ θ θ的极大似然估计值是使密度函数 f ( y , θ ) f(y,θ) f(y,θ) 达到最大的 θ θ θ值。
  • 由于总体有离散型和连续型两种分,离散型分布通过分布律来构造似然函数,而连续型分布通过概率密度函数来构造似然函数

求解极大似然估计问题步骤:

  1. 写出似然函数;
  2. 对似然函数取对数,并整理;
  3. 求导数,令导数为0,得到似然方程;
  4. 解似然方程,得到的参数即为所求;

1.2.1 离散型随机变量的极大似然原理

  • 若总体为离散型分布,其分布律为 P ( Y = y ) = p ( y , θ ) P(Y=y)=p(y,θ) P(Y=y)=p(y,θ),分布律的形式已知。
    • 其中, θ ^ = ( θ 1 , θ 2 , ⋯ , θ k ) ′ \hat\theta=(θ_1,θ_2,⋯,θ_k)′ θ^=(θ1,θ2,,θk) 是待估参数向量
    • 其中一维随机变量离散型分布主要有:

在这里插入图片描述

Y 1 , Y 2 , ⋯ , Y n Y_1,Y_2,⋯,Y_n Y1,Y2,,Yn 表示总体 Y Y Y 的一个样本,它们独立同分布。 y 1 , y 2 , ⋯ , y n y_1,y_2,⋯,y_n y1,y2,,yn 是相应于样本 Y 1 , Y 2 , ⋯ , Y n Y_1,Y_2,⋯,Y_n Y1,Y2,,Yn 的一组样本值,容易求得从 Y 1 , Y 2 , ⋯ , Y n Y_1,Y_2,⋯,Y_n Y1,Y2,,Yn 取到观察值$ y_1,y_2,⋯,y_n$ 的概率,即事件 { Y 1 = y 1 , Y 2 = y 2 , ⋯ , Y n = y n Y_1=y_1,Y_2=y_2,⋯,Y_n=y_n Y1=y1,Y2=y2,,Yn=yn}发生的概率,这个概率为
L ( θ ^ ) = L ( y 1 , y 2 , . . . , y n ; θ ^ ) = ∏ i = 1 n p ( y i , θ ^ ) L(\hat\theta) = L(y_1,y_2,...,y_n;\hat\theta)=\prod\limits_{i=1}^{n}p(y_i,\hat\theta) L(θ^)=L(y1,y2,...,yn;θ^)=i=1np(yi,θ^)

  • 这一概率随 θ ^ \hat\theta θ^的取值而变化,它是 θ ^ \hat\theta θ^的函数,$L(\hat\theta) $称为样本的似然函数。

  • 极大似然估计法就是在 θ ^ \hat\theta θ^取值的可能范围内挑选使似然函数 L ( y 1 , y 2 , ⋯ , y n ; θ ^ ) L(y_1,y_2,⋯,y_n;\hat\theta) L(y1,y2,,yn;θ^) 达到最大的参数值 θ ^ \hat\theta θ^

  • 一般求解的步骤就是:对该似然函数取对数,然后求导数,令导数为0,得到似然方程,最后解似然方程。取对数是因为对数似然函 l n L ( θ ^ ) lnL(\hat\theta) lnL(θ^) 可以把乘积形式转为和的形式,从而为简化运算提供了方便。

1.2.2 离散型分布的极大似然估计的举例

首先来看1次抛硬币,假设参数正面向上的概率为 θ θ θ,满足伯努利分布(也称0-1分布),可能的事件有2个(正面向上的次数可能为0、1次),其正面的条件概率为:
p ( x ) = θ x ( 1 − θ ) 1 − x , x 为正面向上的次数 p(x)=\theta^x(1-\theta)^{1-x},x为正面向上的次数 p(x)=θx(1θ)1x,x为正面向上的次数
现在我们朝空中扔 N N N次,其中有 x x x次显示的是正面,有 N − x N-x Nx次显示的是反面,那么它所对应的**「正面的条件概率」**就可以写成下式(满足二项分布):
P ( x ∣ θ ) = C N x θ x ( 1 − θ ) N − x , x 为正面向上的次数 P(x|\theta)=C_{N}^x\theta^x(1-\theta)^{N-x},x为正面向上的次数 P(xθ)=CNxθx(1θ)Nx,x为正面向上的次数

现在,我们已经知道硬币正面向上的概率 θ θ θ、一共抛了 N N N次, x x x次显示的是正面,那么代入上式,很容易就能求出该次事件出现的概率。

假如,现在知道硬币一共抛了 N N N次, x x x次显示的是正面,但是不知道硬币朝上的概率 θ \theta θ,那么该怎么办呢?这时,咱们就可以让条件概率最大化来找到对应的 θ \theta θ,即
a r g max ⁡ θ P ( x ∣ θ ) arg \max \limits_{\theta} P(x|\theta) argθmaxP(xθ)
此时,我们可以把它写成似然函数的形式 L ( θ ) L(\theta) L(θ),当然,由于原来的条件概率函数都是指数乘积的形式,为了计算方便,我们接着把似然函数写成 【对数似然函数】
θ ^ = a r g max ⁡ θ l n ( L ( θ ) ) = a r g max ⁡ θ l n ( θ x ( 1 − θ ) N − x ) ( 忽略常数项 ) = a r g max ⁡ θ ( x l n θ + ( N − x ) l n ( 1 − θ ) ) 求最大值,我们对 θ 求导,并令其为 0 ,那么 ∂ L ( θ ) ∂ θ = ∂ ( x l n θ + ( N − x ) l n ( 1 − θ ) ) ∂ θ = x θ − N − x 1 − θ = 0 可以求得 θ = x N \hat\theta = arg \max \limits_{\theta} ln(L(\theta)) \\ =arg \max \limits_{\theta} ln(\theta^x(1-\theta)^{N-x})(忽略常数项) \\ =arg \max \limits_{\theta} (xln\theta + (N-x)ln(1-\theta)) \\ 求最大值,我们对\theta求导,并令其为0,那么\\ \frac{\partial L(\theta)}{\partial\theta}=\frac{\partial (xln\theta + (N-x)ln(1-\theta))}{\partial\theta}=\frac{x}{\theta}-\frac{N-x}{1-\theta}=0 \\ 可以求得\theta=\frac{x}{N} θ^=argθmaxln(L(θ))=argθmaxln(θx(1θ)Nx)(忽略常数项)=argθmax(xlnθ+(Nx)ln(1θ))求最大值,我们对θ求导,并令其为0,那么θL(θ)=θ(xlnθ+(Nx)ln(1θ))=θx1θNx=0可以求得θ=Nx

  • 频率学派相信概率是确定的,或者说, θ θ θ是个常量,采样数据 x x x则是基于这个参数为 θ θ θ的分布中随机采样的,因此通过采样数据可以求得 θ θ θ(通过极大似然估计MLE),而采样数据越多, θ θ θ越准确。

  • 而贝叶斯学派则认为θ并非是个未知的常量,而是个满足某种分布的随机变量,而对于这个θ,会有一个最初始的信仰,即一个先验假设(比如抛硬币中,θ可以被视为一个均值为0.5的正态分布)。

  • 具体可参考:概率学派和贝叶斯学派的区别

  • 可以看出,极大似然估计可以看成是对应于一组完全数据的情况,但是当出现不完全的数据时,比如未被观测到或者是缺失的数据时,这时用极大似然估计来求解就相当复杂了。

1.2.3 连续型随机变量的极大似然原理

若总体为连续型分布,其概率密度函数为 f ( y , θ ^ ) f(y,\hat\theta) f(y,θ^),密度函数的形式已知。

  • 其中, θ ^ = ( θ 1 , θ 2 , ⋯ , θ k ) ′ \hat\theta=(θ_1,θ_2,⋯,θ_k)′ θ^=(θ1,θ2,,θk) 是待估参数向量
  • 其中一维随机变量连续型分布主要有:

在这里插入图片描述
在这里插入图片描述

解法和离散型分布一致,对该似然函数取对数,然后求导数,令导数为0,得到似然方程,最后解似然方程。

1.2.4 连续型分布的极大似然估计举例

我们假设样本服从高斯分布:

在这里插入图片描述

1.3 Jensen不等式

  • 这里简单介绍下结论,感兴趣的可以详细了解下该不等式。

  • 如果 f f f凸函数(如下图),X是随机变量,那么有 E [ f ( X ) ] > = f ( E [ X ] ) E[f(X)]>=f(E[X]) E[f(X)]>=f(E[X]),也就是函数的期望大于等于期望的函数

  • 对于凹函数,不等号方向反向,即 E [ f ( X ) ] < = f ( E [ X ] ) E[f(X)]<=f(E[X]) E[f(X)]<=f(E[X])

在这里插入图片描述

2 EM算法举例

如下图,我们抛两枚硬币A和B,一共抛了5轮,每轮抛10次。

如果知道每次抛的是A还是B,那么根据之前讲的极大似然估计,就直接可以估计每种硬币的参数 θ A , θ B θ_A,θ_B θA,θB(正面朝上的概率)。

在这里插入图片描述

假如此时我们并不知道每轮抛掷的是A硬币还是B硬币,只能知道每组实验的10次结果。这时候,我们就需要EM算法了,这时每组未知的硬币就是隐变量

  • EM算法的核心就是猜数+迭代

  • 对于第一轮抛掷,使用硬币 A 的概率是 0.45,使用硬币 B 的概率是 0.55。同理其他轮。这一步我们实际上是估计出了 Z 的概率分布,这步就是 E-Step。

在这里插入图片描述

到隐变量 z z z后(即每轮是A硬币,还是B硬币),我们可以去进行M步计算极大似然估计求得更好的θ

在这里插入图片描述

3 EM算法的推导

3.1 EM算法流程

我们先看下《统计学习方法》中EM算法的流程,然后我们再去进行推导。

在这里插入图片描述

3.2 EM算法中E步的推导

m m m个样本观察数据 y = ( y ( 1 ) , y ( 2 ) , . . . y ( m ) ) y=(y^{(1)},y^{(2)},...y^{(m)}) y=(y(1),y(2),...y(m))中,找出样本的模型参数θ,最大化模型分布的对数似然函数如下:
θ ^ = a r g max ⁡ θ l o g ( L ( θ ) ) = a r g max ⁡ θ ∑ i = 1 m l o g ( P ( y i ∣ θ ) ) = a r g max ⁡ θ l o g ( P ( Y ∣ θ ) ) 它表示参数 θ 的条件下对应的观测变量 Y 的概率对数化 Y 是离散变量时,对应的是概率 ; Y 是连续变量,对应的是概率密度。 后文以概率为代表解释,概率密度类似。 \hat\theta = arg \max \limits_{\theta} log(L(\theta)) \\ = arg \max \limits_{\theta} \sum\limits_{i=1}^m log(P(y^{i}|\theta)) \\ = arg \max \limits_{\theta} log(P(Y|\theta)) \\ 它表示参数\theta的条件下对应的观测变量Y的概率对数化 \\ Y是离散变量时,对应的是概率;Y是连续变量,对应的是概率密度。 \\ 后文以概率为代表解释,概率密度类似。\\ θ^=argθmaxlog(L(θ))=argθmaxi=1mlog(P(yiθ))=argθmaxlog(P(Yθ))它表示参数θ的条件下对应的观测变量Y的概率对数化Y是离散变量时,对应的是概率;Y是连续变量,对应的是概率密度。后文以概率为代表解释,概率密度类似。

1)因为这里包含缺失数据和隐变量,无法直接得到对应的概率,于是把对应的隐变量 Z Z Z添进来,以全概率公式展开。
L ( θ ) = l o g ( P ( Y ∣ θ ) ) = l o g ∑ Z ( P ( Y , Z ∣ θ ) ) 这里的隐变量 Z 是对样本空间的分割,就是在 Z 的所有取值下对应的概率。 L(\theta)=log(P(Y|\theta))=log\sum\limits_{Z}(P(Y,Z|\theta))\\ 这里的隐变量Z是对样本空间的分割,就是在Z的所有取值下对应的概率。 L(θ)=log(P(Yθ))=logZ(P(Y,Zθ))这里的隐变量Z是对样本空间的分割,就是在Z的所有取值下对应的概率。
2)接下来,我们就要用到极大似然估计的思想了。

我们令每次迭代后的 L ( θ ) L(\theta) L(θ)都比上轮的 L ( θ ( i ) ) L(\theta^{(i)}) L(θ(i))大,目的就是为了让更新之后的似然函数更大,即:
L ( θ ) − L ( θ ( i ) ) = l o g ∑ Z ( P ( Y , Z ∣ θ ) ) − l o g ( P ( Y ∣ θ ( i ) ) ) ≥ 0 注意:上式中 θ ( i ) 已知 ( 上一轮推测出来的 ) , θ 是未知的 L(\theta)-L(\theta^{(i)})=log\sum\limits_{Z}(P(Y,Z|\theta))-log(P(Y|\theta^{(i)}))\geq0\\ 注意:上式中\theta^{(i)}已知(上一轮推测出来的),\theta是未知的 L(θ)L(θ(i))=logZ(P(Y,Zθ))log(P(Yθ(i)))0注意:上式中θ(i)已知(上一轮推测出来的)θ是未知的

  • 等号右侧前面的式子是将所有隐变量考虑在内的全概率密度函数,也就是在EM例子中,既然不知道每轮是A硬币还是B硬币,那就把A和B的概率都分别计算出来。
  • 而后面的式子中,参数 θ ( i ) \theta^{(i)} θ(i)是根据上轮结果推测出来A硬币/B硬币正面朝上的概率,我们认为它是已知的,目标就是用它来推测出新的一轮隐变量对应的概率,并且找到新一轮的似然函数。

3)接着,用贝叶斯公式,来把前面的式子进行改造,通过观测结果 Y Y Y上一轮的参数 θ ( i ) \theta^{(i)} θ(i)去猜出隐变量 对应的概率 Z Z Z,将,上式就可以继续写成:
L ( θ ) − L ( θ ( i ) ) = l o g ∑ Z ( P ( Y , Z ∣ θ ) ) − l o g ( P ( Y ∣ θ ( i ) ) ) = l o g ∑ Z [ P ( Z ∣ Y , θ ( i ) ) P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ] − l o g ( P ( Y ∣ θ ( i ) ) ) 分子分母同乘以一个数,原式保持不变,这样就引入了隐变量 z 的概率分布。 另外对数函数中有一个求和式,直接计算是十分复杂的。 L(\theta)-L(\theta^{(i)})=log\sum\limits_{Z}(P(Y,Z|\theta))-log(P(Y|\theta^{(i)}))\\ =log\sum\limits_{Z}[P(Z|Y,\theta^{(i)})\frac{P(Y,Z|\theta)}{P(Z|Y,\theta^{(i)}}]-log(P(Y|\theta^{(i)})) \\ 分子分母同乘以一个数,原式保持不变,这样就引入了隐变量z的概率分布。 \\另外对数函数中有一个求和式,直接计算是十分复杂的。 L(θ)L(θ(i))=logZ(P(Y,Zθ))log(P(Yθ(i)))=logZ[P(ZY,θ(i))P(ZY,θ(i)P(Y,Zθ)]log(P(Yθ(i)))分子分母同乘以一个数,原式保持不变,这样就引入了隐变量z的概率分布。另外对数函数中有一个求和式,直接计算是十分复杂的。

4)此时,我们需要借助Jensen不等式了。

我们已经知道,期望 E ( X ) = ∑ x p ( x ) E(X)=\sum xp(x) E(X)=xp(x),函数期望则为: E ( f ( x ) ) = ∑ f ( x ) p ( x ) E(f(x))=\sum f(x)p(x) E(f(x))=f(x)p(x)

∑ Z P ( Z ∣ Y , θ ( i ) ) = 1 \sum\limits_{Z}P(Z|Y,\theta^{(i)})=1 ZP(ZY,θ(i))=1,这是因变量 z z z的概率分布,相当于上式的 p ( x ) p(x) p(x)

我们 P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) \frac{P(Y,Z|\theta)}{P(Z|Y,\theta^{(i)})} P(ZY,θ(i))P(Y,Zθ)把看作一个整体,相当于上式中的 f ( x ) f(x) f(x),因此 ∑ Z [ P ( Z ∣ Y , θ ( i ) ) P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ] \sum\limits_{Z}[P(Z|Y,\theta^{(i)})\frac{P(Y,Z|\theta)}{P(Z|Y,\theta^{(i)})}] Z[P(ZY,θ(i))P(ZY,θ(i))P(Y,Zθ)]可以看作一个期望。

根据Jensen不等式,对于凸函数,函数的期望大于等于期望的函数;凹函数相反

l o g ∑ Z [ P ( Z ∣ Y , θ ( i ) ) P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ] log\sum\limits_{Z}[P(Z|Y,\theta^{(i)})\frac{P(Y,Z|\theta)}{P(Z|Y,\theta^{(i)}}] logZ[P(ZY,θ(i))P(ZY,θ(i)P(Y,Zθ)]就是期望的函数,此函数为log,而log属于凹函数,取相反结论,因此函数的期望小于等于期望的函数

我们可以得到下式:
L ( θ ) − L ( θ ( i ) ) = l o g ∑ Z ( P ( Y , Z ∣ θ ) ) − l o g ( P ( Y ∣ θ ( i ) ) ) = l o g ∑ Z [ P ( Z ∣ Y , θ ( i ) ) P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ] − l o g ( P ( Y ∣ θ ( i ) ) ) ≥ ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) − l o g ( P ( Y ∣ θ ( i ) ) ) 由于 ∑ Z P ( Z ∣ Y , θ ( i ) ) = 1 ,因此在 l o g ( P ( Y ∣ θ ( i ) ) ) 中可以乘 ∑ Z P ( Z ∣ Y , θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) − ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g ( P ( Y ∣ θ ( i ) ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ( P ( Y ∣ θ ( i ) ) ) 接着,对分母的式子进行简化,根据乘法公式 P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) = P ( Y , Z ∣ θ ( i ) ) ,它可以继续写成 = ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) ≥ 0 L(\theta)-L(\theta^{(i)})=log\sum\limits_{Z}(P(Y,Z|\theta))-log(P(Y|\theta^{(i)}))\\ =log\sum\limits_{Z}[P(Z|Y,\theta^{(i)})\frac{P(Y,Z|\theta)}{P(Z|Y,\theta^{(i)})}]-log(P(Y|\theta^{(i)})) \\ \geq \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Z|Y,\theta^{(i)})}-log(P(Y|\theta^{(i)}))\\ 由于\sum\limits_{Z}P(Z|Y,\theta^{(i)})=1,因此在log(P(Y|\theta^{(i)}))中可以乘\sum\limits_{Z}P(Z|Y,\theta^{(i)})\\ =\sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Z|Y,\theta^{(i)})}-\sum\limits_{Z}P(Z|Y,\theta^{(i)})log(P(Y|\theta^{(i)}))\\ =\sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Z|Y,\theta^{(i)})(P(Y|\theta^{(i)}))}\\ 接着,对分母的式子进行简化,根据乘法公式P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})=P(Y,Z|\theta^{(i)}),它可以继续写成\\ =\sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})}\\ \geq0 L(θ)L(θ(i))=logZ(P(Y,Zθ))log(P(Yθ(i)))=logZ[P(ZY,θ(i))P(ZY,θ(i))P(Y,Zθ)]log(P(Yθ(i)))ZP(ZY,θ(i))logP(ZY,θ(i))P(Y,Zθ)log(P(Yθ(i)))由于ZP(ZY,θ(i))=1,因此在log(P(Yθ(i)))中可以乘ZP(ZY,θ(i))=ZP(ZY,θ(i))logP(ZY,θ(i))P(Y,Zθ)ZP(ZY,θ(i))log(P(Yθ(i)))=ZP(ZY,θ(i))logP(ZY,θ(i))(P(Yθ(i)))P(Y,Zθ)接着,对分母的式子进行简化,根据乘法公式P(ZY,θ(i))P(Yθ(i))=P(Y,Zθ(i)),它可以继续写成=ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)0
5)可以看出,对数中的分子是在未知参数 θ \theta θ下的联合概率,而分母是在已知参数 θ ( i ) \theta^{(i)} θ(i)的联合概率,都是完全概率,我们的目的是为了让每轮迭代后的概率比上轮的大,自然写成:
∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) ≥ 0 \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})}\geq0 ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)0
到这一步,我们的似然函数基本上就敲定了。

我们来验证下:令似然函数最大就意味着令每轮迭代后的隐变量概率都比上轮大。

很简单,只要对数部分大于零,不等式自然成立,也就是对数里面的部分大于等于1,继续写成
P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) ≥ 1 \frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})}\geq1 P(Y,Zθ(i))P(Y,Zθ)1
验证了每轮迭代的概率都比上轮大,等同于令似然函数越来越大。

6)接着,我们的目标就是要求出对应似然函数下的缺失变量 θ \theta θ的概率值。
我们已经知道 L ( θ ) − L ( θ ( i ) ) ≥ ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) 即 L ( θ ) ≥ L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) 我们令 L ( θ ) 的下界 B ( θ , θ ( i ) ) = L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) 我们极大化似然函数 L ( θ ) 等同于最大化下界 B ( θ , θ ( i ) ) 而 L ( θ ( i ) ) 为常数,就等同于最大化 ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) 我们已经知道L(\theta)-L(\theta^{(i)})\geq\sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})} \\ 即L(\theta) \geq L(\theta^{(i)}) + \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})}\\ 我们令L(\theta)的下界B(\theta,\theta^{(i)})=L(\theta^{(i)}) + \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})} \\ 我们极大化似然函数L(\theta)等同于最大化下界B(\theta,\theta^{(i)}) \\ 而L(\theta^{(i)})为常数,就等同于最大化\sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})} 我们已经知道L(θ)L(θ(i))ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)L(θ)L(θ(i))+ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)我们令L(θ)的下界B(θ,θ(i))=L(θ(i))+ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)我们极大化似然函数L(θ)等同于最大化下界B(θ,θ(i))L(θ(i))为常数,就等同于最大化ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)
我们将式子拆开:
∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) − ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ( i ) ) \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})}\\ =\sum\limits_{Z}P(Z|Y,\theta^{(i)})log{P(Y,Z|\theta)}-\sum\limits_{Z}P(Z|Y,\theta^{(i)})log{P(Y,Z|\theta^{(i)})} ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)=ZP(ZY,θ(i))logP(Y,Zθ)ZP(ZY,θ(i))logP(Y,Zθ(i))
在减号后面的部分还是个常数,不好含未知参数 θ \theta θ。因此,我们只需要对前面的部分求出当它最大时对应的 θ \theta θ
即 Q ( θ , θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) ∑ Z P ( Z ∣ Y , θ ( i ) ) = 1 ,是一个条件概率分布,因此可以化简为期望形式,即: = E Z ∣ Y , θ ( i ) l o g P ( Y , Z ∣ θ ) 即Q(\theta,\theta^{(i)})=\sum\limits_{Z}P(Z|Y,\theta^{(i)})log{P(Y,Z|\theta)}\\ \sum\limits_{Z}P(Z|Y,\theta^{(i)})=1,是一个条件概率分布,因此可以化简为期望形式,即:\\ =E_{Z|Y,\theta^{(i)}}log{P(Y,Z|\theta)} Q(θ,θ(i))=ZP(ZY,θ(i))logP(Y,Zθ)ZP(ZY,θ(i))=1,是一个条件概率分布,因此可以化简为期望形式,即:=EZY,θ(i)logP(Y,Zθ)
这就是EM算法的E步的推导。

通过EM算法的E步,我们得到了Q函数
Q ( θ , θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) = E Z ∣ Y , θ ( i ) l o g P ( Y , Z ∣ θ ) Q(\theta,\theta^{(i)})=\sum\limits_{Z}P(Z|Y,\theta^{(i)})log{P(Y,Z|\theta)}\\ =E_{Z|Y,\theta^{(i)}}log{P(Y,Z|\theta)} Q(θ,θ(i))=ZP(ZY,θ(i))logP(Y,Zθ)=EZY,θ(i)logP(Y,Zθ)
接下来,我们只需要求使 Q ( θ , θ ( i ) ) Q(\theta,\theta^{(i)}) Q(θ,θ(i))极大化的 θ \theta θ,确定第 i + 1 i+1 i+1次的迭代参数的估计值 θ ( i + 1 ) \theta^{(i+1)} θ(i+1),即M步。

3.3 EM算法的图形解释

在推导 E M 算法过程中我们知道, L ( θ ) ≥ L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) 我们令下界 B ( θ , θ ( i ) ) = L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) 在推导EM算法过程中我们知道,L(\theta) \geq L(\theta^{(i)}) + \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})}\\ 我们令下界B(\theta,\theta^{(i)})=L(\theta^{(i)}) + \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})} 在推导EM算法过程中我们知道,L(θ)L(θ(i))+ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)我们令下界B(θ,θ(i))=L(θ(i))+ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)

  • 我们想让似然函数越来越大,等同于是让下界 B ( θ , θ ( i ) ) B(\theta,\theta^{(i)}) B(θ,θ(i))越来越大。

  • 注意,在每轮的迭代中都它所对应的下界函数 B ( θ , θ ( i ) ) B(\theta,\theta^{(i)}) B(θ,θ(i))都是在不断更新的。

  • 我们说明一下,下图中 L ( θ ) L(\theta) L(θ) B ( θ , θ ( i ) ) B(\theta,\theta^{(i)}) B(θ,θ(i)) θ ( i ) \theta^{(i)} θ(i)处相等这句话。

L ( θ ) ≥ L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) P ( Y , Z ∣ θ ( i ) ) 当 θ = θ ( i ) 时, P ( Y , Z ∣ θ ( i ) ) P ( Y , Z ∣ θ ( i ) ) = 1 , 那么 l o g P ( Y , Z ∣ θ ( i ) ) P ( Y , Z ∣ θ ( i ) ) = 0 因此 L ( θ ( i ) ) ≥ L ( θ ( i ) ) + 0 , 即 L ( θ ) 和 B ( θ , θ ( i ) ) 在 θ ( i ) 处相等 L(\theta) \geq L(\theta^{(i)}) + \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y,Z|\theta)}{P(Y,Z|\theta^{(i)})}\\ 当\theta=\theta^{(i)}时,\frac{P(Y,Z|\theta^{(i)})}{P(Y,Z|\theta^{(i)})}=1,那么log\frac{P(Y,Z|\theta^{(i)})}{P(Y,Z|\theta^{(i)})}=0\\ 因此L(\theta^{(i)}) \geq L(\theta^{(i)}) + 0,即L(\theta)和B(\theta,\theta^{(i)})在\theta^{(i)}处相等 L(θ)L(θ(i))+ZP(ZY,θ(i))logP(Y,Zθ(i))P(Y,Zθ)θ=θ(i)时,P(Y,Zθ(i))P(Y,Zθ(i))=1,那么logP(Y,Zθ(i))P(Y,Zθ(i))=0因此L(θ(i))L(θ(i))+0,L(θ)B(θ,θ(i))θ(i)处相等

  • 现在,我们再看3.1EM算法的流程,就应该有更深刻的理解了。

在这里插入图片描述

有关EM算法收敛的证明可以参考:

学会EM算法

接下来会介绍下《统计学习方法》中EM算法的三硬币模型例子,以及EM算法在高斯混合模型中的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/776433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL11 | Windows系统安装PostgreSQL

本教程选取与参考书籍《PostgreSql11 从入门到精通》&#xff08;清华大学出版社&#xff09;的11大版本最新小版本11.22的安装作为教程案例 下载 下载PostgreSQL installer 下载到本地 安装 运行安装引导器 中国地区语言选项&#xff08;暂时&#xff09; Chinese(Simplifie…

测试开发工程师(QA)职业到底需要干些什么?part7:硬件测试工程师QA

概述 硬件测试工程师QA主要负责确保硬件产品在设计、制造和交付过程中的质量和性能。主要任务是进行测试、验证和分析硬件系统、组件和设备&#xff0c;以确保其符合规格和质量标准。下面是硬件测试工程师QA在其工作中常涉及的一些方面&#xff1a; 测试计划和策略&#xff1a…

EMCC13.5安装配置手册(详细版)

ORACLE OEM13.5安装配置详细文档 包含详细的安装配置&#xff0c;常见的错误和解决办法&#xff0c;已经OEM添加集群和主机等可能遇到的问题和解决办法 一、数据库基础环境安装 版本&#xff1a;Oracle Database 19c Enterprise Edition Release 19.3.0.0.0 - 64bit Product…

Mybatis的动态SQL~

MyBatis有一个强大特性就是它的动态SQL。在实际项目开发中&#xff0c;经常需要根据不同条件拼接SQL语句&#xff0c;拼接时还要确保不能忘了必要的空格&#xff0c;有时候还要注意省掉列名列表最后的逗号...等等。在使用JDBC 或其他类似持久层框架操作数据库时&#xff0c;处理…

全国美食博主都在天水:一碗麻辣烫,如何在互联网热辣滚烫?

从淄博到哈尔滨&#xff0c;地方文旅此前从未想到过&#xff0c;自己与“一夜爆火”的距离居然这么近&#xff1b; 而等到从哈尔滨再到天水时&#xff0c;地方文旅的应对甚至已经开始轻车熟路了起来。 热闹之下&#xff0c;难免有几个问题需要细思&#xff1a;为什么从2023年到…

【探索C++】友元

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

nvm 报错 Could not retrieve https://npm.taobao.org/mirrors/node/index.json.

报错信息如下 原因 因为淘宝的镜像域名更换&#xff0c;npm.taobao.org域名HTTPS证书到期更换为npmmirror.com&#xff0c;故此导致安装依赖报错 解决 1、进入nvm安装目录&#xff08;例如&#xff1a;C:\Users\默认账户\AppData\Roaming\nvm&#xff09;中找到settings.txt…

第八届信息系统与数据采集国际会议(ICISDM 2024)即将召开!

第八届信息系统与数据采集国际会议&#xff08;ICISDM 2024&#xff09;将于2024年6月24日至6月26日在美国第二大城市——洛杉矶召开。此次会议不仅展现了世界各地的科研专家们围绕着信息系统和数据采集所展开的最新的科学研究结果&#xff0c;而且也为来自不同地区的代表们提供…

如何进行 SEO 竞争对手分析

SEO &#xff08;搜索引擎优化&#xff09;的世界是一个庞大、复杂且竞争激烈的地方。如此之多&#xff0c;以至于你可能会觉得自己永远无法超越你的竞争对手。 但不要绝望&#xff1a;对竞争对手的 SEO 策略进行一些监视会大有帮助。 它涉及评估他们的关键字定位、反向链接配…

【论文阅读】Faster Neural Networks Straight from JPEG

Faster Neural Networks Straight from JPEG 论文链接&#xff1a;Faster Neural Networks Straight from JPEG (neurips.cc) 作者&#xff1a;Lionel Gueguen&#xff0c;Alex Sergeev&#xff0c;Ben Kadlec&#xff0c;Rosanne Liu&#xff0c;Jason Yosinski 机构&#…

redis的设计与实现(四)——单机数据库特性

1. 前言 我们前面了解了redis的数据结构&#xff0c;对象。但是redis对于这些对象的使用和管理策略需要也熟记于心&#xff0c;这篇文章我们就了解一下吧。 2. 类型检查和命令多态 DEL,EXPIRE,RENAME,TYPE,OBJECT 可以对任何数据类型执行SET,GET,APPEND,STRLEN&#xff0c;等…

【nodejs ubuntu】nodejs版本过老的更新方法

使用apt方法安装的node.js版本过于老了&#xff0c;以至于我没法用npm下载hexo 下面是更新方法 参考了这篇文章 然后就可以成功安装了

蓝桥杯算法赛(二进制王国)

问题描述 二进制王国是一个非常特殊的国家&#xff0c;因为该国家的居民仅由 0 和 1 组成。 在这个国家中&#xff0c;每个家庭都可以用一个由 0 和 1 组成的字符串 S 来表示&#xff0c;例如 101、 000、 111 等。 现在&#xff0c;国王选了出 N 户家庭参加邻国的庆典…

PMP考试难不难,通过率怎样?

PMP考试自从新考纲调整后有几次考试难度是非常高的&#xff0c;那段时间我也看网上好多机构通过率都不咋地&#xff0c;当时也是因为官方的出题难度稍高&#xff0c;还组织了免费的重考&#xff0c;也是后来逐渐开始归于平常了吧&#xff0c;直到现在都是我认为比较简单的选择题…

【Qt】QDialog对话框

目录 一、概念 二、对话框的分类 2.1 模态对话框 2.2 非模态对话框 2.3 混合属性对话框 三、消息对话框QMessageBox 四、颜色对话框QColorDialog 五、文件对话框QFileDialog 六、字体对话框QFontDialog 七、输入对话框QInputDialog 一、概念 对话框是GUI程序中不可或…

Unity角色多人同步

1.位置同步和状态同步&#xff1a;需要同步的节点上挂载脚本&#xff1a; gameObject.AddComponent<SyncTransform>(); ; //同步gameObject.GetComponent<SyncTransform>().syncId SyncUtilFunc.GetRoleSyncId(PlayerData.Instance.PlayerId); //同步gameObject.G…

Qt定时器类QTimer

参考原文链接&#xff1a;https://blog.csdn.net/weixin_43780415/article/details/131389737 Qt定时器类QTimer是一个用于重复执行或延迟执行函数的类。它可以在一定时间间隔内发送一个信号&#xff0c;也可以在指定的时间后发送一个信号。QTimer是一个基于事件的定时器&#…

鸿蒙OS开发实例:【工具类封装-页面路由】

import common from ohos.app.ability.common; import router from ohos.router 封装app内的页面之间跳转、app与app之间的跳转工具类 【使用要求】 DevEco Studio 3.1.1 Release api 9 【使用示例】 import MyRouterUtil from ../common/utils/MyRouterUtil MyRouterUtil…

giteed的使用

1. 将工作区的内容添加到暂存区 你的工作区要有内容&#xff08;.git 不算&#xff09; 注意&#xff1a;空文件可以添加&#xff0c;但是空文件夹不管 如果没有形成历史版本之前&#xff0c;暂存区的同名文件会被覆盖 //打开命令行&#xff0c;切换到 .git所在的目录&…

JVM常见垃圾收集算法

JVM常见垃圾收集算法 标记-清除算法复制算法标记-整理&#xff08;标记压缩&#xff09;算法分代收集算法新生代和老年代分代收集算法工作机制 面试题&#xff1a;为什么分代收集算法把堆分成年轻代和老年代&#xff1f; 标记-清除算法 最基础的算法&#xff0c;分标记和清除两…