Andrew Ng机器学习课程笔记(十三)之无监督学习之EM算法

Preface

Jensen’s Inequality(Jensen不等式)
Expectation-Maximization Algorithm(EM算法)

Jensen’s Inequality

对于凸函数

f ( x ) 为一个凸函数,且如果它有二阶导数,其二阶导数恒大于等于0( f ( x ) 0 )。令 x 为一个随机变量,那么:

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

这个不等式的含义如下图所示:
这里写图片描述
我们可以进一步推导出,如果 f ( x ) > 0 ,即 f ( x ) 为一个严格的凸函数。那么:
E [ f ( x ) ] = f ( E X ) x 为常量的概率为1 X = E X 的概率为1

对于凹函数

如果 f ( x ) 0 ,即 f ( x ) 为一个凸函数。那么:

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

Expectation-Maximization Algorithm

问题定义

假设训练集 { x ( 1 ) , x ( 2 ) , . . . , x ( m ) } 是由m个独立的无标记样本构成。我们有这个训练集的概率分布模型 p ( x , z ; θ ) ,但是我们只能观察到 x 。我们需要使参数 θ 的对数似然性最大化,即:

arg max θ l ( θ ) = arg max θ m i = 1 l o g p ( x ( i ) ; θ ) = arg max θ m i = 1 l o g z p ( x ( i ) , z ( i ) ; θ )

形式化过程

EM算法的过程大致如下:

首先,初始化 θ ( 0 ) ,调整 Q ( z ) 使得 J ( Q , θ ( 0 ) ) θ ( 0 ) 相等,然后求出 J ( Q , θ ( 0 ) ) 使得到最大值的 θ ( 1 ) ;固定 θ ( 1 ) ,调整 J ( Q , θ ( 1 ) ) ,使得 J ( Q , θ ( 1 ) ) θ ( 1 ) 相等,然后求出 J ( Q , θ ( 1 ) ) 使得到最大值的 θ ( 2 ) ;……;如此循环,使得 l ( θ ) 的值不断上升,直到k次循环后,求出了 l ( θ ) 的最大值 l ( θ ( k ) )

这里写图片描述

推导过程

在问题定义中我们知道:

arg max θ l ( θ ) = arg max θ m i = 1 l o g p ( x ( i ) ; θ ) = arg max θ m i = 1 l o g z p ( x ( i ) , z ( i ) ; θ )

接下来我们正式开始EM算法的推导:

假设每一个 z ( i ) 的分布函数为 Q i 。故有 Z Q i ( z ) = 1 , Q i ( z ) 0 。所以:

l ( θ ) = i l o g z ( i ) p ( x ( i ) , z ( i ) ; θ ) ( 1 ) = i l o g z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ( 2 ) i z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ( 3 )

对于上述公式中的第(2)步到第(3)步的理解:

  1. 首先由于数学期望公式 Y = g ( X ) , g ( X ) ; E ( Y ) = E ( g ( x ) ) = k = 1 g ( x k ) p k
    z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) 可以看做随机变量为 Q i ( z ( i ) ) 概率分布函数为 p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) 的期望,即为:
    z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = E ( p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) )
  2. 由Jensen不等式,且 f ( x ) = l o g x , f ( x ) = 1 x 2 < 0 ,所以:
    f ( E z ( i ) Q i [ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ] ) E z ( i ) Q i [ f ( p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ) ]

所以参数 θ 的对数似然性就有了一个下界,我们回想在EM算法的形式化过程中的不断推进得到的下界不断上升的过程,在这里我们也希望得到一个更加紧密的下界,也就是使等号成立的情况。
根据Jensen不等式,所以有:

p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = c ( c )

所以:
Q i ( z ( i ) ) = c p ( x ( i ) , z ( i ) ; θ ) ( c )

因为 Z Q i ( z ) = 1 , Q i ( z ) 0 ,所以:
Z Q i ( z ( i ) ) = Z c p ( x ( i ) , z ( i ) ; θ ) = 1 ( c )

所以:
c = 1 Z p ( x ( i ) , z ( i ) ; θ ) ( c )

所以:
Q i ( z ( i ) ) = p ( x ( i ) , z ( i ) ; θ ) z p ( x ( i ) , z ; θ ) = p ( x ( i ) , z ( i ) ; θ ) p ( x ( i ) ; θ ) = p ( z ( i ) | x ( i ) ; θ )

EM算法

EM算法主要有两个步骤,EM算法的具体内容如下:、
Repeat until convergence{

  1. (E-step) for each i, set
    Q i ( z ( i ) ) := p ( z ( i ) | x ( i ) ; θ )
  2. (M-step) set
    θ := arg max θ i z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) )

收敛性证明

我们可以定义一个优化目标

J ( Q , θ ) = i z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) )

使用Jensen不等式,我们可以推导出:
l ( θ ) J ( Q , θ )

回顾前面所学的知识,EM 可以看作是函数 J 的坐标上升法,E步固定θ优化Q,M 步固定Q优化θ。 再利用相关知识便可以证明。

猜你喜欢

转载自blog.csdn.net/danerer/article/details/80282612