聚类算法之k-均值,k-中心点

k-means和k-中心点是常见的迭代型聚类算法,广泛应用于数据划分。k-means算法依赖于簇内对象的均值,对离群点敏感,而k-中心点算法(如PAM)则更鲁棒,用实际对象代表簇。两种算法在大数据集上的应用需要改进策略,如ISODATA、多初值尝试和CLARA抽样方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

k-means和k-中心点算法是属于简单的迭代型聚类算法,它将一个给定的数据集分为用户指定的k个聚簇。实现和运行该算法都很简单,它的速度比较快,同时又易于修改,所以在实际应用中使用非常广泛。

K-means算法

k-means算法是硬聚类算法,是典型的基于原型的目标函数聚类算法的代表。它是数据点到原型的某种距离作为相似性的评价指标,即两个对象的距离越接近,其相似度就越大。算法采用误差平方和准侧函数作为聚类准则函数。

算法实现

    输入:

       k:簇的数目

       D:包含n个对象的数据集

   输出:k个簇的集合

   方法:

    (1):从D中任意选择k个对象作为初始簇中心

    (2):repeat

    (3):    根据簇中的对象的均值,将每个对象分配到最相似的簇

    (4):    更新簇均值,即重新计算每个簇中对象的均值

    (5):util不再发生变化

k-means方法是不保证收敛于全局最优解,并且它通常终止于一个局部最优解。结果可能依赖于初始簇中心的随机选取。

k-means算法的优点:

1:是聚类算法中的一种经典,快速,简单的算法

2:对处理大数据集,该算法保持可伸缩性和可扩展性

3:当簇接近高斯分布时,结果较好

k-means算法的缺点:

1:在簇的平均值可被定义的情况下才能使用,可能不适用于某些应用,比如说标量数据

2:在 K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。

3:在 K-means 算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果。

4:该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的。

5:若簇中含有异常点,将导致均值偏离严重(即:对噪声和孤立点数据敏感)。

6:不适用于发现非凸形状的簇或者大小差别很大的簇。

k-means算法的改进

1、很多时候

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值