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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fuzzy C Means 算法及其 Python 实现——写得很清楚,见原文相关的知识,希望对你有一定的参考价值。

Fuzzy C Means 算法及其 Python 实现

 

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

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

  技术分享

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

  技术分享

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

(1) 技术分享

 

2. 目标函数与聚类中心

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

  技术分享

  技术分享

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

  技术分享

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

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

(2) 技术分享

 

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

(3) 技术分享

 

(4) 技术分享

 

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

见原文和代码实现




以上是关于Fuzzy C Means 算法及其 Python 实现——写得很清楚,见原文的主要内容,如果未能解决你的问题,请参考以下文章

聚类算法K-Means算法及其Python实现

第二节2:K-Means算法及其Python实现(算法实现结果展示)

第二节4:K-Means算法及其Python实现(初始中心点的选择和K-Means++算法)

ImportError:没有名为 bitarray 的模块

Kmeans 聚类 及其python实现

[聚类算法]K-means优缺点及其改进