本文是《统计学习方法》李航著学习笔记。
EM算法本身并不是一种能进行预测的机器学习算法,它只能算作“某个整体机器学习预测算法概率模型”建模过程中的一个重要的概率参数估计算法,它的地位等价于“极大似然估计”,只不过它是处理“含有隐变量的”概率模型参数估计算法。
通常,监督学习的训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_{1},y_{1}),(x_{2},y_{2}),\cdots,(x_{N},y_{N})\} T={(x1,y1),(x2,y2),⋯,(xN,yN)}中 x i = ( x i 1 , x i 2 , ⋯   , x i n ) ∈ R n x_{i}=(x^{1}_{i},x^{2}_{i},\cdots,x^{n}_{i})\in R^n xi=(xi1,xi2,⋯,xin)∈Rn的各维度的数据是全部已知的,但是有些情况会出现无法观测的情况,即某个 x i j x^{j}_{i} xij,其中 i = 1 , 2 , ⋯   , N , j = 1 , 2 , ⋯   , n i=1,2,\cdots,N,j=1,2,\cdots,n i=1,2,⋯,N,j=1,2,⋯,n无法给出,这时称该维度数据为“隐变量”,相应给定维度的数据称为“观测数据”,隐变量和观测数据组成“完全数据”。存在隐变量时,如何进行先验概率和条件概率的估计?显然不能直接利用极大似然估计,这时利用EM算法就可以估计“先验概率”和“条件概率”,就是所谓的概率模型参数估计。得到先验概率和条件概率后,可以类似朴素贝叶斯算法一样,构建后验概率模型,进行分类问题预测。有关朴素贝叶斯和极大似然估计的内容请参考http://blog.csdn.net/cymy001/article/details/78016109
注:可以将《统计学习方法》书中的符号对应映射作 Y , Z → X ^ Y,Z\rightarrow \widehat{X} Y,Z→X , θ → Y ^ \theta\rightarrow\widehat{Y} θ→Y ,则学习先验概率 P ( Y ^ ) = P ( θ ) P(\widehat{Y})=P(\theta) P(Y )=P(θ),学习条件概率 P ( X ^ ∣ Y ^ ) = P ( Y , Z ∣ θ ) P(\widehat{X}|\widehat{Y})=P(Y,Z|\theta) P(X ∣Y )=P(Y,Z∣θ),利用先验概率、条件概率及贝叶斯定理得后验概率 P ( Y ^ ∣ X ^ ) = P ( θ ∣ Y , Z ) P(\widehat{Y}|\widehat{X})=P(\theta|Y,Z) P(Y ∣X )=P(θ∣Y,Z),即对于新给定的预测完全数据 Y , Z Y,Z Y,Z,求后验概率 P ( θ ∣ Y , Z ) P(\theta|Y,Z) P(θ∣Y,Z)最大的 θ \theta θ对应的分类就是该预测实例点所在类。
下面重点叙述有关EM算法的模型的内容:包括EM算法的导出,EM算法的收敛性,EM算法的F函数解释,高斯混合模型的构建方法。
EM算法的导出
对于含有隐变量的概率模型,优化目标是极大化观测数据
Y
Y
Y关于参数
θ
\theta
θ的对数似然函数
L
(
θ
)
=
l
o
g
P
(
Y
∣
θ
)
=
l
o
g
∑
Z
P
(
Y
,
Z
∣
θ
)
=
l
o
g
∑
Z
(
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
)
L(\theta)=logP(Y|\theta)=log\sum\limits_{Z}P(Y,Z|\theta)=log\sum\limits_{Z}\Big(P(Y|Z,\theta)P(Z|\theta)\Big)
L(θ)=logP(Y∣θ)=logZ∑P(Y,Z∣θ)=logZ∑(P(Y∣Z,θ)P(Z∣θ))
由于上式包含关于未知隐变量
P
(
Z
∣
θ
)
P(Z|\theta)
P(Z∣θ)的求和,所以不能直接求解,利用EM算法迭代求解:找到使
L
(
θ
)
L(\theta)
L(θ)递增的参数序列
θ
(
i
)
\theta^{(i)}
θ(i)。下面通过寻找下界函数的方法,寻求
L
(
θ
)
L(\theta)
L(θ)极大化的弱化条件。
L
(
θ
)
−
L
(
θ
(
i
)
)
=
l
o
g
∑
Z
(
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
)
−
l
o
g
P
(
Y
∣
θ
(
i
)
)
=
l
o
g
(
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
)
−
l
o
g
P
(
Y
∣
θ
(
i
)
)
≥
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
l
o
g
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
−
∑
Z
P
(
Y
,
Z
∣
θ
(
i
)
)
P
(
Y
∣
θ
(
i
)
)
l
o
g
P
(
Y
∣
θ
(
i
)
)
=
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
l
o
g
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
P
(
Y
∣
θ
(
i
)
)
L(\theta)-L(\theta^{(i)})=log\sum\limits_{Z}\Big(P(Y|Z,\theta)P(Z|\theta)\Big)-logP(Y|\theta^{(i)})\\ =log\Big(\sum\limits_{Z}P(Z|Y,\theta^{(i)})\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}\Big)-logP(Y|\theta^{(i)})\\ \geq \sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}-\sum\limits_{Z}\frac{P(Y,Z|\theta^{(i)})}{P(Y|\theta^{(i)})}logP(Y|\theta^{(i)})\\ =\sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})}
L(θ)−L(θ(i))=logZ∑(P(Y∣Z,θ)P(Z∣θ))−logP(Y∣θ(i))=log(Z∑P(Z∣Y,θ(i))P(Z∣Y,θ(i))P(Y∣Z,θ)P(Z∣θ))−logP(Y∣θ(i))≥Z∑P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣Z,θ)P(Z∣θ)−Z∑P(Y∣θ(i))P(Y,Z∣θ(i))logP(Y∣θ(i))=Z∑P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z∣θ)
所以
L
(
θ
)
≥
L
(
θ
(
i
)
)
+
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
l
o
g
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
P
(
Y
∣
θ
(
i
)
)
≜
B
(
θ
,
θ
(
i
)
)
L(\theta)\geq L(\theta^{(i)})+\sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})}\triangleq B(\theta,\theta^{(i)})
L(θ)≥L(θ(i))+Z∑P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z∣θ)≜B(θ,θ(i))
所以
B
(
θ
,
θ
(
i
)
)
B(\theta,\theta^{(i)})
B(θ,θ(i))是
L
(
θ
)
L(\theta)
L(θ)的一个下界,并且当
θ
=
θ
(
i
)
\theta=\theta^{(i)}
θ=θ(i)时,
L
(
θ
(
i
)
)
=
B
(
θ
(
i
)
,
θ
(
i
)
)
L(\theta^{(i)})=B(\theta^{(i)},\theta^{(i)})
L(θ(i))=B(θ(i),θ(i))。也就是,可以使
B
(
θ
,
θ
(
i
)
)
B(\theta,\theta^{(i)})
B(θ,θ(i))增大的
θ
\theta
θ,也可以使
L
(
θ
)
L(\theta)
L(θ)增大。所以,极大化
L
(
θ
)
L(\theta)
L(θ)可以转化为极大化
B
(
θ
,
θ
(
i
)
)
B(\theta,\theta^{(i)})
B(θ,θ(i))
θ
(
i
+
1
)
=
a
r
g
max
θ
B
(
θ
,
θ
(
i
)
)
=
a
r
g
max
θ
(
L
(
θ
(
i
)
)
+
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
l
o
g
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
P
(
Y
∣
θ
(
i
)
)
)
=
a
r
g
max
θ
(
L
(
θ
(
i
)
)
−
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
l
o
g
(
P
(
Z
∣
Y
,
θ
(
i
)
)
P
(
Y
∣
θ
(
i
)
)
)
+
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
l
o
g
(
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
)
)
=
a
r
g
max
θ
(
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
l
o
g
(
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
)
)
≜
Q
(
θ
,
θ
(
i
)
)
\theta^{(i+1)}=arg\max\limits_{\theta}B(\theta,\theta^{(i)})=arg\max\limits_{\theta}\Big(L(\theta^{(i)})+\sum\limits_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})}\Big)\\ =arg\max\limits_{\theta}\Big(L(\theta^{(i)})-\sum\limits_{Z}P(Z|Y,\theta^{(i)})log(P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)}))+\sum\limits_{Z}P(Z|Y,\theta^{(i)})log(P(Y|Z,\theta)P(Z|\theta))\Big)\\ =arg\max\limits_{\theta}\Big(\sum\limits_{Z}P(Z|Y,\theta^{(i)})log(P(Y|Z,\theta)P(Z|\theta))\Big)\triangleq Q(\theta,\theta^{(i)})
θ(i+1)=argθmaxB(θ,θ(i))=argθmax(L(θ(i))+Z∑P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z∣θ))=argθmax(L(θ(i))−Z∑P(Z∣Y,θ(i))log(P(Z∣Y,θ(i))P(Y∣θ(i)))+Z∑P(Z∣Y,θ(i))log(P(Y∣Z,θ)P(Z∣θ)))=argθmax(Z∑P(Z∣Y,θ(i))log(P(Y∣Z,θ)P(Z∣θ)))≜Q(θ,θ(i))
上式证明中用到了
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
=
1
\sum\limits_{Z}P(Z|Y,\theta^{(i)})=1
Z∑P(Z∣Y,θ(i))=1,此外,
Q
函
数
Q函数
Q函数:
Q
(
θ
,
θ
(
i
)
)
Q(\theta,\theta^{(i)})
Q(θ,θ(i))是“完全数据的对数似然函数
l
o
g
P
(
Y
,
Z
∣
θ
)
logP(Y,Z|\theta)
logP(Y,Z∣θ)”对“未观测数据
Z
Z
Z的条件概率分布
P
(
Z
∣
Y
,
θ
(
i
)
)
P(Z|Y,\theta^{(i)})
P(Z∣Y,θ(i))”的期望。
综上所述,EM算法实现参数
θ
\theta
θ的更新包括:求
Q
(
θ
,
θ
(
i
)
)
Q(\theta,\theta^{(i)})
Q(θ,θ(i))函数,即期望expectation步;求
a
r
g
max
θ
Q
(
θ
,
θ
(
i
)
)
arg\max\limits_{\theta}Q(\theta,\theta^{(i)})
argθmaxQ(θ,θ(i)),即极大化maximization步。
EM算法的收敛性
T h e o r y Theory Theory:观测数据的似然函数 P ( Y ∣ θ ) P(Y|\theta) P(Y∣θ)关于EM算法得到的参数序列 θ ( i ) \theta^{(i)} θ(i)是单增的,即 P ( Y ∣ θ ( i + 1 ) ) ≥ P ( Y ∣ θ ( i ) ) P(Y|\theta^{(i+1)})\geq P(Y|\theta^{(i)}) P(Y∣θ(i+1))≥P(Y∣θ(i))。
P
r
o
o
f
Proof
Proof:
l
o
g
P
(
Y
∣
θ
)
=
l
o
g
P
(
Y
,
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
)
=
l
o
g
P
(
Y
,
Z
∣
θ
)
−
l
o
g
P
(
Z
∣
Y
,
θ
)
logP(Y|\theta)=log\frac{P(Y,Z|\theta)}{P(Z|Y,\theta)}=logP(Y,Z|\theta)-logP(Z|Y,\theta)
logP(Y∣θ)=logP(Z∣Y,θ)P(Y,Z∣θ)=logP(Y,Z∣θ)−logP(Z∣Y,θ)
对上式左右两侧都乘
P
(
Z
∣
Y
,
θ
(
i
)
)
P(Z|Y,\theta^{(i)})
P(Z∣Y,θ(i)),再对
Z
Z
Z遍历求和得
∑
Z
l
o
g
P
(
Y
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
=
∑
Z
l
o
g
P
(
Y
,
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
−
∑
Z
l
o
g
P
(
Z
∣
Y
,
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
\sum\limits_{Z}logP(Y|\theta)P(Z|Y,\theta^{(i)})=\sum\limits_{Z}logP(Y,Z|\theta)P(Z|Y,\theta^{(i)})-\sum\limits_{Z}logP(Z|Y,\theta)P(Z|Y,\theta^{(i)})
Z∑logP(Y∣θ)P(Z∣Y,θ(i))=Z∑logP(Y,Z∣θ)P(Z∣Y,θ(i))−Z∑logP(Z∣Y,θ)P(Z∣Y,θ(i))
其中
左
边
=
∑
Z
l
o
g
P
(
Y
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
=
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
l
o
g
P
(
Y
∣
θ
)
=
l
o
g
P
(
Y
∣
θ
)
左边=\sum\limits_{Z}logP(Y|\theta)P(Z|Y,\theta^{(i)})=\sum\limits_{Z}P(Z|Y,\theta^{(i)})logP(Y|\theta)=logP(Y|\theta)
左边=Z∑logP(Y∣θ)P(Z∣Y,θ(i))=Z∑P(Z∣Y,θ(i))logP(Y∣θ)=logP(Y∣θ)
右
边
=
Q
(
θ
,
θ
(
i
)
)
−
∑
Z
l
o
g
P
(
Z
∣
Y
,
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
右边=Q(\theta,\theta^{(i)})-\sum\limits_{Z}logP(Z|Y,\theta)P(Z|Y,\theta^{(i)})
右边=Q(θ,θ(i))−Z∑logP(Z∣Y,θ)P(Z∣Y,θ(i))
所以
l
o
g
P
(
Y
∣
θ
)
=
Q
(
θ
,
θ
(
i
)
)
−
∑
Z
l
o
g
P
(
Z
∣
Y
,
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
logP(Y|\theta)=Q(\theta,\theta^{(i)})-\sum\limits_{Z}logP(Z|Y,\theta)P(Z|Y,\theta^{(i)})
logP(Y∣θ)=Q(θ,θ(i))−Z∑logP(Z∣Y,θ)P(Z∣Y,θ(i))
考虑
l
o
g
P
(
Y
∣
θ
(
i
+
1
)
)
−
l
o
g
P
(
Y
∣
θ
(
i
)
)
=
Q
(
θ
(
i
+
1
)
,
θ
(
i
)
)
−
Q
(
θ
(
i
)
,
θ
(
i
)
)
+
∑
Z
l
o
g
P
(
Z
∣
Y
,
θ
(
i
+
1
)
)
P
(
Z
∣
Y
,
θ
(
i
)
)
P
(
Z
∣
Y
,
θ
(
i
)
)
=
Q
(
θ
(
i
+
1
)
,
θ
(
i
)
)
−
Q
(
θ
(
i
)
,
θ
(
i
)
)
logP(Y|\theta^{(i+1)})-logP(Y|\theta^{(i)})=Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)}) +\sum\limits_{Z}log\frac{P(Z|Y,\theta^{(i+1)})}{P(Z|Y,\theta^{(i)})}P(Z|Y,\theta^{(i)})\\ =Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)})
logP(Y∣θ(i+1))−logP(Y∣θ(i))=Q(θ(i+1),θ(i))−Q(θ(i),θ(i))+Z∑logP(Z∣Y,θ(i))P(Z∣Y,θ(i+1))P(Z∣Y,θ(i))=Q(θ(i+1),θ(i))−Q(θ(i),θ(i))
由序列
θ
(
i
)
\theta^{(i)}
θ(i)的生成过程知,
θ
(
i
+
1
)
\theta^{(i+1)}
θ(i+1)是使
Q
(
θ
,
θ
(
i
)
)
Q(\theta,\theta^{(i)})
Q(θ,θ(i))达到极大的点,所以
Q
(
θ
(
i
+
1
)
,
θ
(
i
)
)
≥
Q
(
θ
(
i
)
,
θ
(
i
)
)
Q(\theta^{(i+1)},\theta^{(i)})\geq Q(\theta^{(i)},\theta^{(i)})
Q(θ(i+1),θ(i))≥Q(θ(i),θ(i)),从而得证定理。
注:EM算法对参数初值的选取较敏感,一般选取几个不同的初值进行迭代和最后的估计值比较选取。EM算法得到的参数序列收敛到对数似然函数序列的稳定点,但是不能保证收敛到极大值点。
EM算法的F函数解释
EM算法可以解释为 F 函 数 F函数 F函数的极大-极大算法:第一步极大化指,固定参数 θ \theta θ,求隐变量数据 Z Z Z的概率分布使 F 函 数 F函数 F函数极大化;第二步极大化指,固定第一步得到的 Z Z Z的概率分布,求参数 θ \theta θ使 F 函 数 F函数 F函数极大化。这里, F 函 数 F函数 F函数相比于 Q 函 数 Q函数 Q函数,主要是利用求极大化目标函数的转化得到的, F 函 数 F函数 F函数的第一步极大化相当于求 Q 函 数 Q函数 Q函数,第一步极大化相当于求 a r g max θ Q ( θ , θ ( i ) ) arg\max\limits_{\theta}Q(\theta,\theta^{(i)}) argθmaxQ(θ,θ(i))。
D
e
f
i
n
a
t
i
o
n
Defination
Defination:
P
~
(
Z
)
\widetilde{P}(Z)
P
(Z)是隐变量
Z
Z
Z的概率分布,分布
P
~
(
Z
)
\widetilde{P}(Z)
P
(Z)的熵为
H
(
P
~
)
=
−
P
~
(
Z
)
l
o
g
P
~
(
Z
)
=
−
E
P
~
P
~
(
Z
)
H(\widetilde{P})=-\widetilde{P}(Z)log\widetilde{P}(Z)=-E_{\widetilde{P}}\widetilde{P}(Z)
H(P
)=−P
(Z)logP
(Z)=−EP
P
(Z),定义分布
P
~
\widetilde{P}
P
与参数
θ
\theta
θ的函数
F
(
P
~
,
θ
)
=
E
P
~
[
l
o
g
P
(
Y
,
Z
∣
θ
)
]
+
H
(
P
~
)
F(\widetilde{P},\theta)=E_{\widetilde{P}}[logP(Y,Z|\theta)]+H(\widetilde{P})
F(P
,θ)=EP
[logP(Y,Z∣θ)]+H(P
)
为
F
函
数
F函数
F函数。
显然,此时
∑
Z
P
~
(
Z
)
=
1
\sum\limits_{Z}\widetilde{P}(Z)=1
Z∑P
(Z)=1,则将约束优化
F
函
数
F函数
F函数转化成无约束的Lagrange函数求极大值问题
L
f
=
F
(
P
~
,
θ
)
+
λ
(
1
−
∑
Z
P
~
(
Z
)
)
Lf=F(\widetilde{P},\theta)+\lambda(1-\sum\limits_{Z}\widetilde{P}(Z))
Lf=F(P
,θ)+λ(1−Z∑P
(Z))。首先,
L
f
Lf
Lf关于
P
~
(
Z
)
\widetilde{P}(Z)
P
(Z)求偏导数,得到是
L
f
Lf
Lf极大化的
P
~
θ
(
Z
)
=
P
(
Z
∣
Y
,
θ
)
\widetilde{P}_{\theta}(Z)=P(Z|Y,\theta)
P
θ(Z)=P(Z∣Y,θ);再将
P
~
θ
(
Z
)
\widetilde{P}_{\theta}(Z)
P
θ(Z)带回
F
(
P
~
,
θ
)
F(\widetilde{P},\theta)
F(P
,θ)化简得
F
(
P
~
,
θ
)
=
l
o
g
P
(
Y
∣
θ
)
=
L
f
(
θ
)
F(\widetilde{P},\theta)=logP(Y|\theta)=Lf(\theta)
F(P
,θ)=logP(Y∣θ)=Lf(θ)。由
P
~
θ
\widetilde{P}_{\theta}
P
θ关于
θ
\theta
θ的连续性可证,
F
(
P
~
,
θ
)
F(\widetilde{P},\theta)
F(P
,θ)和
L
f
(
θ
)
Lf(\theta)
Lf(θ)取到极值具有同步性。
最后,看一下
F
函
数
F函数
F函数和
Q
函
数
Q函数
Q函数的关系:
由第一步
L
f
Lf
Lf极大化,固定
θ
(
i
)
\theta^{(i)}
θ(i)求得
P
~
(
i
+
1
)
(
Z
)
=
P
(
Z
∣
Y
,
θ
(
i
)
)
\widetilde{P}^{(i+1)}(Z)=P(Z|Y,\theta^{(i)})
P
(i+1)(Z)=P(Z∣Y,θ(i)),此时
F
(
P
~
(
i
+
1
)
,
θ
)
=
E
P
~
(
i
+
1
)
[
l
o
g
P
(
Y
,
Z
∣
θ
)
]
+
H
(
P
~
(
i
+
1
)
)
=
∑
Z
l
o
g
P
(
Y
,
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
+
H
(
P
~
(
i
+
1
)
)
=
Q
(
θ
,
θ
(
i
)
)
+
H
(
P
~
(
i
+
1
)
)
F(\widetilde{P}^{(i+1)},\theta)=E_{\widetilde{P}^{(i+1)}}[logP(Y,Z|\theta)]+H(\widetilde{P}^{(i+1)})\\ =\sum\limits_{Z}logP(Y,Z|\theta)P(Z|Y,\theta^{(i)})+H(\widetilde{P}^{(i+1)})\\ =Q(\theta,\theta^{(i)})+H(\widetilde{P}^{(i+1)})
F(P
(i+1),θ)=EP
(i+1)[logP(Y,Z∣θ)]+H(P
(i+1))=Z∑logP(Y,Z∣θ)P(Z∣Y,θ(i))+H(P
(i+1))=Q(θ,θ(i))+H(P
(i+1))
显然,
H
(
P
~
(
i
+
1
)
)
H(\widetilde{P}^{(i+1)})
H(P
(i+1))项在极大化
θ
\theta
θ时是无关项,所以得证。进而,极大化
Q
函
数
Q函数
Q函数可以转化成极大化
F
函
数
F函数
F函数,即对应GEM算法的相关内容。
高斯混合模型的构建方法
所谓的“混合模型”就是对单个概率模型做凸组合形成的模型,其中,最常用的是高斯分布概率分布(也叫“正态分布”)凸组合形成的“高斯混合模型”,该模型的数学表达如下
P
(
y
∣
θ
)
=
∑
k
=
1
K
α
k
ϕ
(
y
∣
θ
k
)
=
∑
k
=
1
K
α
k
1
2
π
σ
k
e
x
p
(
−
(
y
−
μ
k
)
2
2
σ
k
2
)
P(y|\theta)=\sum\limits_{k=1}^{K}\alpha_{k}\phi(y|\theta_{k})=\sum\limits_{k=1}^{K}\alpha_{k}\frac{1}{\sqrt{2\pi}\sigma_{k}}exp\Big(-\frac{(y-\mu_{k})^{2}}{2\sigma^2_{k}}\Big)
P(y∣θ)=k=1∑Kαkϕ(y∣θk)=k=1∑Kαk2πσk1exp(−2σk2(y−μk)2)
上式中
α
k
≥
0
,
∑
k
=
1
K
α
k
=
1
\alpha_{k}\geq0,\sum\limits_{k=1}^{K}\alpha_{k}=1
αk≥0,k=1∑Kαk=1。
通常,需要根据给定的观测数据
y
1
,
y
2
,
⋯
 
,
y
N
y_{1},y_{2},\cdots,y_{N}
y1,y2,⋯,yN,利用EM算法求“高斯混合模型”
P
(
y
∣
θ
)
P(y|\theta)
P(y∣θ)的参数
θ
=
(
α
1
,
⋯
 
,
α
K
,
μ
1
,
⋯
 
,
μ
K
,
σ
1
,
⋯
 
,
σ
K
)
\theta=(\alpha_{1},\cdots,\alpha_{K},\mu_{1},\cdots,\mu_{K},\sigma_{1},\cdots,\sigma_{K})
θ=(α1,⋯,αK,μ1,⋯,μK,σ1,⋯,σK)。将
y
i
y_{i}
yi看成来自“某一个高斯模型”,这是一个隐含的中间过程,所以定义隐变量
γ
j
k
=
{
1
,
第
j
个
观
测
y
j
来
自
第
k
个
分
模
型
ϕ
(
y
∣
θ
k
)
0
,
否
则
\gamma_{jk}=\begin{cases} 1,第j个观测y_{j}来自第k个分模型\phi(y|\theta_{k}) \cr 0,否则\end{cases}
γjk={1,第j个观测yj来自第k个分模型ϕ(y∣θk)0,否则
显然
γ
j
k
\gamma_{jk}
γjk是0-1随机变量,且
∑
k
=
1
K
∑
j
=
1
N
γ
j
k
=
N
\sum\limits_{k=1}^{K}\sum\limits_{j=1}^{N}\gamma_{jk}=N
k=1∑Kj=1∑Nγjk=N。
对完全数据的 ( y j , γ j 1 , ⋯   , γ j K ) , j = 1 , ⋯   , N (y_{j},\gamma_{j1},\cdots,\gamma_{jK}),j=1,\cdots,N (yj,γj1,⋯,γjK),j=1,⋯,N求其对数似然函数 l o g P ( y , γ ∣ θ ) logP(y,\gamma|\theta) logP(y,γ∣θ);对数似然函数关于隐变量 γ j k \gamma_{jk} γjk求期望,得 Q ( θ , θ ( i ) ) Q(\theta,\theta^{(i)}) Q(θ,θ(i))函数;再加上限制 ∑ k = 1 K α k = 1 \sum\limits_{k=1}^{K}\alpha_{k}=1 k=1∑Kαk=1,利用Lagrange乘子法求参数 θ \theta θ的值。