K-Means

什么是K-means?

在这里插入图片描述

  • K均值算法(K-means)聚类
  • 关键词:K个种子,均值
  • 聚类的概念:一种无监督的学习,事先不知道类别,自动将相似的对象归到同一个簇中

簇与质心
KMeans算法将一组N个样本的特征矩阵X划分为K个无交集的簇,直观上来看是簇是一组一组聚集在一起的数
据,在一个簇中的数据就认为是同一类。簇就是聚类的结果表现。
簇中所有数据的均值 通常被称为这个簇的“质心”(centroids)。在一个二维平面中,一簇数据点的质心的
横坐标就是这一簇数据点的横坐标的均值,质心的纵坐标就是这一簇数据点的纵坐标的均值。同理可推广至高
维空间。

聚类的应用:

  1. Market segmentation(市场分割)

  2. Socail network analysis (社交网络分析)

  3. Organize computing clusters(组织计算机集群)

  4. Astronomical data analysis(天文数据分析)

  • K-Means算法是一种聚类分析(cluster analysis)的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法
  • K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大
K-Means原理
  • 欧氏距离
    在这里插入图片描述
  • 步骤图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
K-Means步骤总结

1、从数据中选择k个对象作为初始聚类中心;
2、计算每个聚类对象到聚类中心的距离来划分;
3、再次计算每个聚类中心;
4、计算标准测度函数,直到达到最大迭代次数,则停止,否则,继续操作;
5、确定最优的聚类中心

中心点的选择

k-meams算法的能够保证收敛,但不能保证收敛于全局最优点,当初始中心点选取不好时,只能达到局部最优点,整个聚类的效果也会比较差。可以采用以下方法:k-means中心点

  • 选择彼此距离尽可能远的那些点作为中心点;

  • 先采用层次进行初步聚类输出k个簇,以簇的中心点的作为k-means的中心点的输入。

  • 多次随机选择中心点训练k-means,选择效果最好的聚类结果

损失函数

在这里插入图片描述

K-Means优缺点及改进
  • k-means:在大数据的条件下,会耗费大量的时间和内存。 优化k-means的建议:

  • 减少聚类的数目K。因为,每个样本都要跟类中心计算距离。

  • 减少样本的特征维度。比如说,通过PCA等进行降维。

  • 考察其他的聚类算法,通过选取toy数据,去测试不同聚类算法的性能。

  • hadoop集群,K-means算法是很容易进行并行计算的。

  • 算法可能找到局部最优的聚类,而不是全局最优的聚类。使用改进的二分k-means算法。

二分k-means算法:首先将整个数据集看成一个簇,然后进行一次k-means(k=2)算法将该簇一分为二,并计算每个簇的误差平方和,选择平方和最大的簇迭代上述过程再次一分为二,直至簇数达到用户指定的k为止,此时可以达到的全局最优。

你知道的越多,你不知道的越多。
有道无术,术尚可求,有术无道,止于术。
如有其它问题,欢迎大家留言,我们一起讨论,一起学习,一起进步

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值