logo资料库

K-medoids:K-中心点算法-基于划分的聚类算法.ppt

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
聚类分析 • 簇(Cluster):一个数据对象的集合 • 聚类分析(定义) – 把一个给定的数据对象集合分成不同的簇; – 在同一个簇(或类)中,对象之间具有相似性; – 不同簇(或类)的对象之间是相异的。 • 聚类是一种无监督分类法: 没有预先指定的类别
聚类方法 • 划分方法:给定一个n个对象的集合,划分方法 构建数据的k个分区,其中每个分区表示一个簇 ,并且k<=n。基于划分方法采取互斥的簇划分, 即每个对象必须恰好属于一个组。大部分划分方 法是基于距离的。它采用一种迭代的重定位技术 ,通过把对象从一个组移动到另一个组来改变划 分。常用的划分聚类方法有k-means、k-medoids 、k-modes和k-prototypes算法。 • 层次方法、基于密度的方法、基于网格的方法
K-means:K-均值算法 K-means算法是很典型的基于距离的聚类算法, 采用距离作为相似性的评价指标,即认为两个对 象的距离越近,其相似度就越大。 该算法认为类是由距离靠近的对象组成的, 因此把得到紧凑且独立的类作为最终目标。 各个簇中误差平方和 n:样本数。 k:样本分为k类。 rnk:第n个样本点是否属于第k类,属于则rnk=1, 不属于则rnk=0。 μK:第k个中心点。
K-means:K-均值算法 • 给定k,算法的处理流程如下: 1.随机的把所有对象分配到k个非空的簇中; 2.计算每个簇的平均值,并用该平均值代表相 应的簇; 3.将每个对象根据其与各个簇中心的距离,重 新分配到与它最近的簇中; 4.回到第二步,直到不再有新的分配发生。
K-均值算法 10 9 8 7 6 5 4 3 2 1 0 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 0 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
K-均值算法性能 • 优点 – 相对高效的: 算法复杂度O(tkn), 其中n 是数据对象的个数, k 是簇的个数, t是迭代的次数,通常k, t << n. – 算法通常终止于局部最优解; • 缺点 – 只有当平均值有意义的情况下才能使用(即只能处理数值 的属性),对于类别字段不适用; – 必须事先给定要生成的簇的个数; – 对“噪声”和异常数据敏感; – 不能发现非凸面形状的数据。
不同初始点,结果不同。
K-means算法,我们在输入的数据集中随机的选择 k个点作为初始的聚类中心,但是随机选择初始点 可能会造成聚类的结果和数据的实际分布相差很 大。k-means++算法选择初始聚类中心的基本思想 是:初始的聚类中心之间的相互距离要尽可能的 远。K-means算法与k-means++算法选取初始点对 比: K-means k-means++
分享到:
收藏