注:本系列将有五部分,分别对应五大机器学习任务类型,包括:
1. 分类(Classification)、2. 回归(Regression)、3. 聚类(Clustering)、4. 降维(Dimensionality Reduction)以及 5. 强化学习(Reinforcement Learning)
此文含大量干货,建议收藏方便以后再读!
大家好,我是爱酱。继前两篇我们系统梳理了分类与回归任务的评估与算法,本篇我们将进入五大机器学习任务的第三类——聚类任务(Clustering)。聚类是无监督学习(Unsupervised Learning)的典型代表,广泛应用于客户分群、图像分割、异常检测等场景。本文将系统讲解聚类任务的定义、主流算法、常用评估指标、实际应用与常见问题,帮助你建立清晰的聚类知识体系。
注:本文章颇长近2500字,建议先收藏再慢慢观看。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!另外,此片虽然内容比较短,算法也比较少(比较前两篇),但实际原理其实更难用文字解释。因此,有兴趣的同学可以告诉我那个算法或原理想我单独介绍,我会一步步仔细讲述他们运用的步骤!
一、什么是聚类任务?
我们在开始前,要先明白聚类任务的定义。
聚类任务的目标是将数据集中的样本根据相似性自动分为若干组(簇),每一组内部样本相似度高,不同组之间差异大。聚类属于无监督学习,不依赖于人工标签,而是通过数据本身的结构和分布来发现潜在模式。
-
硬聚类(Hard Clustering):每个样本只属于一个簇。
-
软聚类(Soft Clustering):每个样本可以以不同概率属于多个簇(如高斯混合模型)。
-
层次聚类(Hierarchical Clustering):形成树状的分组结构,支持多层次分析。
二、主流聚类算法及原理简介
1. K均值聚类(K-Means Clustering)
原理:
K均值通过迭代优化,将样本分为 $K$ 个簇,使簇内样本到中心的距离平方和最小。
目标函数:
其中 为第
个簇,
为该簇的中心。
算法流程:
-
随机初始化
个中心
-
分配样本到最近中心
-
更新每个簇的中心为其成员均值
-
重复分配与更新,直到收敛
优缺点:
-
优点:高效、易实现,适合大数据集
-
缺点:对初值敏感,需预先指定
,不适合非球状簇和异常值多的数据
2. 层次聚类(Hierarchical Clustering)
原理:
通过计算样本间距离,逐步合并(自底向上)或分裂(自顶向下)簇,最终形成树状结构(dendrogram)。这部分其实已经够复杂可以单独出一片文章了。有兴趣的可以留言告诉我!
常见距离度量方法:
- 单链法(Single Linkage):两个簇之间最近点的距离
- 全链法(Complete Linkage):两个簇之间最远点的距离
- 平均法(Average Linkage):两个簇所有点对的平均距离
- 中间法(Centroid Linkage):两个簇中心点之间的距离
其中、
分别为簇
和
的均值。
优缺点:
-
优点:无需预先指定簇数,能反映多层次结构
-
缺点:计算复杂度高,难以扩展到大数据集
3. 密度聚类(DBSCAN)
原理:
基于密度的聚类方法,核心思想是:簇内样本密度高,簇间样本密度低。可识别任意形状簇并自动检测异常点。
参数:
-
(半径):邻域范围
-
:最小邻域点数
核心定义:
点 是核心点当且仅当
。
优缺点:
-
优点:能发现任意形状簇,自动排除噪声
-
缺点:参数敏感,难以处理高维数据
4. 高斯混合模型(GMM, Gaussian Mixture Model)
原理:
假设数据由多个高斯分布混合生成,使用EM算法估计每个样本属于各个簇的概率,实现软聚类。
概率模型:
其中 为第
个簇的权重,
、
为均值和协方差。
优缺点:
-
优点:可建模椭球形簇,支持软分配
-
缺点:对初值和分布假设敏感,参数较多
三、聚类评估指标
聚类属于无监督学习,评估标准与有标签任务不同。常用指标如下:
1. 轮廓系数(Silhouette Coefficient)
定义:
其中 为样本
到同簇其他样本的平均距离,
为其到最近其他簇的平均距离。
越接近1,聚类效果越好。
2. Calinski-Harabasz指数
定义:
为簇间离差矩阵,
为簇内离差矩阵,
为簇数,
为样本数。
越大聚类效果越好。
3. Davies-Bouldin指数
定义:
为第
个簇内样本到中心的平均距离,
为簇间中心距离。
越小越好。
四、聚类任务的实际应用场景
-
客户分群:根据消费行为、兴趣等特征将用户分为不同群体,实现精准营销。
-
图像分割:将图像像素自动分为不同区域,辅助医学影像分析、目标检测等。
-
异常检测:识别与大多数样本差异显著的异常点,用于金融风控、网络安全等。
-
文本主题发现:将文档聚为不同主题,提升信息检索与推荐效果。
-
生物信息学:基因表达数据聚类,辅助疾病亚型划分与药物研发。
五、聚类模型实战建议与常见问题
-
如何选择聚类算法?
K均值适合球状簇和大数据,DBSCAN适合有噪声和任意形状簇,GMM适合软分配和椭球形簇,层次聚类适合多层次结构。
-
如何确定簇数K?
可结合轮廓系数、Calinski-Harabasz指数、肘部法则等方法自动评估。
-
高维数据如何聚类?
建议先降维(如PCA、t-SNE),再聚类,提升效果和可视化能力。
-
聚类结果如何解释?
可结合特征均值、可视化、与业务专家沟通等方式,理解每个簇的代表性和业务意义。
六、总结
聚类任务是无监督学习的核心应用之一,能帮助我们从无标签数据中发现潜在结构和模式。理解主流算法的原理、评估指标和实际应用,有助于你在数据分析和智能决策中发挥更大价值。下期我们将继续探讨降维任务与实战,敬请期待!
如需某一算法的详细推导、代码实现或实际案例,欢迎留言交流!