从第九章开始,学习总结的东西有所不同了,第2-8章是分类问题,都属于监督学习,第9章EM算法是非监督学习。本文主要是总结EM算法的应用以及处理问题的过程和原理推导。
EM算法
EM算法(期望极大算法 expectation maximization algorithm)是一种迭代算法。当我们面对概率模型的时候,既有观测变量,又含有隐变量或者潜在变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接使用极大似然估计法或者贝叶斯估计模型估计参数,但是,当模型含有隐变量的时候,就不能简单地这样估计,此时,在1977年,Dempster等人总结提出EM算法:E步:求期望(expectation);M步:求极大值(maximization)。
输
入
:
观
测
变
量
数
据
Y
,
隐
变
量
数
据
Z
,
联
合
分
布
P
(
Y
,
Z
∣
θ
)
,
条
件
分
布
P
(
Z
∣
Y
,
θ
)
。
输
出
:
模
型
参
数
θ
。
(
1
)
选
择
参
数
的
初
值
θ
(
0
)
,
开
始
迭
代
。
(
2
)
∗
∗
E
步
:
∗
∗
记
θ
(
i
)
为
第
i
次
迭
代
参
数
θ
的
估
计
值
,
在
第
i
+
1
次
迭
代
的
E
步
,
计
算
Q
(
θ
,
θ
(
i
)
)
=
E
Z
[
ln
P
(
Y
,
Z
∣
θ
)
∣
Y
,
θ
(
i
)
]
=
∑
Z
ln
P
(
Y
,
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
这
里
,
P
(
Z
∣
Y
,
θ
(
i
)
)
是
在
给
定
观
测
数
据
Y
和
当
前
的
参
数
估
计
θ
(
i
)
下
隐
变
量
数
据
Z
的
条
件
概
率
分
布
。
(
3
)
∗
∗
M
步
:
∗
∗
求
使
得
Q
(
θ
,
θ
(
i
)
)
极
大
化
的
θ
,
确
定
第
i
+
1
次
迭
代
的
参
数
估
计
值
θ
(
i
+
1
)
θ
(
i
+
1
)
=
arg
max
θ
Q
(
θ
,
θ
(
i
)
)
(
4
)
重
复
第
(
2
)
步
和
第
(
3
)
步
,
直
到
收
敛
(
收
敛
条
件
:
θ
(
i
)
和
θ
(
i
+
1
)
很
接
近
,
或
者
是
Q
(
θ
(
i
+
1
)
,
θ
(
i
)
)
和
Q
(
θ
(
i
)
,
θ
(
i
−
1
)
)
很
接
近
)
。
函
数
Q
(
θ
,
θ
(
i
)
)
是
E
M
算
法
的
核
心
,
称
为
Q
函
数
。
输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z|\theta),条件分布P(Z|Y,\theta)。\\ 输出:模型参数\theta。\\ (1)选择参数的初值\theta^{(0)},开始迭代。\\ (2)**E步:**记\theta^{(i)}为第i次迭代参数\theta的估计值,在第i+1次迭代的E步,\\计算\begin{aligned} Q(\theta,\theta^{(i)}) =& E_Z\big[\ln P(Y,Z|\theta) | Y, \theta^{(i)}\big] \ =& \sum_Z \ln P(Y,Z|\theta)P(Z|Y,\theta^{(i)}) \end{aligned}\\这里,P(Z|Y,\theta^{(i)})是在给定观测数据Y和当前的参数估计\theta^{(i)}下隐变量数据Z的条件概率分布。\\ (3)**M步:**求使得Q(\theta,\theta^{(i)})极大化的\theta,确定第i+1次迭代的参数估计值\theta^{(i+1)} \theta^{(i+1)}=\mathop{\arg \max} \limits_{\theta} Q(\theta,\theta^{(i)}) \\(4)重复第(2)步和第(3)步,直到收敛(收敛条件:\theta^{(i)}和\theta^{(i+1)}很接近,\\或者是Q(\theta^{(i+1)},\theta^{(i)})和Q(\theta^{(i)},\theta^{(i-1)})很接近)。 函数Q(\theta,\theta^{(i)})是EM算法的核心,称为Q函数。
输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z∣θ),条件分布P(Z∣Y,θ)。输出:模型参数θ。(1)选择参数的初值θ(0),开始迭代。(2)∗∗E步:∗∗记θ(i)为第i次迭代参数θ的估计值,在第i+1次迭代的E步,计算Q(θ,θ(i))=EZ[lnP(Y,Z∣θ)∣Y,θ(i)] =Z∑lnP(Y,Z∣θ)P(Z∣Y,θ(i))这里,P(Z∣Y,θ(i))是在给定观测数据Y和当前的参数估计θ(i)下隐变量数据Z的条件概率分布。(3)∗∗M步:∗∗求使得Q(θ,θ(i))极大化的θ,确定第i+1次迭代的参数估计值θ(i+1)θ(i+1)=θargmaxQ(θ,θ(i))(4)重复第(2)步和第(3)步,直到收敛(收敛条件:θ(i)和θ(i+1)很接近,或者是Q(θ(i+1),θ(i))和Q(θ(i),θ(i−1))很接近)。函数Q(θ,θ(i))是EM算法的核心,称为Q函数。
推导过程
上述阐述了EM算法,可是为什么EM算法能近似实现对观测数据的极大似然估计呢?下面通过近似求解观测数据的对数似然函数的极大化问题来导出EM算法,从而了解EM算法的作用。
在推导过程中用到的公式:
J e n s o n 不 等 式 : f ( ∑ i α i x i ) ⩾ ∑ i α i f ( x i ) 其 中 函 数 f 是 凸 函 数 , 那 么 对 数 函 数 也 是 凸 函 数 , ∑ i α i = 1 , α i 表 示 权 值 , 0 ⩽ α i ⩽ 1 Jenson不等式:f(\sum_i \alpha_i x_i) \geqslant \sum_i \alpha_i f(x_i)其中函数f是凸函数,\\那么对数函数也是凸函数,\displaystyle \sum_i \alpha_i = 1,\alpha_i表示权值,0 \leqslant \alpha_i \leqslant 1 Jenson不等式:f(i∑αixi)⩾i∑αif(xi)其中函数f是凸函数,那么对数函数也是凸函数,i∑αi=1,αi表示权值,0⩽αi⩽1
首 先 有 一 个 需 要 观 测 的 向 量 θ , 观 测 数 据 Y = ( y 1 , y 2 , ⋯ , y N ) , 隐 变 量 Z = ( z 1 , z 2 , ⋯ , z N ) , 当 求 解 θ 时 , 似 然 函 数 为 L ( θ ) = ln P ( Y ∣ θ ) = ln ∑ Z P ( Y , Z ∣ θ ) = ln ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) 假 设 在 第 i 次 迭 代 后 θ 的 估 计 值 为 θ ( i ) , 希 望 新 估 计 值 θ 能 使 L ( θ ) 增 加 , 即 L ( θ ) > L ( θ ( i ) ) , 则 可 计 算 两 者 的 差 : L ( θ ) − L ( θ ( i ) ) = ln ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) − ln P ( Y ∣ θ ( i ) ) 一 般 来 说 , 对 ln P 1 P 2 ⋯ P N 比 较 好 处 理 , 但 是 如 果 是 ln ∑ P 1 P 2 就 不 好 处 理 , 为 了 将 ∑ 求 和 符 号 去 掉 , 用 J e n s o n 不 等 式 进 行 缩 放 处 理 。 对 于 上 述 形 式 , 对 Z 求 和 , 要 如 何 凑 出 来 一 个 具 有 J e n s o n 不 等 式 中 的 α i 呢 ? 很 容 易 想 到 , 关 于 Z 的 密 度 函 数 , 该 密 度 函 数 取 值 求 和 为 1 , 需 要 构 造 一 个 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 ) ) 由 J e s s o n 不 等 式 , ln ( ∑ Z P ( Z ∣ Y , θ ( i ) ) P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ) ⩾ ∑ Z P ( Z ∣ Y , θ ( i ) ) ln P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ∵ ln P ( Y ∣ θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) ln P ( Y ∣ θ ( i ) ) ∴ L ( θ ) − L ( θ ( 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 ) ) 令 B ( θ , θ ( i ) ) = L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) ln P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) ∴ L ( θ ) ⩾ B ( θ , θ ( i ) ) , 也 就 是 说 B ( θ , θ ( i ) ) 是 L ( θ ) 的 一 个 下 界 , 要 最 大 化 L ( θ ) , 即 最 大 化 B ( θ , θ ( i ) ) 。 ∴ θ ( i + 1 ) = arg max θ B ( θ , θ ( i ) ) = arg max θ ( ∑ Z P ( Z ∣ Y , θ ( i ) ) ln P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) = arg max θ ( ∑ Z P ( Z ∣ Y , θ ( i ) ) ln P ( Y , Z ∣ θ ) ) ∵ Q ( θ , θ ( i ) ) = ∑ Z ln P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ∴ θ ( i + 1 ) = arg max θ ( Q ( θ , θ ( i ) ) ) 等 价 于 E M 算 法 的 M 步 , E 步 等 价 于 求 ∑ Z P ( Z ∣ Y , θ ( i ) ) ln P ( Y , Z ∣ θ ) , 以 上 就 得 到 了 E M 算 法 , 通 过 不 断 求 解 下 界 的 极 大 化 逼 近 求 解 对 数 似 然 函 数 极 大 化 。 首先有一个需要观测的向量\theta,观测数据Y=(y_1,y_2,\cdots,y_N),隐变量Z=(z_1,z_2,\cdots,z_N),\\当求解\theta时,似然函数为\begin{aligned} L(\theta) = \ln P(Y|\theta) \ = \ln \sum_Z P(Y,Z|\theta) \ = \ln ( \sum_Z P(Z|\theta) P(Y|Z,\theta) ) \end{aligned} \\假设在第i次迭代后\theta的估计值为\theta^{(i)},希望新估计值\theta能使L(\theta)增加,即L(\theta) > L(\theta^{(i)}),则可计算两者的差:\\ L(\theta)-L(\theta^{(i)}) = \ln ( \sum_Z P(Z|\theta) P(Y|Z,\theta) ) - \ln P(Y|\theta^{(i)})\\ 一般来说,对\ln P_1 P_2 \cdots P_N比较好处理,但是如果是\ln \sum P_1 P_2就不好处理,\\为了将\sum求和符号去掉,用Jenson不等式进行缩放处理。\\ 对于上述形式,对Z求和,要如何凑出来一个具有Jenson不等式中的\alpha_i呢?\\很容易想到,关于Z的密度函数,该密度函数取值求和为1,需要构造一个Z的概率分布。\\ \begin{aligned}L(\theta)-L(\theta^{(i)}) = \ln ( \sum_Z P(Z|\theta) P(Y|Z,\theta)) - \ln P(Y|\theta^{(i)}) \\ = \ln ( \sum_Z P(Z|Y,\theta^{(i)}) \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)})} ) - \ln P(Y|\theta^{(i)}) \end{aligned}\\ 由Jesson不等式,\displaystyle \ln ( \sum_Z P(Z|Y,\theta^{(i)}) \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)})} ) \geqslant \sum_Z P(Z|Y,\theta^{(i)}) \ln \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)})}\\ \displaystyle \because \ln P(Y|\theta^{(i)}) = \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Y|\theta^{(i)})\\ \begin{aligned} \therefore L(\theta)-L(\theta^{(i)}) \geqslant \sum_Z P(Z|Y,\theta^{(i)}) \ln \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)})} - \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Y|\theta^{(i)}) \\= \sum_Z P(Z|Y,\theta^{(i)}) \ln \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)}) P(Y|\theta^{(i)})} \end{aligned}\\ 令\displaystyle B(\theta,\theta^{(i)}) = L(\theta^{(i)}) + \sum_Z P(Z|Y,\theta^{(i)}) \ln \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)}) P(Y|\theta^{(i)})} \\ \therefore L(\theta) \geqslant B(\theta,\theta^{(i)}),\\也就是说B(\theta,\theta^{(i)})是L(\theta)的一个下界,要最大化L(\theta),即最大化B(\theta,\theta^{(i)})。\\ \begin{aligned} \therefore \theta^{(i+1)} = \mathop{\arg \max} \limits_{\theta} B(\theta,\theta^{(i)}) = \mathop{\arg \max} \limits_{\theta} ( \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Z|\theta)P(Y|Z,\theta)) \\ = \mathop{\arg \max} \limits_{\theta} ( \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Y,Z|\theta)) \end{aligned}\\ \displaystyle \because Q(\theta, \theta^{(i)}) = \sum_Z \ln P(Y,Z|\theta) P(Z|Y,\theta^{(i)}) \\ \displaystyle \therefore \theta^{(i+1)} = \mathop{\arg \max} \limits_{\theta} (Q(\theta, \theta^{(i)}))\\ 等价于EM算法的M步,E步等价于求\displaystyle \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Y,Z|\theta),\\以上就得到了EM算法,通过不断求解下界的极大化逼近求解对数似然函数极大化。 首先有一个需要观测的向量θ,观测数据Y=(y1,y2,⋯,yN),隐变量Z=(z1,z2,⋯,zN),当求解θ时,似然函数为L(θ)=lnP(Y∣θ) =lnZ∑P(Y,Z∣θ) =ln(Z∑P(Z∣θ)P(Y∣Z,θ)) 假设在第i次迭代后θ的估计值为θ(i),希望新估计值θ能使L(θ)增加,即L(θ)>L(θ(i)),则可计算两者的差:L(θ)−L(θ(i))=ln(Z∑P(Z∣θ)P(Y∣Z,θ))−lnP(Y∣θ(i)) 一般来说,对lnP1P2⋯PN比较好处理,但是如果是ln∑P1P2就不好处理,为了将∑求和符号去掉,用Jenson不等式进行缩放处理。 对于上述形式,对Z求和,要如何凑出来一个具有Jenson不等式中的αi呢?很容易想到,关于Z的密度函数,该密度函数取值求和为1,需要构造一个Z的概率分布。L(θ)−L(θ(i))=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))由Jesson不等式,ln(Z∑P(Z∣Y,θ(i))P(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ))⩾Z∑P(Z∣Y,θ(i))lnP(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ)∵lnP(Y∣θ(i))=Z∑P(Z∣Y,θ(i))lnP(Y∣θ(i))∴L(θ)−L(θ(i))⩾Z∑P(Z∣Y,θ(i))lnP(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ)−Z∑P(Z∣Y,θ(i))lnP(Y∣θ(i))=Z∑P(Z∣Y,θ(i))lnP(Z∣Y,θ(i))P(Y∣θ(i))P(Z∣θ)P(Y∣Z,θ)令B(θ,θ(i))=L(θ(i))+Z∑P(Z∣Y,θ(i))lnP(Z∣Y,θ(i))P(Y∣θ(i))P(Z∣θ)P(Y∣Z,θ)∴L(θ)⩾B(θ,θ(i)),也就是说B(θ,θ(i))是L(θ)的一个下界,要最大化L(θ),即最大化B(θ,θ(i))。∴θ(i+1)=θargmaxB(θ,θ(i))=θargmax(Z∑P(Z∣Y,θ(i))lnP(Z∣θ)P(Y∣Z,θ))=θargmax(Z∑P(Z∣Y,θ(i))lnP(Y,Z∣θ))∵Q(θ,θ(i))=Z∑lnP(Y,Z∣θ)P(Z∣Y,θ(i))∴θ(i+1)=θargmax(Q(θ,θ(i))) 等价于EM算法的M步,E步等价于求Z∑P(Z∣Y,θ(i))lnP(Y,Z∣θ),以上就得到了EM算法,通过不断求解下界的极大化逼近求解对数似然函数极大化。
EM算法在高斯混合模型学习中的应用
高斯混合模型
高 斯 混 合 模 型 是 指 具 有 如 下 形 式 的 概 率 分 布 模 型 : P ( y ∣ θ ) = ∑ k = 1 K α k ϕ ( y ∣ θ k ) 其 中 , α k 是 系 数 , α k ⩾ 0 , ∑ k = 1 K α k = 1 , ϕ ( y ∣ θ k ) 是 高 斯 分 布 密 度 , θ k = ( μ k , σ k 2 ) , ϕ ( y ∣ θ ) = 1 2 π σ k exp ( − ( y − μ k ) 2 2 σ k 2 ) 称 为 第 k 个 分 模 型 。 首 先 介 绍 高 斯 混 合 模 型 , 只 考 虑 简 单 的 一 维 随 机 变 量 y , 高 斯 分 布 就 是 正 态 分 布 , y ∼ N ( μ , σ 2 ) , 给 定 y 的 观 测 值 , 就 可 以 很 容 易 求 出 μ 和 σ 2 , 但 是 目 前 y 不 是 来 自 高 斯 分 布 , 而 是 有 一 定 概 率 的 来 自 于 两 个 不 同 的 高 斯 分 布 N ( μ 1 , σ 1 2 ) 和 N ( μ 2 , σ 2 2 ) , 这 个 就 是 两 个 高 斯 分 布 的 混 合 , 并 不 知 道 y 来 自 于 哪 一 个 高 斯 分 布 , 这 里 涉 及 到 了 隐 变 量 。 对 于 包 含 隐 变 量 的 参 数 估 计 , 对 此 可 以 做 以 下 处 理 。 用 一 个 向 量 γ 表 示 z , 如 果 z = 1 , 则 γ = ( 1 , 0 , 0 , ⋯ , 0 ) , 如 果 z = 2 , 则 γ = ( 0 , 1 , 0 , ⋯ , 0 ) , 这 个 相 当 于 O n e − h o t , 也 就 是 说 z 是 第 i 个 高 斯 分 布 , 在 γ 的 第 i 个 分 量 为 1 , 其 他 分 量 都 为 0 。 高斯混合模型是指具有如下形式的概率分布模型:\\P(y|\theta)=\sum_{k=1}^K \alpha_k \phi(y|\theta_k)\\其中,\alpha_k是系数,\displaystyle \alpha_k \geqslant 0, \sum_{k=1}^K \alpha_k = 1,\phi(y|\theta_k)是高斯分布密度,\\\theta_k=(\mu_k, \sigma_k^2),\phi(y|\theta)=\frac{1}{\sqrt{2 \pi} \sigma_k} \exp \left( -\frac{(y-\mu_k)^2}{2\sigma_k^2} \right)称为第k个分模型。\\ 首先介绍高斯混合模型,只考虑简单的一维随机变量y,高斯分布就是正态分布,\\y \sim N(\mu, \sigma^2),给定y的观测值,就可以很容易求出\mu和\sigma^2,但是目前y不是来自高斯分布,\\而是有一定概率的来自于两个不同的高斯分布N(\mu_1, \sigma_1^2)和N(\mu_2, \sigma_2^2),这个就是两个高斯分布的混合,\\并不知道y来自于哪一个高斯分布,这里涉及到了隐变量。对于包含隐变量的参数估计,对此可以做以下处理。\\用一个向量\gamma表示z,如果z=1,则\gamma=(1,0,0,\cdots,0),\\如果z=2,则\gamma=(0,1,0,\cdots,0),这个相当于One-hot,\\也就是说z是第i个高斯分布,在\gamma的第i个分量为1,其他分量都为0。 高斯混合模型是指具有如下形式的概率分布模型:P(y∣θ)=k=1∑Kαkϕ(y∣θk)其中,αk是系数,αk⩾0,k=1∑Kαk=1,ϕ(y∣θk)是高斯分布密度,θk=(μk,σk2),ϕ(y∣θ)=2πσk1exp(−2σk2(y−μk)2)称为第k个分模型。 首先介绍高斯混合模型,只考虑简单的一维随机变量y,高斯分布就是正态分布,y∼N(μ,σ2),给定y的观测值,就可以很容易求出μ和σ2,但是目前y不是来自高斯分布,而是有一定概率的来自于两个不同的高斯分布N(μ1,σ12)和N(μ2,σ22),这个就是两个高斯分布的混合,并不知道y来自于哪一个高斯分布,这里涉及到了隐变量。对于包含隐变量的参数估计,对此可以做以下处理。用一个向量γ表示z,如果z=1,则γ=(1,0,0,⋯,0),如果z=2,则γ=(0,1,0,⋯,0),这个相当于One−hot,也就是说z是第i个高斯分布,在γ的第i个分量为1,其他分量都为0。
推导过程
明确隐变量,写出完全数据的对数似然函数
根 据 E M 算 法 , 存 在 一 个 隐 变 量 γ , γ 表 示 当 前 的 y 来 自 的 高 斯 分 布 , 对 于 第 一 个 观 测 值 , 有 γ 1 = ( γ 11 , γ 12 , ⋯ , γ 1 K ) , 其 中 根 据 书 中 的 γ j k 的 定 义 : γ j k = { 1 , 第 j 个 观 测 来 自 第 k 个 分 模 型 0 , 否 则 j = 1 , 2 , ⋯ , N ; k = 1 , 2 , ⋯ , K 以 上 是 随 机 变 量 的 分 布 , 取 第 1 个 值 的 概 率 为 α 1 , 取 第 2 个 值 的 概 率 为 α 2 , … … , 取 第 K 个 值 的 概 率 为 α K , 一 旦 知 道 γ 1 的 值 , 就 知 道 从 第 几 个 高 斯 分 布 中 抽 取 y 1 。 p ( γ 1 , y 1 ∣ θ ) = p ( γ 1 ∣ θ ) ⋅ p ( y 1 ∣ γ 1 , θ ) = α γ 11 1 ⋅ α γ 12 2 ⋯ α γ 1 K K ϕ ( y 1 ∣ θ 1 ) γ 11 ϕ ( y 2 ∣ θ 2 ) γ 12 ⋯ ϕ ( y 1 ∣ θ K ) γ 1 K = ∏ k = 1 K [ α k ϕ ( y 1 ∣ θ k ) ] γ 1 k 这 个 是 第 1 个 样 本 点 完 全 数 据 的 密 度 函 数 。 在 极 大 化 似 然 估 计 中 是 极 大 化 似 然 函 数 , 这 需 要 所 有 样 本 点 的 联 合 分 布 , 对 于 所 有 的 样 本 点 , 概 率 密 度 函 数 为 P ( y , γ ∣ θ ) = ∏ j = 1 N ∏ k = 1 K [ α k ϕ ( y j ∣ θ k ) ] γ j k ∵ ∏ j = 1 N ∏ k = 1 K α k γ j k = ∏ k = 1 K α k ∑ j = 1 N γ j k , ∑ j = 1 N γ j k 表 示 在 N 个 样 本 点 中 , 一 共 有 多 少 个 是 来 自 第 k 个 高 斯 分 布 的 , 将 该 数 量 记 为 n k = ∑ j = 1 N γ j k , n 1 + n 2 + ⋯ + n K = N ∴ ∏ k = 1 K α k ∑ j = 1 N γ j k = ∏ k = 1 K α k n k ∴ ∏ j = 1 N ∏ k = 1 K α k γ j k = ∏ k = 1 K α k n k ∴ P ( y , γ ∣ θ ) = ∏ k = 1 K α k n k ∏ j = 1 N [ ϕ ( y i ∣ θ k ) ] γ j k = ∏ k = 1 K α k n k ⋅ ∏ j = 1 N [ 1 2 π σ k exp ( − ( y j − μ k ) 2 2 σ k 2 ) ] γ j k ∴ ln P ( y , γ ∣ θ ) = ∑ k = 1 K { n k ln α k + ∑ j = 1 N γ j k [ ln ( 1 2 π ) − ln σ k − 1 2 σ k 2 ( y j − μ k ) 2 ] } 根据EM算法,存在一个隐变量\gamma,\gamma表示当前的y来自的高斯分布,对于第一个观测值,\\有\gamma_1=(\gamma_{11},\gamma_{12},\cdots,\gamma_{1K}),其中根据书中的\gamma_{jk}的定义:\gamma_{jk} = \left\{ \begin{aligned} 1, & 第j个观测来自第k个分模型 \\ 0, & 否则 \end{aligned}\right. \\ j = 1,2,\cdots, N; k=1, 2,\cdots,K以上是随机变量的分布,取第1个值的概率为\alpha_1,\\取第2个值的概率为\alpha_2,……,取第K个值的概率为\alpha_K,一旦知道\gamma_1的值,就知道从第几个高斯分布中抽取y_1。\\ \begin{aligned} p(\gamma_1,y_1|\theta)= p(\gamma_1|\theta) \cdot p(y_1 | \gamma_1,\theta) \\ = \alpha^{\gamma_{11}}1 \cdot \alpha^{\gamma{12}}2 \cdots \alpha^{\gamma{1K}}K \phi(y_1|\theta_1)^{\gamma{11}} \phi(y_2|\theta_2)^{\gamma_{12}} \cdots \phi(y_1|\theta_K)^{\gamma_{1K}} = \prod_{k=1}^K [ \alpha_k \phi(y_1 | \theta_k) ]^{\gamma_{1k}} \end{aligned}\\这个是第1个样本点完全数据的密度函数。在极大化似然估计中是极大化似然函数,这需要所有样本点的联合分布,\\对于所有的样本点,概率密度函数为 \\P(y,\gamma|\theta)=\prod_{j=1}^N \prod_{k=1}^K [\alpha_k \phi(y_j | \theta_k)]^{\gamma_{jk}}\\\displaystyle \because \prod_{j=1}^N \prod_{k=1}^K \alpha_k^{\gamma_{jk}} = \prod_{k=1}^K \alpha_k^{\sum_{j=1}^N \gamma_{jk}},\displaystyle \sum_{j=1}^N \gamma_{jk}表示在N个样本点中,一共有多少个是来自第k个高斯分布的,将该数量记为\\\displaystyle n_k=\sum_{j=1}^N \gamma_{jk},n_1+n_2+\cdots+n_K=N\\ \displaystyle \therefore \prod_{k=1}^K \alpha_k^{\sum_{j=1}^N \gamma_{jk}} = \prod_{k=1}^K \alpha_k^{n_k}\\ \displaystyle \therefore \prod_{j=1}^N \prod_{k=1}^K \alpha_k^{\gamma_{jk}} = \prod_{k=1}^K \alpha_k^{n_k}\\ \displaystyle \therefore P(y, \gamma|\theta) = \prod_{k=1}^K \alpha_k^{n_k} \prod_{j=1}^N \big[\phi(y_i|\theta_k)\big]^{\gamma_{jk}} = \prod_{k=1}^K \alpha_k^{n_k} \cdot \prod_{j=1}^N [ \frac{1}{\sqrt{2\pi} \sigma_k} \exp\left(-\frac{(y_j-\mu_k)^2}{2 \sigma_k^2} ) \right]^{\gamma_{jk}}\\ \displaystyle \therefore \ln P(y, \gamma|\theta) = \sum_{k=1}^K \{ n_k \ln \alpha_k + \sum_{j=1}^N \gamma_{jk} [\ln (\frac{1}{\sqrt{2\pi}}) - \ln \sigma_k - \frac{1}{2 \sigma_k^2} (y_j - \mu_k)^2] \} \\ 根据EM算法,存在一个隐变量γ,γ表示当前的y来自的高斯分布,对于第一个观测值,有γ1=(γ11,γ12,⋯,γ1K),其中根据书中的γjk的定义:γjk={1,0,第j个观测来自第k个分模型否则j=1,2,⋯,N;k=1,2,⋯,K以上是随机变量的分布,取第1个值的概率为α1,取第2个值的概率为α2,……,取第K个值的概率为αK,一旦知道γ1的值,就知道从第几个高斯分布中抽取y1。p(γ1,y1∣θ)=p(γ1∣θ)⋅p(y1∣γ1,θ)=αγ111⋅αγ122⋯αγ1KKϕ(y1∣θ1)γ11ϕ(y2∣θ2)γ12⋯ϕ(y1∣θK)γ1K=k=1∏K[αkϕ(y1∣θk)]γ1k这个是第1个样本点完全数据的密度函数。在极大化似然估计中是极大化似然函数,这需要所有样本点的联合分布,对于所有的样本点,概率密度函数为P(y,γ∣θ)=j=1∏Nk=1∏K[αkϕ(yj∣θk)]γjk∵j=1∏Nk=1∏Kαkγjk=k=1∏Kαk∑j=1Nγjk,j=1∑Nγjk表示在N个样本点中,一共有多少个是来自第k个高斯分布的,将该数量记为nk=j=1∑Nγjk,n1+n2+⋯+nK=N∴k=1∏Kαk∑j=1Nγjk=k=1∏Kαknk∴j=1∏Nk=1∏Kαkγjk=k=1∏Kαknk∴P(y,γ∣θ)=k=1∏Kαknkj=1∏N[ϕ(yi∣θk)]γjk=k=1∏Kαknk⋅j=1∏N[2πσk1exp(−2σk2(yj−μk)2)]γjk∴lnP(y,γ∣θ)=k=1∑K{nklnαk+j=1∑Nγjk[ln(2π1)−lnσk−2σk21(yj−μk)2]}
EM算法的E步,确定Q函数
将 隐 变 量 都 换 成 期 望 , 隐 变 量 有 γ j k 和 n k ∵ E ( n k ) = E ( ∑ j γ j k ) = ∑ j E ( γ j k ) , E ( γ j k ∣ θ ( i ) , y ) = P ( γ j k = 1 ∣ θ ( i ) , y ) , 求 解 期 望 时 , 是 根 据 上 一 步 的 θ ( i ) 以 及 观 测 数 据 所 有 的 y j , 需 要 知 道 γ j k 的 分 布 P ( γ j k = 1 ∣ θ ( i ) , y ) 。 ∵ P ( γ j k = 1 ∣ θ ( i ) , y ) = P ( γ j k = 1 , y j ∣ θ ( i ) ) P ( y j ∣ θ ( i ) ) = P ( γ j k = 1 , y j ∣ θ ( i ) ) ∑ k = 1 K P ( γ j k = 1 , y j ∣ θ ( i ) ) = P ( γ j k = 1 ∣ θ ( i ) ) P ( y i ∣ γ j k = 1 , θ ( i ) ) ∑ k = 1 K P ( y j ∣ γ j k = 1 , θ ( i ) ) P ( γ j k = 1 ∣ θ ( i ) ) ∵ α k = P ( γ j k = 1 ∣ θ ) , ϕ ( y i ∣ θ ) = P ( y i ∣ γ j k = 1 , θ ) ∴ E ( γ j k ∣ y , θ ( i ) ) = P ( γ j k = 1 ∣ θ ( i ) , y ) = α k ϕ ( y i ∣ θ ( i ) ) ∑ k = 1 K α k ϕ ( y i ∣ θ ( i ) ) , 其 中 θ ( i ) = ( α k ( i ) , θ k ( i ) ) 将 γ j k 关 于 给 定 y 和 θ ( i ) 的 条 件 下 的 期 望 记 为 Z k = E ( γ j k ∣ y , θ ( i ) ) , 因 为 各 个 样 本 之 间 是 独 立 同 分 布 的 , 所 以 Z k 是 和 j 无 关 的 。 ∴ Q ( θ , θ ( i ) ) = E Z [ l n P ( y , γ ∣ θ ( i ) ) ] = ∑ k = 1 K { ( N Z k ) ln α k + Z k ∑ j = 1 N [ ln ( 1 2 π ) − ln σ k − 1 2 σ k 2 ( y j − μ k ) 2 ] } 将隐变量都换成期望,隐变量有\gamma_{jk}和n_k\\ \displaystyle \because E(n_k) = E \left(\sum_j \gamma_{jk} \right) = \sum_j E(\gamma_{jk}),E(\gamma_{jk} | \theta^{(i)},y) = P(\gamma_{jk}=1| \theta^{(i)},y),\\求解期望时,是根据上一步的\theta^{(i)}以及观测数据所有的y_j,需要知道\gamma_{jk}的分布P(\gamma_{jk}=1|\theta^{(i)},y)。\\ \begin{aligned} \because P(\gamma_{jk}=1|\theta^{(i)},y) =& \frac{P(\gamma_{jk}=1,y_j | \theta^{(i)})}{P(y_j|\theta^{(i)})} \\ =& \frac{P(\gamma_{jk}=1,y_j | \theta^{(i)})}{\displaystyle \sum_{k=1}^K P(\gamma_{jk}=1,y_j | \theta^{(i)})} \\ =& \frac{P(\gamma_{jk}=1|\theta^{(i)})P(y_i|\gamma_{jk}=1, \theta^{(i)})}{\displaystyle \sum_{k=1}^K P(y_j | \gamma_{jk}=1,\theta^{(i)}) P(\gamma_{jk}=1|\theta^{(i)})} \end{aligned}\\ \because \alpha_k=P(\gamma_{jk}=1|\theta), \phi(y_i|\theta)=P(y_i | \gamma_{jk}=1,\theta)\\ \displaystyle \therefore E(\gamma_{jk} | y, \theta^{(i)}) = P(\gamma_{jk}=1|\theta^{(i)},y) = \frac{\alpha_k \phi(y_i|\theta^{(i)})}{\displaystyle \sum_{k=1}^K \alpha_k \phi(y_i|\theta^{(i)})},其中\theta^{(i)}=(\alpha_k^{(i)}, \theta_k^{(i)})\\ 将\gamma_{jk}关于给定y和\theta^{(i)}的条件下的期望记为Z_k=E(\gamma_{jk} | y, \theta^{(i)}),\\因为各个样本之间是独立同分布的,所以Z_k是和j无关的。\\ \displaystyle \therefore Q(\theta, \theta^{(i)}) = E_Z \big[ln P(y,\gamma | \theta^{(i)})\big] = \sum_{k=1}^K \left\{ (N Z_k) \ln \alpha_k + Z_k \sum_{j=1}^N [ \ln (\frac{1}{\sqrt{2\pi}}) - \ln \sigma_k - \frac{1}{2 \sigma_k^2} (y_j - \mu_k)^2] \right\} 将隐变量都换成期望,隐变量有γjk和nk∵E(nk)=E(j∑γjk)=j∑E(γjk),E(γjk∣θ(i),y)=P(γjk=1∣θ(i),y),求解期望时,是根据上一步的θ(i)以及观测数据所有的yj,需要知道γjk的分布P(γjk=1∣θ(i),y)。∵P(γjk=1∣θ(i),y)===P(yj∣θ(i))P(γjk=1,yj∣θ(i))k=1∑KP(γjk=1,yj∣θ(i))P(γjk=1,yj∣θ(i))k=1∑KP(yj∣γjk=1,θ(i))P(γjk=1∣θ(i))P(γjk=1∣θ(i))P(yi∣γjk=1,θ(i))∵αk=P(γjk=1∣θ),ϕ(yi∣θ)=P(yi∣γjk=1,θ)∴E(γjk∣y,θ(i))=P(γjk=1∣θ(i),y)=k=1∑Kαkϕ(yi∣θ(i))αkϕ(yi∣θ(i)),其中θ(i)=(αk(i),θk(i)) 将γjk关于给定y和θ(i)的条件下的期望记为Zk=E(γjk∣y,θ(i)),因为各个样本之间是独立同分布的,所以Zk是和j无关的。∴Q(θ,θ(i))=EZ[lnP(y,γ∣θ(i))]=k=1∑K{(NZk)lnαk+Zkj=1∑N[ln(2π1)−lnσk−2σk21(yj−μk)2]}
确定EM算法的M步
需 要 估 计 的 变 量 有 α k , σ k , μ k , 然 后 求 偏 导 等 于 0 : ∂ Q ( θ , θ ( i ) ) ∂ μ k = 0 ∂ Q ( θ , θ ( i ) ) ∂ σ k 2 = 0 { ∂ Q ( θ , θ ( i ) ) ∂ α k = 0 ∑ α k = 1 根 据 上 述 公 式 可 以 推 导 出 : μ k ( i + 1 ) = ∑ j = 1 N γ j k ^ y j ∑ j = 1 N γ j k ^ ( σ k 2 ) ( i + 1 ) = ∑ j = 1 N γ j k ^ ( y i − μ k ) 2 ∑ j = 1 N γ j k ^ α k ( i + 1 ) = n k N = ∑ j = 1 N γ j k ^ N , 其 中 γ j k ^ = E γ j k , n k = ∑ j = 1 N E γ j k , k = 1 , 2 , ⋯ , K 需要估计的变量有\alpha_k,\sigma_k,\mu_k,然后求偏导等于0:\\\begin{array}{l} \displaystyle \frac{\partial Q(\theta, \theta^{(i)})}{\partial \mu_k} = 0 \\ \displaystyle \frac{\partial Q(\theta, \theta^{(i)})}{\partial \sigma_k^2} = 0 \\ \left \{ \begin{array}{l} \displaystyle \frac{\partial Q(\theta, \theta^{(i)})}{\partial \alpha_k} = 0 \\ \sum \alpha_k = 1 \end{array} \right . \end{array}\\根据上述公式可以推导出:\begin{array}{l} \mu_k^{(i+1)} = \frac{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}} y_j}{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}} } \\ (\sigma_k^2)^{(i+1)} = \frac{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}} (y_i - \mu_k)^2}{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}} } \\ \displaystyle \alpha_k^{(i+1)} = \frac{n_k}{N}= \frac{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}}}{N} \\ \end{array},其中\displaystyle \hat{\gamma_{jk}}=E \gamma_{jk}, n_k = \sum_{j=1}^N E \gamma_{jk}, k=1,2,\cdots,K 需要估计的变量有αk,σk,μk,然后求偏导等于0:∂μk∂Q(θ,θ(i))=0∂σk2∂Q(θ,θ(i))=0⎩⎨⎧∂αk∂Q(θ,θ(i))=0∑αk=1根据上述公式可以推导出:μk(i+1)=j=1∑Nγjk^j=1∑Nγjk^yj(σk2)(i+1)=j=1∑Nγjk^j=1∑Nγjk^(yi−μk)2αk(i+1)=Nnk=Nj=1∑Nγjk^,其中γjk^=Eγjk,nk=j=1∑NEγjk,k=1,2,⋯,K
EM算法的推广
GEM算法
输 入 : 观 测 数 据 , Q 函 数 输 出 : 模 型 参 数 ( 1 ) 初 始 化 参 数 θ ( 0 ) = ( θ 1 ( 0 ) , θ 2 ( 0 ) , ⋯ , θ d ( 0 ) ) , 开 始 迭 代 ; ( 2 ) 第 i + 1 次 迭 代 , 第 1 步 : 记 θ ( i ) = ( θ 1 ( i ) , θ 2 ( i ) , ⋯ , θ d ( i ) ) 为 参 数 θ = ( θ 1 , θ 2 , ⋯ , θ d ) 的 估 计 值 , 计 算 Q ( θ , θ ( i ) ) = E Z [ log P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] = ∑ Z P ( Z ∣ Y , θ ( i ) ) log P ( Y , Z ∣ θ ) ( 3 ) 第 2 步 : 进 行 d 次 条 件 极 大 化 : 首 先 , 在 θ 2 ( i ) , θ 3 ( i ) , ⋯ , θ k ( i ) 保 持 不 变 的 条 件 下 求 使 得 Q ( θ , θ ( i ) ) 达 到 极 大 的 θ 1 ( i + 1 ) ; 然 后 , 在 θ 1 = θ 1 ( i + 1 ) , θ j = θ j ( j ) , j = 3 , 4 , ⋯ , k 的 条 件 下 求 使 Q ( θ , θ ( i ) ) 达 到 极 大 的 θ ( i + 1 ) ; 如 此 继 续 , 经 过 d 次 条 件 极 大 化 , 得 到 θ ( i + 1 ) = ( θ 1 ( i + 1 ) , θ 2 ( i + 1 ) , ⋯ , θ d ( i + 1 ) ) 使 得 Q ( θ ( i + 1 ) , θ ( i ) ) > Q ( θ ( i ) , θ ( i ) ) ( 4 ) 重 复 ( 2 ) 和 ( 3 ) , 直 到 收 敛 。 输入:观测数据,Q函数\\ 输出:模型参数\\ (1)初始化参数\theta^{(0)}=(\theta^{(0)}_1,\theta^{(0)}_2,\cdots,\theta^{(0)}_d),开始迭代;\\ (2)第i+1次迭代,第1步:记\theta^{(i)}=(\theta^{(i)}_1,\theta^{(i)}_2,\cdots,\theta^{(i)}_d)为参数\theta=(\theta_1,\theta_2,\cdots,\theta_d)的估计值,计算\\\begin{aligned} Q(\theta,\theta^{(i)}) =& E_Z\big[ \log P(Y,Z|\theta)|Y,\theta^{(i)} \big] \ =& \sum_Z P(Z|Y,\theta^{(i)}) \log P(Y,Z|\theta) \end{aligned}\\ (3)第2步:进行d次条件极大化: 首先,在\theta^{(i)}_2,\theta^{(i)}_3,\cdots,\theta^{(i)}_k保持不变的条件下求使得Q(\theta,\theta^{(i)})达到极大的\theta^{(i+1)}_1;\\ 然后,在\theta_1=\theta^{(i+1)}_1,\theta_j=\theta^{(j)}_j,j=3,4,\cdots,k的条件下求使Q(\theta,\theta^{(i)})达到极大的\theta^{(i+1)};\\ 如此继续,经过d次条件极大化,得到\theta^{(i+1)}=(\theta^{(i+1)}_1,\theta^{(i+1)}_2,\cdots, \theta^{(i+1)}_d)使得Q(\theta^{(i+1)},\theta^{(i)}) > Q(\theta^{(i)},\theta^{(i)})\\ (4)重复(2)和(3),直到收敛。 输入:观测数据,Q函数输出:模型参数(1)初始化参数θ(0)=(θ1(0),θ2(0),⋯,θd(0)),开始迭代;(2)第i+1次迭代,第1步:记θ(i)=(θ1(i),θ2(i),⋯,θd(i))为参数θ=(θ1,θ2,⋯,θd)的估计值,计算Q(θ,θ(i))=EZ[logP(Y,Z∣θ)∣Y,θ(i)] =Z∑P(Z∣Y,θ(i))logP(Y,Z∣θ)(3)第2步:进行d次条件极大化:首先,在θ2(i),θ3(i),⋯,θk(i)保持不变的条件下求使得Q(θ,θ(i))达到极大的θ1(i+1);然后,在θ1=θ1(i+1),θj=θj(j),j=3,4,⋯,k的条件下求使Q(θ,θ(i))达到极大的θ(i+1);如此继续,经过d次条件极大化,得到θ(i+1)=(θ1(i+1),θ2(i+1),⋯,θd(i+1))使得Q(θ(i+1),θ(i))>Q(θ(i),θ(i))(4)重复(2)和(3),直到收敛。