[博学谷学习记录]超强总结,用心分享|人工智能机械学习基础知识KMeans总结分享

目录

KMeans介绍

算法思想

KMeans算法迭代停止条件

KMeans算法具体步骤

 K-Means会不会陷入一直选质心的过程,永远停不下来?

初始的K个质心怎么选?

K均值算法的优缺点


 

KMeans介绍

KMeans算法属于非监督学习学习方式,KMeans++算法主要解决初始点选择问题

算法思想

以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果

KMeans算法迭代停止条件

1.迭代次数

2.簇中心变化率

3.最小平方误差MSE

KMeans算法具体步骤

  1. 随机设置K个特征空间内的点作为初始的聚类中心

  2. 对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别

  3. 接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平均值)

  4. 如果计算得出的新中心点与原中心点一样(质心不再移动),那么结束,否则重新进行第二步过程

[博学谷学习记录]超强总结,用心分享|人工智能机械学习基础知识KMeans总结分享_第1张图片

 K-Means会不会陷入一直选质心的过程,永远停不下来?

不会,有数学证明K-Means一定会收敛,大致思路是利用SSE的概念(也就是误差平方和),即每个点到自身所归属质心的距离的平方和,这个平方和是一个函数,然后能够证明这个函数是可以最终收敛的函数。

初始的K个质心怎么选?

最常用的方法是随机选,初始质心的选取对最终聚类结果有影响,因此算法一定要多执行几次,哪个结果更具备解释性,就用哪个结果。 当然也有一些优化的方法,第一种是选择彼此距离最远的点(KMeans++),具体来说就是先选第一个点,然后选离第一个点最远的当第二个点,然后选第三个点,第三个点到第一、第二两点的距离之和最小,以此类推。第二种是先根据其他聚类算法(如层次聚类)得到聚类结果,从结果中每个分类选一个点。

K均值算法的优缺点

K-means优点

1.在算法稳定性、效率和准确率(相对于真实标签的判别)上表现非常好

2.处理较大的数据集时,该算法保持可伸缩性和高效性

3.当簇接近高斯分布时,它的效果较好。
K-means缺点
1.数据量过大的时候不适合使用k-means,当真正面对海量数据时,使用K均值算法将面临严重的结果延迟,尤其是当K均值被用做实时性或准实时性的数据预处理、分析和建模时,这种瓶颈效应尤为明显。
2.对噪声和孤立点数据敏感,不适用于发现非凸形状的簇或者大小差别很大的簇。
3.在簇的平均值可被定义的情况下才能使用

你可能感兴趣的:(人工智能,学习,kmeans,机器学习)