机器学习--无监督学习

前两篇文章,机器学习–监督学习(一)机器学习–监督学习(二)总结了机器学习中的监督学习,在这篇文章中总结一下无监督学习,供以后参考使用。本文用到的内容基本来自blog,会尽量加入引用,如果疏漏还请谅解。

Jensen不等式

f f 是定义域为实数的函数,如果对于所有的实数x f(x)0 f ″ ( x ) ≥ 0 ,那么 f f 是凸函数。当x是向量时,如果其hessian矩阵 H H 是半正定的(H0),那么 f f 是凸函数。如果f(x)>0或者 f(x)>0 f ″ ( x ) > 0 ,那么称 f f 是严格凸函数。

如果f是凸函数, x x 是随机变量,那么:

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

特别地,如果 f f 是严格凸函数, 那么E[f(x)]=f[E[x]],当且仅当 p(x=E(x))=1 p ( x = E ( x ) ) = 1 ,也就是说 x x 是常量。

jensen.jpg

Jensen不等式

f是(严格)凹函数当且仅当 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) p ( x , z ) 的最大似然估计如下:

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

第一步是对极大似然取对数,第二步是对每个样本的每个可能类别 z z 求联合分布概率和。但是直接求θ一般比较困难,因为有隐藏变量 z z 存在。但是一般确定了z后,求解就容易了。

为了使用EM算法,对(2)式继续处理:

l(θ)=i=0mlogp(x(i);θ)=i=0mlogz(i)p(x(i),z(i);θ)=i=0mlogz(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))i=0mz(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))=lowbound(θ)(3)(2)(3)(4) (3) l ( θ ) = ∑ i = 0 m l o g p ( x ( i ) ; θ ) (2) = ∑ i = 0 m l o g ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) (3) = ∑ i = 0 m l o g ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) (4) ≥ ∑ i = 0 m ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = l o w b o u n d ( θ )

这里 Q Q z的多项式分布,且 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的函数,y=g(x) g g 是连续函数),那么:
(1) x是离散随机变量,分布为 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=1g(xk)pk E ( y ) = E [ g ( x ) ] = ∑ k = 1 ∞ g ( x k ) p k

(2) x x 是连续型随机变量,它的概率密度为f(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 是为p(x(i),z(i);θ)Qi(z(i)) x x z(i) Qi(z(i)) Q i ( z ( i ) ) pk p k g g z(i) 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 ) 为 凹 函 数

f(Ez(i)Qi[p(x(i),z(i);θ)Qi(z(i))])Ez(i)Qi[f(p(x(i),z(i);θ)Qi(z(i)))] 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 ) ) ) ]

由公式(4)导出了似然函数的一个下界,可以看到,该下界已经将取对数放到求和里面
了,因而对其求偏导较为简单。假设当前的参数为 θ(t) θ ( t ) ,在下界上进行极大似然估计后得到新参数 θ(t+1) θ ( t + 1 ) , 如果能保证 l(θ(t))l(θ(t+1)) l ( θ ( t ) ) ≥ l ( θ ( t + 1 ) ) ,那么我们就可以在下界函数上进行极大似然估计就可以了。亦即证明:

l(θ(t+1))lowbound(θ(t+1))lowbound(θ(t))=l(θ(t)) l ( θ ( t + 1 ) ) ≥ l o w b o u n d ( θ ( t + 1 ) ) ≥ l o w b o u n d ( θ ( t ) ) = l ( θ ( t ) )

第一个不等号意为下界函数,第二个不等号意为在下界函数上做极大似然估计,第三个
等号是我们的假设。

回顾Jensen 不等式中令等号成立的条件,只要 x=E[x] x = E [ x ] 即可, 即:

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

z(i)Qi(z(i))=1 ∑ z ( i ) Q i ( z ( i ) ) = 1 , 将 m m 个样本的分子、分母相加:

z(i)p(x(i),z(i);θ)z(i)Qi(z(i))=z(i)p(x(i),z(i);θ)1=c

由上述两个公式, Qi(z(i)) Q i ( z ( i ) ) 为:

Qi(z(i))=p(x(i),z(i);θ)z(i)p(x(i),z(i);θ)=p(x(i),z(i);θ)p(x(i),θ)=p(z(i)|x(i);θ)(4)(5)(6) (4) Q i ( z ( i ) ) = p ( x ( i ) , z ( i ) ; θ ) ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) (5) = p ( x ( i ) , z ( i ) ; θ ) p ( x ( i ) , θ ) (6) = p ( z ( i ) | x ( i ) ; θ )

由以上分析,我们就得到了EM 算法的一般化形式。一般化形式的思想是,在E-step,找到对于当前参数 θ θ , θ,使公式4等号成立的 Q Q 分布,在M-step,对似然函数下界进行极大
似然估计,得到新的参数。形式化表述为:

E-step:

Qi(Z(i))=p(z(i)|x(i);θ)

M-step

θ=argmaxθi=1mz(i)Qi(Z(i))logp(x(i)),z(i);θQi(z(i)) θ = 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 进行参数估计
的方法。

当然似然函数不一定是如图中那样只有一个极值点,因而EM 算法也有可能只求出局
部极值。当然,可以如K-Means 那样多次选择初始参数进行求,然后取最优的参数。
其实,在EM 的一般化形式中,可以将目标函数看做是:

J(Q,θ)=i=1mz(i)Qi(Z(i))logp(x(i)),z(i);θQi(z(i)) 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 Q 使函数变大;在M-step 中,Q不变,调整 θ θ 使函数变大。

引用

  1. http://blog.csdn.net/stdcoutzyx/article/details/18620261
  2. http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值