基于划分的聚类算法
4 第四章 聚类分析 -数据挖掘算法与应用(Python实现)-孙家泽-清华大学出版社

西安邮电大学
18
K-means算法概述
K-means算法对初始聚类中心较敏感,相似度 计算方式会影响聚类的划分。 常见的相似度计算方法有:
欧式距离 曼哈顿距离 闵可夫斯基距离
19
多选题 1分 对象i和对象j距离 d(i,j)满足性质( )
基于密度的聚类
➢常见的基于密度的方法:
➢ DBSCAN(具有噪声的基于密度的聚类方法) ➢ OPTICS(通过点排序识别聚类结构)
➢基于网格的方法把对象空间量化为有限个单元,形 成一个网络结构。所有的聚类操作都在这个网络结 构(即量化空间)上进行。这种方法主要优点是处 理速度很快,其处理时间通常独立于数据对象的个 数,而依赖于量化空间中每一维的单元数。
模式
聚类分析的目标
聚类分析的目标就是形成多个数据簇,并且数据 簇需要满足下面两个条件:
同一个簇内的数据尽量相似(high intra-class similarity);
不同簇的数据尽量不相似(low inter-class similarity)。
聚类分析常用算法介绍
常见的聚类分析算法有:
层次聚类算法
无论使用凝聚方法还是分裂方法,一个核心的问题是度量两 个簇间的距离,其中每个簇一般是一个对象集.
西安邮电大学
11
➢ 基于距离的聚类方法的缺点:只能发现球状的簇,难以发现任意形状的 簇。
➢ 基于密度的聚类:只要临近区域的密度(对象或数据点的数目)超过某 个临界值,就继续聚类。
优点:可以过滤掉“噪声”和“离群点”,发现任意形状的簇
第四章聚类分析
西安邮电大学
1
聚类分析
1. 聚类分析 2.基于划分的聚类方法 3.基于层次的聚类方法 4.基于密度的聚类方法 5.基于概率的聚类方法 6.聚类图数据
常见的划分式聚类算法

常见的划分式聚类算法
常见的划分式聚类算法有k-means算法、CLARA算法和k-medoids 算法。
首先,k-means算法是一种常用的划分式聚类算法。
该算法的基本思想是随机选取k个中心点,将数据集中的点按照离它们最近的中心点进行分类,再计算每个簇的新中心,重复以上步骤直到簇的中心不再变化或者达到预设的迭代次数。
该算法的优点在于它的速度快且容易实现,而缺点是它对k值的选择要求比较高,且对于数据集中有噪声和离群点的情况表现不佳。
其次,CLARA算法是一种改进了k-means算法的方法。
该算法是在多次随机抽样的基础上运行k-means算法,以避免出现单次随机抽样得到的聚类结果的不确定性。
该算法的优点在于它对于噪声点的容忍性更高,缺点是它的时间复杂度比较高。
最后,k-medoids算法是一种基于中心点的划分式聚类算法。
该算法与k-means算法最大的不同在于,它的中心点不再是各个簇中心点的平均值,而是簇中最能代表该簇的数据点。
该算法的优点在于它对噪声和离群点表现良好,缺点是它的计算复杂度高于k-means算法。
综上所述,常见的划分式聚类算法有k-means算法、CLARA算法和k-medoids算法。
每种算法都有其优点和限制,选择哪一种算法应该根据具体问题的特点和需要考虑。
常用的聚类算法

常用的聚类算法
1聚类算法概述
聚类算法是一种无监督学习算法,它可以根据样本的内在特征将它们分组到不同的簇中,而不需要人工的参与。
它的实质是把同类的对象划分到同一个簇,把不同类的对象分到不同的簇,以达到将类似的物体进行自动分组的目的。
聚类的结果要求能将类似的对象划分到同一簇,而将不同的对象划分到不同簇,相邻簇中可以有极少数据点的相异。
2常用聚类算法
1.K-Means
K-means是最流行的聚类算法,它简单、速度快,可以根据数据特征把数据点分成K个不同簇,是一种基于划分的聚类算法。
2.层次聚类算法
层次聚类算法是一种树形聚类算法,将数据按照层级结构编码成树结构,采用分支和合并的方法,将给出的数据逐步聚合。
3.谱聚类算法
谱聚类算法对密集网络数据具有很好的分类能力,将相似性LR矩阵作为分析基础,使用其提取节点之间的相似程度,将节点分为多个簇。
4.EM聚类算法
EM聚类算法是一种高效的聚类算法,主要利用期望最大算法,利用概率模型对数据进行聚类,通过计算数据的对应度和估计模型参数,将数据划分到若干个类中。
总的来说,聚类算法最终的目的都是将一些数据表示的对象,根据某种特征的相似性,划分到不同的组中,以构建一种新的结构,使具有相似特征的样本分为一组,从而帮助更好地理解数据并协助作出正确的决策。
聚类算法和分类算法总结

聚类算法和分类算法总结聚类算法总结原⽂:聚类算法的种类:基于划分聚类算法(partition clustering)k-means:是⼀种典型的划分聚类算法,它⽤⼀个聚类的中⼼来代表⼀个簇,即在迭代过程中选择的聚点不⼀定是聚类中的⼀个点,该算法只能处理数值型数据k-modes:K-Means算法的扩展,采⽤简单匹配⽅法来度量分类型数据的相似度k-prototypes:结合了K-Means和K-Modes两种算法,能够处理混合型数据k-medoids:在迭代过程中选择簇中的某点作为聚点,PAM是典型的k-medoids算法CLARA:CLARA算法在PAM的基础上采⽤了抽样技术,能够处理⼤规模数据CLARANS:CLARANS算法融合了PAM和CLARA两者的优点,是第⼀个⽤于空间数据库的聚类算法FocusedCLARAN:采⽤了空间索引技术提⾼了CLARANS算法的效率PCM:模糊集合理论引⼊聚类分析中并提出了PCM模糊聚类算法基于层次聚类算法:CURE:采⽤抽样技术先对数据集D随机抽取样本,再采⽤分区技术对样本进⾏分区,然后对每个分区局部聚类,最后对局部聚类进⾏全局聚类ROCK:也采⽤了随机抽样技术,该算法在计算两个对象的相似度时,同时考虑了周围对象的影响CHEMALOEN(变⾊龙算法):⾸先由数据集构造成⼀个K-最近邻图Gk ,再通过⼀个图的划分算法将图Gk 划分成⼤量的⼦图,每个⼦图代表⼀个初始⼦簇,最后⽤⼀个凝聚的层次聚类算法反复合并⼦簇,找到真正的结果簇SBAC:SBAC算法则在计算对象间相似度时,考虑了属性特征对于体现对象本质的重要程度,对于更能体现对象本质的属性赋予较⾼的权值BIRCH:BIRCH算法利⽤树结构对数据集进⾏处理,叶结点存储⼀个聚类,⽤中⼼和半径表⽰,顺序处理每⼀个对象,并把它划分到距离最近的结点,该算法也可以作为其他聚类算法的预处理过程BUBBLE:BUBBLE算法则把BIRCH算法的中⼼和半径概念推⼴到普通的距离空间BUBBLE-FM:BUBBLE-FM算法通过减少距离的计算次数,提⾼了BUBBLE算法的效率基于密度聚类算法:DBSCAN:DBSCAN算法是⼀种典型的基于密度的聚类算法,该算法采⽤空间索引技术来搜索对象的邻域,引⼊了“核⼼对象”和“密度可达”等概念,从核⼼对象出发,把所有密度可达的对象组成⼀个簇GDBSCAN:算法通过泛化DBSCAN算法中邻域的概念,以适应空间对象的特点DBLASD:OPTICS:OPTICS算法结合了聚类的⾃动性和交互性,先⽣成聚类的次序,可以对不同的聚类设置不同的参数,来得到⽤户满意的结果FDC:FDC算法通过构造k-d tree把整个数据空间划分成若⼲个矩形空间,当空间维数较少时可以⼤⼤提⾼DBSCAN的效率基于⽹格的聚类算法:STING:利⽤⽹格单元保存数据统计信息,从⽽实现多分辨率的聚类WaveCluster:在聚类分析中引⼊了⼩波变换的原理,主要应⽤于信号处理领域。
三维空间划分聚类算法

三维空间划分聚类算法三维空间划分聚类算法(3D Partitioning Clustering Algorithm)是一种针对三维坐标系中的数据集进行聚类分析的算法。
在三维空间中,数据点之间的关系是由它们的三个坐标轴值共同决定的。
该算法基于数据点之间的距离和密度等特征,将三维空间划分为若干区域,并将数据点按照其所在的区域进行聚类。
接下来,本文将详细介绍三维空间划分聚类算法的工作原理和具体实现。
一、算法原理三维空间划分聚类算法的基本原理是将三维空间中的数据点划分为不同的区域,在每个区域内进行聚类分析。
该算法的具体流程如下:1.输入数据输入包含若干个数据点的三维坐标系数据集。
2.初始化区域分割将三维坐标系划分为多个小区域,每个小区域包含若干个数据点。
可以根据数据点的数量和分布情况确定小区域的大小和数目。
3.计算区域密度在每个小区域内,计算数据点的密度,即统计该区域内所有数据点的距离小于一个阈值的数据点数量。
阈值的取值可以根据实际情况进行调整。
4.选择种子点选取种子点,即小区域中距离其他数据点较近的数据点,作为该小区域的代表点。
5.计算代表点之间的距离计算不同小区域中代表点之间的距离,并将距离值存储在一个距离矩阵中。
6.划分聚类簇按照代表点之间的距离,将小区域分为若干个聚类簇。
具体来说,可以采用K-means等聚类算法对代表点进行聚类分析,将距离较近的代表点划分为一个聚类簇。
7.优化聚类簇对划分得到的聚类簇进行优化。
优化过程中,可以根据聚类簇内部的数据点分布情况,调整聚类簇的中心位置,使得聚类簇更能反映数据点之间的相似性。
8.输出聚类结果输出划分得到的所有聚类簇,以及每个聚类簇的中心位置和数据点数目等信息。
二、算法实现三维空间划分聚类算法的具体实现可以分为以下几个步骤:```pythonimport numpy as npdef init_region(data, num_regions):"""将数据区域划分为若干个小区域:param data: 数据集,每行为一个数据点的三维坐标:param num_regions: 小区域的数目:return: 包含每个小区域中数据点的索引列表"""# 计算数据点在三个坐标轴上的范围x_range, y_range, z_range = np.max(data, axis=0) - np.min(data, axis=0)# 计算每个小区域在三个坐标轴上的长度x_len, y_len, z_len = x_range / num_regions, y_range / num_regions, z_range / num_regions# 初始化小区域,每个小区域包含若干个数据点的索引regions = [[] for _ in range(num_regions ** 3)]for i, point in enumerate(data):x, y, z = pointrow = int((x - np.min(data, axis=0)[0]) // x_len)col = int((y - np.min(data, axis=0)[1]) // y_len)dep = int((z - np.min(data, axis=0)[2]) // z_len)index = row * num_regions * num_regions + col * num_regions + dep regions[index].append(i)return regions```选取具有较高密度的数据点作为该小区域的代表点。
基于划分的聚类算法

基于划分的聚类算法1.初始化:随机选择K个质心作为初始聚类中心。
2.分配:对于每个样本,计算其与K个聚类中心的距离,将其分配给距离最近的聚类。
3.更新:计算每个聚类中所有样本的平均值,更新聚类中心。
4.重复步骤2和3,直到聚类中心不再变化或达到预定的迭代次数。
K-means算法的优点是简单、高效,并且在大规模数据集上也能得到较好的结果。
然而,K-means算法也有一些缺点。
首先,算法对初始聚类中心的选择非常敏感,不同的初始聚类中心可能导致不同的聚类结果。
其次,K-means算法假设每个聚类的形状是球形的,对于非球形聚类效果不佳。
此外,K-means算法需要预先指定聚类的个数K,而对于未知聚类个数的情况下,很难确定合适的K值。
为了解决K-means算法的缺点,一些改进的基于划分的聚类算法被提出。
例如,K-medoids算法使用实际样本作为聚类中心,而不是计算样本的平均值。
这种方法更适用于非球形聚类。
另一个改进是谱聚类算法,它通过图论的方法将数据集转化为一个图,然后使用图划分的方法进行聚类。
除了K-means算法之外,还有一些其他的基于划分的聚类算法。
例如,二分K-means算法将数据集划分为两个聚类,然后逐步将每个聚类划分为更小的聚类,直到满足停止条件。
此外,基于密度的聚类算法(如DBSCAN)也是一种基于划分的聚类方法,它将数据集划分为不规则形状的聚类。
总之,基于划分的聚类算法是一种将数据集划分为不相交的子集的算法。
K-means算法是其中最常见的一种,但也存在一些缺点。
为了解决这些缺点,一些改进的基于划分的聚类算法被提出。
这些算法在不同的数据集和应用中都有广泛的应用。
kmeans算法的原理

kmeans算法的原理
K-means算法是一种典型的基于划分的聚类算法,其原理是将数据集划分为K个簇,使得每个数据点都属于最近的簇,并且簇的中心是所有数据点的平均值。
K-means算法的原理可以分为以下几个步骤:
1. 初始化:选择要将数据集分成K个簇,并随机选择K个数据点作为初始簇中心。
2. 分配:将每个数据点分配到距离其最近的簇中心,每个数据点只能属于一个簇。
3. 更新:根据分配的数据点更新簇中心点,这是通过计算属于每个簇的数据点的平均值来实现的。
4. 重复:重复步骤2和3,直到簇中心点不再发生变化,或者达到预定的迭代次数。
K-means算法利用相似性度量方法来衡量数据集中所有数据之间的关系,将关系比较密切的数据划分到一个集合中。
该算法具有运算速度快,执行过程简单的优点,在很多大数据处理领域得到了广泛的应用。
以上是K-means算法的基本原理,可以咨询数学专业人士或查阅算法类书籍了解更多信息。
MATLAB实现FCM聚类算法

MATLAB实现FCM聚类算法本⽂在阐述聚类分析⽅法的基础上重点研究FCM聚类算法。
FCM算法是⼀种基于划分的聚类算法,它的思想是使得被划分到同⼀簇的对象之间相似度最⼤,⽽不同簇之间的相似度最⼩。
最后基于MATLAB实现了对图像信息的聚类。
第1章概述聚类分析是数据挖掘的⼀项重要功能,⽽聚类算法是⽬前研究的核⼼,聚类分析就是使⽤聚类算法来发现有意义的聚类,即“物以类聚”。
虽然聚类也可起到分类的作⽤,但和⼤多数分类或预测不同。
⼤多数分类⽅法都是演绎的,即⼈们事先确定某种事物分类的准则或各类别的标准,分类的过程就是⽐较分类的要素与各类别标准,然后将各要素划归于各类别中。
确定事物的分类准则或各类别的标准或多或少带有主观⾊彩。
为获得基于划分聚类分析的全局最优结果,则需要穷举所有可能的对象划分,为此⼤多数应⽤采⽤的常⽤启发⽅法包括:k-均值算法,算法中的每⼀个聚类均⽤相应聚类中对象的均值来表⽰;k-medoid算法,算法中的每⼀个聚类均⽤相应聚类中离聚类中⼼最近的对象来表⽰。
这些启发聚类⽅法在分析中⼩规模数据集以发现圆形或球状聚类时⼯作得很好,但当分析处理⼤规模数据集或复杂数据类型时效果较差,需要对其进⾏扩展。
⽽模糊C均值(Fuzzy C-means,FCM)聚类⽅法,属于基于⽬标函数的模糊聚类算法的范畴。
模糊C均值聚类⽅法是基于⽬标函数的模糊聚类算法理论中最为完善、应⽤最为⼴泛的⼀种算法。
模糊c均值算法最早从硬聚类⽬标函数的优化中导出的。
为了借助⽬标函数法求解聚类问题,⼈们利⽤均⽅逼近理论构造了带约束的⾮线性规划函数,以此来求解聚类问题,从此类内平⽅误差和WGSS(Within-Groups Sum of Squared Error)成为聚类⽬标函数的普遍形式。
随着模糊划分概念的提出,Dunn[10]⾸先将其推⼴到加权WGSS函数,后来由Bezdek扩展到加权WGSS的⽆限族,形成了FCM聚类算法的通⽤聚类准则。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文献阅读报告课程名称:《模式识别》课程编号:题目: 基于划分的聚类算法研究生姓名: 学号: 论文评语:成绩: 任课教师: 评阅日期:基于划分的聚类算法2016-11-20摘要: 聚类分析是数据挖掘的一个重要研究分支,已经提出了许多聚类算法,划分方法是其中之一。
基于划分的聚类算法就是用统计分析的方法研究分类问题。
本文介绍了聚类的定义以及聚类算法的种类,详细阐述了K 均值聚类算法和K中心点聚类算法的基本原理并对他们的性能进行分析,对近年来各学者对基于划分的聚类算法的研究现状进行梳理,对其具体应用实例作简要介绍。
关键字:数据挖掘;聚类;K 均值聚类算法;K 中心点聚类算法;K众数算法;k多层次聚类算法Partitional clustering algorithmsAbstract:Clustering analysis is an important branch of data mining, many clustering algorithms have been proposed, the dividing method is one of them. Based on the clustering algorithm is divided into classification problems using the method of statistical analysis. In this paper,we introduces the definition of clustering and type of clustering algorithm,the basic principle of k-means clustering algorithm andK-center clustering algorithm are expounded in detail,we also analyze their performance,the scholars in recent years the study of the clustering algorithm based on partitioning present situation has carried on the comb,make a brief introduction to its specific application instance.Key words:Data mining;clustering;k-means clustering algorithms;k-medoids clustering algorithms;k-modes clustering algorithms ;k-prototype clustering algorithms1.引言把单个的数据对象的集合划分为相类似的样本组成的多个簇或多个类的过程,这就叫聚类[1]。
在无监督的情况下,具有独立的学习能力,这就是聚类。
将数据空间中的所有数据点分别划分到不同的类中,相近距离的划分到相同类,较远距离的划分到不同类,这就是聚类的目的.聚类分析常作为一种数据的预处理过程被用于许多应用当中,它是更深一步分析数据、处理数据的基础。
人们通过聚类分析这一最有效的手段来认识事物、探索事物之间的内在联系,而且,关联规则等分析算法的预处理步骤也可以用它。
现在,在气象分析中,在图像处理时,在模式识别领域,在食品检验过程中,都有用到它。
随着现代科技水平的不断提高、网络的迅猛发展、计算机技术的不断改革和创新,大批量的数据不断涌现。
怎样从这些数据中提取有意义的信息成为人们关注的问题。
这对聚类分析技术来说无疑是个巨大的挑战。
只有具有处理高维的数据的能力的聚类算法才能解决该问题. 研究者们开始设计各种聚类算法,于是,基于划分的聚类算法便应运而生,而且,取得了很好的效果。
2.正文1 聚类概述1.1定义聚类的定义[2]为:在已知的数据的集合中,寻找数据点集的同类的集合.其中,每一个数据集合为一个类,还确定了一个区域,区域中的对象的密度高于其他区域中的对象的密度.聚类的实质就是“把数据集合中的所有数据分成许多的类簇,其中必有一个类簇内的实体它们都是相似的,而其它不同类簇的实体它们是不相似的;一个类簇是被测试空间中的点的会聚,而且,同一个类簇的任意两个点之间的距离小于不同的类簇的任意两个点之间的距离;一个包含的密度相对较高的点集的多维空间中的连通区域可以被描述为一个类簇,这时,它们可以借助包含的密度相对较低的点集的区域与其他的区域分离开来。
”1.2聚类算法的种类截止目前,经典的聚类方法[3]有基于划分的方法,也有基于层次的方法,更有基于密度的方法,还有基于网格的方法及基于模型的方法。
1.2.1划分方法(partitioning methods)给定一个数据集D,其包含有n 个数据对象,用一个划分方法来构建数据的k 个划分,每一个划分表示一个类,且k≤n。
即它将数据对象划分为个簇,并满足以下两点要求:1)每一个组至少包含一个数据对象;2)每一个数据对象必须属于某一个组.假定要构建的划分其数目为k,划分方法就是:首先,先创建一个初始的划分,然后,再采用一种迭代的重定位的技术,通过将数据对象在划分间来回的移动来改进划分.一个好划分的准则为:同一类中的数据对象之间要尽可能的“接近”,而不同的类中的数据对象之间要尽可能的“远离”。
1.2.2层次方法(hierarchical methods)对给定的数据对象的集合进行层次的分解就是层次的方法.依据层次分解的形成过程,该方法可分为凝聚的层次聚类和分裂的层次聚类两类. 自底向上进行的层次分解为凝聚的(agglomerative)层次聚类;自顶向下进行的层次分解为分裂的(divisive)层次聚类. 分裂的层次聚类先把全体对象放在一个类中,再将其渐渐地划分为越来越小的类,依此进行,一直到每一个对象能够自成一类.而凝聚的层次聚类则是先将每一个对象作为一个类,再将这些类逐渐地合并起来形成相对较大的类,依此进行,一直到所有的对象都在同一个类中方结束。
1.2.3密度方法(density-based methods)大多数的聚类算法都是用距离来描述数据间的相似性性质的,这些方法只能发现球状的类,而在其他形状的类上,这些算法都无计可施.鉴于此,就只能用密度(密度实际就是对象或数据点的数目)将其的相似性予以取代,该方法就是基于密度的聚类算法。
密度的方法的思想:一旦“领域”的密度超过某一个阈值,就将给定的簇继续的增长.该算法还能有效的去除噪声。
1.2.4网格的方法(grid-based methods)先把对象空间量化成有限数目的单元,将其形成一个网格空间,再对该空间进行聚类,这就是网格的方法.其主要优点为处理速度快,因为它的处理速度只与量化空间中的每一维的单元数目相关,而与数据对象的数目无关.1.2.5模型的方法(model-based methods)基于模型的方法就是先给每一个聚类假定一个模型,再去寻找能较好的满足该模型的数据的集合。
此模型也许是数据点在空间中的密度分布的函数,也许是其它.其潜在的假定为: 一系列概率的分布决定该目标数据的集合. 统计方案、神经网络方案通常是其研究的两种方向。
2基于划分的聚类算法给定一个数据集D,其包含有n个数据对象,用一个划分方法来构建数据的k个划分,每一个划分表示一个类,且k≤n。
根据D 的属性,使得同一类中的数据对象之间尽可能的“接近”,而不同的类中的数据对象之间尽可能的“远离”。
2.1K-均值聚类算法2.1.1K均值聚类算法[4]基本原理随机选k个点作为初始的聚类的中心点,根据每个样本到聚类的中心之间的距离,把样本归类到相距它距离最近的聚类中心代表的类中,再计算样本均值.如若相邻的两个聚类中心无变化,调整立即结束,如若不然,该过程不断重复进行。
其特点是:在每次迭代的时候,均要检查每一个样本分类,看该分类是否正确,不正确的话,就要在全部的样本中进行调整,调整好后,对聚类的中心进行修改,再进行下一次迭代;如若分类正确,聚类的中心就不再调整了,标准测度函数也就收敛了,算法也就结束了。
2.1.2K均值聚类算法步骤输入项为:簇的数目k及包含有n个对象的数据的集合。
输出项为:k个簇。
具体的方法:1)在数据的对象的集合中,任选k个对象作为初始的簇的中心;2)依据簇中的对象的平均值,为每一个对象重新予以最相似的簇;3)更新簇的平均值(即计算每一个簇中的对象的平均值);4)重复2)3)两个步骤;5)一直到不再发生变化为止。
图1 K-means算法过程示意图Fig 1 K-means algorithm process diagram2.1.3K均值聚类算法性能分析优点:该算法的运算速度非常快,而且其结构也很简洁;其类簇之间的区别也很明显;最重要的是其时间复杂度为O(nkt),所以,在处理大型数据集时,它具有可伸缩性和高效性.其中,n是样本的数目,k是类簇的数目,t是迭代的次数,通常k≤n 且t≤n。
缺点:该算法需要事先给定簇类的数目k;它不适合非凸形状的簇,也不适合存在大小差别很大的簇的数据的集合;其对数据集合内的噪声和离群点的敏感较高,因为此类数据也许会对均值造成一定的影响;因为其对初始中心的选择的依赖性较强,所以,产生局部的最优解发生的概率非常大。
2.2K-中心点聚类算法2.2.1K中心点聚类算法[5]基本原理首先,针对每个类,先为其随机的选择一个实际样本,将其作为初始的中心点,而数据集内剩余的其他样本则依据其与中心点样本的相似度,将其分配到最相似的中心点所在的簇类内,然后,再选择新的中心点对象将原来的中心点对象替换掉,以此达到提高聚类质量(聚类质量是由数据集内的各个样本与所属簇的中心点间的平均相异度来度量的。
)的目的,如此反复的选择,一直到聚类质量不再提高为止.用接近聚类中心的一个数据对象来表示K中心点聚类算法的簇,而在K均值聚类算法中,用该簇中数据对象的平均值来表示每个簇。
2.2.2最早提出的K中心点聚类算法PAM[6](Partioning around Medoid)是最早提出的K 中心点聚类算法.其原理为:先为每个类任选一个代表对象,而剩下的数据对象则根据其与代表对象的距离远近而相应的加入到最近的类中,再尝试着用非代表数据对象将代表数据对替换掉,如此反复尝试,直至收敛。
图2 对象i被对象h替换的4种情况示意图Fig 2 diagram of 4 cases of object I replaced by object h为了判定一个非代表对象O h是否是当前一个代表对象O i的好的替代,对于每一个非中心点对象O j,下面的四种情况被考虑:●第一种情况:假设O i被O h代替作为新的中心点,O j当前隶属于中心点对象O i。