作者:禅与计算机程序设计艺术
1.简介
聚类(clustering)是一种典型的无监督学习方法,用于将相似的数据集划分成不同的组或者“类”。其中K-means聚类是一个经典且被广泛使用的机器学习算法。本文将详细阐述k-means聚类的过程及其优化目标函数选择标准、模型复杂度评估指标等相关技术细节,并着重分析了不同参数值对聚类结果的影响。最后会讨论聚类效果如何取决于初始点和选取的质心数量。
2.基本概念术语说明
2.1 K-means聚类概述
K-means聚类是一种典型的无监督学习算法,主要用来对数据集进行聚类。它可以将样本集分成K个不相交的子集,使得每个子集中都是属于某个指定类别的数据点。K值的确定可以通过不同指标来衡量,如轮廓系数(silhouette coefficient)、汇聚度(homogeneity)、完全松弛性(completeness)、F值(F measure)或轮廓分割方差(silhouette variance)。在实践中,通常采用Euclidean距离作为距离度量方法。
假设有样本集$X={x_1, x_2, \cdots, x_N}$,其中每个样本$x_i \in R^d$,K表示预先给定的聚类个数,$C={c_1, c_2,..., c_K}$, 每个簇$c_j \subset X$, $|c_j|=n_j(j=1,...,K)$ 为簇$j$的样本数量。K-means聚类通过如下方式迭代地寻找最优的聚类结果:
- 初始化阶段:随机初始化K个中心点$c_1, c_2,..., c_K$,即质心。
- 循环更新阶段: