EM算法中的Q函数:从三硬币模型到实际应用的完整推导指南
EM算法中的Q函数从三硬币模型到实际应用的完整推导指南在机器学习领域我们常常会遇到数据不完整或存在隐变量的情况。这时传统的最大似然估计方法往往难以直接应用。EMExpectation-Maximization算法作为一种强大的迭代优化工具能够优雅地处理这类问题。而理解EM算法的核心关键在于掌握其灵魂——Q函数。1. EM算法与Q函数基础想象一下你有一袋混合了不同硬币抛掷结果的数据但不知道每次抛掷具体用了哪枚硬币。这就是典型的隐变量问题。EM算法通过交替执行两个步骤来解决这类问题E步期望步基于当前参数估计计算隐变量的条件概率分布M步最大化步基于E步的结果更新模型参数Q函数正是在E步中计算得到的完全数据对数似然函数的期望值。数学上表示为Q(θ,θ⁽ⁱ⁾) E_Z[log P(Y,Z|θ)|Y,θ⁽ⁱ⁾]其中θ⁽ⁱ⁾是第i次迭代的参数估计Y是观测数据Z是隐变量注意Q函数不是凭空定义的而是从最大化不完全数据似然函数的过程中自然推导出来的。2. 从三硬币模型看Q函数推导三硬币模型是理解EM算法的经典案例。假设有三个硬币A、B、C其正面朝上的概率分别为π、p、q。实验过程为抛硬币A若A为正面抛B否则抛C记录最终结果B或C的结果重复n次我们观察到的是B/C的结果序列但不知道每次实验实际使用的是B还是C这就是隐变量。2.1 不完全数据似然函数对于n次观测Y(y₁,...,yₙ)似然函数为L(θ) log P(Y|θ) Σ log[πp^yᵢ(1-p)^(1-yᵢ) (1-π)q^yᵢ(1-q)^(1-yᵢ)]这个式子由于log内部有求和直接求导最大化非常困难。2.2 引入Q函数定义隐变量zᵢ表示第i次实验使用的是B(zᵢ1)还是C(zᵢ0)。完全数据似然函数为P(Y,Z|θ) Π [πp^yᵢ(1-p)^(1-yᵢ)]^zᵢ [(1-π)q^yᵢ(1-q)^(1-yᵢ)]^(1-zᵢ)取对数后log P(Y,Z|θ) Σ zᵢ[logπ yᵢlogp (1-yᵢ)log(1-p)] (1-zᵢ)[log(1-π) yᵢlogq (1-yᵢ)log(1-q)]Q函数即为上述表达式关于Z的条件期望Q(θ,θ⁽ⁱ⁾) E[log P(Y,Z|θ)|Y,θ⁽ⁱ⁾]2.3 E步计算期望计算zᵢ的期望即在当前参数θ⁽ⁱ⁾下zᵢ1的概率μᵢ⁽ⁱ⁾ E[zᵢ|yᵢ,θ⁽ⁱ⁾] P(zᵢ1|yᵢ,θ⁽ⁱ⁾) π⁽ⁱ⁾ p⁽ⁱ⁾^yᵢ (1-p⁽ⁱ⁾)^(1-yᵢ) / [π⁽ⁱ⁾ p⁽ⁱ⁾^yᵢ (1-p⁽ⁱ⁾)^(1-yᵢ) (1-π⁽ⁱ⁾) q⁽ⁱ⁾^yᵢ (1-q⁽ⁱ⁾)^(1-yᵢ)]因此Q函数可表示为Q(θ,θ⁽ⁱ⁾) Σ μᵢ⁽ⁱ⁾[logπ yᵢlogp (1-yᵢ)log(1-p)] (1-μᵢ⁽ⁱ⁾)[log(1-π) yᵢlogq (1-yᵢ)log(1-q)]2.4 M步参数更新最大化Q函数对各个参数求导并令导数为0对ππ⁽ⁱ⁺¹⁾ (Σ μᵢ⁽ⁱ⁾)/n对pp⁽ⁱ⁺¹⁾ Σ μᵢ⁽ⁱ⁾ yᵢ / Σ μᵢ⁽ⁱ⁾对qq⁽ⁱ⁺¹⁾ Σ (1-μᵢ⁽ⁱ⁾) yᵢ / Σ (1-μᵢ⁽ⁱ⁾)3. Q函数的数学本质为什么Q函数能有效提升似然函数这背后有着严谨的数学解释。3.1 琴生不等式与下界函数对于任意分布q(Z)根据琴生不等式log P(Y|θ) log Σ P(Y,Z|θ) log Σ q(Z) P(Y,Z|θ)/q(Z) ≥ Σ q(Z) log[P(Y,Z|θ)/q(Z)]当q(Z)P(Z|Y,θ⁽ⁱ⁾)时这个下界紧贴当前似然函数。3.2 Q函数与下界最大化定义下界函数B(θ,θ⁽ⁱ⁾) Σ P(Z|Y,θ⁽ⁱ⁾) log P(Y,Z|θ) - Σ P(Z|Y,θ⁽ⁱ⁾) log P(Z|Y,θ⁽ⁱ⁾)其中第一项就是Q函数。因此最大化Q函数等价于最大化这个下界。3.3 EM算法的收敛性因为每次迭代E步使下界等于当前似然M步提升下界从而保证似然函数不降这种性质确保了EM算法能收敛到局部最优。4. Q函数在实际应用中的变体不同场景下Q函数的具体形式会有所变化但核心思想不变。4.1 高斯混合模型对于K个高斯分布的混合模型Q函数为Q(θ,θ⁽ⁱ⁾) Σ Σ γₖᵢ⁽ⁱ⁾ [logπₖ log N(xᵢ|μₖ,Σₖ)]其中γₖᵢ⁽ⁱ⁾是第i个样本属于第k个高斯分布的后验概率。4.2 隐马尔可夫模型在HMM的参数学习中Q函数涉及状态转移期望计数观测发射期望计数初始状态分布4.3 含缺失数据的问题当数据有缺失时可将缺失部分视为隐变量Q函数即为完整数据对数似然关于观测数据的条件期望。5. 实现Q函数的实用技巧5.1 数值稳定性计算Q函数时常遇到小概率相乘导致下溢的问题。实用技巧包括使用log-sum-exp技巧在log空间进行计算添加微小常数防止零概率# log-sum-exp示例 def log_sum_exp(x): x_max np.max(x) return x_max np.log(np.sum(np.exp(x - x_max)))5.2 加速收敛方法标准EM可能收敛慢可尝试增加EM在M步不完全最大化只保证Q函数增加随机化EM每次迭代随机选择部分数据在线EM逐步处理数据5.3 处理局部最优EM易陷入局部最优解决方案多随机初始化使用模拟退火结合全局优化方法提示在实际应用中监控似然函数或参数的变化量是判断收敛的有效方法。6. Q函数与变分推断的关系当E步中P(Z|Y,θ⁽ⁱ⁾)难以计算时可用变分分布q(Z)近似log P(Y|θ) ≥ E_q[log P(Y,Z|θ)] - E_q[log q(Z)] ELBO这时最大化证据下界(ELBO)相当于广义的EM算法。6.1 变分EM框架变分E步固定θ优化q最大化ELBOM步固定q优化θ最大化ELBO6.2 平均场近似假设q(Z)可分解q(Z) Π qᵢ(Zᵢ)然后交替优化每个qᵢ。7. 前沿进展与扩展现代研究中Q函数的概念被扩展到更广泛的场景随机EM使用蒙特卡洛方法近似E步分布式EM处理大规模数据深度EM结合神经网络表示分布例如VAE变分自编码器可以看作是在神经网络参数化下的EM算法。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2437025.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!