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

Fuzzy C Means 算法及其 Python 实现——写得很清楚,见原文

时间:2017-07-24 17:37:59      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:entry   bad   content   进一步   一个   表示   time   计算过程   集合   

Fuzzy C Means 算法及其 Python 实现

 

1. 技术分享 算法向 技术分享 算法的扩展

在 技术分享 算法中,如果要将数据集合 技术分享 划分为 技术分享 个类,使得任意数据对象 技术分享 必须属于并且仅属于一个类,同时每一个类至少包含一个数据对象,那么可以用一个 技术分享 的矩阵 技术分享 来表示,矩阵中的任意一个元素 技术分享 可以表示为:

  技术分享

其中 技术分享 表示第 技术分享 个类。并且 技术分享 需要满足如下条件 技术分享

  技术分享

如果上述矩阵 技术分享 中的元素 技术分享 的取值范围不仅仅是 0 或者 1,那么就可以推广到模糊集合上的划分,技术分享 就变成了模糊判定矩阵。此时 技术分享 需满足:

(1) 技术分享

 

2. 目标函数与聚类中心

技术分享 算法在度量数据对象的非相似性(或者说距离)时一般使用欧几里得距离,要求每个类的聚类中心与数据对象的距离平方之和最小,目标函数可以表示为:

  技术分享

  技术分享

其中 技术分享 表示任意聚类中心,而聚类中心一般取类内所有对象在各属性上的平均值,因此可以表示为:

  技术分享

技术分享 表示任意一个类。

将算法推广到模糊集后,技术分享 对样本与类中心之间的距离采用隶属度的平方来加权,技术分享 则进一步引入了隶属度的加权指数 技术分享 从而得到了新的目标函数:

(2) 技术分享

 

要使得 (2) 式达到最小值则要求聚类中心 技术分享 和隶属度 技术分享 满足如下条件:

(3) 技术分享

 

(4) 技术分享

 

3. 技术分享 算法计算过程

见原文和代码实现

Fuzzy C Means 算法及其 Python 实现——写得很清楚,见原文

标签:entry   bad   content   进一步   一个   表示   time   计算过程   集合   

原文地址:http://www.cnblogs.com/bonelee/p/7229752.html

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