k-means与EM算法小结

来源:互联网 发布:手机如何注销淘宝账号 编辑:程序博客网 时间:2024/06/06 01:51

        EM算法像是k-means的应用场景,比如双峰分布的数据,k-means方法,将其看成2-means聚类的方法处理场景。

        k-means算法,也被称为k-平均或k-均值,是一种广泛使用的聚类算法,或者成为其他聚类算法的基础。

       假定输入样本为,则算法步骤为:

        (1)选择初始的k个簇中心u1,u2,...,uk

        (2)将样本xi标记为距离簇中心最近的簇:

        (3)更新簇中心:

        (4)重复最后两步,直到满足终止条件。(迭代次数/簇中心变化率/最小平方误差MSE)

          思考:经典的K-means聚类方法,能够非常方便的将未标记的样本分成若干簇;但无法给出某个样本属于该簇的后验概率。

 

         从直观理解猜测GMM的参数估计

         随机变量X是有K个高斯分布混合而成,取各个高斯分布的概率为,第i个高斯分布的均值为。若观测到随机变量X的一系列样本,试估计参数

          建立目标函数

        由于在对数函数里面又有加和,我们没法直接用求导解方程的办法直接求得极大值。分成两步。

        第一步:估算数据来自哪个组份

       估计数据由每个组份生成的概率,对于每个样本xi,它由第k个组份生成的概率为。

      

 上式中的也是待估计的值,因此采样迭代法:在计算。但是(1)需要先验给定;(2)亦可看成组份k在生成数据xi时所做的贡献。

       第二步:估计每个组份的参数

      对于所有的样本点,对于组份k而言,可看做生成了这些点。组份k是一个标准的高斯分布。

 

EM算法的提出

(1)假定有训练集包含m个独立样本,希望从中找到该组数据的模型P(x,z)的参数。

(2)取对数似然函数

其中z是隐随机变量,不方便直接找到参数估计。策略:计算下界,求该下界的最大值;重复该过程,直到收敛到局部最大值。

(图像摘自七月算法)

(3)Jensen不等式。令Qi是z的某一个分布,Oi》0,有:

(图像摘自七月算法)

(4)为了使等号成立

(5)进一步分析

(6)EM算法整体框架

 

从理论公式推导GMM

(1)随机变量X是有K个高斯分布混合而成,取各个高斯分布的概率为,第i个高斯分布的均值为ui,方差为。若观测到随机变量X的一系列样本,试估计参数

(2)E-step

    

          M-step

        将多项分布和高斯分布的参数带入

   

(3)对均值求偏导

令上式等于0,解出均值

同理,求偏导,等于0,得到高斯分布的方差

(4)多项分布的参数。

考察M-step的目标函数,对于,删除常数项。则

(5)拉格朗日乘子法

由于多项分布的概率和为1,建立拉格朗日方程

这样求解的一定非负,所以,不用考虑》0这个条件

求偏导,等于0

(6)回到(2)E-step继续迭代,直到达到局部最优值

 

带有隐变量,往往可以用EM算法来求解。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0