前两篇文章,机器学习–监督学习(一)、机器学习–监督学习(二)总结了机器学习中的监督学习,在这篇文章中总结一下无监督学习,供以后参考使用。本文用到的内容基本来自blog,会尽量加入引用,如果疏漏还请谅解。
Jensen不等式
设 f f 是定义域为实数的函数,如果对于所有的实数, f″(x)≥0 f ″ ( x ) ≥ 0 ,那么 f f 是凸函数。当是向量时,如果其hessian矩阵 H H 是半正定的(),那么 f f 是凸函数。如果或者 f″(x)>0 f ″ ( x ) > 0 ,那么称 f f 是严格凸函数。
如果是凸函数,
x
x
是随机变量,那么:
特别地,如果 f f 是严格凸函数, 那么,当且仅当 p(x=E(x))=1 p ( x = E ( x ) ) = 1 ,也就是说 x x 是常量。
当是(严格)凹函数当且仅当 −f − f 是(严格)凸函数。
Jensen不等式应用于凹函数时,不等号方向反向,也就是 E[f(x)]≤f[E[x]] E [ f ( x ) ] ≤ f [ E [ x ] ] 。
EM算法
给定的训练样本是 {x(1),...,x(m)} { x ( 1 ) , . . . , x ( m ) } ,样本间独立,我们想找到每个样本隐含的类别 z z ,能使得最大。 p(x,z) p ( x , z ) 的最大似然估计如下:
第一步是对极大似然取对数,第二步是对每个样本的每个可能类别 z z 求联合分布概率和。但是直接求一般比较困难,因为有隐藏变量 z z 存在。但是一般确定了后,求解就容易了。
为了使用EM算法,对(2)式继续处理:
这里 Q Q 是的多项式分布,且 Qi(z(i))≥0 Q i ( z ( i ) ) ≥ 0 , ∑z(i)Qi(z(i))=1。 ∑ z ( i ) Q i ( z ( i ) ) = 1 。 (2)到(3)就是分子分母同乘以一个相等的函数。(3)到(4)说明如下:
Lazy Statistician 规则:
设 y y 是随机变量x的函数,( g g 是连续函数),那么:
(1) 是离散随机变量,分布为 p(x=xk)=pk,k=1,2,... p ( x = x k ) = p k , k = 1 , 2 , . . . , 若 ∑∞k=1g(xk)pk ∑ k = 1 ∞ g ( x k ) p k 绝对收敛, 则:
E(y)=E[g(x)]=∑k=1∞g(xk)pk E ( y ) = E [ g ( x ) ] = ∑ k = 1 ∞ g ( x k ) p k
(2) x x 是连续型随机变量,它的概率密度为,若 ∫+∞−∞g(x)f(x)dx ∫ − ∞ + ∞ g ( x ) f ( x ) d x 绝对收敛, 则:
E(y)=E[g(x)]=∫+∞−∞g(x)f(x)dx E ( y ) = E [ g ( x ) ] = ∫ − ∞ + ∞ g ( x ) f ( x ) d x
根据上述规则,设
y
y
是为,
x
x
为,
Qi(z(i))
Q
i
(
z
(
i
)
)
为
pk
p
k
,
g
g
为到
p(x(i),z(i);θ)Qi(z(i))
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
的映射。则
∑z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))
∑
z
(
i
)
Q
i
(
z
(
i
)
)
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
为
p(x(i),z(i);θ)Qi(z(i))
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
的期望。且根据凹函数时的Jensen不等式, 考虑到
log(x)为凹函数
l
o
g
(
x
)
为
凹
函
数
:
由公式(4)导出了似然函数的一个下界,可以看到,该下界已经将取对数放到求和里面
了,因而对其求偏导较为简单。假设当前的参数为
θ(t)
θ
(
t
)
,在下界上进行极大似然估计后得到新参数
θ(t+1)
θ
(
t
+
1
)
, 如果能保证
l(θ(t))≥l(θ(t+1))
l
(
θ
(
t
)
)
≥
l
(
θ
(
t
+
1
)
)
,那么我们就可以在下界函数上进行极大似然估计就可以了。亦即证明:
第一个不等号意为下界函数,第二个不等号意为在下界函数上做极大似然估计,第三个
等号是我们的假设。
回顾Jensen 不等式中令等号成立的条件,只要
x=E[x]
x
=
E
[
x
]
即可, 即:
有
∑z(i)Qi(z(i))=1
∑
z
(
i
)
Q
i
(
z
(
i
)
)
=
1
, 将
m
m
个样本的分子、分母相加:
由上述两个公式, Qi(z(i)) Q i ( z ( i ) ) 为:
由以上分析,我们就得到了EM 算法的一般化形式。一般化形式的思想是,在E-step,找到对于当前参数
θ
θ
, θ,使公式4等号成立的
Q
Q
分布,在M-step,对似然函数下界进行极大
似然估计,得到新的参数。形式化表述为:
E-step:
M-step
为了便于理解,这里以一幅图来对EM 算法进行总结:
图中所展现的内容就是我们刚才所述主要思想,存在一个我们不能直接进行求导的似
然函数,给定初始参数,我们找到在初始参数下紧挨着似然函数的下界函数,在下界上求极
值来更新参数。然后以更新后的参数为初始值再次进行如上操作,这就是EM 进行参数估计
的方法。
当然似然函数不一定是如图中那样只有一个极值点,因而EM 算法也有可能只求出局
部极值。当然,可以如K-Means 那样多次选择初始参数进行求,然后取最优的参数。
其实,在EM 的一般化形式中,可以将目标函数看做是:
这样,EM 算法就可以看做是对目标函数的坐标上升过程,在E-step 中, θ θ 不变,调整
Q Q 使函数变大;在M-step 中,不变,调整 θ θ 使函数变大。