斯坦福公开课Machine Learning笔记(十)--Mixtures of Gaussians and EM algorithm

来源:互联网 发布:淘宝冻结账户开通 编辑:程序博客网 时间:2024/05/21 17:26

斯坦福公开课Machine Learning笔记(十)–Mixtures of Gaussians and EM algorithm

这系列笔记其实已经手写好, 现在一次性发上来, 主要是怕丢. 内容以Andrew Ng的讲义为主,主要以公式推导与理解为主,引入和介绍省略.对于最后的Reinforcement Learning部分, 由于没有讲义以及对其实在不熟悉, 就没有笔记了(主要还是因为没有讲义).

之前的训练集都是有标记的,k-means是公开课中第一个无标记的算法,其基本思想也很好理解.而这课的EM算法应用很多,先假设了隐变量,其公式推导还是需要慢慢琢磨.

先以高斯混合模型为例:
有隐变量z,x(i)z(i) 有以下联合分布:

P(x(i),z(i))=P(x(i)|z(i))P(z(i))

z(i)~Multionial(ϕ) (ϕj0,jϕj=1)

x(i)|z(i)=j ~N(μj,Σj)

如果知道z(i)

l(θ,μ,Σ)=mi=1logP(x(i),z(i);ϕ,μ,Σ)

ϕj=1mmi=11{z(i)=j}

μj=mi=11{z(i)=j}x(i)mi=11{z(i)=j}

z(i){0,1}

EM算法:
Repeat{
E-step:(guess value of z(i)s)
W(i)j:=P(z(i)=j|x(i);ϕ,μ,Σ)=P(x(i)|z(i)=j)P(z(i)=j)kl=1P(x(i)|z(i)=l;μ,Σ)P(z(i)=l;ϕ)=1(2π)n2|Σ|12exp(12(x(i)μj)TΣ1j(x(i)μj))×ϕjkl=11(2π)n2|Σ|12exp(x(i)μl)TΣ1j(x(i)μl)ϕl

M-step:(update the parameters)

ϕj:=1mi=1mW(i)j

μj:=mi=1W(i)jx(i)mi=1W(i)j

Σj:=mi=1W(i)j(x(i)μj)(x(i)μj)Tmi=1W(i)j

}
以上只是EM的一个特例,高斯模型的一个例子.现在来推导一下EM算法:
先介绍下Jensen不等式:
f是凸函数(f′′0)

E[f(x)]f(E[x])

当且仅当x=E[x],E[f(x)]=f(E[x]),P=1
如果f′′0

E[f(x)]f(E[x])

EM:

maxθilogP(x(i);θ)=ilogz(i)P(x(i),z(i);θ)=ilogz(i)Qi(z(i))P(x(i),z(i);θ)Qi(z(i))(Qi(z(i)0,z(i)Qi(z(i)=1)=ilogE[P(x(i),z(i);θ)Qi(z(i))](z(i)~Qi)iE[P(x(i),z(i);θ)Qi(z(i))]=iz(i)Qi(z(i))logP(x(i),z(i);θ)Qi(z(i))

l(θ)iz(i)Qi(z(i))logP(x(i),z(i);θ)Qi(z(i))

根据Jensen不等式的取等号条件,我们想要的是P(x(i),z(i);θ)Qi(z(i))=c为常量.又由于z(i)Qi(z(i))=1,所以P(x(i),z(i);θ)=c,所以Q的分布就是z的后验概率.

Qi(z(i))=P(x(i),z(i);θ)z(i)P(x(i),z(i);θ)=P(x(i),z(i);θ)P(x(i);θ)=P(z(i)|x(i);θ)

Estep:

Set Qi(z(i))=P(z(i)|x(i);θ)

Mstep:

θ:=argmaxθiz(i)Qi(z(i))logP(x(i),z(i);θ)Qi(z(i))

从另一个角度来看:
define:
J(θ,Q)=iz(i)Qi(z(i))logP(x(i),z(i);θ)Qi(z(i)) (l(θJ(θ,Q)))
Estep:固定θ,maximize Q
Mstep:固定Q, maximize θ

回到高斯混合模型中:
Estep:

W(i)j=Qi(z(i)=j)=P(z(i)=j|x(i);ϕ,μ,Σ)=P(x(i)|z(i)=j)P(z(i)=j)kl=1P(x(i)|z(i)=l;μ,Σ)P(z(i)=l;ϕ)

Mstep:

maxϕ,μ,Σiz(i)Qi(z(i))logP(x(i),z(i);ϕ,μ,Σ)qi(z(i))=i=1mj=1kW(i)jlogP(x(i)|z(i)=j;μ,Σ)P(z(i)=j;ϕ)Qi(z(i)=j)=i=1mj=1kW(i)jlog1(2π)n2|Σ|12exp(12(x(i)μj)TΣ1j(x(i)μj))×ϕjW(i)j

然后分别对ϕ,μ,Σ求导求解.


Mixtures of Naive Bayes Model
当我们要对文本进行分类,但是不知道标签,那么使用NB对文本进行分类是文本聚类问题.
这里有m个文本,每个文本表示成n维向量.xi{0,1}代表词是否出现在文本中.
这里隐变量z{0,1} Bernoulli(ϕ)

P(x(i)|z(i))=mi=1P(x(i)j|z(i))

P(x(i)=1|z(i)=0)=ϕj|z(i)=0


Estep:

W(i)=P(z(i)=1|x(i);ϕj|z,ϕ)

Mstep:

ϕj|z(i)=1=mi=1W(i)1{x(i)j=1}mi=1W(i)

ϕj|z(i)=0=mi=1(1W(i))1{x(i)j=1}mi=1(1W(i))

ϕz=i1{z(i)=1}m

其实EM和k-means的大体思路是差不多的,只是EM可以具体求出密度函数P(z|x)

0 0
原创粉丝点击