提示:这些是自己整理 可以借鉴 也可能存在错误 欢迎指正
K均值
- 前言
- 一、K均值是什么?
- 二、使用步骤
- 算法流程
- 小结
前言
k-means算法是非监督
聚类最常用的一种方法,因其算法简单和很好的适用于大样本数据,广泛应用于不同领域,本文详细总结了k-means聚类
算法原理。
聚类算法:是一种典型的无监督
学习算法,主要用于将相似
的样本自动归到一个类别中。
聚类算法与分类算法最大的区别是:
- 聚类算法是无监督的学习算法
- 分类算法属于监督的学习
在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算
方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法
。
一、K均值是什么?
算法思想:
数据之间的相似度与它们之间的欧式距离成反比,根据数据之间的欧式距离将数据分成k类
实例图:
二、使用步骤
算法流程
- 首先
随机
生成k个聚类中心点。 - 根据已有的聚类中心点,将数据
分成k类
。分类的原则是数据离哪个聚类中心最近,它就被分为哪一类。这一步是EM算法中的Estep。 - 根据分类结果,
重新计算
每个聚类的中心点
。这一步是EM算法中的M step。 - 不断重复上述的E step和M step,直到
聚类中心收敛
(聚类中心不再变动)。
小结
K-means优点:
原理简单(靠近中心点) ,实现容易
聚类效果中上(依赖K的选择)
空间复杂度o(N)时间复杂度o(IKN) (N为样本点个数,K为中心点个数,I为迭代次数)
缺点:
对离群点, 噪声敏感 (中心点易偏移)
很难发现大小差别很大的簇及进行增量计算
结果不一定是全局最优,只能保证局部最优(与K的个数及初值选取有关)