机器学习(七)EM算法
7.1 EM
已知X为观测变量,Z为隐变量,
θ
θ
为模型参数,欲对
θ
θ
做极大似然估计
Z为隐变量无法直接求解上式,转为求解:
原型:
基于 θt θ t 推测隐变量Z的期望记为 Zt Z t
基于已观测变量X和 Zt Z t 对于 θ θ 做极大似然估计,记为 θt+1 θ t + 1
重复上诉步骤直至收敛
E-step:
基于参数
θt
θ
t
计算隐变量Z的概率分布
P(Z|X,θt)
P
(
Z
|
X
,
θ
t
)
,计算对数似然函数
LL(θ|X,Z)
L
L
(
θ
|
X
,
Z
)
关于Z的期望:
M-step,参数最大化:
7.2 高斯混合聚类
多元高斯分布定义:
多元高斯混合分布:
假设样本的生成过程如下,首先根据 α1,α2...,αk α 1 , α 2 . . . , α k 定义的先验分布选择在高斯主成分,其中 αi α i 为选择第i个主成分的概率,根据被选择概率密度进行采样,生成相应样本
令 zj∈{1,2,..k} z j ∈ { 1 , 2 , . . k } 表示生成样本 xj x j 的高斯混合主成分,先验概率 P(zj=i)=αi P ( z j = i ) = α i
后验分布:
将 pM(zj=i|xj) p M ( z j = i | x j ) 记为 γji γ j i
每个样本的 xj x j 簇标记记为 λj λ j :
对数似然:
采用EM算法进行迭代求解:
对 p(xj|μi,Σi) p ( x j | μ i , Σ i ) 进行求导:
令偏导为0可得,
对
αi
α
i
求导,引入拉个朗日乘子
得到:
对上式进行累加:
可得:
将 (7.2.14) ( 7.2.14 ) 带入 (7.2.12) ( 7.2.12 ) ,可得:
由上可得EM算法:
E-step: 对每个样本计算
γji
γ
j
i
M-step:利用
(7.2.8)
(
7.2.8
)
,
(7.2.10)
(
7.2.10
)
,
(7.2.15)
(
7.2.15
)
更新
αi,μi,Σi
α
i
,
μ
i
,
Σ
i
迭代速度慢,次数多,容易陷入局部最优
当所要优化的函数不是凸函数时,EM算法容易给出局部最佳解,而不是最优解。