机器学习--无监督学习

来源:互联网 发布:淘宝鞋子买大了怎么换 编辑:程序博客网 时间:2024/05/17 02:49

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

Jensen不等式

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

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

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

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

jensen.jpg

Jensen不等式

f是(严格)凹函数当且仅当f是(严格)凸函数。
Jensen不等式应用于凹函数时,不等号方向反向,也就是E[f(x)]f[E[x]]

EM算法

给定的训练样本是{x(1),...,x(m)},样本间独立,我们想找到每个样本隐含的类别z,能使得p(x,z)最大。p(x,z)的最大似然估计如下:

l(θ)=i=0mlogp(x(i);θ)=i=0mlogz(i)p(x(i),z(i);θ)

第一步是对极大似然取对数,第二步是对每个样本的每个可能类别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(θ)(2)(3)(4)

这里Qz的多项式分布,且Qi(z(i))0z(i)Qi(z(i))=1(2)到(3)就是分子分母同乘以一个相等的函数。(3)到(4)说明如下:

Lazy Statistician 规则:
y是随机变量x的函数,y=g(x)g是连续函数),那么:
(1) x是离散随机变量,分布为p(x=xk)=pk,k=1,2,..., 若k=1g(xk)pk绝对收敛, 则:

E(y)=E[g(x)]=k=1g(xk)pk

(2) x是连续型随机变量,它的概率密度为f(x),若+g(x)f(x)dx绝对收敛, 则:
E(y)=E[g(x)]=+g(x)f(x)dx

根据上述规则,设y是为p(x(i),z(i);θ)Qi(z(i))xz(i)Qi(z(i))pkgz(i)p(x(i),z(i);θ)Qi(z(i))的映射。则
z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))的期望。且根据凹函数时的Jensen不等式, 考虑到log(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)))]

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

l(θ(t+1))lowbound(θ(t+1))lowbound(θ(t))=l(θ(t))

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

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

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

z(i)Qi(z(i))=1, 将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))为:
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);θ)

由以上分析,我们就得到了EM 算法的一般化形式。一般化形式的思想是,在E-step,找到对于当前参数θ, θ,使公式4等号成立的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))

为了便于理解,这里以一幅图来对EM 算法进行总结:

em

图中所展现的内容就是我们刚才所述主要思想,存在一个我们不能直接进行求导的似
然函数,给定初始参数,我们找到在初始参数下紧挨着似然函数的下界函数,在下界上求极
值来更新参数。然后以更新后的参数为初始值再次进行如上操作,这就是EM 进行参数估计
的方法。

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

J(Q,θ)=i=1mz(i)Qi(Z(i))logp(x(i)),z(i);θQi(z(i))

这样,EM 算法就可以看做是对目标函数的坐标上升过程,在E-step 中,θ不变,调整
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 0
原创粉丝点击