CS229 Lecture 13
课程要点:
Mixture of Gaussians
Native of Bayes
Factor Analysis
Gaussians Distribution
回顾
给定无标记样本{x(1),x(2)......x(m)},希望对这些数据的概率密度进行建模P(x)。这里的数据可能来自多个 不同的高斯分布。P(x)=∑zP(x∣z)P(z),其中z表明来自那个分布。这里假设z∼Multinomial(ϕ)且P(x∣zj)∼N(uj,Σj)。似然函数为:
θmaxi=1∑mlogP(x(i);θ)≥θmaxi=1∑mlogzj∑P(x(i),zj;θ)
通过EM算法找到最优参数
E-step
Qi(z(i))=P(z(i)∣x(i);θ)
M-step
θ=argθmaxi∑z(i)∑Qi(z(i)logQi(z(i))P(x(i),z(i);θ))
直接对似然函数或者其tight下界求导的话,是十分困难的,而x,z的联合分布其符合前面学习过的指数族,E-step和M-Step都是比较容易计算的。

EM算法步骤E实际上相当于确定了一个tight bound l(θ)的下界函数,然后M步骤做的就是求这个函数的最大,每次跳到图上红色标示处,努力的贴近l(θ)。
另一种理解EM算法的方法
定义一个优化目标J(θ,Q)=∑i∑z(i)Qi(z(i)logQi(z(i))P(x(i),z(i);θ)),满足l(θ)≥J(θ,Q),这里的大于等于是来自于Jensen’s 不等式。
根据前面学过的坐标上升可以知道:
E step: maximum with Q
M setp: maximum with θ
EM算法应用到高斯混合模型
将EM算法的一般形式应用到高斯混合模型中
E step:
wj(i)=Qi(z(i)=j)=P(z(i)=j∣x(i);θ,u,∣Σ)=∑P(x(i)∣z(i)=j)P(z(i)=j)P(x(i)∣z(i)=j)P(z(i)=j)
上式中x(i)∣z(i)=j∼N(uj,∣Σj),而P(z(i)=j)∼Multinomial(ϕ).
M step:
maxi=1∑mz(i)∑Qi(z(i)=j)logQi(z(i)=j)P(x(i),z(i);ϕ,u,Σ)=i=1∑mj=1∑kQi(z(i)=j)logQi(z(i)=j)P(x(i)∣z(i);u,Σ)P(z(i)=j;ϕ)=i=1∑mj=1∑kwj(i)logwj(i)2π2/n∣Σ∣1/21exp(−21(x(i)−u(i))TΣj−1(x(i)−u(i)))ϕj
对上式进行求导
uj=∑i=1mwj(i)∑i=1mwj(i)x(i)
ϕj=m1∑i=1mwj(i)
在求导ϕ时需要注意ϕj≥0并且∑j=1kϕj=1,这些约束可以通过拉格朗日乘子进行求解。
文本聚类
给定一堆文本,希望可以把这些文本根据主题进行聚类。
给定训练集{x(1),x(2)......x(m)},其中x(i)∈{0,1}n且xj(i)表示词j是否出现于文本i中。
这里z(i)∈{0,1} 因此z(i)∼Beroli(ϕ).
P(x(i)∣z(i))=i=1∏mP(xji∣z(i))
P(xj(i)=1∣z(i)=j)=ϕj∣z
可以看到如果将上面的z替换为y,那么上面公式将会和朴素贝叶斯公式一样。
E step:
wi=P(z(i)=1∣x(i);ϕi=z)
M step:
ϕj∣z=1=∑i=1mw(i)∑i=1mw(i)1{xj(i)=1}
ϕj∣z=0=∑i=1m(1−w(i))∑i=1m(1−w(i))1{xj(i)=1}
ϕj∣z=m∑w(i)
因子分析
因子分析相较于高斯混合模型其EM算法中对应的隐变量z可能是连续的。
一般来说如果m≥n用混合高斯来建模是可取的,但是如果说n≈m或者n≥m,那么又该如何模拟数据的分布P(x)?
当然可以选择单纯的高斯模型来建模。
有训练样本{x(1),x(2).....x(m)},对其进行建模。假设x∼N(u,Σ),通过极大似然估计可以得出:
u=m1∑i=1mx(i)
Σ=m1∑i=1m(x(i)−u)(x(i)−u)T
由于n≥m因此Σ必然为奇异矩阵,即不满秩。其对应的高斯轮廓曲线是一个无限延伸的椭圆。
可以加上一些假设如Σ=⎣⎢⎢⎡σ12σ22σ32σ42⎦⎥⎥⎤ 这样得到σj2=m1∑(x(i)−u)2
这样的假设会导致各个维度之间完全不相关,高斯轮廓曲线是平行的。
还可以假设Σ=σ2I=⎣⎢⎢⎡σ2σ2σ2σ2⎦⎥⎥⎤,即高斯的轮廓曲线是圆型。以上这些假设都过强,不能采用。
假设z∼N(0,I),其中z∈Rd(d<n)
x∣z∼N(u+Λz,Ψ)
对等的可以说:
x=u+Λz+ε,其中ε∼N(0,Ψ)并且Ψ是一个对角矩阵。
上面这些参数u∈RnΛ∈Rn×dΨ∈Rn×n且d≤n
例子:
z∈R
x∈R2
Λ=[21]
Ψ=[1002]
u=[00]
z(i)∼N(0,1)

上图中横轴中红色的点是对z的一个采样,斜线上的点是Λz,由于u=0,那么斜线上的点同样为u+Λz,图上绿色的圈是每个采样点z对应x的可能分布。因为ε服从高斯分布,因此x是在在对应紫色点为中心的一个高斯分布的采样。
拟合模型中的参数
为了描述模型中的参数的拟合方法,需要将高斯模型写成另一种形式:
x=[x1x2]其中x1∈Rr x2∈Rs那么自然x∈Rr+s。
x∼N(u,Σ),其中u=[u1u2],那么Σ=[Σ11Σ21Σ12Σ22]。其中Σ12∈Rr×s
P(x1)的边际分布为:
P(x1)=∫x2P(x1,x2)dx2
其中x1∼N(u1,Σ11)
P(x1∣x2)=P(x2)P(x1x2)
其中P(x1x2)∼N(u,Σ),P(x2)∼N(u2,Σ22)
P(x1∣x2)∼N(u1∣2,Σ1∣2)对应的u1∣2=u1+Σ12Σ22−1(x2−u2)且Σ1∣2=Σ11−Σ12Σ22−1Σ21
x和z的联合概率分布因子分析为:
[zx]∼N(uxz,Σ)
z∈N(0,I)
x=u+Λz+ε其中ε∼N(0,Ψ)
E[z]=0
E[x]=E[u+Λz+ε]=u因为ε和z的希望都为0。
uzx=E[zx]=[0u]
Σ=[E[(z−E[z])(z−E[z])T]E[(x−E[x])(x−E[x])T]E[(z−E[z])(x−E[x])T]E[(x−E[x])(z−E[z])T]]
Σ11=cov(z)=I
Σ21=E[(x−E[x])(z−E[z])T]=E[(u−Λz+ε−u)z]=E[ΛzzT]−E[Σz]=ΛE[zzT]=Λ
上式中Σ和z是相互独立的,且期望均为0,因此E[Σz]=0
Σ22=E[(u−Λz+ε−u)(u−Λz+ε−u)T]=ΛΛT+Ψ
综上[zx]∼N([0u],[IΛΛTΛΛT+Ψ])
给定样本{x(1),x(2)......x(m)}对其建模P(x),其x∼N(u,ΛΛT+Ψ)
如果直接对其求最大似然l(θ)=∑log(P(x(i)))可以发现是十分困难的。因此为了求解最优值,因此其EM步骤为:
E step:
Q(z(i))=P(z(i)∣x(i);θ)
M step
argθmaxi=1∑m∫zQi(z(i))logQi(z(i))P(x(i),z(i);u,Λ,Ψ)