这里, 随机变量 y 是观测变量, 表示一次试验观测的结果是1或0; 随机变量 z 是隐变量, 表示未观测到的掷硬币 A 的结果; θ=(π,p,q) 是模型参数。 这一模型是以上数据的生成模型。 注意, 随机变量 y 的数据可以观测, 随机变量 z 的数据不可观测。 KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ P(y|\theta) &=… 将观测数据表示为 Y=(Y1,Y2,…,Yn)T, 未观测数据表示为 Z=(Z1,Z2,…,Zn)T, 则观测数据的似然函数为 P(Y∣θ)=Z∑P(Y,Z∣θ)=Z∑P(Z∣θ)P(Y∣Z,θ)(9.2) 即: P(Y∣θ)=j=1∏n{πpyj(1−p)(1−yj)+(1−π)qyj(1−q)(1−yj)}(9.3) 考虑求模型参数 $\theta =(\pi, p, q) $ 的极大似然估计,即: KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \hat{\theta}=\… 这个问题没有解析解,因为隐变量数据无法获得,只有通过迭代的方法求解。 EM算法就是可以用于求解这个问题的一种迭代算法。
一般地, 用 Y 表示观测随机变量的数据, Z 表示隐随机变量的数据。 Y 和 Z 连在一起称为**完全数据(complete-data) , 观测数据 Y 又称为不完全数据(incomplete-data) **。 假设给定观测数据 Y, 其概率分布是 P(Y∣θ), 其中是需要估计的模型参数, 那么不完全数据 Y 的似然函数是 P(Y∣θ), 对数似然函数 L(θ)=logP(Y∣θ) ; 假设 Y 和 Z 的联合概率分布是 P(Y,Z∣θ), 那么完全数据的对数似然函数是 logP(Y,Z∣θ)。
9.1.2 EM算法的导出
注:最后一步源自于 Z 所有可能取值的概率和为1 logP(Y∣θ(i))=logP(Y∣θ(i))⋅Z∑P(Z∣Y,θ(i))
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}… 加号右边,利用对数函数的性质得到: KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ &\sum\limits_{… 代入上式可得: KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}…
由于在迭代求第 i+1 步时,θ(i) 是已知的,那么由训练数据中可以求得 P(Z∣Y,θ(i)) ,所以在 θ(i) 值确定的情况下,P(Z∣Y,θ(i)) 的值也是确定的而不是变量,那么对上式极大化等价求解对下面式子的极大化 KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}…
Q函数
EM算法
EM算法解释
9.1.3 EM算法在非监督学习中的应用
9.2 EM算法的收敛性
这一部分原书讲的比较详细,不画蛇添足,贴上来。
三硬币例子解析
前文讲到抛硬币的例子,现在重新详细推导一下三硬币这个例子。
j 是训练集中的数据编号,实际上书上这里求得是 KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ P(Z|y_j,\theta… 前文已知Q函数: Q(θ,θ(i))=Z∑P(Z∣Y,θ(i))logP(Y,Z∣θ)
第一步求期望
即求Q函数 KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ Q(\theta, \the…
第二步极大化Q函数
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}… 用微积分求解最大值,先求导数为0点(为了求导方便另对数的底数为e,即认为此处对数函数为自然对数): ∂π∂Q(θ,θ(i))=j=1∑N{∂πμj(i+1)ln[πpyj(1−p)1−yj]+(1−μj(i+1))ln[(1−π)qyj(1−q)1−yj]}=j=1∑N{μj(i+1)πpyj(1−p)1−yjpyj(1−p)1−yj+(1−μj(i+1))(1−π)qyj(1−q)1−yj−qyj(1−q)1−yj}=j=1∑N{π(1−π)μj(i+1)−π}=π(1−π)(∑j=1Nμj(i+1))−nπ
引理9.1需要更详细说明: L=Ep~logP(Y,Z∣θ)−Ep~logP~(Z)+λ{1−Z∑P~(Z)} 证明过程思路:拉格朗日求有约束的极大值。需要注意,由累加号和均值可以看出这里的 Z 是指 Zi,i 这里是 Z 的离散值的标号 ,因此需要**重写公式 (9.35) **比较清楚: L=Zi∑P~(Zi)logP(Y,Zi∣θ)−Zi∑P~(Zi)logP~(Zi)+λ{1−Zi∑P~(Zi)} 所以这里其实是 L 关于 P(Zi)的求导(这里作者求导的时候把对数函数默认当做自然对数): KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ &\frac{\partia… 上式两端同取对数: KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \lambda+1&=\lo… 由离散变量的概率和为1,得到: KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \sum\limits_{Z… 将 (9-2) 代入 (9-1) 式,得到 KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \tilde{P}(Z_i)… 这里前提条件是 θ 是固定情况下的推导过程,所以原文给上式标记出了 θ ,又因为每个 Zi 都符合这个式子,那么可重写上式: P~θ(Z)=P(Z∣Y,θ) 这样引理9.1证明完毕。
引理9.2如下
由公式 (9.33) 和 (9.34) : F(P~,θ)=Ep~[logP(Y,Z∣θ)]+H(P~)P~θ(Z)=P(Z∣Y,θ) 得到: KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ F(\tilde{P}, \… 引理9.2证明完毕