聚类算法 KNN 、K-mean ,K-center FCM

合集下载

k-means聚类和fcm聚类的原理概念

k-means聚类和fcm聚类的原理概念

k-means聚类和fcm聚类的原理概念摘要:一、聚类分析概述1.定义与作用2.常用的聚类算法二、K-means 聚类原理1.算法基本思想2.计算过程3.特点与优缺点三、FCM 聚类原理1.算法基本思想2.计算过程3.特点与优缺点四、K-means 与FCM 聚类的比较1.相似之处2.不同之处3.适用场景正文:一、聚类分析概述聚类分析是一种无监督学习方法,通过将相似的数据对象归为一类,从而挖掘数据集的潜在结构和模式。

聚类分析在数据挖掘、模式识别、图像处理、生物学研究等领域具有广泛应用。

常用的聚类算法有K-means 聚类和FCM 聚类等。

二、K-means 聚类原理1.算法基本思想K-means 聚类是一种基于划分的聚类方法,通过迭代计算数据点与当前中心点的距离,将数据点分配到距离最近的中心点所属的簇,然后更新中心点。

这个过程持续进行,直到满足停止条件。

2.计算过程(1)随机选择k 个数据点作为初始中心点。

(2)计算其他数据点与初始中心点的距离,将数据点分配到距离最近的簇。

(3)计算每个簇的中心点。

(4)重复步骤2 和3,直到中心点不再发生变化或达到最大迭代次数。

3.特点与优缺点特点:简单、易于实现,适用于大规模数据集。

优点:可以处理大规模数据集,对噪声数据具有一定的鲁棒性。

缺点:对初始中心点敏感,可能导致局部最优解;计算过程中需要反复计算距离,计算量较大。

三、FCM 聚类原理1.算法基本思想FCM 聚类是一种基于模糊划分的聚类方法,通过计算数据点与当前中心点的模糊距离,将数据点分配到距离最近的簇。

模糊距离是基于隶属度函数计算的,可以反映数据点对簇的隶属程度。

2.计算过程(1)随机选择k 个数据点作为初始中心点。

(2)计算其他数据点与初始中心点的模糊距离,将数据点分配到距离最近的簇。

(3)计算每个簇的中心点。

(4)重复步骤2 和3,直到中心点不再发生变化或达到最大迭代次数。

3.特点与优缺点特点:考虑了数据点对簇的隶属程度,具有更好的全局优化性能。

常见的六大聚类算法

常见的六大聚类算法

常见的六大聚类算法六大常见的聚类算法包括K-means聚类算法、层次聚类算法、DBSCAN 算法、OPTICS算法、谱聚类算法和高斯混合模型聚类算法。

1. K-means聚类算法:K-means聚类算法是一种基于距离的聚类算法,它通过最小化数据点与聚类中心之间的欧氏距离来划分数据点。

算法的步骤如下:a.随机选择K个聚类中心。

b.将每个数据点分配到距离最近的聚类中心。

c.更新聚类中心为选定聚类的平均值。

d.重复步骤b和c直到聚类中心不再改变或达到最大迭代次数。

2.层次聚类算法:层次聚类算法是一种自底向上或自顶向下递归地将数据划分成不同的聚类的方法。

它通过计算数据点之间的距离或相似度来判断它们是否应该被合并到同一个聚类中。

算法的步骤如下:a.初始化每个数据点为一个单独的聚类。

b.计算两个最近的聚类之间的距离或相似度。

c.合并两个最近的聚类,形成一个新的聚类。

d.重复步骤b和c直到所有数据点都被合并到一个聚类中。

3.DBSCAN算法:DBSCAN(Density-Based Spatial Clustering of Applicationswith Noise)算法是一种基于密度的聚类算法,它通过寻找具有足够密度的数据点来划分聚类。

算法的步骤如下:a.随机选择一个未被访问的数据点。

b.如果该数据点的密度达到预设的阈值,则将其归为一个聚类,同时将其相邻且密度达到阈值的数据点添加到聚类中。

c.重复步骤a和b直到所有数据点都被访问。

4.OPTICS算法:OPTICS(Ordering Points To Identify the Clustering Structure)算法是一种基于密度的聚类算法,它通过将数据点按照密度排序来划分聚类。

算法的步骤如下:a.计算每个数据点的可达距离和局部可达密度。

b.根据可达距离和局部可达密度排序所有数据点。

c.根据可达距离和阈值划分聚类。

d.重复步骤b和c直到所有数据点都被访问。

融合KNN优化的密度峰值和FCM聚类算法

融合KNN优化的密度峰值和FCM聚类算法

聚类(clustering )就是将一个数据集分成多个簇(cluster )或类,使得在同一类簇中的数据样本点之间具有相对高的相似度,而不同类簇中的数据样本点差别较大。

根据聚类的结果可以从数据中发现规律和知识,探索出藏在数据之后的规律和模式。

聚类算法被普遍地运用在数据科学分析和实际工程领域中[1-4],经过许多国内外研究人员的努力,产生了许多优秀的聚类算法,根据研究方向和算法实现原理的不同,目前聚类算法可划分为基于密度的方法、基于网格的方法、基于层次的方法、基于模型的方法和基于划分式方法等五种主流方法[5]。

模糊C 均值(Fuzzy C-Means ,FCM )算法[6]是基于划分式的聚类算法,此算法的基本思想是引入隶属度概念来量化样本点从属于每个类簇的数值大小,由此进行划分判断,使得划分到同一类簇的样本间相似度最大、不同类簇的样本间相似度最小,已达到对数据集划分为各类簇的目的,在模式识别、数据挖掘、数据分析、矢量量化以及图像分割等领域应用比较广泛[7-8]。

FCM 算法是C-Means 算法的衍生改进算法,C-Means 算法对数据集划分属于硬性、具体的划分,但FCM 算法对数据集的⦾理论与研发⦾基金项目:国家自然科学基金(61762046);江西省教育厅科技重点项目(GJJ160599);江西省自然科学基金(20161BAB212048)。

作者简介:兰红(1969—),女,博士,教授,硕士生导师,CCF 会员,研究领域为图像处理、模式识别,E-mail :;黄敏(1996—),男,硕士研究生,研究领域为图像处理、深度学习。

收稿日期:2020-05-05修回日期:2020-08-24文章编号:1002-8331(2021)09-0081-08融合KNN 优化的密度峰值和FCM 聚类算法兰红,黄敏江西理工大学信息工程学院,江西赣州341000摘要:针对模糊C 均值(Fuzzy C-Means ,FCM )聚类算法对初始聚类中心和噪声敏感、对边界样本聚类不够准确且易收敛于局部极小值等问题,提出了一种K 邻近(KNN )优化的密度峰值(DPC )算法和FCM 相结合的融合聚类算法(KDPC-FCM )。

机器学习中的聚类与分类算法

机器学习中的聚类与分类算法

机器学习中的聚类与分类算法机器学习是指通过计算机算法,让计算机从数据中学习和发现规律,从而实现自主决策和预测能力的一门学科。

在机器学习中,聚类和分类是两种常见的算法方法。

本文将介绍聚类和分类的算法原理、应用场景以及它们在机器学习中的作用。

一、聚类算法聚类算法是一种无监督学习方法,它通过对数据集中的样本进行相似性度量,将相似的样本划分到同一类别中。

聚类算法的目标是最大化类内的相似性,同时最小化类间的相似性。

1. K-means算法K-means算法是一种经典的聚类算法,通过迭代的方式将数据点分为K个簇。

具体步骤如下:(1)随机选择K个中心点作为初始簇心;(2)计算每个数据点与簇心的距离,并将其归属到距离最近的簇中;(3)重新计算每个簇的簇心;(4)重复步骤2和步骤3,直到簇心不再发生变化或者达到迭代次数的上限。

2. 层次聚类算法层次聚类算法将数据点按照层次结构进行聚类,可分为自底向上和自顶向下两种方式。

(1)自底向上:开始时将每个数据点作为一个簇,然后将相似性最高的两个簇合并成一个簇,直到只剩下一个簇。

(2)自顶向下:开始时将所有数据点作为一个簇,然后逐步分裂成多个簇,直到每个簇只包含一个数据点。

二、分类算法分类算法是一种监督学习方法,它通过已有的带有标签的数据集训练一个模型,根据模型对未知数据进行分类。

分类算法的目标是根据已有的数据与标签之间的关系建立一个分类模型,用于预测未知数据的分类。

1. 决策树算法决策树算法是一种以树形结构表示决策规则的分类模型。

它通过逐步选择与数据集特征相对最优的划分点,并根据特征值将数据集划分为不同的子集。

决策树的构建过程类似于将数据集分成多个子问题进行解决的过程。

2. 支持向量机算法支持向量机算法是一种通过将数据映射到高维空间,然后在高维空间中寻找最优超平面的分类方法。

支持向量机在分类问题中以最大化间隔来划分不同类别的数据,从而提高分类性能。

三、聚类与分类的应用场景1. 聚类的应用场景聚类广泛应用于用户分群、图像分割、异常检测等领域。

四种常用聚类方法

四种常用聚类方法

聚类就是按照某个特定标准把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。

即聚类后同一类的数据尽可能聚集到一起,不同类数据尽量分离。

主要的聚类算法可以划分为如下几类:划分方法、层次方法、基于密度的方法、基于网格的方法以及基于模型的方法。

下面主要对k-means聚类算法、凝聚型层次聚类算法、神经网络聚类算法之SOM,以及模糊聚类的FCM算法通过通用测试数据集进行聚类效果的比较和分析。

k-means聚类算法k-means是划分方法中较经典的聚类算法之一。

由于该算法的效率高,所以在对大规模数据进行聚类时被广泛应用。

目前,许多算法均围绕着该算法进行扩展和改进。

k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。

k-means算法的处理过程如下:首先,随机地选择k个对象,每个对象初始地代表了一个簇的平均值或中心;对剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇;然后重新计算每个簇的平均值。

这个过程不断重复,直到准则函数收敛。

通常,采用平方误差准则,其定义如下:E=\sum_{i=1}^{k}\sum_{p\in C_i}\left\|p-m_i\right\|^2这里E是数据中所有对象的平方误差的总和,p是空间中的点,$m_i$是簇$C_i$的平均值[9]。

该目标函数使生成的簇尽可能紧凑独立,使用的距离度量是欧几里得距离,当然也可以用其他距离度量。

算法流程:输入:包含n个对象的数据和簇的数目k;输出:n个对象到k个簇,使平方误差准则最小。

步骤:(1) 任意选择k个对象作为初始的簇中心;(2) 根据簇中对象的平均值,将每个对象(重新)赋予最类似的簇;(3) 更新簇的平均值,即计算每个簇中对象的平均值;(4) 重复步骤(2)、(3)直到簇中心不再变化;层次聚类算法根据层次分解的顺序是自底向上的还是自上向下的,层次聚类算法分为凝聚的层次聚类算法和分裂的层次聚类算法。

聚类分割算法

聚类分割算法

聚类分割算法聚类分割算法是一类常用于将数据集划分成具有相似特征的子集的方法。

这些算法主要用于无监督学习,即在没有先验标签的情况下,自动发现数据集内在的模式。

以下是一些常见的聚类分割算法:1. K均值聚类(K-Means Clustering):- K均值是最常见的聚类算法之一。

它将数据集分为K个簇,每个簇由其质心表示。

算法的目标是使每个数据点到其所属簇的质心的距离最小化。

2. 层次聚类(Hierarchical Clustering):-层次聚类根据数据点之间的相似性构建树状结构。

可以通过聚合或分割来创建簇。

分为凝聚式层次聚类(自底向上)和分裂式层次聚类(自顶向下)。

3. DBSCAN(Density-Based Spatial Clustering of Applications with Noise):- DBSCAN基于密度的聚类算法,能够发现具有足够密度的区域,并将稀疏区域视为噪声。

它不需要预先指定簇的数量。

4. Mean Shift聚类:- Mean Shift是一种基于梯度上升的聚类算法。

它通过不断迭代调整数据点的位置,使其移向密度最大的区域,从而找到簇的中心。

5. OPTICS(Ordering Points To Identify the Clustering Structure):- OPTICS是一种基于密度的聚类算法,类似于DBSCAN,但允许在数据集中存在不同密度的区域,并通过产生一系列密度相关的点来表示簇。

6. 谱聚类(Spectral Clustering):-谱聚类利用数据集的谱信息,通过将数据投影到低维子空间来执行聚类。

它在处理非凸形状的簇和图分割问题时效果较好。

7. 模糊聚类(Fuzzy Clustering):-模糊聚类考虑了数据点与簇的隶属度,而不是将每个数据点硬性地分配到一个簇。

模糊c均值(FCM)是模糊聚类的一个典型算法。

这只是聚类分割算法的一小部分,每个算法都有其适用的场景和限制。

FCM聚类算法介绍

FCM聚类算法介绍

FCM聚类算法介绍FCM(Fuzzy C-Means)聚类算法是一种基于模糊理论的聚类算法,它能够将数据集中的样本划分为多个类别,并赋予每个样本属于每个类别的概率。

FCM算法在数据挖掘、模式识别、图像处理等领域都有广泛的应用。

FCM算法基于C-Means聚类算法的改进,它克服了传统聚类算法中样本只能属于一个类别的缺点。

在FCM算法中,每个样本都被赋予属于每个类别的隶属度,这个隶属度表示了样本与每个类别的相似程度。

FCM算法的核心思想是通过最小化样本与各个类别中心点之间的距离,来获得合适的类别划分和隶属度。

FCM算法的主要步骤如下:1.确定聚类数目k和迭代终止条件。

用户需要确定划分的类别数目k,同时需要设定迭代的终止条件,一般为允许的最大迭代次数或聚类中心点的最小变化量。

2.初始化隶属度矩阵U。

隶属度矩阵U的大小为(n,k),其中n为样本数量,k为类别数目。

隶属度矩阵U中的每个元素表示样本属于一些类别的概率,初始时可以随机赋值或者根据一定规则进行赋值。

3.计算类别中心点的坐标。

根据隶属度矩阵U,可以计算得到每个类别的中心点坐标,通常使用“加权平均法”来计算。

4.更新隶属度矩阵U。

通过计算样本与类别中心点之间的距离,可以更新隶属度矩阵U,使得每个样本属于每个类别的隶属度符合要求。

5.判断迭代是否终止。

比较当前的隶属度矩阵U与上一次的隶属度矩阵U之间的变化量,如果小于设定的终止条件,则停止迭代;否则,返回第3步,继续迭代。

6.输出聚类结果。

最终得到的隶属度矩阵U可以用来判断每个样本属于哪个类别,将样本划分到相应的类别中。

FCM算法的优点是能够划分模糊的、难以界定的样本,并且对于噪声和异常点具有一定的鲁棒性。

同时,FCM算法利用隶属度矩阵U可以将样本分布到多个类别中,使得分类结果更加灵活。

然而,FCM算法也存在一些不足之处。

首先,FCM算法对初始聚类中心点的选择较为敏感,不同的初始点可能会得到不同的聚类结果。

列举常用聚类算法

列举常用聚类算法

列举常用聚类算法聚类算法是一种将数据集中的相似数据分组的方法。

它是无监督学习的一种应用,可以在没有标签或类别信息的情况下对数据进行分类。

在机器学习和数据挖掘中,聚类算法被广泛应用于数据分析、图像处理、模式识别等领域。

本文将列举常用的聚类算法。

一、K均值聚类算法(K-means Clustering)K均值聚类算法是一种基于距离度量的聚类方法,它将数据集划分为K 个簇,每个簇包含距离其它簇最近的点。

该算法首先随机选择K个点作为初始质心,然后将每个点分配到与其距离最近的质心所在的簇中,并计算每个簇内所有点的平均值作为新的质心。

重复以上过程直到质心不再改变或达到预定迭代次数。

二、层次聚类算法(Hierarchical Clustering)层次聚类算法是一种自下而上或自上而下逐步合并或拆分簇来建立层次结构的方法。

该算法有两种实现方式:凝聚层次聚类和分裂层次聚类。

凝聚层次聚类从每个数据点开始,将它们逐步合并成越来越大的簇,直到所有点都被合并为一个簇。

分裂层次聚类从整个数据集开始,将其逐步拆分成越来越小的簇,直到每个簇只包含一个点。

三、DBSCAN聚类算法(Density-Based Spatial Clustering of Applications with Noise)DBSCAN聚类算法是一种基于密度的聚类方法,它可以识别任意形状的簇,并能够自动排除离群值。

该算法首先选择一个未访问的核心点作为起始点,并找到其可达范围内的所有点,并将它们加入同一簇中。

然后继续寻找未访问的核心点,并重复以上过程直到所有核心点都被访问完毕。

四、谱聚类算法(Spectral Clustering)谱聚类算法是一种基于图论和线性代数的聚类方法,它将数据集看作是一个图,在图上进行划分。

该算法首先构建一个相似度矩阵或邻接矩阵,并通过特征值分解或奇异值分解来获取特征向量和特征值。

然后将特征向量作为新的数据集,使用K均值或层次聚类等方法对其进行聚类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

聚类算法分类
划分方法(partitioning method)k-means 层次方法(hierarchical methods) 基于密度的方法(density-based methods) 基于网格的方法(grid-based methods) 基于模型的方法(model-based methods)
Eg:样本点A –>E1=10 样本点B –>E2=11 样本点C –>E3=12 原质点O–>E4=13, 那我们选举A作为类簇的新质点。与K-means算法一样, K-medoids也是采用欧几里得距离来衡量某个样本点 到底是属于哪个类簇。终止条件是,当所有的类簇的 质点都不在发生变化时,即认为聚类结束。
K-MEANS
算法流程:
首先从聚类对象中随机选出K个对象作为类簇 的质心(当然了,初始参数的K代表聚类结果 的类簇数),对剩余的每个对象,根据它们分 别到这个K个质心的距离,将它们指定到最相 似的簇(因为K-means是利用距离来量化相似 度的,所以我们这里可以理解为是“将它们指 定到离最近最近距离的质心所属类簇”)。然 后重新计算质心位置。以上过程不断反复,直 到准则函数收敛为止。
K-MEANS
算法流程:
通常采用平方误差准则,定义如下:
其中,E代表的意思是所有类簇中各对象到其所属类簇 质点平方误差和. K:聚类结果类簇个数 Ci:第i个类簇 P:类簇中聚类对象mi:第i个类簇的质心
K-MEANS
K-MEANS
优点与不足:
优点: 能处理大型数据集,结果簇相当紧凑,并且簇和 簇之间明显分离。 不足: 1)该算法必须事先给定类簇数和质点,簇数和 质点的初始值设定往往会对聚类的算法影响较 大。 2 ) 通常会在获得一个局部最优值时停止。
FCM
首先说明隶属度函数的概念。隶属度函数是表示一个 对象x隶属于集合A的程度的函数,通常记做μA(x), 其自变量范围是所有可能属于集合A的对象(即集合 A所在空间中的所有点),取值范围是[0,1],即 0<=1,μA(x)<=1。μA(x)=1表示x完全隶属于集合A, 相当于传统集合概念上的x∈A。一个定义在空间 X={x}上的隶属度函数就定义了一个模糊集合A,或 者叫定义在论域X={x}上的模糊子集。对于有限个对 象x1,x2,……,xn模糊集合可以表示为:
聚类算法的评价标准
4) 对聚类算法初始化参数的知识需求的最小化:很多 算法在分析过程中需要用户提供一定的初始参数,比如 期望的类簇个数,类簇初始质点的设定。聚类结果对这 些参数是十分敏感的。这不仅加重了用户的负担,也非 常影响聚类结果的准确性 5) 处理噪声数据的能力:所谓的噪声数据,可以理解 为影响聚类结果的干扰数据,这些噪声数据的存在会造 成聚类结果的畸变,最终导致低质量的聚类。 6) 增量聚类和对输入次序的不敏感:一些聚类算法不 能将新加入的数据插入到已有的聚类结果;输入次序的 敏感是指,对于给定的数据对象集合,以不同的次序提 供输入对象时,最终产生的聚类结果的差异会比较大。
聚类算法的评价标准
7) 高维性:有些算法只适合处理2维或者3维的 数据,而对高维数据的处理能力很弱,因为在高 维空间中数据分布可能十分稀疏,而且高度倾斜。 8) 基于约束的聚类:现实应用中可能需要在各 种条件下进行聚类。因为同一个聚类算法,在不 同的应用场景中所带来的聚类结果也是各异的, 因此找到满足特定约束的具有良好聚类特性的数 据分组是十分有挑战性的。 9) 可解释性和可用性:我们希望得到的聚类结 果都能用特定的语义、知识进行解释,和实际的 应用场景相联系。
K-CENTERS
前面介绍了k-means算法,并列举了该算法的 缺点。而K中心点算法(K-centers)正好能解 决k-means算法中的 “噪声”敏感这个问题。 首先,我们得介绍下k-means算法为什么会对 “噪声”敏感。还记得K-means寻找质点的过 程吗?对某类簇中所有的样本点维度求平均值, 即获得该类簇质点的维度。当聚类的样本点中 有“噪声”(离群点)时,在计算类簇质点的 过程中会受到噪声异常维度的干扰,造成所得 质点和实际质点位置偏差过大,从而使类簇发 生“畸变”。
n i 1
J (U , c1 ,..., cc , 1 ,..., n ) J (U , c1 ,..., cc ) j 1 j ( uij 1) u d j ( uij 1)
i 1 m 2 ij ij j j 1 i 1 c n n c
K-CENTERS
为了解决该问题,K中心点算法(Kcenters)方式,而不是简单像k-means 算法采用均值计算法。在K中心点算法中, 每次迭代后的质点都是从聚类的样本点 中选取,而选取的标准就是选用簇中离 平均值最近的对象作为簇中心。该算法 使用绝对误差标准来定义一个类簇的紧 凑程度。
K-CENTERS
FCM
上述算法也可以先初始化聚类中心,然后再执行迭代 过程。由于不能确保FCM收敛于一个最优解。算法的 性能依赖于初始聚类中心。因此,我们要么用另外的 快速算法确定初始聚类中心,要么每次用不同的初始 聚类中心启动该算法,多次运行FCM。
FCM算法的应用
通过上面的讨论,我们不难看出FCM算法需要两个参数一个是 聚类数目C,另一个是参数m。一般来讲C要远远小于聚类样 本的总个数,同时要保证C>1。对于m,它是一个控制算法的 柔性的参数,如果m过大,则聚类效果会很次,而如果m过小 则算法会接近HCM聚类算法。 算法的输出是C个聚类中心点向量和C*N的一个模糊划分矩阵, 这个矩阵表示的是每个样本点属于每个类的隶属度。根据这 个划分矩阵按照模糊集合中的最大隶属原则就能够确定每个 样本点归为哪个类。聚类中心表示的是每个类的平均特征, 可以认为是这个类的代表点。 从算法的推导过程中我们不难看出,算法对于满足正态分布的 数据聚类效果会很好,另外,算法对孤立点是敏感的。
聚类算法的评价标准
1)可伸缩性:当聚类对象由几百上升到几百万,我们希 望最后的聚类结果的准确度能一致。 2)处理不同类型属性的能力:有些聚类算法,其处理对 象的属性的数据类型只能为数值类型,但是实际应用场 景中,我们往往会遇到其他类型的数据,比如二元数据, 分类数据等等。当然,在处理过程我们是可以将这些其 他类型的数据预处理成数值型数据的,但是在聚类效率 上或者聚类准确度上往往会有折损。 3)发现任意形状的类簇:因为许多聚类算法是用距离来 量化对象之间的相似度的,基于这种方式,我们往往只 能发现相似尺寸和密度的球状类簇或者成为凸形类簇。 但是,类簇的形状可能是任意的。
如果K=3,由于红色三角形所占比例为2/3,绿 色圆将被赋予红色三角形那个类,如果K=5, 由于蓝色四方形比例为3/5,因此绿色圆被赋 予蓝色四方形类。
FCM
模糊C均值聚类(FCM),即众所周知的模糊 ISODATA,是用隶属度确定每个数据点属于某 个聚类的程度的一种聚类算法。1973年, Bezdek提出了该算法,作为早期硬C均值聚类 (HCM)方法的一种改进。 K均值聚类算法------------------------------HCM
KNN
KNN方法虽然从原理上也依赖于极限定理,但 在类别决策时,只与极少量的相邻样本有关。 由于KNN方法主要靠周围有限的邻近的样本, 而不是靠判别类域的方法来确定所属类别的, 因此对于类域的交叉或重叠较多的待分样本集 来说,KNN方法较其他方法更为适合。
KNN - 图示
图中,绿色圆要被决定赋予哪个类, 是红色三角形还是蓝色四方形?
K-CENTERS
Eg: 类簇C1中已经包含点A(1,1)、B(2,2)、 C(1,2)、 D(2,1), 假设N(100,100)为异 常点,当它纳入类簇C1时,计算质点 Centroid((1+2+1+2+100)/5,(1+2+2+1 +100)/5)=centroid(21,21),此时可能造 成了类簇C1质点的偏移,在下一轮迭代 重新划分样本点的时候,将大量不属于 类簇C1的样本点纳入,因此得到不准确 的聚类结果。
3
FCM
这里j,j=1到n,是(6.9)式的n个约束式的拉格朗 日乘子。对所有输入参量求导,使式(6.10)达到最 小的必要条件为:
ci
u
j 1 n j 1
n
m ij
xj
u
4
uij
1 dij 1 d k kj
c
5 2 /( m 1)
FCM
A {( A ( xi ), xi ) | xi X }
有了模糊集合的概念,一个元素隶属于模糊集合 就不是硬性的了,在聚类的问题中,可以把聚 类生成的簇看成模糊集合,因此,每个样本点 隶属于簇的隶属度就是[0,1]区间里面的值。
FCM
FCM把n个向量xi(i=1,2,…,n)分为c个模糊组, 并求每组的聚类中心,使得非相似性指标的价 值函数达到最小。FCM与HCM的主要区别在于 FCM用模糊划分,使得每个给定数据点用值在 0,1间的隶属度来确定其属于各个组的程度。 与引入模糊划分相适应,隶属矩阵U允许有取 值在0,1间的元素。不过,加上归一化规定, 一个数据集的隶属度的和总等于1:
FCM
FCM算法是一种基于划分的聚类算法,它的思 想就是使得被划分到同一簇的对象之间相似度 最大,而不同簇之间的相似度最小。 模糊C均值算法是普通C均值算法的改进,普 通C均值算法对于数据的划分是硬性的,而 FCM则是一种柔性的模糊划分。在介绍FCM具 体算法之前我们先介绍一些模糊集合的基本知 识。
FCM
i 1 那么,FCM的价值函数形式:
c c
u ij 1, j 1,..., n c1 ,..., cc ) J i u d
i 1 i 1 m ij j
n
2 ij
(2)
FCM
这里uij介于0,1间;ci为模糊组I的聚类中心, dij=||ci-xj||为第I个聚类中心与第j个数据点间的欧几 里德距离;且 m 1, 是一个加权指数。 构造如下新的目标函数,可求得使(6.10)式达到 最小值的必要条件 c
相关文档
最新文档