MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 智能算法 > 模糊C均值聚类(FCM)的MATLAB实现

模糊C均值聚类(FCM)的MATLAB实现

资 源 简 介

应用背景 数学系本科毕业设计中有不少是与模糊数学相关的,我的题目是模糊聚类分析的有效性问题初探,FCM算法是我论文中不可或缺的部分,在此我将FCM算法的两种迭代形式的MATLAB代码写于下,也许有的同学会用得着 关键技术 模糊C均值聚类(FCM),即众所周知的模糊ISODATA,是用隶属度确定每个数据点属于某个聚类的程度的一种聚类算法。1973年,Bezdek提出了该算法,作为早期硬C均值聚类(HCM)方法的一种改进。 FCM把n个向量xi(i=1,2,…,n)分为c个模糊组,并求每组的聚类中心,使得非相

详 情 说 明

应用背景

数学系本科毕业设计中有不少是与模糊数学相关的,我的题目是模糊聚类分析的有效性问题初探。在这个研究中,我将重点关注FCM算法的两种迭代形式,这是我论文中不可或缺的部分。为了帮助同学们更好地理解,我将在下面附上这两种迭代形式的MATLAB代码。相信这会对一些同学有所帮助。

关键技术

模糊C均值聚类(FCM)是一种使用隶属度确定每个数据点属于某个聚类的程度的聚类算法,也被称为模糊ISODATA。该算法由Bezdek于1973年提出,作为早期硬C均值聚类(HCM)方法的一种改进。

FCM将n个向量xi(i=1,2,…,n)分为c个模糊组,并求得每个组的聚类中心,使得非相似性指标的价值函数达到最小。与HCM方法相比,FCM主要区别在于它使用模糊划分,通过值在0到1之间的隶属度来确定每个给定数据点属于各个组的程度。隶属矩阵U允许元素取值在0到1之间,但需要满足归一化规定,即一个数据点的隶属度之和等于1。

FCM的价值函数(或目标函数)是所有数据点的隶属度乘以该点与中心的欧氏距离之和。

在批处理方式运行时,FCM通过以下步骤确定聚类中心ci和隶属矩阵U[1]:

步骤1:使用0到1之间的随机数初始化隶属矩阵U,以满足式(6.9)中的约束条件。

步骤2:使用式(6.12)计算c个聚类中心ci,i=1,…,c。

步骤3:根据式(6.10)计算价值函数。如果价值函数小于某个确定的阈值,或者与上一次的价值函数值相比的改变量小于某个阈值,则算法停止。

步骤4:使用(6.13)计算新的U矩阵,并返回步骤2。

上述算法也可以先初始化聚类中心,然后再执行迭代过程。需要注意的是,由于无法保证FCM收敛于最优解,算法的性能取决于初始聚类中心的选择。因此,我们可以使用其他快速算法确定初始聚类中心,或者每次运行FCM时都使用不同的初始聚类中心进行多次实验。