聚类算法---Kmeans算法K均值算法

Posted 小葵花幼儿园园长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聚类算法---Kmeans算法K均值算法相关的知识,希望对你有一定的参考价值。

提示:这些是自己整理 可以借鉴 也可能存在错误 欢迎指正

K均值


前言

k-means算法是非监督聚类最常用的一种方法,因其算法简单和很好的适用于大样本数据,广泛应用于不同领域,本文详细总结了k-means聚类算法原理。

聚类算法:是一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。

聚类算法与分类算法最大的区别是:

  • 聚类算法是无监督的学习算法
  • 分类算法属于监督的学习

在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法


一、K均值是什么?


算法思想:

数据之间的相似度与它们之间的欧式距离成反比,根据数据之间的欧式距离将数据分成k类

实例图:

二、使用步骤

算法流程

  1. 首先随机生成k个聚类中心点。

  2. 根据已有的聚类中心点,将数据分成k类。分类的原则是数据离哪个聚类中心最近,它就被分为哪一类。这一步是EM算法中的Estep。

  3. 根据分类结果,重新计算每个聚类的中心点。这一步是EM算法中的M step。

  4. 不断重复上述的E step和M step,直到聚类中心收敛(聚类中心不再变动)。

小结

K-means优点:

原理简单(靠近中心点) ,实现容易

聚类效果中上(依赖K的选择)

空间复杂度o(N)时间复杂度o(IKN) (N为样本点个数,K为中心点个数,I为迭代次数)

缺点:

对离群点, 噪声敏感 (中心点易偏移)

很难发现大小差别很大的簇及进行增量计算

结果不一定是全局最优,只能保证局部最优(与K的个数及初值选取有关)

以上是关于聚类算法---Kmeans算法K均值算法的主要内容,如果未能解决你的问题,请参考以下文章

聚类算法---Kmeans算法K均值算法

大数据十大经典算法之k-means

聚类算法kmeans

k均值和kmeans的区别

聚类--K均值算法:自主实现与sklearn.cluster.KMeans调用

聚类--K均值算法:自主实现与sklearn.cluster.KMeans调用