K-means最简理解

来源:互联网 发布:小白软件管家 知乎 编辑:程序博客网 时间:2024/06/03 23:42

K-means算法是一种无监督的机器学习算法。K-means的核心思想是人以类聚,物以群分。

废话不多说,直接上算法步骤

算法过程如下:
1)从N个文档随机选取K个文档作为质心
2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类
3)重新计算已经得到的各个类的质心
4)迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束

算法过程如图:


有图有算法步骤,我们就可以很快的理解K-means的算法了。拿上面这个图作为例子,先找K=2个点作为中心聚类,分别求出所有点(A,B,C,D,E)到这两个中心聚类点的距离,如果A,B到第一个中心聚类点的距离比到第二个中心聚类点的距离更小,那么把A,B分为G1类,同样把C,D,E分为G2类。在G1类中求出A,B的质心c1,在G2中求出C,D,E的质心c2,然后再计算每个点到质心c1,c2的距离,如果距离c1近就把这些数据归为一类,如果离c2近也归为一类,从图中我们知道,重新划分聚类中心后把A,B,C化分到一类,把D,E划分到了一类,重复这个划分聚类中心(质心)的过程直到质心不改变或者小于指定的阈值,算法结束。

这里说一个质心的求法:假如给定三个坐标点(x1,y1),(x2,y2),(x3,y3)

质心的坐标假如是(x0,y0)

x0=(x1+x2+x3)/3

y0=(y1+y2+y3)/3



原创粉丝点击