👇点击关注公众号👇
第一时间获取人工智能干货内容
聚类问题是什么?
聚类问题的特点:
没有正确的答案(标签)
依靠自身属性相似度,物以类聚
如何判断相似度?
用某种距离作为聚类的依据,这种距离越近,则相似度越高,则可以考虑为同一类。
图形标记没有其他意思(因为是无答案,无标签的)
这里聚类使用的是欧式距离

K-means聚类算法原理:
事先确定常数K,常数K意味着最终的聚类类别数。
(1)随机选定初始点为质心
(2)通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类中
(3)重新计算每个类的质心(即为类中心)
重复(2)、(3)的过程,直到达到规定迭代次数(例如400次)
或者质心基本不改变(通过设定一个变化阈值)
最终就确定了每个样本所属的类别以及每个类的质心。
假设K=3,一 开始随机选了三个中心。

将每个点与三个中心计算欧式距离,将其归入距离最近的中心类。


然后,重新计算每个群的中心(均值位置)
然后重复(2)、(3)过程

算法缺点:
(1)由于每次都要计算所有的样本与每一个质心之间的相似度,故在大规模的数据集上,K-Means算法的收敛速度比较慢。
(2)一开始要人为给定K值。
(3)如果起始点选的不好,会聚类较差。
k既然是人工取值的,那取多少比较好呢?
常用方法:肘方法

选择曲线拐点部分作为 K 的选择参考,如下图可以选 K 为 5。

还有轮廓系数的方法,大家可以了解下。
这就是 K-Means 聚类算法的原理部分,是不是很简单呢?