EM算法

1.基础知识

1.1.高斯混合模型

高斯混合模型是有如下形式的概率分布模型:

其中 πk > 0 为混合系数, , θ = (θ1, ⋯, θK)T , θk = (πk, μk, σk2) ,多元变量 θk = (πk, ∑k) , k 为第 k 个高斯混合成分的参数。

假设观测数据 x1, x2, ⋯, xn ∈ RK 个组分的高斯混合模型生成。

高斯混合分布的对数最大化似然函数为:

对数里面有加和,无法直接通过求偏导解方程的方法求取最大值。 可以用EM算法解决这种难以计算的问题,EM算法是一种近似逼 近的迭代计算方法。

1.2.全概率公式

对于任一事件 A ,若有互不相容的事件 Bk, k = 1, ⋯, K ,则事件 A 的概率可用下式计算:

上式称为全概率公式。

1.3.Jensen不等式

如果 f 是凸函数, X是随机变量,那么 E[f(X)] ≥ f(EX) ,如果 f 是凹函数, X是随机变量,那么 E[f(X)] ≤ f(EX) ,如果 f 是严格凹或凸函数, 那么 E[f(X)] = f(EX) 当且仅当 p(x = E[X]) = 1 ,也就是 X 是常量。如下图:

2.EM算法原理及推导

实际问题中可能有一些数据是我们无法观测到的,假设观测数据X = {x1, ⋯, xn},缺失数据Z = {z1, ⋯, zn},观测数据与缺失数据组合成完整数据Y = {y1, ⋯, yn},模型的参数 θ 有待估计。其中缺失数据 ZK 个分布组成,这 K 个分布的参数可能不同,每个观测数据 xi 来自于这 K 个分布其中之一。这就造成观测数据下的似然函数难以求得解析解,即 L(θ|X) = P(X|θ) 难以求解。但是完全数据下的似然函数 L(θ|Y) = P(Y|Y) 容易求解,观测数据条件下的隐变量概率 P(Z|X, θ) 容易求得。

EM算法

对于观测数据 X 样例间独立,我们想找到每个样例隐含的类别(分布) z,能使得 p(x, z) 最大.对于每个样例 xi 假设 Qi 是关于隐含变量 z 的概率分布,则 .比如要将班上学生按身高聚类,假设隐藏变量 z 是性别(男女的身高分布,即连续的高斯分布)。

根据Jensen不等式,想要等式成立,有如下条件:

可以推出:

则:

Qi 为在给定 xi, θ(t) 情况下 xi 属于分类 z 的概率。将 Qi带入可得:

上式中第二项与 θ 无关为常数项(熵),令:

Q(θ|θ(t)) = ∑zp(z|X, θ(t))ln P(X, z|θ) = Ez(ln P(X, z|θ)|X, θ(t))

可得最大化似然函数等同于:

arg maxθ𝓁(θ|X) ⇔ arg maxθQ(θ|θ(t))

EM算法流程

由以上推导可知EM算法通过迭代求 𝓁(θ|X) = ln P(X|θ) 的最大似然估计,每次迭代步骤如下:

(1)选择参数的初始值 θ(0) 开始迭代

(2)E步(求期望):

Q(θ|θ(t)) = ∑zp(z|X, θ(t))ln P(X, z|θ) = Ez(ln P(X, z|θ)|X, θ(t))

(3)M步:最大化第二步的期望值,然后对参数求偏导等于0后求得下一步迭代的参数:

θ(t + 1) ← arg maxθQ(θ|θ(t))

(4)重复E步和M步直至:

θ(t + 1) − θ(t)∥ > ε1    or    ∥Q(θ(t + 1)|θ(t)) − Q(θ(t)|θ(t))∥ > ε2

停止迭代,返回 θ* = θ(t + 1) .

EM算法是利用下边界逼近真实值,如下图:

𝓁(θ|X) ≥ ∑zp(z|X, θ(t))ln P(X, z|θ) + ( − ∑zp(z|X, θ(t))ln P(z|X, θ(t))) ≜ g(θ|θ(t))

3.EM算法收敛性

观测数据的似然函数:

Q(θ|θ(i)) = ∑ZP(Z|X, θ(i))ln P(X, Z|θ)

H(θ|θ(i)) = ∑ZP(Z|X, θ(i))ln P(Z|X, θ)

则对数似然函数可以写成:

ln P(X|θ) = Q(θ|θ(i)) − H(θ|θ(i))

ln P(X|θ(i + 1)) − ln P(X|θ(i)) = [Q(θ|θ(i + 1)) − Q(θ|θ(i))] − [H(θ|θ(i + 1)) − H(θ|θ(i))]

由于 θ(i + 1) 使 Q(θ|θ(i)) 达到极大,所以有

Q(θ|θ(i + 1)) − Q(θ|θ(i)) ≥ 0

第二项:

因此 P(X|θ) 是单调递增的,且有上界,因此收敛。

4.EM算法在高斯混合模型中的应用

高斯混合模型在第一节中已经提过,下面以单变量为例。

明确隐变量,写出完整的对数似然函数

完整数据可表示为 (xi, γi1, ⋯, γiK)

完整数据的似然函数可表示为:

E-步

M-步

θ(t + 1) = arg maxθQ(θ|θ(t))

多元高斯混合模型

与单元求解类似(注意向量和矩阵求导的细节即可)

参考

  1. 周志华 《机器学习》
  2. 詹森不等式(Jensen’s inequality)
  3. Jensen’s inequality
  4. (EM算法)The EM Algorithm
  5. 如何感性地理解EM算法?
  6. 怎么通俗易懂地解释EM算法并且举个例子?

EM算法
https://mztchaoqun.com.cn/posts/D2_Expectation_Maximization/
作者
mztchaoqun
发布于
2023年8月23日
许可协议