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


K均值

  • 前言
  • 一、K均值是什么?
  • 二、使用步骤
  • 算法流程
  • 小结



前言

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

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

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

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

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


一、K均值是什么?

k聚类算法的适用场景 k聚类算法计算_算法


算法思想:

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

实例图:

k聚类算法的适用场景 k聚类算法计算_机器学习_02

二、使用步骤

算法流程

  1. 首先随机生成k个聚类中心点。
  2. 根据已有的聚类中心点,将数据分成k类。分类的原则是数据离哪个聚类中心最近,它就被分为哪一类。这一步是EM算法中的Estep。
  3. 根据分类结果,重新计算每个聚类的中心点。这一步是EM算法中的M step。
  4. 不断重复上述的E step和M step,直到聚类中心收敛(聚类中心不再变动)。

k聚类算法的适用场景 k聚类算法计算_神经网络_03

小结

K-means优点:

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

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

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

缺点:

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

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

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