• EM算法


    一:算法介绍

    期望最大化算法,跟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-步。当簇中心收敛或变化足够小时,算法停止。

  • 相关阅读:
    剑指offer——用两个栈实现队列
    根据前序和中序重建二叉树、后序和中序重建二叉树
    归并排序
    排序
    快速排序(java版)
    List
    单链表的基本操作
    集合
    数组
    结构体
  • 原文地址:https://www.cnblogs.com/aijianiula/p/4333451.html
Copyright © 2020-2023  润新知