聚类分析—K-means and K-medoids聚类
k-medoids 聚类公式字母公式

k-medoids 聚类算法是一种常用的基于距离的聚类方法,它主要用于将数据集中的数据点划分为若干个类别,使得同一类别内的数据点之间的相似度较高,不同类别之间的相似度较低。
与k-means 算法不同的是,k-medoids 算法使用代表性的数据点(medoids)来代表每个类别,从而使得对噪声和异常值更加稳健。
在k-medoids 聚类算法中,我们首先需要确定聚类的数量k,然后从数据集中随机选择k个数据点作为初始的medoids。
接下来的步骤是不断地迭代,直至收敛为止。
具体的迭代过程如下:1. 初始化:随机选择k个数据点作为初始的medoids。
2. 分配数据点:对于每个数据点,计算它与各个medoids 的距离,并将其分配到距离最近的medoids 所代表的类别中。
3. 更新medoids:对于每个类别,选择一个新的medoids 来代表该类别,使得该类别内所有数据点到新medoids 的距离之和最小。
4. 判断收敛:检查新的medoids 是否与旧的medoids 相同,若相同则停止迭代,否则继续进行迭代。
在k-medoids 聚类算法中,距离的计算可以使用各种不同的距离度量方式,例如欧氏距离、曼哈顿距离等。
对于大规模的数据集,k-medoids 算法可能会比k-means 算法更具有优势,因为它在每次迭代时只需要计算medoids 之间的距离,而不需要计算所有数据点之间的距离,从而可以减少计算量。
k-medoids 聚类算法是一种有效且稳健的聚类方法,它在处理一些特定情况下可以取得比k-means 更好的聚类效果。
通过对数据进行有效的分组和分类,k-medoids 聚类算法在数据挖掘和模式识别领域具有广泛的应用前景。
K-medoids clustering algorithm is a widely used distance-based clustering method for partitioning the data points in a dataset into several categories, in which the similarity of data points within the same category is relatively high, while the similarity between different categories is relatively low. Unlike the k-means algorithm, the k-medoids algorithm uses representative data points (medoids) to represent each category, making it more robust to noise and outliers.In the k-medoids clustering algorithm, the first step is to determine the number of clusters, denoted as k, and then randomly select k data points from the dataset as the initial medoids. The following steps involve iterative processes until the algorithm converges.The specific iterative process is as follows:1. Initialization: randomly select k data points as the initial medoids.2. Data point assignment: for each data point, calculate its distance to each medoid and assign it to the category represented by the nearest medoid.3. Update medoids: for each category, select a new medoid to represent the category, so that the sum of the distances from all data points in the category to the new medoid is minimized.4. Convergence check: check whether the new medoids are the same as the old medoids. If they are the same, stop the iteration; otherwise, continue the iteration.In the k-medoids clustering algorithm, various distance metrics can be used for distance calculation, such as Euclidean distance, Manhattan distance, etc. For large-scale datasets, the k-medoids algorithm may have advantages over the k-means algorithm because it only needs to calculate the distance betweenmedoids at each iteration, rather than calculating the distance between all data points, which can reduce theputational workload.In conclusion, the k-medoids clustering algorithm is an effective and robust clustering method that can achieve better clustering results than the k-means algorithm in certain situations. By effectively grouping and classifying data, the k-medoids clustering algorithm has wide application prospects in the fields of data mining and pattern recognition.Moreover, the k-medoids algorithm can be further extended and applied in various domains, such as customer segmentation in marketing, anomaly detection in cybersecurity, and image segmentation inputer vision. In marketing, k-medoids clustering can be used to identify customer segments based on their purchasing behavior, allowingpanies to tailor their marketing strategies to different customer groups. In cybersecurity, k-medoids can help detect anomalies by identifying patterns that deviate from the norm in network traffic or user behavior. Inputer vision, k-medoids can be used for image segmentation to partition an image into different regions based on similarity, which is useful for object recognition and scene understanding.Furthermore, the k-medoids algorithm can also bebined with other machine learning techniques, such as dimensionality reduction, feature selection, and ensemble learning, to improve its performance and scalability. For example, using dimensionality reduction techniques like principalponent analysis (PCA) can help reduce theputational burden of calculating distances in high-dimensional data, while ensemble learning methods like boosting or bagging can enhance the robustness and accuracy of k-medoids clustering.In addition, research and development efforts can focus on optimizing the k-medoids algorithm for specific applications and datasets, such as developing parallel and distributed versions of the algorithm to handle big data, exploring adaptive and dynamic approaches to adjust the number of clusters based on the data characteristics, and integrating domain-specific knowledge or constraints into the clustering process to improve the interpretability and usefulness of the results.Overall, the k-medoids clustering algorithm is a powerful tool for data analysis and pattern recognition, with a wide range of applications and potential for further advancements andinnovations. Its ability to handle noise and outliers, its flexibility in distance metrics, and its scalability to large-scale datasets make it a valuable technique for addressing real-world challenges in various domains. As the field of data science and machine learning continues to evolve, the k-medoids algorithm will likely remain an important method for uncovering meaningful insights fromplex data.。
聚类分析及k-means算法

样品到类中心的距离; 归类;
计算所有球队分别对三个中心点的欧氏 距离。下面是用程序求取的结果:
第一次聚类结果: A:日本,韩国,伊朗,沙特; B:乌兹别克斯坦,巴林,朝鲜; C:中国,伊拉克,卡塔尔,阿联酋,泰
国,越南,阿曼,印尼。
重新计算类中心;
下面根据第一次聚类结果,采用k-均值法调整各个类 的中心点。
K-means算法流程
1. 从 n个数据对象任意选择 k 个对象作为初 始聚类中心;
2. 根据每个聚类对象的均值(中心对象), 计算每个对象与这些中心对象的距离; 并根据最小距离重新对相应对象进行划 分;
3. 重新计算每个(有变化)聚类的均值 (中心对象);
4. 循环(3)到(4)直到每个聚类不再发生变化 为止 ;
相似性度量指标
空间距离 相似系数(similarity coefficient)
空间距离
假使每个样品有p个变量,则每个样品都 可以看成p维空间中的一个点,n个样品 就是p维空间中的n个点,则第i样品与第
j 样品之间的距离记为 dij
样品距离必须满足的条件
➢ 对称性 dij d ji 0 ➢ 三角不等式 dij dik d jk ➢ dij 0 则样品i与样品j不相等
斜交空间距离
相似系数
相似系数表示作为对 象的两个分类单位 (所进行的分类单位) 间相似程度的指标。
相似系数通常介于0 cij 和1 之间,相似系数等 于1 ,说明两个样品完 全相同;相似系数等 于0,说明样品完全不 同。
n
t 1
xti
xi
xtj
xj
n
2
t1 xti xi
2
n
t1 xtj x j
聚类算法和分类算法总结

聚类算法和分类算法总结聚类算法总结原⽂:聚类算法的种类:基于划分聚类算法(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:在聚类分析中引⼊了⼩波变换的原理,主要应⽤于信号处理领域。
聚类算法介绍(K-means+DBSCAN+典型案例)

排序,速度相对于K-Means较慢,一般只适合小数据量。
二,DBSCAN
在DBSCAN算法中将数据点分为一下三类:
01
核心点:在半径r内含有超过minPoints数目的点
边界点:在半径r内点的数量小于minPoints,但是落在核心点的邻域内
噪音点:既不是核心点也不是边界点的点
算密度单元的计算复杂度大,
每一簇内较大的点代表核心对象,较
小的点代表边界点(与簇内其他点密
度相连,但是自身不是核心对象)。
黑色的点代表离群点或者叫噪声点。
三,凝聚层级聚类(HAC)
HAC是自下而上的一种聚类算法。
1
HAC首先将每个数据点视为一个单一的簇,然后计算所有簇之间的距离来合并
簇,直到所有的簇聚合成为一个簇为止。
之间具有更多的相似性。
是一种探索性的分析。聚类分析所
使用方法的不同,常常会得到不同
的结论。不同研究者对于同一组数
据进行聚类分析,所得到的聚类数
未必一致。
从机器学习的角度讲,簇相当
于隐藏模式。聚类是搜索簇的
无监督学习过程。
01
02
04
03
05
06
从统计学的观点看,聚类分析
是通过数据建模简化数据的一
种方法。
典型的应用案例
例3:基于DBSCAN算法的交通事故读法点段排查方法
核心思想:对于构成交通事故多发点段的每个交通事敌,其发生的地点半径e(邻域)公里范围以内的其它交通
事故的个数,必须不小于一个给定的阈值(MinPts),也就是说其邻域的密度必须不小于某个阈值。
下面是DBSCAN算法的交通事故多发点段排查方法在交通事故黑点排查中的一些定义:
(完整版)聚类算法总结

1.聚类定义“聚类是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集(subset),这样让在同一个子集中的成员对象都有一些相似的属性”——wikipedia“聚类分析指将物理或抽象对象的集合分组成为由类似的对象组成的多个类的分析过程。
它是一种重要的人类行为。
聚类是将数据分类到不同的类或者簇这样的一个过程,所以同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。
”——百度百科说白了,聚类(clustering)是完全可以按字面意思来理解的——将相同、相似、相近、相关的对象实例聚成一类的过程。
简单理解,如果一个数据集合包含N个实例,根据某种准则可以将这N 个实例划分为m个类别,每个类别中的实例都是相关的,而不同类别之间是区别的也就是不相关的,这个过程就叫聚类了。
2.聚类过程:1) 数据准备:包括特征标准化和降维.2) 特征选择:从最初的特征中选择最有效的特征,并将其存储于向量中.3) 特征提取:通过对所选择的特征进行转换形成新的突出特征.4) 聚类(或分组):首先选择合适特征类型的某种距离函数(或构造新的距离函数)进行接近程度的度量;而后执行聚类或分组.5) 聚类结果评估:是指对聚类结果进行评估.评估主要有3 种:外部有效性评估、内部有效性评估和相关性测试评估.3聚类算法的类别没有任何一种聚类技术(聚类算法)可以普遍适用于揭示各种多维数据集所呈现出来的多种多样的结构,根据数据在聚类中的积聚规则以及应用这些规则的方法,有多种聚类算法.聚类算法有多种分类方法将聚类算法大致分成层次化聚类算法、划分式聚类算法、基于密度和网格的聚类算法和其他聚类算法,如图1 所示的4 个类别.3.聚类算法基于层次聚类算法:基于划分聚类算法(partition clustering)基于密度聚类算法:基于网格的聚类算法:STING :利用网格单元保存数据统计信息,从而实现多分辨率的聚类WaveCluster:在聚类分析中引入了小波变换的原理,主要应用于信号处理领域。
K-means聚类算法ppt课件

ppt课件.
1
K-means算法是很典型的基于距离的 聚类算法,采用距离作为相似性的评价指 标,即认为两个对象的距离越近,其相似 度就越大。
该算法认为类是由距离靠近的对象组 成的,因此把得到紧凑且独立的类作为最 终目标。
ppt课件.
2
假设数据集合为(x1, x2, …, xn),并 且每个xi为d维的向量,K-means聚类的目 的是,在给定分类组数k(k ≤ n)值的条 件下,将原始数据分成k类:
ppt课件.
4
数学表达式:
n:样本数。 k:样本分为k类。 rnk:第n个样本点是否属于第k类,属于则
rnk=1, 不属于则rnk=0。 μK:第k个中心点。
ppt课件.
5
k-means 要做的就是最小化
这个函数。
迭代的方法: 1、固定μK,得到rnk。 2、固定rnk,求出最优的μK。
ppt课件.
ppt课件.
12
K- medoids算法流程如下: 1、任意选取K个对象作为初始中心点 (O1,O2,…Oi…Ok)。 2、将余下的对象分到各个类中去(根据与 中心点最相近的原则); 3、对于每个类(Oi)中,顺序选取一个Or, 计算用Or代替Oi后的消耗—E(Or)。选择 E最小的那个Or来代替Oi。这样K个中心点 就改变了。
。不过,加上归一化规定,一个数据点的 隶属度的和总等于1:
ppt课件.
21
把n个元素xi(i=1,2,…,n)分为c个模糊组, 目标函数:
其中,m是大于1的实数,加权实数。uij 是xi属于类别j隶属度,cj是 类j的聚类中心。
ppt课件.
22
算法步骤: 1、用值在0,1间的随机数初始化隶属矩阵U,
聚类分析(二)——K中心点算法(k-mediods)

聚类分析(⼆)——K中⼼点算法(k-mediods)K中⼼点算法(K-medoids)前⾯介绍了k-means算法,并列举了该算法的缺点。
⽽K中⼼点算法(K-medoids)正好能解决k-means算法中的 “噪声”敏感这个问题。
如何解决的呢?⾸先,我们得介绍下k-means算法为什么会对“噪声”敏感。
还记得K-means寻找质点的过程吗?对某类簇中所有的样本点维度求平均值,即获得该类簇质点的维度。
当聚类的样本点中有“噪声”(离群点)时,在计算类簇质点的过程中会受到噪声异常维度的⼲扰,造成所得质点和实际质点位置偏差过⼤,从⽽使类簇发⽣“畸变”。
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的样本点纳⼊,因此得到不准确的聚类结果。
为了解决该问题,K中⼼点算法(K-medoids)提出了新的质点选取⽅式,⽽不是简单像k-means算法采⽤均值计算法。
在K中⼼点算法中,每次迭代后的质点都是从聚类的样本点中选取,⽽选取的标准就是当该样本点成为新的质点后能提⾼类簇的聚类质量,使得类簇更紧凑。
该算法使⽤绝对误差标准来定义⼀个类簇的紧凑程度。
如果某样本点成为质点后,绝对误差能⼩于原质点所造成的绝对误差,那么K中⼼点算法认为该样本点是可以取代原质点的,在⼀次迭代重计算类簇质点的时候,我们选择绝对误差最⼩的那个样本点成为新的质点。
Eg:样本点A –>E1=10样本点B –>E2=11样本点C –>E3=12原质点O–>E4=13,那我们选举A作为类簇的新质点。
与K-means算法⼀样,K-medoids也是采⽤欧⼏⾥得距离来衡量某个样本点到底是属于哪个类簇。
聚类分析—K-means and K-medoids聚类34页PPT

5、虽然权力是一头固执的熊,可是金 子可以 拉着它 的鼻子 走。— —莎士 比
ห้องสมุดไป่ตู้
6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎 7、自知之明是最难得的知识。——西班牙 8、勇气通往天堂,怯懦通往地狱。——塞内加 9、有时候读书是一种巧妙地避开思考的方法。——赫尔普斯 10、阅读一切好书如同和过去最杰出的人谈话。——笛卡儿
聚类分析—K-means and K-medoids聚 类
1、合法而稳定的权力在使用得当时很 少遇到 抵抗。 ——塞 ·约翰 逊 2、权力会使人渐渐失去温厚善良的美 德。— —伯克
3、最大限度地行使权力总是令人反感 ;权力 不易确 定之处 始终存 在着危 险。— —塞·约翰逊 4、权力会奴化一切。——塔西佗
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Topic3--聚类分析 K-means &K-medoids 聚类
主要内容
K-means算法 Matlab程序实现 在图像分割上的简单应用 K-medoids算法
k-中心点聚类算法--PAM
K-medoids改进算法
2014-5-12
基于划分的聚类方法
构造n个对象数据库D的划分, 将其划分成k个聚类 启发式方法: k-平均值(k- means)和 k-中心点(k- medoids) 算 法
10 9
Swapping O and Oramdom If quality is improved.
8 7 6 5 4 3 2 1 0
Compute total cost of swapping
9 8 7 6 5 4 3 2 1 0
2014-5-12
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
PAM(续)
2014-5-12
k-中心点聚类方法(续) Βιβλιοθήκη 找聚类中的代表对象(中心点)
PAM (Partitioning Around Medoids, 1987)
首先为每个簇随意选择选择一个代表对象, 剩余的对象根 据其与代表对象的距离分配给最近的一个簇; 然后反复地 用非代表对象来替代代表对象,以改进聚类的质量 PAM 对于较小的数据集非常有效, 但不能很好地扩展到大 型数据集
k-中心点聚类方法(续)
算法: k-中心点
(1) 随机选择k个对象作为初始的代表对象;
(2) repeat
(3) 指派每个剩余的对象给离它最近的代表对象所代表的簇; (4) 随意地选择一个非代表对象Orandom; (5) 计算用Orandom代替Oj的总代价S; (6) 如果S<0,则用Orandom替换Oj,形成新的k个代表对象的集 合; (7) until 不发生变化
CLARA (Kaufmann & Rousseeuw, 1990)抽样 CLARANS (Ng & Han, 1994): 随机选样
2014-5-12
k-中心点聚类方法(续)
基本思想:
首先为每个簇随意选择选择一个代表对象; 剩余的对象 根据其与代表对象的距离分配给最近的一个簇
然后反复地用非代表对象来替代代表对象, 以改进聚类 的质量
2014-5-12
Matlab程序实现(续)
Z = zeros(N,K); for m=1:N Z(m,j(m)) = 1; end e = sum(sum(Z.*Dist)./N); fprintf('%d Error = %f\n', n, e); Mo = M; end
2014-5-12
k-平均聚类算法(续)
2014-5-12
PAM
PAM (Partitioning Around Medoids) (Kaufman and Rousseeuw, 1987)
是最早提出的k-中心点聚类算法 基本思想:
随机选择k个代表对象
反复地试图找出更好的代表对象: 分析所有可能的对象对,每个对 中的一个对象被看作是代表对象, 而另一个不是. 对可能的各种组合, 估算聚类结果的质量
best
24
sampled
2014-5-12
CLARA 改良
解決:CLARANS (Clustering Large Application based upon RANdomized Search) 应用 graph 考虑紧邻节点 不局限于区域性 负杂度:O(n^2) → 缺点
j
3. 按下式重新计算k个聚类中心; xs s:label ( s ) j cj , j 1, 2,..., k Nj
4. 重复步骤2和步骤3,直到达到最大迭代次数为止。
2014-5-12
Matlab程序实现
function [M, j, e] = kmeans(X, K, Max_Its) [N,D]=size(X); I=randperm(N); M=X(I(1:K),:); Mo = M; for n=1:Max_Its for k=1:K Dist(:,k) = sum((X - repmat(M(k,:),N,1)).^2,2)'; end [i, j]=min(Dist, [], 2); for k=1:K if size(find(j==k))>0 M(k, :) = mean(X(find(j==k), :)); end end
2014-5-12
在图像分割上的简单应用(续)
分割后的效果
注:最大迭代次数为20次,需运行多次才有可能得到较好的效果。
2014-5-12
在图像分割上的简单应用(续)
例 2:
注:聚类中心个数为5,最大迭代次数为10。
2014-5-12
k-平均聚类算法(续)
优点: 相对有效性: O(tkn),
其中 n 是对象数目, k 是簇数目, t 是迭代次数; 通常, k, t << n.
Assign each remainin g object to nearest medoids
7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
K=2
Total Cost = 26
Randomly select a nonmedoid object,Oramdom
10
Do loop Until no change
2014-5-12
K-means聚类算法(续)
算法的具体过程 c2, …, ck;
N { x } 1. 从数据集 n n1 中任意选取k个赋给初始的聚类中心c1,
2. 对数据集中的每个样本点xi,计算其与各个聚类中心 cj的欧氏距离并获取其类别标号:
label (i) arg min || xi c j ||2 , i 1,..., N, j 1,..., k
有效性依赖于样本集的大小 基于样本的好的聚类并不一定是 整个数据集的好的聚类, 样本可能发生倾斜
例如, Oi是最佳的k个中心点之一, 但它不包含在样本中, CLARA将找不到 最佳聚类
2014-5-12
CLARA -- 效率
由取样大小决定 PAM → 利用完整资料集 CLARA → 利用取样资料集 盲点:取样范围不包含最佳解
当结果簇是密集的,而簇与簇之间区别明显时,它的效果 较好
Comment: 常常终止于局部最优.
全局最优 可以使用诸如确定性的退火(deterministic
annealing)和遗传算法(genetic algorithms)等技术得到
2014-5-12
k-平均聚类算法(续)
弱点
只有在簇的平均值(mean)被定义的情况下才能使用.可能不适用于 某些应用, 例如涉及有分类属性的数据
第四种情况:p当前隶属于Oi,i≠j。如果Oj被Orandom代替,且p离Orandom最近,
那么p被重新分配给Orandom
2014-5-12
k-中心点聚类方法(续)
1.重新分配给Oi
2. 重新分配给Orandom
3. 不发生变化
2014-5-12
4.重新分配给Orandom
k-中心点聚类代价函数的四种情况
需要预先指顶簇的数目k, 不能处理噪音数据和孤立点(outliers) 不适合用来发现具有非凸形状(non-convex shapes)的簇
2014-5-12
k-中心点聚类方法
k-平均值算法对孤立点很敏感!
因为具有特别大的值的对象可能显著地影响数据的分布.
k-中心点(k-Medoids): 不采用簇中对象的平均值作为参照
10
9
例
10
10 9 8 7 6 5
9
8
8
7
7
6
6
5
5
4
4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
将每个 对象赋 给最类 似的中 心
10 9 8 7 6 5 4 3 2 1 0
3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
更新簇 的平均 值 重新赋值
4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
2014-5-12
PAM(续)
Total Cost = 20
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
10 9 8
10 9 8
Arbitrary choose k object as initial medoids
7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
2014-5-12
K-means聚类算法
算法描述
1. 为中心向量c1, c2, …, ck初始化k个种子 2. 分组: 将样本分配给距离其最近的中心向量 由这些样本构造不相交( non-overlapping ) 的聚类 3. 确定中心: 用各个聚类的中心向量作为新的中心 4. 重复分组和确定中心的步骤,直至算法收敛
重新赋值
10 9 8 7 6
K=2
任意选择 K个对 象作为初始聚类 中心
更新簇 的平均 值