俗语有云:“人以群分,物以类聚”。简单来说,聚类指的是将物理或抽象对象集合分成由相似对象组成的多个类的过程。从这个简单的描述中可以看出,聚类的关键是如何度量对象间的相似性。
较为常见的用于度量对象相似性的指标有距离、密度等。由聚类所生成的簇(Cluster)是一组数据对象的集合,这些对象的特性是,同一个簇(Intra-cluster)中的对象彼此相似,而与其他簇(Inter-cluster)中的对象尽可能相异,且没有预先定义的类(即属于非监督学习的范畴)。聚类示意图如图 1 所示。
图 1:聚类示意图
在聚类过程中,我们规定同一簇中的对象特征相似,有别于其他簇。那么簇的划分一定是直观可见的吗?在图 2 所示的分类示意图中,我们可以很直观地看出,左图中有两个簇,右图中有四个簇。
图 2:分类示意图
但是,当簇的特征不是那么明显时,就无法显而易见地看出簇的个数,如图 3 所示。
图 3:簇的个数未知
这时,我们就需要借助一个算法来划分簇,而 k 均值聚类就是其中最常用的一种,下节教程我们详细介绍。