本站所有资源均为高质量资源,各种姿势下载。
应用背景
数学系本科毕业设计中有不少是与模糊数学相关的,我的题目是模糊聚类分析的有效性问题初探。在这个研究中,我将重点关注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时都使用不同的初始聚类中心进行多次实验。