zoukankan      html  css  js  c++  java
  • 聚类分析之模糊C均值算法核心思想

            

              聚类分析中存在一种方法:‘模糊C均值’,模糊C均值的发现,要感谢模糊数学之父“扎德”老爷子,他老人家当年提出了“模糊集合论”和“模糊逻辑”,介绍算法之前,先简单的补充一些相关的知识点.

             所谓模糊集合论,就是一种处理结果不确定、不能精确量化的方法。例如:存在一句话“今天估计会下雨”,这就是典型的模糊,我们不能精确的表示这句话的值,今天估计会下雨,那下雨的程度是多少呢?我们此时就用【0,1】来表示此句话为真的程度,例如,今天50%会下雨,则今天下雨为真的程度就是0.5,0.5叫做“隶属度”,当然,今天不下雨的隶属度为1-0.5=0.5.

             所谓模糊C均值算法,是指该算法的聚类(簇)的定义(界限)是模糊的,不同于K均值(K均值中的簇是确定的,以质心为中心,确定的簇),意思就是说:模糊C均值中,每个数据点(元素)到每个簇都存在一个隶属度,但是每个数据点到所有簇的隶属度之和为1(这个当然很明显)。其中,隶属度又叫做隶属权值(用W表示)。

    它的思想是:先人工随机指定每个数据到各个簇的隶属度(模糊伪划分),然后根据隶属度计算每一个簇的质心,接着重新进行伪划分(更新隶属度矩阵),直到质心不变化(严格意义说:知道所有隶属度的变化的绝对值都低于所设定阈值)

    伪代码:

    Wij表示数据点i关于簇j的隶属度

    1    选择一个初始模糊伪划分,即对所有的Wij赋值

    2   Repeat

    3  根据模糊伪划分,计算每个簇的质心

    4   重新计算模糊伪划分,即Wij

    5    Until 簇的质心不发生变化,(严格意义说:知道所有隶属度的变化的绝对值都低于所设定阈值)

    其中涉及的数学公式:

     

    是第j个簇


    Wij表示数据点i关于簇j的隶属度


    SSE是误差平方和,也称散布,我们先计算每一个数据点的误差(即点到簇的欧式距离),然后计算误差的平方和,他是一个评价指数,SSE越小,说明聚类的原型可以代表簇中点。


    公式中的P是确定权值影响的指数,一般取P值为2,简单介绍就是P增大,划分变得越来越模糊。

    FCM与K均值思想是基本一致的,,它产生任意点属于簇的程度的聚类。

  • 相关阅读:
    写代码如坐禅:你是哪一类程序员
    开发企业应用系统需要掌握的知识技能(转)
    (转)谈谈多线程的思维方式
    深入理解JavaScript定时机制
    (转)javascritp对fckeditor编辑器操作
    JavaScript异步编程的Promise模式
    (转)jquery调WCF
    (转)《代码大全》学习笔记:第10,11,12,13章 关于变量的使用,命名等
    编程:是一门艺术(转)
    禅修程序员十诫(转)
  • 原文地址:https://www.cnblogs.com/zhangruilin/p/5769797.html
Copyright © 2011-2022 走看看