Fuzzy C Means 算法及其 Python 实现——写得很清楚,见原文
2017-07-24 16:46
1191 查看
Fuzzy C Means 算法及其 Python 实现
转自:http://note4code.com/2015/04/14/fuzzy-c-means-%E7%AE%97%E6%B3%95%E5%8F%8A%E5%85%B6-python-%E5%AE%9E%E7%8E%B0/1.
算法向
算法的扩展
在算法中,如果要将数据集合
划分为
个类,使得任意数据对象
必须属于并且仅属于一个类,同时每一个类至少包含一个数据对象,那么可以用一个
的矩阵
来表示,矩阵中的任意一个元素
可以表示为:
其中
表示第
个类。并且
需要满足如下条件
:
如果上述矩阵
中的元素
的取值范围不仅仅是 0 或者 1,那么就可以推广到模糊集合上的划分,
就变成了模糊判定矩阵。此时
需满足:
(1)
2. 目标函数与聚类中心
算法在度量数据对象的非相似性(或者说距离)时一般使用欧几里得距离,要求每个类的聚类中心与数据对象的距离平方之和最小,目标函数可以表示为:
其中
表示任意聚类中心,而聚类中心一般取类内所有对象在各属性上的平均值,因此可以表示为:
表示任意一个类。
将算法推广到模糊集后,
对样本与类中心之间的距离采用隶属度的平方来加权,
则进一步引入了隶属度的加权指数
从而得到了新的目标函数:
(2)
要使得 (2) 式达到最小值则要求聚类中心
和隶属度
满足如下条件:
(3)
(4)
3.
算法计算过程
见原文和代码实现
相关文章推荐
- 字符串匹配的KMP算法和朴素算法,及其python实现
- 数据结构与算法之动态规划算法及其python实现
- [置顶] KNN及其改进算法的python实现
- 基于python实现的mmseg中文分词算法实现及其优化
- kNN算法及其python实现
- H2O中的随机森林算法介绍及其项目实战(python实现)
- kmenas及其改进算法(python和matlab实现)
- Kmeans 算法理论和Python实现(一)——简单K-Means实现
- 常用距离算法和相关系数及其Python实现
- Josephus Problem的详细算法及其Python, Java语言的实现
- KNN及其改进算法的python实现
- tf–idf算法解释及其python代码实现(上)
- Twitter的分布式自增ID算法Snowflake实现分析及其Java、Php和Python版
- 机器学习经典算法详解及Python实现---朴素贝叶斯分类及其在文本分类、垃圾邮件检测中的应用
- 机器学习之深入理解K-means、与KNN算法区别及其代码实现
- 机器学习经典算法详解及Python实现---朴素贝叶斯分类及其在文本分类、垃圾邮件检测中的应用
- Josephus Problem的详细算法及其Python、Java实现
- k-近邻算法(k-NN)及其Python实现
- [置顶] 聚类之均值聚类(k-means)算法的python实现
- K最近邻算法及其Python实现