聚类分析是一种非监督式机器学习形式,在此形式下,基于观察值的数据值或特征的相似性,将观察值分组到群集中。 这种就是非监督式机器学习,因为它不使用先前已知的标签值来训练模型。 在聚类分析模型中,标签是群集,仅根据该群集特征向群集分配观察结果。
示例 - 聚类分析
例如,假设一位植物学家观察花的样本,并记录每支花上的叶子和花瓣的数量:
数据集中没有已知的标签,只有两个特征。 目的不是识别花的不同类型(品种);而是根据叶子数和花瓣数将相似的花朵分组在一起。
叶子 (x1) 花瓣 (x2)
0 5
0 6
1 3
1 3
1 6
1 8
2 3
2 7
2 8
训练聚类分析模型
有多种算法可用于聚类分析。 最常使用的算法之一是 K-Means 聚类分析,其中包括以下步骤:
对特征值 (x) 进行向量化以定义 N 维坐标(其中 N 是特征数)。 在花的示例中,有两个特征:叶子数 (x1) 和花瓣数 (x2)。 因此,特征向量具有两个坐标,可用于在二维空间中以概念形式绘制数据点 ([x1,x2])
决定要使用多少个群集来给花分组,并将此值称为 k。 例如,若要创建三个群集,则 k 值为 3。 然后,在随机坐标中绘制 k 点。 这些点将成为每个群集的中心点,因此它们被称为质心。
每个数据点(在本例中为一朵花)都被分配到最近的质心。
每个质心将根据分配给它的数据点之间的平均距离,移动到这些数据点的中心。
移动质心后,数据点现在可能更接近其他质心,因此数据点将根据新的最近的质心重新分配给群集。
质心移动和群集重新分配步骤会重复执行,直到群集变得稳定或达到预定的最大迭代次数为止。
下面的动画展示了此过程:
评估聚类分析模型
由于没有可用于比较预测群集分配的已知标签,因此聚类分析模型的评估基于生成的群集彼此的分离程度。
可以使用多个指标来评估群集分离情况,包括:
距群集中心的平均距离:群集中的每个点与群集的质心的平均接近程度。
距其他中心的平均距离:群集中的每个点与所有其他群集的质心的平均接近程度。
距聚类中心的最大距离:群集中的点与其质心之间的最远距离。
剪影:介于 -1 和 1 之间的值,用于汇总同一群集中的点与不同群集中的点之间的距离比率(越接近 1,群集分离效果越好)。