您当前的位置: 首页 >  机器学习

Better Bench

暂无认证

  • 6浏览

    0关注

    695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【机器学习】K-Means聚类的执行过程?优缺点?有哪些改进的模型?

Better Bench 发布时间:2022-09-25 20:50:42 ,浏览量:6

面试题:K-Means聚类的执行过程?优缺点?有哪些改进的模型?

(1)简述K-means聚类的执行过程

  • 数据预处理,如归一化、离散点处理即可。

  • 随机选取K个簇中心

  • 定义代价函数(可以将簇内平方和函数作为代价函数)

  • 定义迭代次数t,重复下面过程直到代价函数收敛(或簇心不发生变化、或达到迭代次数)

    • 对于每一个样本x,将其分配到距离最近的簇

    • 对于每一个簇,计算簇内均值,作为该类簇新的中心。

(3) K-means算法有哪些优缺点?

优点

  • 对于大数据,计算复杂度是O(NKt),接近与线性,其中N是数据的样本数,K是簇 心数,t是迭代的轮次数。
  • 局部最优也能满足大部分的聚类需求

缺点

  • 需要人工预先确定初始K值,且该值和真实的数据分布未必吻合

  • K-means只能收敛到局部最优,效果收到初始值的影响很大

  • 容易收到噪点的影响

  • 样本点只能被划分到单一的类中

(4)有哪些改进的模型?

针对K-means的缺点,目前也有很多改进模型,主要包括如下两种:

  • K-means ++

k-means++主要是在初始选取K个簇心上做出了改进。假设已经选取了n个初始聚类中心,则在选择n+1个聚类中心时,距离当前n个聚类中心越远的点会有更好的概率被选择为第n+1类聚类的中心。聚类中心当然是互相隔离的越远越好,之后的算法步骤同于k-means。

  • ISODATA

ISODATA算法也是在K值上面改进,它在k-means算法的基础上增加了两个操作,第一是分裂操作,增加聚类中心数,即当属于某个类别的样本数过多时、分散程度较大时,把该类别分为两个子类别。第二是合并操作,对应着减少聚类中心数,即当属于某个类别的样本数过少时,把该类别去除。

关注
打赏
1665674626
查看更多评论
立即登录/注册

微信扫码登录

0.2580s