吴恩达机器学习12课---混合高斯分布

混合高斯分布(MoG)是一种无监督学习方法,常用于聚类,尤其适合处理不同大小、相关类别的问题。MoG模型包含多项式分布的隐含变量和正态分布的观测数据。EM算法用于解决MoG的参数估计,包括E-step(计算隐含变量的后验概率分布)和M-step(根据E-step结果更新参数)。在EM训练过程中,样本与类别的关系以概率形式表达,增强了对不确定样本的处理能力。Jensen不等式与EM算法的一般化形式进一步深化了对模型优化的理解。
摘要由CSDN通过智能技术生成

混合高斯分布

  混合高斯分布(MoG)也是一种无监督学习的方法,常用与聚类。当聚类问题中各个类别的尺寸不同、聚类间有相关关系的时候,往往使用(MoG)往往更加合适。对于一个样本来说,MoG得到的是其属与各个类的概率(通过计算后验概率得到),而不熟完全属于某个类,这种聚类方法成为软聚类。一般来说,任意形状的概率分布都可用多个高斯分布函数去近似,因此,MoG的应用较为广泛。

形式化解释MoG

  首先对问题进行形式化
  在MoG问题中,数据属于哪个分布可以看成是一个隐含变量z。则MoG模型存在两个假设.假设一. z服从多项式分布,即:

z(i)Multinomial(Φ)(4) (4) z ( i ) ∼ M u l t i n o m i a l ( Φ )

  对于多项式分布的参数,需要服从 jΦj=1 ∑ j Φ j = 1 。特殊的,当只有两个分布时,z服从伯努利分布。

  假设二. 已知z时,x服从正态分布,即条件概率 p(x|z) p ( x | z ) 服从正态分布,即:

p(x(i)|z)N(μj,j)(5) (5) p ( x ( i ) | z ) ∼ N ( μ j , ∑ j )

则x和z的联合分布概率函数为:
p(x(i),z(i))=p(x(i),z(i))p(z(i))(6) (6) p ( x ( i ) , z ( i ) ) = p ( x ( i ) , z ( i ) ) ∗ p ( z ( i ) )

  在MoG模型中,若 z(i) z ( i ) 已知,那么就与高斯判别分析相同了,似然函数如下所示:
l(Φ,μ,)==i=1mlogp(x(i),z(i);Φ,μ,)i=1m[logp(x(i)|z(i);μ,)+logp(z(i);Φ)](7) l ( Φ , μ , ∑ ) = ∑ i = 1 m l o g p ( x ( i ) , z ( i ) ; Φ , μ , ∑ ) (7) = ∑ i = 1 m [ l o g p ( x ( i ) | z ( i ) ; μ , ∑ ) + l o g p ( z ( i ) ; Φ ) ]
因此极大似然估计的结果为:
Φj=1mi=1mI{z(i)=j}(8) (8) Φ j = 1 m ∑ i = 1 m I { z ( i ) = j }

μj=mi=1I{z(i)=j}x(i)mi=1I{z(i)=j}(9) (9) μ j = ∑ i = 1 m I { z ( i ) = j } x ( i ) ∑ i = 1 m I { z ( i ) = j }

j=mi=1I{z(i)=j}(x(i)μj)(x(i)μj)Tmi=1I{z(i)=j}(10) (10) ∑ j = ∑ i = 1 m I { z ( i ) = j } ( x ( i ) − μ j ) ( x ( i ) − μ j ) T ∑ i = 1 m I { z ( i ) = j }

公式8.9.10与高斯判别分析一样。

EM算法求解MoG

  由于不知道 z(i) z ( i ) 的值,我们需要通过EM算法迭代估计出 z(i) z ( i ) 从而得到参数。

  基本思想如下所示:

  1. 设置初始参数 θ θ ;例如MoG中的 Φ Φ , μ μ ,
  2. E-step:根据当前参数与观察数据X,估计隐含变量z的分布
  3. M-step:根据z的分布,对参数进行重新估计
  4. 2,3步反复进行,知道参数变化小于阈值或者目标函数的变化小于阈值为止
    具体来说,在E-step中,z的概率分布的更新公式如下:

    w(i)j==p(z(i)=j|x(i),Φ,μ,)p(x(i)|z(i)=j;μ,)p(z(i)=j;Φ)kp(x(i)|z(i)=k;μ,)p(z(i)=k;Φ)(11) w j ( i ) = p ( z ( i ) = j | x ( i ) , Φ , μ , ∑ ) (11) = p ( x ( i ) | z ( i ) = j ; μ , ∑ ) p ( z ( i ) = j ; Φ ) ∑ k p ( x ( i ) | z ( i ) = k ; μ , ∑ ) p ( z ( i ) = k ; Φ )

      其中,如假设中所言, p(x(i)|z(i)=j;μ,) p ( x ( i ) | z ( i ) = j ; μ , ∑ ) 是正态分布, p(z(i)=j;Φ) p ( z ( i ) = j ; Φ ) 是多项式分布,将密度函数带入即可得到给定观察值x,z的条件概率。

      在M-step中,根据E-step中得到的z的分布,重新对参数进行估计,有:

    Φj=1mi=1mw(i)j(12) (12) Φ j = 1 m ∑ i = 1 m w j ( i )

    μj=mi=1w(i)jx(i)mi=1w(i)j(13) (13) μ j = ∑ i = 1 m w j ( i ) x ( i ) ∑ i = 1 m w j ( i )

    μj=mi=1w(i)jx(i)mi=1w(i)j(14) (14) μ j = ∑ i = 1 m w j ( i ) x ( i ) ∑ i = 1 m w j ( i )

    分别对比式子8,9,10与12,13,14,可以发现12,13,14中只是将8,9,10中的指示函数替换为E-step中的概率值。说明在MoG的EM训练过程中,并不是硬性规定一个样本只是属于一个类,而是以概率的形式表达样本与类别的关系。在训练终止的时候,大部分z的概率值都会接近于0或者1 ,只有少部分会中和,所以MoG模型对不确定的样本处理更好。
      与高斯判别不同的是,在MoG中,不同的高斯分布所采用的协方差矩阵是可以不一样的,但是高斯判别分析中是一样的。

Jensen不等式

  EM算法的一般化形式。
  首先介绍Jensen不等式。
  定理:
  若 f f 为凸函数,即f(x)0. 并不要求f一定可到,但是如果存在二姐导数,则必须恒 0 ≥ 0 。再令x为随机变量,则存在不等式
  

f(E[x])E[f(x)](15) (15) f ( E [ x ] ) ≤ E [ f ( x ) ]

  进一步,若二阶导数恒大于0,当且仅当x=E[x],不等号成立。
  若二阶导数的不等号方向逆转,则不等式的不等号方向逆转。

EM算法的一般化形式

  在有隐含变量的模型中,他的似然函数为
  

l(θ)==i=1mlogp(x(i);θ)i=1mlogz(i)p(x(i),z(i);θ)(16) l ( θ ) = ∑ i = 1 m l o g p ( x ( i ) ; θ ) (16) = ∑ i = 1 m l o g ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ )

  下面讨论EM的一般化形式,所以与在MoG中讨论EM不同,我们不知道 p(x(i)|z(i)) p ( x ( i ) | z ( i ) ) p(z(i)) p ( z ( i ) ) 所服从的具体分布,我们只需要知道他们都是一种概率分布就足够了。
  如果直接在公式16中应用极大似然估计,因为在对数函数中有连加,因而求偏导时会很麻烦。
  对公式16进行处理,步骤如下:
  
maxθilogp(x(i);θ)==maxθi=1mlogz(i)p(x(i),z(i);θ)maxθi=1mlogz(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))(17) max θ ∑ i l o g p ( x ( i ) ; θ ) = max θ ∑ i = 1 m l o g ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) (17) = max θ ∑ i = 1 m l o g ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) )

  这里, Q Q 是一种概率分布,即Qi(z(i))0,z(i)Qi(z(i))=1
  继续推导:
  
i=1mlogz(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))=i=1mlogE[p(x(i),z(i);θ)Qi(z(i))]i=1mE[logp(x(i),z(i);θ)Qi(z(i))]=i=1mz(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))(18) ∑ i = 1 m l o g ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = ∑ i = 1 m l o g E [ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ] (18) ≥ ∑ i = 1 m E [ log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ] = ∑ i = 1 m ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) )

  在公式 18 中,用到了 Jensen 不等式,不过 log 函数是凹函数,所以不等号逆转了。另外还用到了期望的定义:若 xp(x), x ∼ p ( x ) , E[g(x)]=p(x)g(x). E [ g ( x ) ] = ∑ p ( x ) g ( x ) .
  由公式16,17,18可知:
  
l(θ)i=1mz(i)logp(x(i),z(i);θ)Qi(z(i))=lowbound(θ)(19) (19) l ( θ ) ≥ ∑ i = 1 m ∑ z ( i ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = l o w b o u n d ( θ )

  这时我们就找出了似然函数的一个下界,可以看到,该下界已经将取对数放到求和里面了,因而对其求偏导较为简单。假设当前的参数为 θ(t) θ ( t ) ,在下界上进行极大似然估计后得到新参数 θ(t+1) θ ( t + 1 ) ,如果能保证 l(θ(t+1))l(θ(t)) l ( θ ( t + 1 ) ) ≥ l ( θ ( t ) ) ,那么我们就可以在下界函数上进行极大似然估计就可以了。如何能保证这一点呢?只要我们能在当前参数 θ(t) θ ( t ) 处,使公式17的等号成立就行了。证明如下:
 
l(θ(t+1))lowbound(θ(t+1))lowbound(θ(t))=l(θ(t))(20) (20) l ( θ ( t + 1 ) ) ≥ l o w b o u n d ( θ ( t + 1 ) ) ≥ l o w b o u n d ( θ ( t ) ) = l ( θ ( t ) )

 第一个不等号意为下界函数,第二个不等号意为在下界函数上做极大似然估计,第三个等号是我们的假设。如何使公式 17 中等号成立呢?回顾 Jensen 不等式中令等号成立的条件,只要使 x=E[x] x = E [ x ] 即可,在公式17中即意味着使
 
p(x(i),z(i);θ)Qi(z(i))=constant(21) (21) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = c o n s t a n t

 如此再加上 z(i)Qi(z(i))=1 ∑ z ( i ) Q i ( z ( i ) ) = 1 的条件,我们就可以选择Q:
 
Qi(z(i))=p(x(i),z(i);θ)z(i)p(x(i),z(i);θ)=p(z(i)|x(i);θ)(22) (22) Q i ( z ( i ) ) = p ( x ( i ) , z ( i ) ; θ ) ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) = p ( z ( i ) | x ( i ) ; θ )

 我们发现 Q Q 的值与 MoG的E-step 的公式很相似。Q即为对z的概率估计。
 由以上分析,我们就得到了 EM 算法的一般化形式。一般化形式的思想是,在 E-step, 找到对于当前参数θ,使公式 19 等号成立的 Q 分布;在 M-step,对似然函数下界进行极大似然估计,得到新的参数。形式化表述为:
 E-step:
 
Qi(z(i))=p(z(i)|x(i);θ)(23) (23) Q i ( z ( i ) ) = p ( z ( i ) | x ( i ) ; θ )

 M-step:
 
θ:=argmaxθi=1mz(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))(24) (24) θ := a r g max θ ∑ i = 1 m ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) )

 主要思想:
 有一个不能直接进行求导的似然函数,给定初始参数,我们找到在初始参数下紧挨着似然函数的下界函数,在下界上求极值来更新参数。然后以更新后的参数为初始值再次进行如上操作,这就是EM进行参数估计的方法。
 似然函数不一定只有一个极值点,因此EM算法只能求出局部极值,所以可以采用多次选取初始参数进行求参数,最后取最优参数。
 在EM的一般形式中,我们可以将目标函数看做是:
 
j(Q,θ)=i=1mz(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))(25) (25) j ( Q , θ ) = ∑ i = 1 m ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) )

 这样,EM 算法就可以看做是对目标函数的坐标上升过程,在 E-step 中, θ θ 不变,调整Q使函数变大;在 M-step 中,Q不变,调整 θ θ 使目标函数变大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值