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

news2024/9/27 19:24:27

经典机器学习模型(九)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.coloradmin.cn/o/1551194.html

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

相关文章

红酒:不同类型红酒的品鉴技巧与文化传承

红酒&#xff0c;作为一种历史悠久的产品&#xff0c;不仅蕴含着深厚的文化底蕴&#xff0c;还展现了多样的风味特点。云仓酒庄雷盛红酒&#xff0c;其不同类型的产品各具特色&#xff0c;为品鉴者带来了丰富的体验。本文将带您一起探索雷盛红酒的品鉴技巧与文化传承。 品鉴红酒…

DFS:从递归去理解深度优先搜索

一、深入理解递归 二、递归vs迭代 三、深入理解搜索、回溯和剪枝 四、汉诺塔问题 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public: //笔试题&#xff0c;不讲武德&#xff0c;CAvoid move(int n,vector<int>& A, vector<int>& B, ve…

Qwen1.5的多框架部署使用指南

在当今的技术领域&#xff0c;大型语言模型的应用日益广泛&#xff0c;而Qwen1.5作为其中的佼佼者&#xff0c;已经得到了多个推理框架的支持。 原生混合精度推理 from transformers import AutoModelForCausalLM, AutoTokenizer import torch# 设置设备为CUDA&#xff0c;如果…

【Vue3】实现二维码、链接 分享功能

界面效果: 描述 要实现的功能分别是 1.复制链接可以将次链接分享给他人&#xff0c;他人依靠链接便可以打开你想要让他看到的数据 2.通过微信扫一扫&#xff0c;便可看到和链接一样的内容在手机端 需要的依赖 二维码:qrcode 复制功能:vue-clipboard3 下载二维码:html2canv…

网络编程之流式套接字

流式套接字&#xff08;SOCK_STREAM&#xff09;是一种网络编程接口&#xff0c;它提供了一种面向连接的、可靠的、无差错和无重复的数据传输服务。这种服务保证了数据按照发送的顺序被接收&#xff0c;使得数据传输具有高度的稳定性和正确性。通常用于那些对数据的顺序和完整性…

ES5和ES6的深拷贝问题

深拷贝我们知道是引用值的一个问题&#xff0c;因为在拷贝的时候&#xff0c;拷贝的是在内存中同一个引用。所以当其中的一个应用值发生改变的时候&#xff0c;其他的同一个引用值也会发生变化。那么针对于这种情况&#xff0c;我们需要进行深度拷贝&#xff0c;这样就可以做到…

Linux下javaweb项目部署

javaweb项目部署测试 测试环境&#xff1a;centos7 下载安装jdk rpm -ivh jdk-8u131-linux-x64.rpm 下载安装MySQL wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.33-1.el7.x86_64.rpm https://downloads.mysql.com/archives/get/p…

Docker部署一个SpringBoot项目(超级详细)

注意&#xff1a;下面的教程主要是针对 Centos7 的&#xff0c;如果使用的其他发行版会有细微的差别&#xff0c;请查看官方文档。 Docker部署一个SpringBoot项目&#xff08;超级详细&#xff09; 一、安装Docker1.卸载旧版2.配置Docker的yum库3.安装Docker4.设置开机自启动5.…

前端实现浏览器自定义滚动条

前言&#xff1a; 最近有个项目&#xff0c;产品觉得浏览器默认滚动条太丑了。想美化一下&#xff0c;比如自定义颜色&#xff0c;加上圆角&#xff0c;宽高都要更改一下。我查了资料和文档总结了一下 写法&#xff0c;特此记录以便之后使用。 浏览器滚动条api 总结&#xff…

2024年了,为何 Selenium 依然这么火?

今天给大家带来的主题是自动化测试框架Selenium&#xff0c;话不多说&#xff0c;直接开始&#xff01; 1.什么是 Selenium 自动化测试 Jason Huggins 于 2004 年创建了一个 JavaScript 框架&#xff0c;旨在将其从重复的手动测试中解放出来。 最初命名为 JavaScriptTestRunn…

基于SpringCloud+Hadoop+Vue实现的企业级网盘系统实现

编程语言&#xff1a;Java、Mybatis、Spring、SpringBoot、SpringCloud、Node、Vue 开发环境&#xff1a;Windows 10 Mysql 开发工具&#xff1a;WebStorm、IDEA编译器、Git、Maven 应用部署服务器&#xff1a;SpringBoot内置Tomcat插件 Node服务器&#xff1a;Node v10.1…

【吊打面试官系列】Redis篇 -Redis 集群如何选择数据库?

大家好&#xff0c;我是锋哥。今天分享关于 【Redis 集群如何选择数据库&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Redis 集群如何选择数据库&#xff1f; Redis 集群目前无法做数据库选择&#xff0c;默认在 0 数据库。 Redis 集群不支持使用 SELECT 命令…

RF-TI1352P2—双频多协议高发射功率无线模块

RF-TI1352P2是一款基于TI CC1352P7为核心的双频&#xff08;Sub-1 GHz 和 2.4 GHz&#xff09;多协议高发射功率&#xff08;20 dBm&#xff09;无线模块&#xff1b;支持IPEX接口和邮票孔两种天线形式&#xff1b;模块除了集成负责应用逻辑的高性能 48 MHz ARM Cortex-M4F 主处…

实验02-1 C#和ASP.NET控件:在Web窗体中输出九九乘法表

【实验内容及要求】 1. 在Web窗体中输出九九乘法表 浏览效果如图2-1所示。 图2-1 在Default.aspx.cs中编写C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;public par…

什么是通配符SSL证书?

在当前互联网环境中&#xff0c;数据传输安全至关重要&#xff0c;而通配符SSL证书作为保护多个子域名的理想工具&#xff0c;因其灵活、经济高效的特性而备受瞩目。本文将详细介绍通配符SSL证书的定义、主要特性及其价格区间。 通配符SSL证书的核心特性概述如下&#xff1a; …

【python】flask模板渲染引擎Jinja2中的模板继承,简化前端模块化开发

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

霉霉说地道中文,口型、卡点几乎完美,网友:配音时代结束了?

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站 每天给大家更新可用的国内可用chatGPT资源 更多资源欢迎关注 「给电影配音的时代即将结束了。」 AI 的发展让很多人直呼饭碗被抢了&#xff0c;以前是艺术家、程序员…… 现在配音员也要失业了&a…

763. 划分字母区间(力扣LeetCode)

763. 划分字母区间 题目描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍然是 s 。 返回一个表示每个字符串…

Linux:基础IO

回顾C文件接口 stdin & stdout & stderr C 默认会打开三个输入输出流&#xff0c;分别是 stdin, stdout, stderr 仔细观察发现&#xff0c;这三个流的类型都是 FILE*, fopen 返回值类型&#xff0c;文件指针 系统文件I/O 接口介绍 open man open #include <sy…

LeetCode 每日一题 Day 109-115

1969. 数组元素的最小非零乘积 给你一个正整数 p 。你有一个下标从 1 开始的数组 nums &#xff0c;这个数组包含范围 [1, 2p - 1] 内所有整数的二进制形式&#xff08;两端都 包含&#xff09;。你可以进行以下操作 任意 次&#xff1a; 从 nums 中选择两个元素 x 和 y 。 选…