聚类之详解FCM算法原理及应用
原文链接:https://blog.csdn.net/on2way/article/details/47087201
之前】 该文的pdf清晰版已被整理上传,方便保存学习,下载地址:
https://download.csdn.net/download/on2way/10394655
##(一)原理部分
模糊C均值(Fuzzy C-means)算法简称FCM算法,是一种基于目标函数的模糊聚类算法,主要用于数据的聚类分析。理论成熟,应用广泛,是一种优秀的聚类算法。本文关于FCM算法的一些原理推导部分介绍等参考下面视频,加上自己的理解以文字的形式呈现出来,视频参考如下,比较长,看不懂的可以再去看看:
首先介绍一下模糊这个概念,所谓模糊就是不确定,确定性的东西是什么那就是什么,而不确定性的东西就说很像什么。比如说把20岁作为年轻不年轻的标准,那么一个人21岁按照确定性的划分就属于不年轻,而我们印象中的观念是21岁也很年轻,这个时候可以模糊一下,认为21岁有0.9分像年轻,有0.1分像不年轻,这里0.9与0.1不是概率,而是一种相似的程度,把这种一个样本属于结果的这种相似的程度称为样本的隶属度,一般用u表示,表示一个样本相似于不同结果的一个程度指标。
基于此,假定数据集为X,如果把这些数据划分成c类的话,那么对应的就有c个类中心为C,每个样本j属于某一类i的隶属度为u i j u_{ij}uij,那么定义一个FCM目标函数(1)及其约束条件(2)如下所示:
J = ∑ i = 1 c ∑ j = 1 n u i j m ∣ ∣ x j − c i ∣ ∣ 2 (1) J=\sum\limits_{i=1}^{c}\sum\limits_{j=1}^{n}u_{ij}^m||x_j-c_i||^2 \tag{1}J=i=1∑cj=1∑nuijm∣∣xj−ci∣∣2(1)∑ i = 1 c u i j = 1 , j = 1 , 2... , n (2) \sum\limits_{i=1}^cu_{ij}=1,j=1,2...,n \tag{2}i=1∑cuij=1,j=1,2...,n(2)
看一下目标函数(式1)而知,由相应样本的隶属度与该样本到各个类中心的距离相乘组成的,m是一个隶属度的因子,个人理解为属于样本的轻缓程度,就像x 2 x^2x2与x 3 x^3x
