CS229 Lecture 13

15 篇文章 0 订阅

CS229 Lecture 13


课程要点:

Mixture of Gaussians
Native of Bayes
Factor Analysis
Gaussians Distribution


回顾

给定无标记样本 { x ( 1 ) , x ( 2 ) . . . . . . x ( m ) } \{x^{(1)},x^{(2)}......x^{(m)}\} {x(1),x(2)......x(m)},希望对这些数据的概率密度进行建模 P ( x ) P(x) P(x)。这里的数据可能来自多个 不同的高斯分布。 P ( x ) = ∑ z P ( x ∣ z ) P ( z ) P(x)=\sum_{z} P(x|z)P(z) P(x)=zP(xz)P(z),其中 z z z表明来自那个分布。这里假设 z ∼ M u l t i n o m i a l ( ϕ ) z\sim Multinomial(\phi) zMultinomial(ϕ) P ( x ∣ z j ) ∼ N ( u j , Σ j ) P(x|z_j)\sim N(u_j,\Sigma_j) P(xzj)N(uj,Σj)。似然函数为:

max ⁡ θ   ∑ i = 1 m l o g P ( x ( i ) ; θ ) ≥ max ⁡ θ   ∑ i = 1 m l o g ∑ z j P ( x ( i ) , z j ; θ ) \max_{\theta}\,\sum_{i=1}^{m}logP(x^{(i)};\theta)\geq\max_{\theta}\,\sum_{i=1}^{m}log\sum_{z_j}P(x^{(i)},z_{j};\theta) θmaxi=1mlogP(x(i);θ)θmaxi=1mlogzjP(x(i),zj;θ)

通过EM算法找到最优参数

E-step

Q i ( z ( i ) ) = P ( z ( i ) ∣ x ( i ) ; θ ) Q_i(z^{(i)})=P(z^{(i)}|x^{(i)};\theta) Qi(z(i))=P(z(i)x(i);θ)

M-step

θ = arg ⁡ max ⁡ θ ∑ i ∑ z ( i ) Q i ( z ( i ) l o g P ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ) \theta=\arg\max_{\theta}\sum_{i}\sum_{z^{(i)}}Q_{i}(z^{(i)}log\frac{P(x^{(i)},z^{(i)};\theta)}{Q_{i}(z^{(i)})}) θ=argθmaxiz(i)Qi(z(i)logQi(z(i))P(x(i),z(i);θ))

直接对似然函数或者其tight下界求导的话,是十分困难的,而 x , z x,z x,z的联合分布其符合前面学习过的指数族,E-step和M-Step都是比较容易计算的。

EM
EM算法步骤E实际上相当于确定了一个tight bound l ( θ ) l(\theta) l(θ)的下界函数,然后M步骤做的就是求这个函数的最大,每次跳到图上红色标示处,努力的贴近 l ( θ ) l(\theta) l(θ)


另一种理解EM算法的方法
定义一个优化目标 J ( θ , Q ) = ∑ i ∑ z ( i ) Q i ( z ( i ) l o g P ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ) J(\theta,Q)=\sum_{i}\sum_{z^{(i)}}Q_{i}(z^{(i)}log\frac{P(x^{(i)},z^{(i)};\theta)}{Q_{i}(z^{(i)})}) J(θ,Q)=iz(i)Qi(z(i)logQi(z(i))P(x(i),z(i);θ)),满足 l ( θ ) ≥ J ( θ , Q ) l(\theta)\geq J(\theta,Q) l(θ)J(θ,Q),这里的大于等于是来自于Jensen’s 不等式。

根据前面学过的坐标上升可以知道:

E step: maximum with Q Q Q
M setp: maximum with θ \theta θ


EM算法应用到高斯混合模型

将EM算法的一般形式应用到高斯混合模型中

E step:

w j ( i ) = Q i ( 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 ) w_j^{(i)}=Q_i(z^{(i)}=j)=P(z^{(i)}=j|x^{(i)};\theta,u,|\Sigma)= \frac{P(x^{(i)}|z^{(i)}=j)P(z^{(i)}=j)}{\sum P(x^{(i)}|z^{(i)}=j)P(z^{(i)}=j)} wj(i)=Qi(z(i)=j)=P(z(i)=jx(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 ( u j , ∣ Σ j ) x^{(i)}|z^{(i)}=j\sim N(u_j,|\Sigma_j) x(i)z(i)=jN(uj,Σj),而 P ( z ( i ) = j ) ∼ M u l t i n o m i a l ( ϕ ) P(z^{(i)}=j)\sim Multinomial(\phi) P(z(i)=j)Multinomial(ϕ).

M step:

max ⁡ ∑ i = 1 m ∑ z ( i ) Q i ( z ( i ) = j ) l o g P ( x ( i ) , z ( i ) ; ϕ , u , Σ ) Q i ( z ( i ) = j ) = ∑ i = 1 m ∑ j = 1 k Q i ( z ( i ) = j ) l o g P ( x ( i ) ∣ z ( i ) ; u , Σ ) P ( z ( i ) = j ; ϕ ) Q i ( z ( i ) = j ) = ∑ i = 1 m ∑ j = 1 k w j ( i ) l o g 1 2 π 2 / n ∣ Σ ∣ 1 / 2 e x p ( − 1 2 ( x ( i ) − u ( i ) ) T Σ j − 1 ( x ( i ) − u ( i ) ) ) ϕ j w j ( i ) \max\sum_{i=1}^{m}\sum_{z^{(i)}}Q_i(z^{(i)}=j)log\frac{P(x^{(i)},z^{(i)};\phi,u,\Sigma)}{Q_i(z^{(i)}=j)}\\ =\sum_{i=1}^{m}\sum_{j=1}^{k}Q_i(z^{(i)}=j)log\frac{P(x^{(i)}|z^{(i)};u,\Sigma)P(z^{(i)}=j;\phi)}{Q_i(z^{(i)}=j)}\\ =\sum_{i=1}^{m}\sum_{j=1}^{k}w_j^{(i)}log\frac{\frac{1}{2\pi^{2/n}|\Sigma|^{1/2}}exp(-\frac{1}{2}(x^{(i)}-u^{(i)})^T\Sigma_j^{-1}(x^{(i)}-u^{(i)}))\phi_j}{w_j^{(i)}} maxi=1mz(i)Qi(z(i)=j)logQi(z(i)=j)P(x(i),z(i);ϕ,u,Σ)=i=1mj=1kQi(z(i)=j)logQi(z(i)=j)P(x(i)z(i);u,Σ)P(z(i)=j;ϕ)=i=1mj=1kwj(i)logwj(i)2π2/nΣ1/21exp(21(x(i)u(i))TΣj1(x(i)u(i)))ϕj

对上式进行求导

u j = ∑ i = 1 m w j ( i ) x ( i ) ∑ i = 1 m w j ( i ) u_j=\frac{\sum_{i=1}^{m}w_j^{(i)}x^{(i)}}{\sum_{i=1}^{m}w_j^{(i)}} uj=i=1mwj(i)i=1mwj(i)x(i)

ϕ j = 1 m ∑ i = 1 m w j ( i ) \phi_j=\frac{1}{m}\sum_{i=1}^{m}w_j^{(i)} ϕj=m1i=1mwj(i)

在求导 ϕ \phi ϕ时需要注意 ϕ j ≥ 0 \phi_j\geq0 ϕj0并且 ∑ j = 1 k ϕ j = 1 \sum_{j=1}^{k}\phi_j=1 j=1kϕj=1,这些约束可以通过拉格朗日乘子进行求解。


文本聚类

给定一堆文本,希望可以把这些文本根据主题进行聚类。

给定训练集 { x ( 1 ) , x ( 2 ) . . . . . . x ( m ) } \{x^{(1)},x^{(2)}......x^{(m)}\} {x(1),x(2)......x(m)},其中 x ( i ) ∈ { 0 , 1 } n x^{(i)}\in \{0,1\}^{n} x(i){0,1}n x j ( i ) x_j^{(i)} xj(i)表示词 j j j是否出现于文本 i i i中。

这里 z ( i ) ∈ { 0 , 1 } z^{(i)}\in\{0,1\} z(i){0,1} 因此 z ( i ) ∼ B e r o l i ( ϕ ) z^{(i)}\sim Beroli(\phi) z(i)Beroli(ϕ).

P ( x ( i ) ∣ z ( i ) ) = ∏ i = 1 m P ( x j i ∣ z ( i ) ) P(x^{(i)}|z^{(i)})=\prod_{i=1}^{m}P(x_j^{i}|z^{(i)}) P(x(i)z(i))=i=1mP(xjiz(i))

P ( x j ( i ) = 1 ∣ z ( i ) = j ) = ϕ j ∣ z P(x_j^{(i)}=1|z^(i)=j)=\phi_{j|z} P(xj(i)=1z(i)=j)=ϕjz

可以看到如果将上面的 z z z替换为 y y y,那么上面公式将会和朴素贝叶斯公式一样。

E step:

w i = P ( z ( i ) = 1 ∣ x ( i ) ; ϕ i = z ) w^{i}=P(z^{(i)}=1|x^{(i)};\phi_{i=z}) wi=P(z(i)=1x(i);ϕi=z)

M step:

ϕ j ∣ z = 1 = ∑ i = 1 m w ( i ) 1 { x j ( i ) = 1 } ∑ i = 1 m w ( i ) \phi_{j|z=1}=\frac{\sum_{i=1}^{m}w^{(i)}1\{x_j^{(i)}=1\}}{\sum_{i=1}^{m}w^{(i)}} ϕjz=1=i=1mw(i)i=1mw(i)1{xj(i)=1}

ϕ j ∣ z = 0 = ∑ i = 1 m ( 1 − w ( i ) ) 1 { x j ( i ) = 1 } ∑ i = 1 m ( 1 − w ( i ) ) \phi_{j|z=0}=\frac{\sum_{i=1}^{m}(1-w^{(i)})1\{x_j^{(i)}=1\}}{\sum_{i=1}^{m}(1-w^{(i)})} ϕjz=0=i=1m(1w(i))i=1m(1w(i))1{xj(i)=1}

ϕ j ∣ z = ∑ w ( i ) m \phi_{j|z}=\frac{\sum w^{(i)}}{m} ϕjz=mw(i)


因子分析

因子分析相较于高斯混合模型其EM算法中对应的隐变量 z z z可能是连续的。

一般来说如果 m ≥ n m\geq n mn用混合高斯来建模是可取的,但是如果说 n ≈ m n \approx m nm或者 n ≥ m n\geq m nm,那么又该如何模拟数据的分布 P ( x ) P(x) P(x)?

当然可以选择单纯的高斯模型来建模。

有训练样本 { x ( 1 ) , x ( 2 ) . . . . . x ( m ) } \{x^{(1)},x^{(2)}.....x^{(m)}\} {x(1),x(2).....x(m)},对其进行建模。假设 x ∼ N ( u , Σ ) x\sim N(u,\Sigma) xN(u,Σ),通过极大似然估计可以得出:

u = 1 m ∑ i = 1 m x ( i ) u=\frac{1}{m}\sum_{i=1}^{m}x^{(i)} u=m1i=1mx(i)

Σ = 1 m ∑ i = 1 m ( x ( i ) − u ) ( x ( i ) − u ) T \Sigma = \frac{1}{m}\sum_{i=1}^{m}(x^{(i)-u})(x^{(i)}-u)^T Σ=m1i=1m(x(i)u)(x(i)u)T

由于 n ≥ m n\geq m nm因此 Σ \Sigma Σ必然为奇异矩阵,即不满秩。其对应的高斯轮廓曲线是一个无限延伸的椭圆。

可以加上一些假设如 Σ = [ σ 1 2 σ 2 2 σ 3 2 σ 4 2 ] \Sigma= \left[\begin{array}{cccc} \sigma_1^2&&&\\ &\sigma_2^2&&\\ &&\sigma_3^2&\\ &&&\sigma_4^2 \end{array}\right] Σ=σ12σ22σ32σ42 这样得到 σ j 2 = 1 m ∑ ( x ( i ) − u ) 2 \sigma_j^2=\frac{1}{m}\sum({x^{(i)}-u})^2 σj2=m1(x(i)u)2

这样的假设会导致各个维度之间完全不相关,高斯轮廓曲线是平行的。

还可以假设 Σ = σ 2 I = [ σ 2 σ 2 σ 2 σ 2 ] \Sigma=\sigma^2I= \left[\begin{array}{cccc} \sigma^2&&&\\ &\sigma^2&&\\ &&\sigma^2&\\ &&&\sigma^2 \end{array}\right] Σ=σ2I=σ2σ2σ2σ2,即高斯的轮廓曲线是圆型。以上这些假设都过强,不能采用。


假设 z ∼ N ( 0 , I ) z\sim N(0,I) zN(0,I),其中 z ∈ R d    ( d < n ) z\in R^{d}\,\,(d\lt n) zRd(d<n)

x ∣ z ∼ N ( u + Λ z , Ψ ) x|z\sim N(u+\Lambda z,\Psi) xzN(u+Λz,Ψ)

对等的可以说:

x = u + Λ z + ε x=u+\Lambda z + \varepsilon x=u+Λz+ε,其中 ε ∼ N ( 0 , Ψ ) \varepsilon\sim N(0,\Psi) εN(0,Ψ)并且 Ψ \Psi Ψ是一个对角矩阵。

上面这些参数 u ∈ R n       Λ ∈ R n × d       Ψ ∈ R n × n u\in R^{n}\,\,\,\,\,\Lambda\in R^{n\times d}\,\,\,\,\,\Psi\in R^{n\times n} uRnΛRn×dΨRn×n d ≤ n d\leq n dn

例子:

z ∈ R z\in R zR

x ∈ R 2 x\in R^2 xR2

Λ = [ 2 1 ] \Lambda= \left[\begin{array}{c}2\\1\end{array}\right] Λ=[21]

Ψ = [ 1 0 0 2 ] \Psi= \left[\begin{array}{cc}1&0\\0&2\end{array}\right] Ψ=[1002]

u = [ 0 0 ] u=\left[\begin{array}{c}0\\0\end{array}\right] u=[00]

z ( i ) ∼ N ( 0 , 1 ) z^{(i)}\sim N(0,1) z(i)N(0,1)

在这里插入图片描述
上图中横轴中红色的点是对 z z z的一个采样,斜线上的点是 Λ z \Lambda z Λz,由于 u = 0 ⃗ u=\vec0 u=0 ,那么斜线上的点同样为 u + Λ z u+\Lambda z u+Λz,图上绿色的圈是每个采样点 z z z对应 x x x的可能分布。因为 ε \varepsilon ε服从高斯分布,因此 x x x是在在对应紫色点为中心的一个高斯分布的采样。


拟合模型中的参数

为了描述模型中的参数的拟合方法,需要将高斯模型写成另一种形式:
x = [ x 1 x 2 ] x=\left[\begin{array}{c}x_1\\x_2\end{array}\right] x=[x1x2]其中 x 1 ∈ R r x_1\in R^{r} x1Rr x 2 ∈ R s x_2\in R^{s} x2Rs那么自然 x ∈ R r + s x\in R^{r+s} xRr+s

x ∼ N ( u , Σ ) x\sim N(u,\Sigma) xN(u,Σ),其中 u = [ u 1 u 2 ] u=\left[\begin{array}{c}u_1\\u_2\end{array}\right] u=[u1u2],那么 Σ = [ Σ 11 Σ 12 Σ 21 Σ 22 ] \Sigma=\left[\begin{array}{cc}\Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22}\end{array}\right] Σ=[Σ11Σ21Σ12Σ22]。其中 Σ 12 ∈ R r × s \Sigma_{12}\in R^{r\times s} Σ12Rr×s

P ( x 1 ) P(x_1) P(x1)的边际分布为:

P ( x 1 ) = ∫ x 2 P ( x 1 , x 2 ) d x 2 P(x_1)=\int_{x_2}P(x1,x2)dx_2 P(x1)=x2P(x1,x2)dx2

其中 x 1 ∼ N ( u 1 , Σ 11 ) x_1\sim N(u_1,\Sigma_{11}) x1N(u1,Σ11)

P ( x 1 ∣ x 2 ) = P ( x 1 x 2 ) P ( x 2 ) P(x_1|x_2)=\frac{P(x_1x_2)}{P(x_2)} P(x1x2)=P(x2)P(x1x2)

其中 P ( x 1 x 2 ) ∼ N ( u , Σ ) P(x_1x_2)\sim N(u,\Sigma) P(x1x2)N(u,Σ) P ( x 2 ) ∼ N ( u 2 , Σ 22 ) P(x_2)\sim N(u2,\Sigma_{22}) P(x2)N(u2,Σ22)

P ( x 1 ∣ x 2 ) ∼ N ( u 1 ∣ 2 , Σ 1 ∣ 2 ) P(x_1|x_2)\sim N(u_{1|2},\Sigma_{1|2}) P(x1x2)N(u12,Σ12)对应的 u 1 ∣ 2 = u 1 + Σ 12 Σ 22 − 1 ( x 2 − u 2 ) u_{1|2}=u_1+\Sigma_{12}\Sigma_{22}^{-1}(x_2-u_2) u12=u1+Σ12Σ221(x2u2) Σ 1 ∣ 2 = Σ 11 − Σ 12 Σ 22 − 1 Σ 21 \Sigma_{1|2}=\Sigma_{11}-\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21} Σ12=Σ11Σ12Σ221Σ21


x x x z z z的联合概率分布因子分析为:

[ z x ] ∼ N ( u x z , Σ ) \left[\begin{array}{c}z\\x\end{array}\right]\sim N(u_{xz},\Sigma) [zx]N(uxz,Σ)

z ∈ N ( 0 , I ) z\in N(0,I) zN(0,I)

x = u + Λ z + ε x=u+\Lambda z + \varepsilon x=u+Λz+ε其中 ε ∼ N ( 0 , Ψ ) \varepsilon \sim N(0,\Psi) εN(0,Ψ)

E [ z ] = 0 E[z]=0 E[z]=0

E [ x ] = E [ u + Λ z + ε ] = u E[x]=E[u+\Lambda z+\varepsilon]=u E[x]=E[u+Λz+ε]=u因为 ε \varepsilon ε z z z的希望都为 0 0 0

u z x = E [ z x ] = [ 0 ⃗ u ] u_{zx}=E\left[\begin{array}{c}z\\x\end{array}\right]=\left[\begin{array}{c}\vec0\\u\end{array}\right] uzx=E[zx]=[0 u]

Σ = [ E [ ( z − E [ z ] ) ( z − E [ z ] ) T ] E [ ( z − E [ z ] ) ( x − E [ x ] ) T ] E [ ( x − E [ x ] ) ( x − E [ x ] ) T ] E [ ( x − E [ x ] ) ( z − E [ z ] ) T ] ] \Sigma = \left[\begin{array}{cc}E[(z-E[z])(z-E[z])^T]&E[(z-E[z])(x-E[x])^T]\\E[(x-E[x])(x-E[x])^T]&E[(x-E[x])(z-E[z])^T]\end{array}\right] Σ=[E[(zE[z])(zE[z])T]E[(xE[x])(xE[x])T]E[(zE[z])(xE[x])T]E[(xE[x])(zE[z])T]]

Σ 11 = c o v ( z ) = I \Sigma_{11}=cov(z)=I Σ11=cov(z)=I

Σ 21 = E [ ( x − E [ x ] ) ( z − E [ z ] ) T ] = E [ ( u − Λ z + ε − u ) z ] = E [ Λ z z T ] − E [ Σ z ] = Λ E [ z z T ] = Λ \Sigma_{21}=E[(x-E[x])(z-E[z])^T]=E[(u-\Lambda z+\varepsilon-u)z]=E[\Lambda zz^T]-E[\Sigma z]=\Lambda E[zz^T]=\Lambda Σ21=E[(xE[x])(zE[z])T]=E[(uΛz+εu)z]=E[ΛzzT]E[Σz]=ΛE[zzT]=Λ

上式中 Σ \Sigma Σ z z z是相互独立的,且期望均为0,因此 E [ Σ z ] = 0 E[\Sigma z]=0 E[Σz]=0

Σ 22 = E [ ( u − Λ z + ε − u ) ( u − Λ z + ε − u ) T ] = Λ Λ T + Ψ \Sigma_{22}=E[(u-\Lambda z+\varepsilon-u)(u-\Lambda z+\varepsilon-u)^T]=\Lambda \Lambda^T+\Psi Σ22=E[(uΛz+εu)(uΛz+εu)T]=ΛΛT+Ψ

综上 [ z x ] ∼ N ( [ 0 ⃗ u ] , [ I Λ T Λ Λ Λ T + Ψ ] ) \left[\begin{array}{c}z\\x\end{array}\right]\sim N(\left[\begin{array}{c}\vec0\\u\end{array}\right],\left[\begin{array}{cc}I&\Lambda^T\\\Lambda&\Lambda \Lambda^T+\Psi\end{array}\right]) [zx]N([0 u],[IΛΛTΛΛT+Ψ])


给定样本 { x ( 1 ) , x ( 2 ) . . . . . . x ( m ) } \{x^{(1)},x^{(2)}......x^{(m)}\} {x(1),x(2)......x(m)}对其建模P(x),其 x ∼ N ( u , Λ Λ T + Ψ ) x\sim N(u,\Lambda \Lambda^T+\Psi) xN(u,ΛΛT+Ψ)

如果直接对其求最大似然 l ( θ ) = ∑ l o g ( P ( x ( i ) ) ) l(\theta)=\sum log(P(x^{(i)})) l(θ)=log(P(x(i)))可以发现是十分困难的。因此为了求解最优值,因此其EM步骤为:

E step:

Q ( z ( i ) ) = P ( z ( i ) ∣ x ( i ) ; θ ) Q(z^{(i)})=P(z^{(i)}|x^{(i)};\theta) Q(z(i))=P(z(i)x(i);θ)

M step

arg ⁡ max ⁡ θ ∑ i = 1 m ∫ z Q i ( z ( i ) ) l o g P ( x ( i ) , z ( i ) ; u , Λ , Ψ ) Q i ( z ( i ) ) \arg \max_{\theta}\sum_{i=1}^{m}\int_{z}Q_i(z^{(i))}log\frac{P(x^{(i)},z^{(i)};u,\Lambda,\Psi)}{Q_i(z^{(i)})} argθmaxi=1mzQi(z(i))logQi(z(i))P(x(i),z(i);u,Λ,Ψ)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值