ARTICLE
聚类
%% id: 4516 word: "聚类" created\_model: "stub" verified: true verified\_at: "2025-10-29T22:00:00" created\_by\_id: 1 view\_counts: 0 inserted\_at: "2025-10-29T21:42:33" updated\_at:
%%
id: 4516 word: "聚类" created\_model: "stub" verified: true verified\_at: "2025-10-29T22:00:00" created\_by\_id: 1 view\_counts: 0 inserted\_at: "2025-10-29T21:42:33" updated\_at: "2025-10-29T22:00:00" \%\%
聚类
定义
聚类(Clustering) 是一种无监督学习方法,旨在根据数据对象之间的相似性或距离,将数据集划分为若干个组(称为簇或类),使得同一簇内的数据对象尽可能相似,不同簇之间的数据对象尽可能相异。与分类(Classification)不同,聚类不依赖于预先标记的训练数据,而是从数据本身的结构中自动发现潜在的 grouping 模式。
核心概念
相似性度量
聚类的基础是度量数据对象之间的相似性或距离。常用的距离度量包括:
- 欧氏距离(Euclidean Distance):最常用的距离度量,适用于连续数值型数据。对于两个 维向量 和 ,欧氏距离定义为:
- 曼哈顿距离(Manhattan Distance):也称为 L1 距离,计算各维度绝对差之和:
- 余弦相似度(Cosine Similarity):衡量两个向量方向的相似程度,常用于文本数据:
- 杰卡德相似系数(Jaccard Similarity):常用于集合数据的相似性度量。
主要聚类算法
聚类算法种类繁多,根据其底层原理可大致分为以下几类:
1. 基于划分的方法(Partitioning Methods)
K-means 算法 是最经典的聚类算法之一。其核心思想是:给定簇数 ,通过迭代优化簇内误差平方和(Sum of Squared Errors, SSE)来寻找最优簇划分:
其中 是簇 的中心(质心)。算法步骤如下:
- 随机选择 个初始质心;
- 将每个样本分配到最近的质心所在的簇;
- 重新计算每个簇的质心;
- 重复步骤 2-3 直至收敛。
K-means 简单高效,但需预先指定 值,且对初始质心选择和异常值敏感。改进版本包括 K-means++(优化初始化使质心分布更均匀)、Mini-batch K-means(每次随机采样子集更新,适用于大规模数据)和 Bisecting K-means(二分K均值,通过递归二分达到全局更优解)。
K-medoids 算法(如 PAM, Partitioning Around Medoids)使用实际数据点作为簇中心(Medoid),对异常值更为鲁棒,但计算复杂度较高。
2. 基于层次的方法(Hierarchical Methods)
层次聚类通过构建层次结构来表示数据的聚类关系,分为两种策略:
- 凝聚(Agglomerative)层次聚类:自底向上,初始时将每个样本视为一个独立的簇,然后逐步合并最相似的簇,直至达到预设的簇数或所有样本归入一个簇。
- 分裂(Divisive)层次聚类:自顶向下,从包含所有样本的大簇开始,逐步分裂为更小的簇。
常用的簇间距离度量包括单连接(Single Linkage,基于最近邻)、全连接(Complete Linkage,基于最远邻)、平均连接(Average Linkage,基于组平均距离)和 Ward 方法(最小化合并时簇内方差的增量)。层次聚类的优势在于不需要预先指定簇数,且可以通过树状图(Dendrogram)直观展示聚类过程及层级关系。
3. 基于密度的方法(Density-based Methods)
DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 是一种基于密度的聚类算法,能够发现任意形状的簇并识别噪声点。其核心参数包括:
- (Eps):邻域半径;
- MinPts:邻域内最少样本数。
DBSCAN 将样本分为核心点、边界点和噪声点三类,通过密度直达和密度可达关系形成簇。与 K-means 相比,DBSCAN 不需要预先指定簇数,且能有效处理不规则形状的簇和噪声数据。其变体包括 OPTICS(对 参数更鲁棒)和 HDBSCAN(层次化 DBSCAN)。
4. 基于高斯混合模型的方法(Gaussian Mixture Model, GMM)
GMM 假设数据由多个高斯分布混合生成,通过期望最大化(EM)算法估计参数。GMM 是一种软聚类方法,每个样本以概率形式属于各个簇,适用于处理重叠分布的数据。
5. 基于图的方法(Graph-based Clustering)
谱聚类(Spectral Clustering)利用数据的相似度矩阵构建拉普拉斯图,然后对图的特征向量进行 K-means 聚类。谱聚类能有效处理非凸形状的簇,在图像分割等领域有广泛应用。
聚类评估
聚类作为无监督学习方法,其结果评价是重要且具有挑战性的问题。评估方法通常分为三类:
- 内部评估(Internal Validation):仅基于数据本身的特征来评价聚类质量,如轮廓系数(Silhouette Coefficient)、Calinski-Harabasz 指数、Davies-Bouldin 指数等。
- 外部评估(External Validation):利用真实标签(Ground Truth)与聚类结果进行比较,如调整兰德指数(Adjusted Rand Index, ARI)、互信息(Mutual Information)、纯度(Purity)等。
- 相对评估(Relative Validation):比较同一算法在不同参数设置下的聚类结果,以确定最优参数组合。
应用领域
聚类分析在自然科学、社会科学和工程技术的各个领域都有着广泛的应用:
- 市场营销:客户细分(Customer Segmentation),根据消费行为将客户分为不同群体以制定差异化营销策略;
- 图像处理:图像分割、物体识别、颜色量化;
- 生物信息学:基因表达数据分析、蛋白质序列聚类、物种分类;
- 社交网络分析:社区发现、用户兴趣分组;
- 异常检测:识别与大多数数据对象不同的离群点;
- 数据压缩:通过聚类减少数据存储量,如向量量化(Vector Quantization)。
局限与挑战
聚类分析面临的主要挑战包括:高维数据中的"维数灾难"导致距离度量失效;簇数 的确定缺乏统一标准;算法对初始参数和噪声敏感;大规模数据的可扩展性问题;以及聚类结果的可解释性等。近年来,深度聚类(Deep Clustering)和自监督聚类等方法将深度学习与聚类结合,在图像和文本等高维数据上展现出良好的性能。
总结
聚类作为无监督学习的核心任务之一,为数据探索和模式发现提供了强大的工具。不同类型的聚类算法各有优劣,实际应用中需要根据数据特征、问题需求和计算资源选择合适的算法与参数。随着大数据和人工智能技术的发展,聚类分析在自动化和智能化数据分析中将继续发挥重要作用。