模糊C均值算法(Fuzzy C-Means,FCM)是一种基于模糊集合理论的聚类算法。聚类(Clustering)是将一组特征向量划分为若干子集或簇(clusters),这些簇中的元素彼此之间是互斥的,且非空集,并且能够通过集合的并集来重现原始数据集。传统的硬C均值算法(crisp C-means)通过迭代算法将特征向量集划分为c个簇,每个簇由分配给它的特征向量的质心来表示。每个特征向量被分配到距离它最近的质心所代表的簇中。在这种情况下,特征向量的分配通常被描述为一组取值为{0,1}的指示函数或特征函数。
模糊C均值算法(FCM)是硬C均值算法的一种推广,它允许一个特征向量属于多个簇,并通过隶属度函数来表示特征向量属于每个簇的程度。这种算法考虑了数据的模糊性,使得一个数据点可以在不同的簇之间具有不同程度的隶属关系。FCM算法通过最小化一个目标函数来实现,这个目标函数与簇内距离的加权和有关,权重是隶属度函数的值。
在模糊C均值算法中,隶属度函数需要满足一定的约束条件,这些条件与模糊分区(fuzzy partitions)的公理要求相关联。这些约束条件影响了目标函数的最小化问题的解,进而决定了簇的划分方式。
Nicolaos B.Karayiannis提出了一种通用的模糊C均值(Generalized Fuzzy C-Means, GFCM)算法。GFCM算法的发展、测试和评估是通过放松对隶属度函数的约束来实现的。GFCM算法以约束最小化问题的形式来表达聚类,这个最小化问题的结果是广泛的一族Generalized FCM算法,其中包括标准的FCM算法作为特例。此外,还提出了最小化FCM(Minimum FCM)和几何FCM(Geometric FCM)算法,它们是作为Generalized FCM算法的极限情况得到的。提出的公式为每个特征向量分配一个参数,可以用来衡量其分配到不同簇的不确定性。这些参数可用于识别特征集中的异常值。
GFCM算法对特征向量的不确定性度量以及异常值的识别提供了一种新颖的方法。特征向量被赋予的参数可用于测量其隶属度的不确定性,这对于识别数据集中的异常值或噪声点特别有用。异常值在数据集中的存在通常会影响聚类算法的准确性,通过识别这些异常值,可以提高聚类结果的质量。
在评估和测试通用模糊C均值算法的有效性时,研究者使用了IRIS数据集和二维语音数据集进行了一系列实验。IRIS数据集是一种常用的分类和聚类算法测试基准,它包含了150个样本,分为三个类别,每个类别有50个样本,样本具有4个特征。通过这些实验,研究者能够比较不同版本的FCM算法在不同数据集上的性能。
FCM算法的关键在于它使用了隶属度的概念,这与硬C均值算法有着根本的不同。硬C均值算法认为每个数据点只能属于一个簇,而FCM算法认为每个数据点可以属于所有簇,每个簇有一个隶属度值,该值的范围通常在0到1之间。隶属度值越大,表示数据点与该簇的关系越紧密。FCM算法的目标是最小化一个加权的内积和,这个内积和考虑了每个数据点到各个簇中心的距离以及相应的隶属度值。
GFCM算法的一个关键优势是它为聚类分析提供了一种灵活的机制,可以更好地处理实际应用中常见的模糊边界。在现实世界的应用中,数据点往往不具有明确的分类界限,GFCM算法通过为每个数据点分配隶属度值来体现这种模糊性,从而得到更加合理和精确的聚类结果。通过为特征向量分配不确定性参数,算法不仅能够更加灵活地处理数据点的模糊性,还能够提供一种机制来识别和处理数据集中的异常值。