机器学习 K-均值算法

一.概述
1.概念:

"k-均值算法"(k-Means Algorithm)1种常用聚类算法,属于"基于划分的聚类算法",也是数据挖掘十大经典算法之一.该算法是应用最广泛的
聚类算法,可作为其他聚类算法(如谱聚类)的基础算法,并有许多变体.这些算法共同的基本思想是:接受1个参数k以确定簇的数量并选取相应的k个
初始聚类中心,之后利用选定的启发式算法进行"迭代重置"(Iterative Relocation)-即不断分配数据点并更新聚类中心-以改进划分方案,直
到无法继续改进.不同变体的区别在于启发式算法的不同

在这里插入图片描述
2.具体步骤
(1)概述:

①选取k个簇的初始聚类中心,如选取前k个数据点或随机选取k个数据点
②在第i次迭代中,分别计算每个数据点到各聚类中心的距离(如欧氏距离),并将该数据点归给最近的中心所属的簇
③求第j类的新聚类中心,其各个分量都是属于第j类的数据点的相应分量的平均数,然后开始第i+1次迭代
④满足停止条件则停止迭代

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)停止条件:

①聚类中心不再被更新
②数据点的分配不再被更新
③不再形成改进/准则函数收敛,如MSE达到最小值

3.优缺点
(1)优点:

①时间复杂度较低
②原理简单,实现容易
③可解释性好
④需要调参的参数仅有簇的数量k
⑤当结果簇是凸的(近似于多元高斯分布),效果较好
⑥可伸缩性(可规模性)较好

(2)缺点:

①难以确定k值
②容易陷入局部最优
③对噪音和异常点较敏感
④结果受初始聚类中心的影响较大,但可以进行改进(如在迭代结束后合并较小的簇并分割较大的簇)
⑤对非凸数据集及各隐含类数据量严重失衡的数据集效果不佳
⑥要求数据有均值,因而只适用于numerical data
⑦不适用于非凸的或大小差别较大的簇

二.变体算法的介绍
1.k-中心点算法(k-Medoids)
(1)改进:

在第i次迭代中以第j类的"中心点"(Medoids;即属于第j类的数据点中距簇中其他各数据点距离的和最小的点)作为第j类的新聚类中心

(2)优点:

①对噪音和孤立点相对不敏感

(3)缺点:

①时间复杂度更高

2.k-众数算法(k-Modes)
(1)改进:

在第i次迭代中第j类的新聚类中心的各个分量都是属于第j类的数据点的相应分量的众数

(2)优点:

①几乎完全不受孤立点的干扰

(3)缺点:

①不适合没有众数或有多个众数的情况

3.k-中位数算法(k-Medians)
(1)改进:

在第i次迭代中第j类的新聚类中心的各个分量都是属于第j类的数据点的相应分量的中位数

(2)优点:

①对噪音和孤立点不敏感

4.核k-均值算法(Kernel k-Means):


三.实例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值