斯坦福CS229课程笔记:期望最大化(EM)算法详解

斯坦福CS229课程笔记:期望最大化(EM)算法详解

Stanford-CS-229 A Chinese Translation of Stanford CS229 notes 斯坦福机器学习CS229课程讲义的中文翻译 Stanford-CS-229 项目地址: https://gitcode.com/gh_mirrors/st/Stanford-CS-229

引言

期望最大化(Expectation-Maximization, EM)算法是机器学习中一种非常重要的参数估计方法,特别适用于存在隐变量的概率模型。本文将从理论基础到实际应用,全面解析EM算法的原理和实现过程。

1. Jensen不等式:EM算法的数学基础

1.1 凸函数与Jensen不等式

Jensen不等式是EM算法的核心数学基础。我们先明确几个关键概念:

  • 凸函数:函数f是凸函数当且仅当其二阶导数f''(x)≥0(标量情况)或其海森矩阵H半正定(向量情况)
  • 严格凸函数:当f''(x)>0或H正定时成立

Jensen不等式定理指出:对于凸函数f和随机变量X,有: E[f(X)] ≥ f(E[X])

当f为严格凸函数时,等号成立当且仅当X为常数。

1.2 直观理解

我们可以通过一个简单例子来理解Jensen不等式:

假设X是一个取值为a和b的随机变量,各有0.5概率。那么:

  • E[X] = (a+b)/2
  • E[f(X)] = [f(a)+f(b)]/2
  • f(E[X]) = f((a+b)/2)

由于f是凸函数,根据定义,[f(a)+f(b)]/2 ≥ f((a+b)/2),这正是Jensen不等式的内容。

2. EM算法原理

2.1 问题设定

考虑一个包含m个独立样本的训练集{x(1),...,x(m)}。我们使用模型p(x,z;θ)对数据进行建模,其中z是隐变量。对数似然函数为:

l(θ) = Σlog p(x;θ) = Σlog Σp(x,z;θ)

直接最大化这个似然函数通常很困难,因为存在隐变量z。

2.2 EM算法框架

EM算法通过交替执行两个步骤来解决这个问题:

  1. E步骤(Expectation):计算隐变量的后验分布Q_i(z(i)) = p(z(i)|x(i);θ)
  2. M步骤(Maximization):最大化关于θ的下界函数

2.3 算法流程

完整EM算法流程如下:

重复直到收敛:

  1. (E步骤) 对每个i,设Q_i(z(i)) := p(z(i)|x(i);θ)
  2. (M步骤) 设θ := argmax_θ ΣΣQ_i(z(i))log[p(x(i),z(i);θ)/Q_i(z(i))]

2.4 收敛性证明

EM算法保证对数似然函数单调递增。设θ(t)和θ(t+1)是迭代过程中的参数,可以证明:

l(θ(t)) ≤ l(θ(t+1))

证明关键在于:

  1. E步骤选择Q_i(t)(z(i)) = p(z(i)|x(i);θ(t))保证Jensen不等式等号成立
  2. M步骤通过最大化下界函数得到θ(t+1)
  3. 通过不等式链式推导得出单调性结论

3. 高斯混合模型应用

3.1 E步骤实现

在高斯混合模型中,E步骤计算:

w_j(i) = Q_i(z(i)=j) = P(z(i)=j|x(i);φ,μ,Σ)

这表示样本x(i)属于第j个高斯分布的概率。

3.2 M步骤参数更新

在M步骤中,我们需要更新模型参数φ,μ,Σ:

  1. 均值μ更新: μ_l := (Σw_l(i)x(i))/(Σw_l(i))

  2. 混合权重φ更新: φ_j := (1/m)Σw_j(i)

  3. 协方差Σ更新(留作练习)

3.3 参数更新推导

以μ_l为例,推导过程如下:

  1. 构建目标函数
  2. 对μ_l求导并设导数为零
  3. 解方程得到更新规则

类似地,φ_j的更新通过构建拉格朗日函数并求解得到。

4. 总结

EM算法提供了一种有效的框架来处理含有隐变量的最大似然估计问题。其核心思想是通过交替执行E步骤和M步骤,逐步提高对数似然函数的下界,最终收敛到局部最优解。在高斯混合模型等应用中,EM算法展现出了强大的实用性和简洁性。

理解EM算法的关键在于掌握Jensen不等式和坐标上升的思想。通过本文的详细推导,希望读者能够深入理解EM算法的数学原理和实现细节,并能够将其应用于实际问题中。

Stanford-CS-229 A Chinese Translation of Stanford CS229 notes 斯坦福机器学习CS229课程讲义的中文翻译 Stanford-CS-229 项目地址: https://gitcode.com/gh_mirrors/st/Stanford-CS-229

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时熹剑Gabrielle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值