• 【李航统计学习笔记】第九章:EM算法


    9.1 导论

    三硬币模型

    假设我们有随机变量 z z z(观测不到的数据): z ∼ b ( 1 , π ) z \sim b(1, \pi) z∼b(1,π)。针对一系列样本 ( z 1 , y 1 ) ( z 2 , y 2 ) … … ( z N , y N ) \left(z_{1}, y_{1}\right)\left(z_{2}, y_{2}\right) \ldots \ldots\left(z_{N}, y_{N}\right) (z1​,y1​)(z2​,y2​)……(zN​,yN​),满足

    • 若 z 1 = 1 , y 1 ∼ b ( 1 , p ) z_1=1, y_1 \sim b(1, p) z1​=1,y1​∼b(1,p)
    • 若 z 1 = 0 , y 1 ∼ b ( 1 , q ) z_1=0, y_1 \sim b(1, q) z1​=0,y1​∼b(1,q)

    如果 ( z , y ) (z, y) (z,y)是完全数据,则有 p ( y , z ) = p ( z ) ⋅ p ( y ∣ z ) p(y, z)=p(z) \cdot p(y \mid z) p(y,z)=p(z)⋅p(y∣z)。

    如果 y y y是不完全数据(观测数据),则有
    ∏ i = 1 N p ( y i ∣ θ ) = ∏ i = 1 N [ ∑ z p ( y i , z ∣ θ ) ] = ∏ i = 1 N [ π p y i ( 1 − p ) 1 − y i + ( 1 − π ) q y i ( 1 − q ) 1 − y i ⇒ p ( y , z ∣ θ ) , max ⁡ ( ln ⁡ ∏ i = 1 N p ( y i , z i ∣ θ ) ) \prod_{i=1}^{\mathrm{N}} p\left(y_{i} \mid \theta\right)=\prod_{i=1}^{\mathrm{N}}\left[\sum_{z} p\left(y_{i}, z \mid \theta\right)\right]=\prod_{i=1}^{\mathrm{N}}\left[\pi p^{y_{i}}(1-p)^{1-y_{i}}+(1-\pi) q^{y_{i}}(1-q)^{1-y_{i}}\right.\\ \Rightarrow p(y, z \mid \theta), \quad \max \left(\ln \prod_{i=1}^{N} p\left(y_{i}, z_{i} \mid \theta\right)\right) i=1∏N​p(yi​∣θ)=i=1∏N​[z∑​p(yi​,z∣θ)]=i=1∏N​[πpyi​(1−p)1−yi​+(1−π)qyi​(1−q)1−yi​⇒p(y,z∣θ),max(lni=1∏N​p(yi​,zi​∣θ))

    • E步: z i → E ( z ) → θ ( i ) , y i z_{i} \rightarrow E(z) \rightarrow \theta^{(i)}, y_{i} zi​→E(z)→θ(i),yi​
    • M步: θ ( i + 1 ) = arg ⁡ max ⁡ θ ln ⁡ ∏ i = 1 N ( p i , E ( z ) ∣ θ ) \theta^{(i+1)}=\underset{\theta}{\arg \max } \ln \prod_{i=1}^{N}\left(p_{i}, E(z) \mid \theta\right) θ(i+1)=θargmax​ln∏i=1N​(pi​,E(z)∣θ)

    算法的引入

    EM算法步骤

    输入: 观测变量数据 Y Y Y, 隐变量数据 Z Z Z, 联合分布 P ( Y , Z ∣ θ ) P(Y, Z \mid \theta) P(Y,Z∣θ), 条件分布 P ( Z ∣ Y , θ ) P(Z \mid Y, \theta) P(Z∣Y,θ);

    输出 : 模型参数 θ \theta θ 。

    (1) 选择参数的初值 θ ( 0 ) \theta^{(0)} θ(0), 开始迭代 ;

    (2) E E E 步 : 记 θ ( i ) \theta^{(i)} θ(i) 为第 i i i 次迭代参数 θ \theta θ 的估计值, 在第 i + 1 i+1 i+1 次迭代的 E E E 步, 计算 Q ( θ , θ ( i ) ) = E Z [ log ⁡ P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] Q\left(\theta, \theta^{(i)}\right)=E_{Z}\left[\log P(Y, Z \mid \theta) \mid Y, \theta^{(i)}\right] Q(θ,θ(i))=EZ​[logP(Y,Z∣θ)∣Y,θ(i)]

    (3) M M M 步 : 求使 Q ( θ , θ ( i ) ) Q\left(\theta, \theta^{(i)}\right) Q(θ,θ(i)) 极大化的 θ \theta θ, 确定第 i + 1 i+1 i+1 次迭代的参数的估计值 θ ( i + 1 ) \theta^{(i+1)} θ(i+1) θ ( i + 1 ) = argmax ⁡ θ Q ( θ , θ ( i ) ) \theta^{(i+1)}=\operatorname{argmax}_{\theta} Q\left(\theta, \theta^{(i)}\right) θ(i+1)=argmaxθ​Q(θ,θ(i))

    (4) 重复第 (2) 步和第(3)步,直到收敛。 Q ( θ ( i + 1 ) , θ ( i ) ) ← Q ( θ ( i ) , θ ( i − 1 ) ) Q\left(\theta^{(i+1)}, \theta^{(i)}\right) \leftarrow Q \left(\theta^{(i)}, \theta^{(i-1)}\right) Q(θ(i+1),θ(i))←Q(θ(i),θ(i−1))

    式 (9.9)的函数 Q ( θ , θ ( i ) ) Q\left(\theta, \theta^{(i)}\right) Q(θ,θ(i)) 是 E M E M EM 算法的核心,称为 Q Q Q 函数( Q Q Q function)

    定理9.1

    设 P ( Y ∣ θ ) P(Y \mid \theta) P(Y∣θ) 为观测数据的似然函数, θ ( i ) ( i = 1 , 2 , … ) \theta^{(i)}(i=1,2, \ldots) θ(i)(i=1,2,…) 为 E M E M EM 算法得到的参数估计序列, P ( Y ∣ θ ( i ) ) ( i = 1 , 2 , … ) P\left(Y \mid \theta^{(i)}\right)(i=1,2 , \ldots) P(Y∣θ(i))(i=1,2,…) 为对应的似然函数序列,则 P ( Y ∣ θ ( i ) ) P\left(Y \mid \theta^{(i)}\right) P(Y∣θ(i)) 是单调递增的,即
    P ( Y ∣ θ ( i + 1 ) ) ≥ P ( Y ∣ θ ( i ) ) P\left(Y \mid \theta^{(i+1)}\right) \geq P\left(Y \mid \theta^{(i)}\right) P(Y∣θ(i+1))≥P(Y∣θ(i))

    定理2

    设 L ( θ ) = log ⁡ P ( Y ∣ θ ) L(\theta)=\log P(Y \mid \theta) L(θ)=logP(Y∣θ) 为观测数据的对数似然函数, θ ( i ) ( i = 1 , 2 , … ) \theta^{(i)}(i=1,2, \ldots) θ(i)(i=1,2,…) 为
    E M E M EM 算法得到的参数估计序列, L ( θ ( i ) ) ( i = 1 , 2 , … ) L\left(\theta^{(i)}\right)(i=1,2, \ldots) L(θ(i))(i=1,2,…) 为对应的对数似然函数序列。
    (1) 如果 P ( Y ∣ θ ) P(Y \mid \theta) P(Y∣θ) 有上界,则 L ( θ ( i ) ) = log ⁡ P ( Y ∣ θ ( i ) ) L\left(\theta^{(i)}\right)=\log P\left(Y \mid \theta^{(i)}\right) L(θ(i))=logP(Y∣θ(i)) 收敛到某一值 L L L ;
    (2) 在函数 Q ( θ , θ ′ ) Q\left(\theta, \theta^{\prime}\right) Q(θ,θ′) 与 L ( θ ) L(\theta) L(θ) 满足一定条件下,由 E M E M EM 算法得到的参数估计序列 θ ( i ) \theta^{(i)} θ(i) 的收敛值 θ \theta θ 是 L ( θ ) L(\theta) L(θ) 的稳定点。

    总结

    1. EM算法通过迭代求解观测数据的对数似然函数的极大化,实现极大似然估计。
    2. EM的极大似然估计中包含两个步骤:E步求期望和M步求极大。
    3. EM算法在每次迭代后均提高观测数据的似然函数值。

    9.2 EM算法的导出

    L ( θ ) = ln ⁡ P ( Y ∣ θ ) = ln ⁡ ∑ Z P ( Y , Z ∣ θ ) = ln ⁡ ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) L ( θ ) − L ( θ ( i ) ) = ln ⁡ ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) − ln ⁡ P ( Y ∣ θ ( i ) ) = ln ⁡ ( ∑ Z P ( Z ∣ Y , θ ( i ) ) P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ) − ln ⁡ P ( Y ∣ θ ( i ) ) ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ ( P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ) − ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Y ∣ θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ ( P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) )

    L(θ)=ln⁡P(Y∣θ)=ln⁡∑ZP(Y,Z∣θ)=ln⁡(∑ZP(Z∣θ)P(Y∣Z,θ))L(θ)−L(θ(i))=ln⁡(∑ZP(Z∣θ)P(Y∣Z,θ))−ln⁡P(Y∣θ(i))=ln⁡(∑ZP(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ)P(Z∣Y,θ(i)))−ln⁡P(Y∣θ(i))∑ZP(Z∣Y,θ(i))ln⁡(P(Z∣θ)P(Y∣Z,θ)P(Z∣Y,θ(i)))−∑ZP(Z∣Y,θ(i))ln⁡P(Y∣θ(i))=∑ZP(Z∣Y,θ(i))ln⁡(P(Z∣θ)P(Y∣Z,θ)P(Z∣Y,θ(i))P(Y∣θ(i)))" role="presentation" style="position: relative;">L(θ)=ln⁡P(Y∣θ)=ln⁡∑ZP(Y,Z∣θ)=ln⁡(∑ZP(Z∣θ)P(Y∣Z,θ))L(θ)−L(θ(i))=ln⁡(∑ZP(Z∣θ)P(Y∣Z,θ))−ln⁡P(Y∣θ(i))=ln⁡(∑ZP(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ)P(Z∣Y,θ(i)))−ln⁡P(Y∣θ(i))∑ZP(Z∣Y,θ(i))ln⁡(P(Z∣θ)P(Y∣Z,θ)P(Z∣Y,θ(i)))−∑ZP(Z∣Y,θ(i))ln⁡P(Y∣θ(i))=∑ZP(Z∣Y,θ(i))ln⁡(P(Z∣θ)P(Y∣Z,θ)P(Z∣Y,θ(i))P(Y∣θ(i)))
    L(θ)=lnP(Y∣θ)L(θ)−L(θ(i))​=lnZ∑​P(Y,Z∣θ)=ln(Z∑​P(Z∣θ)P(Y∣Z,θ))=ln(Z∑​P(Z∣θ)P(Y∣Z,θ))−lnP(Y∣θ(i))=ln(Z∑​P(Z∣Y,θ(i))P(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ)​)−lnP(Y∣θ(i))Z∑​P(Z∣Y,θ(i))ln(P(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ)​)−Z∑​P(Z∣Y,θ(i))lnP(Y∣θ(i))=Z∑​P(Z∣Y,θ(i))ln(P(Z∣Y,θ(i))P(Y∣θ(i))P(Z∣θ)P(Y∣Z,θ)​)​

    然后我们有
    θ ( i + 1 ) = argmax ⁡ θ B ( θ , θ ( i ) ) = argmax ⁡ θ ∑ Z P ( Z ∣ Y , θ ( i ) ) ( ln ⁡ P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) = argmax ⁡ θ ∑ Z P ( Z ∣ Y , θ ( i ) ) ( ln ⁡ P ( Y , Z ∣ θ ) )

    θ(i+1)=argmaxθB(θ,θ(i))=argmaxθ∑ZP(Z∣Y,θ(i))(ln⁡P(Z∣θ)P(Y∣Z,θ))=argmaxθ∑ZP(Z∣Y,θ(i))(ln⁡P(Y,Z∣θ))" role="presentation" style="position: relative;">θ(i+1)=argmaxθB(θ,θ(i))=argmaxθ∑ZP(Z∣Y,θ(i))(ln⁡P(Z∣θ)P(Y∣Z,θ))=argmaxθ∑ZP(Z∣Y,θ(i))(ln⁡P(Y,Z∣θ))
    θ(i+1)​=θargmax​B(θ,θ(i))=θargmax​Z∑​P(Z∣Y,θ(i))(lnP(Z∣θ)P(Y∣Z,θ))=θargmax​Z∑​P(Z∣Y,θ(i))(lnP(Y,Z∣θ))​
    最后
    argmax ⁡ θ Q ( θ , θ ( i ) ) \underset{\theta}{\operatorname{argmax}} Q\left(\theta, \theta^{(i)}\right) θargmax​Q(θ,θ(i))

    总结

    1. EM算法通过迭代逐步近似极大化L。
    2. 为了每次都能够极大化 L L L ,需保证每个步骤中 L ( θ ) − L(\theta)- L(θ)− L ( θ ( i ) ) L\left(\theta^{(i)}\right) L(θ(i)) 大于0。
    3. 通过找到当前 L ( θ ) − L ( θ ( i ) ) L(\theta)-L\left(\theta^{(i)}\right) L(θ)−L(θ(i)) 的下界,不断提高该下界即可。

    9.3 高斯混合模型

    (to be continue )

  • 相关阅读:
    rust结构体
    Vue3.0路由拦截
    【java学习】面向对象特征之一:封装和隐藏(23)
    gdb调试时怎样进入C/C++标准库
    BD Rhapsody单细胞分析系统
    unity fbx动画按配置切割帧片段
    Redis 复习计划 - Redis 数据结构和持久化机制
    Leetcode hot 100
    R-CNN详细解析
    从 0 开始手写实现一个 RPC 框架!
  • 原文地址:https://blog.csdn.net/weixin_39236489/article/details/126339363