机器学习(七)EM算法

机器学习(七)EM算法

7.1 EM
已知X为观测变量,Z为隐变量, θ θ 为模型参数,欲对 θ θ 做极大似然估计

LL(θ|X,Z)=lnP(X,Z|θ)(7.1.1) (7.1.1) L L ( θ | X , Z ) = l n P ( X , Z | θ )

Z为隐变量无法直接求解上式,转为求解:
LL(θ|X)=lnP(X|θ)=lnZP(X,Z|θ)(7.1.2) (7.1.2) L L ( θ | X ) = l n P ( X | θ ) = l n ∑ Z P ( X , 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的期望:

Q(θ|θt)=EZ|X,θtLL(θ|X,Z)(7.1.3) (7.1.3) Q ( θ | θ t ) = E Z | X , θ t L L ( θ | X , Z )

M-step,参数最大化:
θt+1=argmaxθQ(θ|θt)(7.1.3) (7.1.3) θ t + 1 = a r g m a x θ ⁡ Q ( θ | θ t )

7.2 高斯混合聚类
多元高斯分布定义:

p(x|μ,Σ)=1(2π)n2|Σ|12e12(xμ)TΣ1(xμ)(7.2.1) (7.2.1) p ( x | μ , Σ ) = 1 ( 2 π ) n 2 | Σ | 1 2 e − 1 2 ( x − μ ) T Σ − 1 ( x − μ )

多元高斯混合分布:
pM(x)=i=1kαip(x|μi,Σi)(7.2.2) (7.2.2) p M ( x ) = ∑ i = 1 k α i p ( x | μ i , Σ i )

假设样本的生成过程如下,首先根据 α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(zj=1)pM(xj|zj=i)pM(xj)αip(xj|μi,Σi)kl=1αlp(xj|μl,Σl)(7.2.3) p M ( z j = i | x j ) = P ( z j = 1 ) p M ( x j | z j = i ) p M ( x j ) (7.2.3) = α i p ( x j | μ i , Σ i ) ∑ l = 1 k α l p ( x j | μ l , Σ l )

pM(zj=i|xj) p M ( z j = i | x j ) 记为 γji γ j i
每个样本的 xj x j 簇标记记为 λj λ j
λj=argmaxi{1,2,...k}γji(7.2.4) (7.2.4) λ j = a r g m a x i ∈ { 1 , 2 , . . . k } ⁡ γ j i

对数似然:

LL(D)==ln(j=1mpM(xj))j=1Mln(i=1kαip(xj|μi,Σi)(7.2.5) L L ( D ) = l n ( ∏ j = 1 m p M ( x j ) ) (7.2.5) = ∑ j = 1 M l n ( ∑ i = 1 k α i p ( x j | μ i , Σ i )

采用EM算法进行迭代求解:
p(xj|μi,Σi) p ( x j | μ i , Σ i ) 进行求导:
|X|X=|x|tr(X1dX) ∂ | X | ∂ X = | x | t r ( X − 1 d X )

X1X=X1dXX1 ∂ X − 1 ∂ X = − X − 1 d X X − 1

p(xj|μi,Σi)μi=p(xj|μi,Σi)Σ1i(xjμi)(7.2.6) (7.2.6) ∂ p ( x j | μ i , Σ i ) ∂ μ i = p ( x j | μ i , Σ i ) Σ i − 1 ( x j − μ i )

dp(xj|μi,Σi)=+=++=+1(2π)n2d1|Σi|12e12(xjμi)TΣ1i(xjμi)1(2π)n2|Σ|12de12(xjμi)TΣ1i(xjμi)|Σ|12(2π)n2|Σ|12|Σi|tr(Σ1idΣi)e12(xjμi)TΣ1i(xjμi)p(xj|μi,Σi)tr(12Σ1i(xjμi)(xjμi)T(xjμi)Σ1idΣi)....12p(xj|μi,Σi)tr(Σ1idΣi)12p(xj|μi,Σi)tr(Σ1i(xjμi)(xjμi)T(xjμi)Σ1idΣi)(7.2.7) d p ( x j | μ i , Σ i ) = 1 ( 2 π ) n 2 d 1 | Σ i | 1 2 ⋅ e − 1 2 ( x j − μ i ) T Σ i − 1 ( x j − μ i ) + 1 ( 2 π ) n 2 | Σ | 1 2 d e − 1 2 ( x j − μ i ) T Σ i − 1 ( x j − μ i ) = − | Σ | − 1 2 ( 2 π ) n 2 | Σ | 1 2 | Σ i | t r ( Σ i − 1 d Σ i ) ⋅ e − 1 2 ( x j − μ i ) T Σ i − 1 ( x j − μ i ) + p ( x j | μ i , Σ i ) ⋅ t r ( 1 2 Σ i − 1 ( x j − μ i ) ( x j − μ i ) T ( x j − μ i ) Σ i − 1 d Σ i ) + . . . . = − 1 2 p ( x j | μ i , Σ i ) t r ( Σ i − 1 d Σ i ) (7.2.7) + 1 2 p ( x j | μ i , Σ i ) t r ( Σ i − 1 ( x j − μ i ) ( x j − μ i ) T ( x j − μ i ) Σ i − 1 d Σ i )

p(xj|μi,Σi)Σi=12p(xj|μi,Σi)(Σ1i(xjμi)(xjμi)T(xjμi)Σ1iΣ1i)(7.2.6) (7.2.6) ∂ p ( x j | μ i , Σ i ) ∂ Σ i = 1 2 p ( x j | μ i , Σ i ) ( Σ i − 1 ( x j − μ i ) ( x j − μ i ) T ( x j − μ i ) Σ i − 1 − Σ i − 1 )

令偏导为0可得,

LLμi=j=1mαip(xj|μi,Σi)ki=1αip(xj|μi,ΣiΣ1i(xjμi)=0(7.2.7) (7.2.7) ∂ L L ∂ μ i = ∑ j = 1 m α i p ( x j | μ i , Σ i ) ∑ i = 1 k α i p ( x j | μ i , Σ i Σ i − 1 ( x j − μ i ) = 0

μi=mj=1γjixjmj=1γji(7.2.8) (7.2.8) μ i = ∑ j = 1 m γ j i x j ∑ j = 1 m γ j i

LLΣi=j=1mαip(xj|μi,Σi)2ki=1αip(xj|μi,Σi(Σ1i(xjμi)(xjμi)T(xjμi)Σ1iΣ1i)=0(7.2.9) (7.2.9) ∂ L L ∂ Σ i = ∑ j = 1 m α i p ( x j | μ i , Σ i ) 2 ∑ i = 1 k α i p ( x j | μ i , Σ i ( Σ i − 1 ( x j − μ i ) ( x j − μ i ) T ( x j − μ i ) Σ i − 1 − Σ i − 1 ) = 0

Σi=mj=1γji(xjμi)(xjμi)Tmj=1γji(7.2.10) (7.2.10) Σ i = ∑ j = 1 m γ j i ( x j − μ i ) ( x j − μ i ) T ∑ j = 1 m γ j i

αi α i 求导,引入拉个朗日乘子

LL(D)+λ(i=1kαi1) L L ( D ) + λ ( ∑ i = 1 k α i − 1 )

LLLαi=j=1mp(xj|μi,Σi)ki=1αip(xj|μi,Σi)+λ=0(7.2.11) (7.2.11) ∂ L L L ∂ α i = ∑ j = 1 m p ( x j | μ i , Σ i ) ∑ i = 1 k α i p ( x j | μ i , Σ i ) + λ = 0

得到:
j=1mγji=λαi(7.2.12) (7.2.12) ∑ j = 1 m γ j i = − λ α i

对上式进行累加:
i=1kj=1mγji=λi=1kαi(7.2.13) (7.2.13) ∑ i = 1 k ∑ j = 1 m γ j i = − λ ∑ i = 1 k α i

可得:
λ=m(7.2.14) (7.2.14) λ = − m

(7.2.14) ( 7.2.14 ) 带入 (7.2.12) ( 7.2.12 ) ,可得:
αi=1mj=1mγji(7.2.15) (7.2.15) α i = 1 m ∑ j = 1 m γ j i

由上可得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算法容易给出局部最佳解,而不是最优解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值