机器学习基础五:聚类算法与降维方法

机器学习基础五:聚类算法与降维方法

16.1 本章导学

前面的线性模型、树模型、支持向量机都属于监督学习,依赖标注数据驱动训练。但真实产业场景中,绝大多数数据没有标注,人工标注成本高、周期长,完全依赖监督学习会极大限制 AI 的应用边界。无监督学习正是解决这一问题的核心范式,它不需要标签,直接从数据本身挖掘内在结构与规律,是机器学习不可或缺的重要分支。

聚类与降维是无监督学习最核心的两类任务。聚类负责把相似样本自动分组,实现数据的自动归类与结构发现;降维负责压缩高维数据的特征维度,保留核心信息的同时降低计算开销、提升模型泛化能力。二者常常搭配使用:先降维去除冗余,再聚类挖掘分组,是无监督数据分析的标准流程。

本章从核心思想、算法原理、参数调优、效果评估、代码实现、工程选型、大模型关联七个维度展开,覆盖 K-Means、层次聚类、DBSCAN 三类经典聚类算法,以及 PCA、t-SNE、UMAP 三类主流降维算法。所有知识点均配套真实业务场景,比如用户分群、异常检测、表征可视化、语料去重,让你不仅懂算法原理,更知道什么时候用、怎么用、怎么调。

16.2 聚类算法概述

16.2.1 什么是聚类

聚类的目标是将数据集中的样本划分为若干个簇,使得同一个簇内的样本相似度高,不同簇之间的样本相似度低。和分类任务不同,聚类事先不知道类别数量和类别定义,完全由算法根据数据特征自动划分,因此也叫 “无监督分类”。

打个通俗的比方:分类就像老师已经分好了班级,学生按标签进班;聚类就像把一群陌生人放到操场上,让他们自己找志同道合的人组队,最后形成若干个小团体,每个团体里的人兴趣相近。

聚类的核心价值在于发现数据的天然结构,不需要标注成本,能够探索数据中未知的模式。在业务场景中,聚类往往是数据分析的第一步,帮助我们理解数据分布、挖掘用户群体、发现异常样本。

16.2.2 聚类的典型应用场景

聚类的应用遍布各行各业,是工业界最常用的无监督技术: 用户分群:根据用户的行为、属性、消费特征,将用户划分为不同群体,用于精准运营、个性化推荐。这是互联网运营中最经典的聚类应用。 异常检测:偏离所有簇的孤立样本就是异常点,可用于风控欺诈检测、工业设备故障预警、网络入侵检测。和监督式异常检测相比,聚类不需要异常样本标注,更适合冷启动场景。 文本主题挖掘:对大量文本做聚类,自动发现内容主题,用于舆情分析、内容分类、语料去重。大模型预训练语料处理中,常用聚类方法做语义去重,提升语料多样性。 图像分割:基于像素特征聚类,实现图像的前景背景分离、区域分割,是计算机视觉的基础技术之一。 特征工程:聚类结果可以作为新特征加入监督模型,提升模型效果。比如用户所属的分群编号,就是非常有价值的类别特征。

16.2.3 聚类算法的分类

根据算法原理的不同,聚类算法可以分为五大类: 划分式聚类:通过迭代优化目标函数,直接将数据划分为指定数量的簇,代表算法是 K-Means。 层次聚类:通过逐层合并或拆分的方式形成聚类树,不需要提前指定簇数,代表算法是 AGNES 凝聚式层次聚类。 密度聚类:基于样本密度来划分簇,只要区域内密度达到阈值就连成一个簇,能够发现任意形状的簇,自动识别异常点,代表算法是 DBSCAN。 谱聚类:基于图论的谱分析,将样本看作图的节点,通过切图实现聚类,适合非凸分布的数据。 模型聚类:假设数据由若干个概率分布生成,通过拟合分布参数实现聚类,代表算法是高斯混合模型 GMM。

不同类型的算法适配不同的数据分布和业务需求,没有绝对的优劣,选型的核心是匹配数据特征。

16.3 经典聚类算法详解

16.3.1 K-Means:最经典的划分式聚类

K-Means 是工业界最常用的聚类算法,原理简单、实现高效、扩展性强,是聚类的首选基线算法。

核心思想

K-Means 的目标是把数据分成 K 个簇,使得每个样本到所属簇中心的距离平方和最小,也就是最小化簇内误差平方和 SSE。 算法流程分为五步: 第一步,随机选择 K 个样本作为初始的簇中心点; 第二步,计算每个样本到所有簇中心的距离,将样本分配给距离最近的簇; 第三步,重新计算每个簇的中心点,也就是簇内所有样本的均值; 第四步,重复第二步和第三步,直到簇中心不再变化或者达到最大迭代次数。 整个过程不断迭代优化,让簇中心逐步移动到最优位置,最终得到稳定的聚类结果。

距离度量

K-Means 最常用的距离是欧氏距离,也就是两点之间的直线距离。也可以根据业务需求选择曼哈顿距离、余弦距离等。需要注意的是,使用不同的距离度量,簇中心的计算方式也要对应调整,否则无法保证收敛。

核心优缺点

优势:原理简单,易于理解和实现;计算效率高,时间复杂度接近线性,适合大规模数据集;结果可解释性强,簇中心有明确的物理意义。 劣势:需要提前指定 K 值,很多场景下 K 值难以确定;对初始中心点敏感,不同的初始化可能得到不同结果;对异常点非常敏感,离群点会严重影响簇中心位置;只能发现球状簇,对非凸分布效果差;特征量纲不一致时需要先做标准化。

优化方案

针对 K-Means 的缺陷,工业界有很多优化版本: K-Means++ 优化了初始中心点的选择,让初始中心尽可能分散,大幅降低了结果的随机性,是现在的标准实现; Mini-Batch K-Means 使用小批量样本迭代,适合超大规模数据集,速度比原版快数倍,精度损失很小,是大数据场景的首选; 二分 K-Means 通过不断二分簇的方式降低局部最优的风险,结果更稳定。

16.3.2 层次聚类:无需指定簇数的聚类

层次聚类不需要提前指定 K 值,通过逐层合并或拆分得到聚类树,可以根据需求在不同层级截取结果,非常适合探索性数据分析。

凝聚式层次聚类原理

最常用的是自底向上的凝聚式层次聚类: 初始时每个样本都是一个独立的簇; 计算所有簇之间的距离,将距离最近的两个簇合并成一个新簇; 重复合并过程,直到所有样本都合并成一个大簇; 最终得到一棵聚类树,也叫树状图,树的高度代表合并时的距离。

簇间距离有三种常用计算方式: 单链接:两个簇中最近样本的距离,容易出现链式效应,细长的簇也会被合并; 全链接:两个簇中最远样本的距离,倾向于发现紧凑的球状簇; 平均链接:两个簇所有样本两两距离的平均值,结果更稳定,是最常用的方式。

优缺点分析

优势:不需要提前指定簇数,可以灵活选择聚类粒度;可以得到聚类的层次结构,适合有层级关系的数据;结果可解释性好。 劣势:计算复杂度高,时间复杂度是样本数的三次方,不适合大规模数据;一旦合并就不能回退,容易出现错误累积;对异常点敏感。 层次聚类适合小样本、需要探索层级结构的场景,大规模工业场景很少直接使用。

16.3.3 DBSCAN:密度聚类的代表

DBSCAN 是基于密度的聚类算法,核心思想是:只要一个区域内的样本密度达到阈值,就把它们归为同一个簇。它最大的特点是能发现任意形状的簇,还能自动识别异常点。

核心概念

DBSCAN 有两个核心参数:邻域半径 eps 和最小样本数 min_samples。 核心点:在 eps 邻域内,样本数量大于等于 min_samples 的点,也就是密度足够高的点; 边界点:本身不是核心点,但落在某个核心点的邻域内; 噪声点:既不是核心点也不是边界点的孤立样本,也就是异常点。

算法流程

从任意一个未访问的样本开始,如果它是核心点,就从它出发,密度可达的所有样本构成一个簇; 不断扩展簇的边界,直到无法再扩展; 继续处理未访问的样本,直到所有样本都被处理; 最后剩下的无法归入任何簇的样本就是噪声点。

优缺点分析

优势:不需要指定簇数;可以发现任意形状的簇,适合非凸分布的数据;自动识别异常点,对离群点不敏感;结果没有随机性,只要参数固定结果就一致。 劣势:需要调两个参数,参数对结果影响很大,调参难度高于 K-Means;当数据密度不均匀、簇间距离差异大时,聚类效果差;高维数据下距离计算开销大,需要先降维。 DBSCAN 非常适合异常检测、任意形状聚类的场景,是工业界第二常用的聚类算法。

16.3.4 高斯混合模型 GMM:概率视角的聚类

GMM 假设数据由 K 个高斯分布混合生成,每个高斯分布对应一个簇。通过期望最大化 EM 算法拟合分布参数,得到每个样本属于各个簇的概率,是软聚类的代表。 和 K-Means 的硬分配不同,GMM 输出的是样本属于每个簇的概率,更灵活,也能提供更多信息。它的聚类效果和 K-Means 接近,同样适合球状分布的数据,但计算复杂度更高。

16.4 聚类效果评估

聚类没有真实标签,评估比监督学习更复杂,分为两类评估指标:外部指标和内部指标。

16.4.1 外部指标:有真实标签时的评估

如果有真实的类别标签,可以用外部指标衡量聚类结果和真实标签的吻合程度。 兰德指数 RI:衡量两个划分的相似程度,取值 0 到 1,越大越好。调整兰德指数 ARI 对随机结果做了校正,是更常用的标准。 互信息 MI:衡量两个划分的信息重合度,标准化互信息 NMI 做了归一化,方便不同算法对比。 外部指标适合算法研究和有标注的验证场景,工业界大多数时候没有真实标签,主要用内部指标。

16.4.2 内部指标:无真实标签时的评估

内部指标只根据数据本身的特征评估聚类效果,核心原则是 “簇内相似度高,簇间相似度低”。 轮廓系数:对每个样本,计算它到同簇其他样本的平均距离 a,和到最近簇所有样本的平均距离 b,轮廓系数就是 (b-a)/max (a,b)。取值 - 1 到 1,越接近 1 说明聚类效果越好,接近 0 说明样本在簇边界,负数说明分错了。轮廓系数是最常用的聚类内部指标,综合衡量了簇内紧凑度和簇间分离度。 CH 指数:簇间方差和簇内方差的比值,越大说明簇间差异越大、簇内越紧凑,聚类效果越好。CH 指数计算速度快,适合大规模数据。 DB 指数:衡量不同簇的平均相似度,越小说明簇之间越不相似,聚类效果越好。

需要注意的是,内部指标不是绝对的,只能作为参考,最终聚类效果好不好,还要结合业务场景判断。比如用户分群,最终要看不同群体的行为差异是否显著、运营是否有区分度,而不是只看指标数值。

16.4.3 K 值选择方法

K-Means 等算法需要指定 K 值,选择合适的 K 是聚类的核心难题,常用三种方法: 肘部法则:画出不同 K 值对应的 SSE 曲线,曲线拐点对应的 K 就是最优值。SSE 随着 K 增大持续下降,当 K 达到真实簇数时,下降幅度会骤减,形成肘部。肘部法则简单直观,但很多时候拐点不明显。 轮廓系数法:计算不同 K 值的平均轮廓系数,轮廓系数最大的 K 就是最优值。适合簇分离度较好的场景。 业务经验法:工业界最实用的方法。结合业务需求确定簇的数量,比如用户分群通常分 4 到 8 类,太多不利于运营,太少区分度不足。技术指标只是参考,最终要服务于业务目标。

16.5 降维算法概述

16.5.1 维度灾难

高维数据带来很多问题:首先是计算量爆炸,特征维度越高,模型训练和预测的计算量越大;其次是样本稀疏,维度越高,样本在空间中越稀疏,距离度量失效,很多算法效果急剧下降;第三是冗余噪声多,高维特征中很多是冗余的,不仅没用还会引入噪声,导致模型过拟合。这就是维度灾难。

降维是解决维度灾难的核心手段,它将高维数据映射到低维空间,同时尽可能保留核心信息。降维不是简单地扔掉部分特征,而是通过数学变换,用更少的维度承载尽可能多的信息量。

16.5.2 降维的价值与应用场景

降维的价值体现在四个方面:降低计算开销,提升模型训练和推理速度;去除冗余噪声,提升模型泛化能力;数据可视化,将高维数据降到二维或三维,直观观察数据分布;辅助数据分析,发现数据的聚类结构和异常点。

典型应用场景包括:高维特征预处理,先降维再输入监督模型;大模型表征可视化,把高维的 Embedding 降到二维,观察语义聚类效果;异常检测,低维空间更容易识别离群点;数据压缩,减少存储和传输成本。

16.5.3 降维算法的分类

降维算法分为线性和非线性两大类: 线性降维:假设数据存在线性结构,通过线性变换映射到低维,代表算法是 PCA 主成分分析。线性降维计算快、可解释性强,是工业界的首选。 非线性降维:捕捉数据的非线性流形结构,在低维空间保留局部或全局相似性关系,代表算法是 t-SNE、UMAP。非线性降维可视化效果好,但计算慢,不适合大规模数据预处理。

16.6 经典降维算法详解

16.6.1 PCA:最经典的线性降维

主成分分析 PCA 是应用最广泛的降维算法,核心思想是寻找一组正交的主成分,让数据投影到主成分上后方差最大,也就是用最少的维度保留最多的原始信息。

数学原理

PCA 的求解步骤可以概括为四步: 第一步,对原始数据做中心化,每个特征减去均值,保证均值为 0; 第二步,计算数据的协方差矩阵,衡量特征之间的相关性; 第三步,对协方差矩阵做特征值分解,得到特征值和对应的特征向量; 第四步,按特征值从大到小排序,取前 k 个特征向量作为投影矩阵,将原始数据投影到低维空间。

特征值越大,说明对应主成分承载的信息量越多。前 k 个主成分的方差和占总方差的比例,就是解释方差比,用来衡量降维后的信息保留程度。

核心优缺点

优势:计算速度快,时间复杂度低,适合大规模高维数据;结果可解释性强,每个主成分都可以对应原始特征的线性组合;无参数,不需要复杂调参,结果稳定可复现。 劣势:只能捕捉线性关系,无法处理非线性结构;对异常值敏感,离群点会严重影响主成分方向;降维后特征失去原始物理意义,可解释性下降。 PCA 是工业界降维的首选基线方案,绝大多数场景下优先用 PCA,效果不好再考虑非线性降维。

工程使用要点

降维前必须做特征标准化,否则量纲大的特征会主导主成分;保留维度数 k 可以通过解释方差比确定,比如保留 95% 的方差,自动计算对应的 k;PCA 也可以用于去噪,丢弃方差小的主成分,保留主要信息,去除噪声。

16.6.2 t-SNE:可视化首选的非线性降维

t 分布邻域嵌入 t-SNE 是最常用的可视化降维算法,专门用于把高维数据降到二维或三维,做可视化展示。它的核心思想是:高维空间中相似的样本,在低维空间中也应该距离近;不相似的样本,在低维空间中距离远。 t-SNE 引入了 t 分布来缓解高维空间的距离拥挤问题,能够很好地保留数据的局部结构,可视化效果非常漂亮,聚类边界清晰。

但它也有明显的缺点:计算速度非常慢,样本量大的时候要很久;全局结构保留不好,不同簇之间的距离没有物理意义;结果有随机性,每次运行结果不一样;只能降维到 2 到 3 维,不适合做特征预处理。 t-SNE 是纯可视化工具,几乎不用作模型的特征预处理。

16.6.3 UMAP:更高效的流形降维

UMAP 是新一代的流形降维算法,兼顾了局部结构和全局结构的保留,可视化效果不亚于 t-SNE,同时计算速度快很多,能够处理大规模数据。 和 t-SNE 相比,UMAP 有几个优势:速度快,样本量大的时候优势尤其明显;保留更多全局结构,簇之间的相对位置更有意义;支持增量降维,可以处理流式数据;结果更稳定,随机性更小。 现在越来越多的场景开始用 UMAP 替代 t-SNE 做高维数据可视化,是当前的主流可视化降维方案。

16.7 代码实战:聚类与降维落地

16.7.1 K-Means 聚类与轮廓系数计算

基于 Scikit-learn 实现 K-Means 聚类的标准流程非常清晰:首先对特征做标准化,消除量纲影响;初始化 KMeans 模型指定簇数;在数据上训练并得到每个样本的簇标签;最后计算轮廓系数评估聚类效果。 工程中通常会遍历不同的 K 值,分别计算轮廓系数和 SSE,结合肘部法则和业务需求确定最终的簇数。固定随机种子可以保证结果可复现,是实验的标准操作。

16.7.2 PCA 降维实战

PCA 的调用同样简洁:初始化 PCA 模型,指定保留的维度数或者目标解释方差比;对标准化后的数据做拟合变换,得到降维后的特征;通过解释方差比属性可以查看每个主成分的信息占比,以及累计信息保留率。 工业界常用的做法是设置保留 95% 的方差,让算法自动计算最优维度数,在信息损失可控的前提下最大化降维幅度。

16.7.3 聚类 + 降维可视化标准流程

工业级数据分析的标准可视化流程分为两步:先用 PCA 把高维数据降到中等维度,比如 50 维,去除噪声和冗余;再用 t-SNE 或 UMAP 降到二维,做最终的可视化展示。 先做 PCA 预处理可以大幅提升 t-SNE 的速度和效果,避免高维噪声干扰可视化结果。最后用散点图展示,不同聚类标注不同颜色,就能非常直观地看到数据的分布结构和聚类效果。

16.8 工程落地的选型与调参经验

16.8.1 聚类算法选型指南

数据量大、球状分布、已知大致簇数:优先选择 K-Means++ 或 MiniBatch K-Means 作为基线方案,速度快、效果稳定; 需要发现任意形状簇、识别异常点:选择 DBSCAN,适合密度相对均匀的数据集; 小样本、需要层级结构、探索性分析:选择层次聚类,支持灵活调整聚类粒度; 需要概率软分配、输出样本归属概率:选择高斯混合模型 GMM。

16.8.2 聚类工程化常见坑

特征预处理不到位:聚类高度依赖距离计算,必须做标准化或归一化,量纲不一致会导致距离计算完全失真; 高维数据直接聚类:高维空间距离度量失效,聚类效果极差,一定要先做 PCA 降维,再进行聚类; 唯指标论:内部指标只是参考,最终必须结合业务逻辑验证聚类的可解释性和业务价值,业务上有意义的聚类才是好聚类; 忽略随机性:K-Means 类算法有随机性,重要场景要多次运行取稳定结果,或者固定随机种子保证可复现。

16.8.3 降维算法选型

特征预处理降维:优先选择 PCA,速度快、结果稳定、可解释性强,是工业界标准方案; 可视化展示:优先选择 UMAP,效果好、速度快,支持大规模数据;小样本精细可视化可以用 t-SNE; 非线性结构数据:考虑核 PCA 或流形降维,捕捉非线性关系。

16.9 聚类降维与大模型的深度关联

很多人觉得无监督学习和大模型无关,实际上二者底层逻辑高度互通。 第一,大模型预训练本质是无监督表征学习。大模型在海量无标注文本上自监督训练,学习通用的语义表征,本质就是高维空间的无监督特征提取,和降维的核心目标一致:用低维稠密向量承载高维语义信息。 第二,语义聚类是大模型数据处理的核心工具。大模型训练语料去重、难例挖掘、主题筛选,都依赖 Embedding 聚类。通过把文本向量做聚类,可以快速发现重复内容、小众主题,优化语料分布。 第三,降维可视化是大模型可解释性的重要手段。把大模型输出的高维 Embedding 降到二维,观察不同类别、不同主题的聚类情况,可以直观分析模型的表征质量、偏见问题、语义边界。 第四,向量检索的底层是近邻思想。RAG 中的向量检索,本质和聚类的距离度量思想一致,都是基于向量相似度查找最相关的内容。ANN 近似最近邻算法,很多就是基于聚类的思想实现的,比如 IVF 索引就是先聚类再检索。

16.10 本章小结

本章系统讲解了聚类与降维两大无监督核心任务,覆盖算法原理、评估方法、工程选型、大模型关联多个维度。核心知识点回顾:

  1. 聚类是无监督学习核心任务,分为划分式、层次、密度等多个流派,K-Means 是工业界基线首选;
  2. 聚类评估分为外部指标和内部指标,K 值选择要结合技术指标和业务需求;
  3. 降维解决维度灾难,PCA 是线性降维标准方案,t-SNE、UMAP 用于可视化;
  4. 工程落地要重视特征预处理,算法选型匹配数据特征和业务目标;
  5. 聚类降维的核心思想在大模型语料处理、表征分析、向量检索中广泛应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值