如何优化Kmeans?

廉价感情. 提交于 2020-01-11 04:21:50

想要知道如何优化Kmeans,首先得知道:

  1. 什么是Kmeans?
  2. Kmeans的优点;
  3. Kmeans的缺陷;
    知道了以上这些知识点,我们才能针对性优化Kmeans。

Kmeans是一种非监督的聚类算法,首先选取K值,并随机初始化K个质心,计算每个样本与质心的相似度,将样本划分到距离其最近的一个质心的堆簇,然后计算每个堆簇的新的质心,迭代上述过程,直到质心没有新的变动。如果数据集很大,Kmeans的收敛速度会很慢。

Kmeans的算法流程
• 初始化常数K,随机选取初始点为质心
• 重复计算以下过程,直到质心不再改变
o 计算样本与每个质心之间的相似度,将样本归类到最相似的类中
o 重新计算质心
• 输出最终的质心以及每个类

Kmeans的优点:
非常简单,易于实现。

Kmeans的缺陷:

  1. K值需要预先选定,K值的选择对于最后的聚类效果影响非常大。需要一定的先验知识。
  2. Kmeans对于质心的初始点位置敏感,不同的初始化位置会导致不同的聚类结果。
  3. 对离群点(异常点)敏感。

针对以上三个缺陷,提出如下三个优化方法:

  1. 针对K值选择,使用先验知识选取K的备选。
  2. 针对初始化质心,二分K-均值。具体:首先将数据集划分为一个群簇(整体),然后将其一分为二,最大限度降低聚类代价函数(误差平方和函数),形成两个群簇。迭代这个过程,直到群簇数量等于K值。
  3. 对数据集的异常样本做处理。

更多学习资料,请关注下面的公众号:不定期分享

深度学习网络总结
机器学习算法及其应用场景
算法与数据结构(leetcode 题解)
cuda编程与并行优化
其他读书分享如:《战国策》,《智囊全集》
宇宙常识科普与星座辨别等等.
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!