K-means(K均值)是基于数据划分的无监督聚类算法,也是数据挖掘领域的十大算法之一。
何为聚类算法?在某种程度上可以理解为无监督的分类方法。
聚类算法可以分为哪些部分? 一般来说可以分为基于划分的方法、基于连通性的方法、基于密度的方法、基于概率分布模型的方法等。K-means就是经典的基于划分的聚类方法。
1、K-means的基本原理
对于基于划分的这一类聚类算法而言,其方法是将样本的矢量空间划分为多个区域 Si|ki=1 ,每个区域都存在一个区域中心 Ci|ki=1 ,这样对于每一个样本,都可以建立一种样本到区域中心的映射 q(x) :
q(x)=∑i=1k1(x∈Si)Ci
其中1()为指示函数,即代表样本x是否属于区域S。
不同的基于划分的聚类算法的主要区别就在于如何建立相应的映射方式 q(x) 。在k-means中,映射是通过样本与各中心之间的误差平方和最小这一准则来建立的。
k-means算法的主要实现步骤有以下四步:
- 初始化聚类中心 C(0)1 ,