码迷,mamicode.com
首页 > 编程语言 > 详细

EM算法

时间:2015-03-12 22:09:19      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

一:算法介绍

期望最大化算法,跟k-means一样属于基于划分的聚类,其实EM算法跟k-means算法思想很相似,主要步骤:

  1. 期望步(E-步):给定当前的簇中心,每个对象都被指派到簇中心离该对象最近的簇。就是期望每个对象都属于最近的簇。
  2. 最大化步(M-步):给定簇指派,对应每个簇,算法调整期中心,使得指派到该簇的对象到该新中心的距离之和最小化。也就是说,将指派到一个簇的对象的相似度最大化。
  3. 重新计算簇中心。
  4. 循环执行1,2步骤,直到簇中心收敛或变化足够小,算法终止。

二:例子:

使用E-M算法的模糊聚类。考虑图1中6个点,使用EM算法计算两个模糊聚类。

 

 技术分享

 

1.随机选择两个点,如c1=a,c2=b,作为两个簇的初始中心。第一次迭代执行期望步和最大化步。

2.对每个点,计算它属于每个簇的隶属度。对任意点O,我们分别以隶属度权重

技术分享

3.把O指派到C1和C2,其中dist(),是距离计算。如果O靠近C1,并且dist(o,c1)小,则O关于C1的隶属度应该高。我们也可以规范化隶属度,使得一个对象的隶属度之和等于1.

      

     对于点a,我们有技术分享,即a互斥地属于C1。对点b,有技术分享。对点C,我们有技术分享。其它点的隶属度显示在表1的划分矩阵中。

技术分享 

 

接下来计算M-步。根据划分矩阵重新计算簇的形心。

 技术分享

 

重复迭代这个过程,每次迭代包含一个E-步和一个M-步。当簇中心收敛或变化足够小时,算法停止。

 

EM算法

标签:

原文地址:http://www.cnblogs.com/aijianiula/p/4333451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!