“物以类聚,人以群分”,
聚类分析(clustering analysis)顾名思义就是根据样本的一些特征对其进行类别的划分。首先,要注意“聚类分析”和“判别分析(discriminant analysis)”的差异,在判别分析中讲到,“分类”是指在有特征(X)有标签(Y)的情况下对样本进行分类;而聚类分析是在只有一系列特征(X1,X2...Xn),没有标签Y的情况下的对样本进行聚类。因此,在机器学习语境下,
聚类属于典型的“无监督学习”,相比之下,
分类(判别)就是“有监督学习”。如何对只有特征而没有标签的一系列样本进行聚类?在心理统计学中通常会介绍“距离”和“相似性”两种聚类的方法。前者我们在距离判别法的介绍中也有所提及,简而言之, 两个点距离越远则相似性越低,越不可能是同一类,而距离越近则相似性越高,越可能是同一类。常见的距离包括欧氏距离、马氏距离等,在距离判别法一讲中都有介绍。相似性则与距离相反,使用的是相关系数、夹角余弦等指标进行度量,相关系数越高,越可能是同一类。 下面介绍两类常见的聚类分析方法:层次聚类和K-means聚类(也叫快速聚类)。
1 层次聚类(hierarchical clustering)
这一种聚类的思想是 利用距离或相似性自行聚类。比如说,先把每个样本看做单独一类,然后每次都把最相似的样本聚在一起,直到最终只剩一个类别(也叫 聚集