大语言模型时代的无监督学习:聚类与降维全解析
2026/4/6 18:34:33 网站建设 项目流程
从K-Means到PCA一篇讲透无监督学习的核心算法引言为什么你需要关注无监督学习在工业4.0时代数据每天都在以惊人的速度增长。然而现实情况往往是数据堆积如山标签却寥寥无几。获取标注数据需要大量的人工成本和时间投入这在许多场景下几乎不可行。这正是无监督学习大显身手的地方。无监督学习顾名思义在没有任何标签的情况下仅依靠数据本身的内在结构来发现规律。它就像一名侦探面对一堆杂乱的线索不需要任何人告诉他真相是什么而是依靠线索之间的关联自己推理出模式。从市场细分到图像分割从异常检测到基因分析无监督学习正悄然改变着各个行业的运作方式。2026年的一项研究显示基于Transformer的无监督异常检测模型USAGI在MVTec AD数据集上的AUROC达到了98.2%在VisA数据集上更是高达99.5%展现出惊人的性能。这表明无监督学习不仅在“可行”的范畴内更正在走向“卓越”。本文将带你系统掌握无监督学习的两大核心领域——聚类和降维。我们会深入到K-Means、层次聚类、DBSCAN、SVD和PCA的数学原理并结合最新的应用案例和完整的代码实战让你不仅“知其然”更“知其所以然”。一、聚类——让数据“物以类聚”1.1 什么是聚类聚类的核心思想其实就一句话物以类聚人以群分。它试图将数据集中的样本划分为若干个“簇”使得同一簇内的对象彼此相似不同簇间的对象差异明显。由于聚类算法不需要预先标注的标签它完全依赖数据本身的内在结构和特征进行分组。聚类结果所代表的“概念”和“语义”需要由使用者来把握和命名这也是无监督学习“无监督”二字的含义所在。聚类的实现通常包含三个核心步骤定义相似性选择一个合适的度量标准如欧氏距离、余弦相似度等来衡量对象间的距离、分组根据相似性将对象分配到不同的簇中、优化通过迭代或直接计算来调整簇的划分最大化簇内相似性和簇间差异性。聚类算法的三大流派根据其核心思想聚类算法可以大致分为以下三类流派代表算法核心思想适用场景划分式K-Means、K-Medoids将数据划分为K个互斥的簇数据量大、簇形状近似球形层次式聚合聚类、分裂聚类构建簇的层次树状结构需要探索不同粒度的聚类结果密度式DBSCAN、OPTICS将高密度区域视为簇簇形状不规则、存在噪声数据1.2 K-Means聚类简洁而强大的划分式方法K-Means可能是最广为人知的聚类算法。它基于一个朴素的想法每个簇应该有一个“中心点”而数据点应该归属于离它最近的那个中心点。1数学原理K-Means的核心是最小化样本到其所属簇中心的距离平方和W(C)∑l1k∑i1nl∥xi−xˉl∥2W(C)∑l1k∑i1nl∥xi−xˉl∥2其中$\bar{x}_l$是第$l$个簇的中心。这是一个组合优化问题n个样本分到k个簇的所有可能分法数目为S(n,k)1k!∑l0k(−1)l(kl)(k−l)nS(n,k)k!1∑l0k(−1)l(lk)(k−l)n这个数目是指数级的在现实中无法穷举因此通常采用迭代近似求解。2算法流程K-Means的执行过程可以用一个简单的循环概括初始化随机选择k个样本点作为初始簇中心分配计算每个样本到各个簇中心的距离将样本分配到最近的簇更新重新计算每个簇内所有样本的均值作为新的簇中心重复步骤2-3直到簇中心不再变化或达到迭代上限3K值的确定——肘部法则K-Means最大的痛点之一就是需要事先指定K值。如何找到最优的K值肘部法则Elbow Method是最常用的方法之一。它通过绘制不同K值对应的簇内平方和WCSSWithin-Cluster Sum of Squares曲线寻找“肘部点”——即WCSS下降速度显著减缓的位置。肘部法在学术研究和工业实践中都被广泛采用例如在K-means-XGBoost集成分类方法中研究者正是使用肘部法来确定最优的聚类数量。4K-Means的局限与改进K-Means虽然简单高效但也有着明显的短板对初始中心敏感不同的初始化可能导致完全不同的聚类结果。为此scikit-learn中默认使用k-means初始化策略通过概率分布选择初始中心能够显著提高收敛速度和聚类质量。不适合非凸形状簇K-Means假设簇是球形的对于环形、月牙形等复杂形状的数据无能为力。对噪声敏感离群点会严重影响簇中心的计算。1.3 层次聚类构建数据的家族谱系层次聚类不要求指定K值而是构建一个簇的“家谱树”称为树状图Dendrogram。它主要分为两种方式聚合聚类自下而上开始时每个样本自己就是一个簇然后反复将最近的两个簇合并直到达到预设的簇数量或满足停止条件。分裂聚类自上而下开始时所有样本在一个簇中然后反复将簇分裂直到每个样本自成一组。层次聚类的结果以树状图形式呈现纵轴表示簇间距离。通过在不同高度“横切”这棵树我们可以得到不同粒度的聚类结果。这种多层级结构在生物信息学中尤为常见——基因表达数据的层次聚类可以同时展示物种大类门类和具体物种科属的关系。2025年层次聚类技术有了令人振奋的突破。研究者提出了HERCULESHierarchical Embedding-based Recursive Clustering Using LLMs for Efficient Summarization这是一个将分层K-Means与大语言模型深度集成的Python包。HERCULES通过递归应用K-Means构建簇的层次结构并利用LLM为每一层的簇生成语义丰富的标题和描述大大增强了聚类结果的可解释性。具体而言它支持两种模式直接模式基于原始数据嵌入或数值特征进行聚类和描述模式基于LLM生成的摘要的嵌入进行聚类用户还可以通过提供topic_seed来引导LLM的摘要生成方向。1.4 DBSCAN密度驱动的聚类革命如果数据点的分布形状不规则或者存在大量噪声K-Means和层次聚类可能会力不从心。这时基于密度的聚类算法DBSCAN就能大显身手。1核心概念DBSCAN的核心思想是簇是由高密度区域构成的这些区域被低密度区域分隔开。它引入了几个关键概念核心对象Core Object在半径$\epsilon$的邻域内包含至少MinPts个样本的点密度直达点$q$在点$p$的$\epsilon$邻域内且$p$是核心对象密度可达存在一系列密度直达的点从$p$到$q$连通密度相连存在核心对象$o$使$p$和$q$都从$o$密度可达2算法流程根据$\epsilon$和MinPts找出所有核心对象从任一核心对象出发找出所有由其密度可达的样本形成一个簇重复步骤2直到所有核心对象都被访问过未被归入任何簇的样本被标记为噪声点3DBSCAN的优势与改进DBSCAN的优势显而易见不需要指定K值、可以发现任意形状的簇、能够自动识别噪声点。然而它也不是完美的。算法对$\epsilon$和MinPts两个参数非常敏感且在处理不同密度区域时效果欠佳。针对这些问题研究者们提出了大量改进方案。2025年一项研究提出了基于改进DBSCAN的道路障碍物点云聚类方法利用孤立核函数改进传统的距离度量方式显著提高了DBSCAN对不同密度区域的适应性和准确性。同年NaGB-DBSCAN算法通过结合自然邻居Natural Neighbor和颗粒球Granular-Ball的概念有效解决了DBSCAN参数调优困难的问题。此外还有研究者使用多智能体强化学习提出了AR-DBSCAN框架实现了对聚类参数的动态自适应调整。二、聚类效果如何评估由于聚类任务没有预定义的标签作为参考我们无法像监督学习那样计算准确率或F1分数。聚类的评估必须完全依赖于数据本身的内部结构。以下是最常用的几种评估方法。2.1 轮廓系数Silhouette Coefficient轮廓系数同时考虑了簇内的紧密度内聚度和簇间的分离度。对于每个样本点$i$计算$a_i$该点到同簇其他样本的平均距离内聚度计算$b_i$该点到最近其他簇样本的平均距离分离度单个样本的轮廓系数为sibi−aimax⁡(ai,bi)∈[−1,1]simax(ai,bi)bi−ai∈[−1,1]$s_i$越接近1表示该点被很好地聚类远离其他簇$s_i$接近0表示该点位于两个簇的边界上$s_i$为负数表示该点可能被分配到了错误的簇总体轮廓系数是全部$s_i$的平均值通常取平均轮廓系数最大的K值作为最佳聚类数。轮廓系数在实际应用中也常与肘部法则结合使用肘部法则通过寻找WCSS曲线拐点确定K值范围轮廓系数则从中选出最优解。2.2 肘部法则与WCSSWCSS簇内平方和衡量的是所有样本点到其所属簇中心的总距离平方和WCSS∑k1K∑i∈Ck∥xi−μk∥2WCSS∑k1K∑i∈Ck∥xi−μk∥2随着K值增大WCSS会逐渐减小。肘部法则就是要找到WCSS下降速度显著放缓的那个点——即“肘部”点这个点通常被认为是最佳的K值。2.3 CH指数Calinski-Harabasz IndexCH指数综合考虑了簇间分散度和簇内紧密度其计算公式为CHBCSS/(K−1)WCSS/(N−K)CHWCSS/(N−K)BCSS/(K−1)其中BCSS是簇间平方和WCSS是簇内平方和。CH指数越大表示簇间距离越大、簇内距离越小聚类效果越好。值得注意的是CH指数在业界也有实际应用——例如在客户细分研究中研究者使用FAMDFactor Analysis of Mixed Data方法结合K-Means和层次聚类进行客户细分时就使用了包括CH指数在内的多种指标来评估聚类质量。2.4 聚类评估代码实战import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.datasets import make_blobs from sklearn.metrics import silhouette_score, calinski_harabasz_score plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False # 生成3个簇的样本数据增加标准差使数据有一定重叠 X, y_true make_blobs(n_samples300, centers3, cluster_std5) # K-Means聚类 kmeans KMeans(n_clusters3) kmeans.fit(X) y_kmeans kmeans.predict(X) centers kmeans.cluster_centers_ # 可视化 plt.scatter(X[:, 0], X[:, 1], s50, cy_kmeans, cmapviridis) plt.scatter(centers[:, 0], centers[:, 1], s200, cred, marker*, label簇中心) plt.legend() plt.show() # 输出评估指标 print(簇内平方和: , kmeans.inertia_) print(轮廓系数: , silhouette_score(X, y_kmeans)) print(CH指数: , calinski_harabasz_score(X, y_kmeans))三、降维——化繁为简的数据压缩术在机器学习和数据分析中高维数据往往会带来“维度灾难”——数据变得极其稀疏计算复杂度呈指数级增长模型容易过拟合。降维技术应运而生它旨在用更少的特征捕捉数据的主要信息。3.1 奇异值分解SVD——矩阵分解的基石奇异值分解Singular Value Decomposition, SVD是一种通用的矩阵分解方法。SVD的理论基础是任何一个实矩阵都可以分解为三个矩阵的乘积AUΣVTAUΣVT$U$和$V$都是正交矩阵$UU^T I$$VV^T I$$\Sigma$是由奇异值构成的对角矩阵且奇异值按降序排列$\sigma_1 \geq \sigma_2 \geq \dots \geq \sigma_p \geq 0$SVD的一个重要性质是保留最大的$r$个奇异值及其对应的奇异向量可以得到原始矩阵的最优低秩近似。这一性质使得SVD成为数据压缩和降维的强大工具。SVD的计算过程传统上SVD可以通过以下步骤计算计算$A^TA$的特征值和特征向量得到$V$和$\Sigma$利用$u_j \frac{1}{\sigma_j} A v_j$计算左奇异向量补充额外的正交向量构造完整的$U$矩阵下面以矩阵$A \begin{bmatrix} 1 1 \ 2 2 \end{bmatrix}$为例演示计算过程$A^TA \begin{bmatrix} 5 5 \ 5 5 \end{bmatrix}$特征值$\lambda_1 10, \lambda_2 0$对应特征向量$v_1 \begin{bmatrix} 1/\sqrt{2} \ 1/\sqrt{2} \end{bmatrix}, v_2 \begin{bmatrix} 1/\sqrt{2} \ -1/\sqrt{2} \end{bmatrix}$奇异值$\sigma_1 \sqrt{10}, \sigma_2 0$左奇异向量$u_1 \frac{1}{\sqrt{10}} A v_1 \begin{bmatrix} 1/\sqrt{5} \ 2/\sqrt{5} \end{bmatrix}$最终分解得到$A U\Sigma V^T$。不过上述过程只是为说明计算原理实际应用中使用的是更为高效的数值计算方法。3.2 主成分分析PCA——寻找数据的主方向主成分分析Principal Component Analysis, PCA是最常用的降维方法。它的目标非常直观找到数据中方差最大的方向并用这些方向重新表达数据。1核心思想想象一下你面前有一片三维空间中的点云它们可能近似分布在一个平面上。PCA就是要找到这个“平面”的方向然后将所有点投影到这个平面上。这样我们就用两个维度平面的两个基向量替代了原来的三个维度。更正式地说PCA通过正交变换将可能线性相关的原始特征转换为一组线性无关的新特征称为主成分。主成分按照方差大小排序第一个主成分捕捉了数据中最大的变异方向第二个主成分在与第一个正交的方向上捕捉次大的变异方向以此类推。2数据预处理在进行PCA之前有一个至关重要的步骤——数据标准化。这是因为PCA对方差敏感如果不同特征的量纲差异很大例如一个特征以“米”为单位另一个以“厘米”为单位PCA会错误地将量纲大的特征视为主要变异来源。通常的做法是将每个特征规范化为均值为0、方差为1。3PCA的数学原理传统PCA通过协方差矩阵的特征值分解来实现SXXTXn−1SXn−1XTX其中$X$是标准化后的样本矩阵每列为一个特征每行为一个样本。特征值分解$S_X V\Lambda V^T$得到的特征向量$V$就是主成分的方向特征值$\lambda_i$衡量了第$i$个主成分所解释的方差大小。4用SVD实现PCA现代PCA实现通常采用SVD而非直接进行特征值分解主要原因有三数值稳定性更好避免了计算$X^TX$可能带来的数值精度损失计算效率更高对于大规模稀疏矩阵尤其明显可以处理矩阵非方阵的情况具有更好的通用性数学上可以验证将标准化后的样本矩阵$X$进行SVD分解$X U\Sigma V^T$代入协方差公式SXXTXn−1VΣTΣn−1VTVΛVTSXn−1XTXVn−1ΣTΣVTVΛVT这正是协方差矩阵的特征值分解形式其中$V$的列向量就是主成分方向而特征值$\lambda_i \frac{\sigma_i^2}{n-1}$。每个主成分的方差贡献率为σi2∑i1pσi2∑i1pσi2σi2这个比例帮助我们决定需要保留多少个主成分——通常选择累计贡献率达到85%-95%的前$r$个主成分。5PCA的代码实现import numpy as np import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.datasets import load_iris from sklearn.preprocessing import StandardScaler # 加载数据 iris load_iris() X iris.data y iris.target # 标准化PCA前必须做的预处理 scaler StandardScaler() X_scaled scaler.fit_transform(X) # 执行PCA降维到2维 pca PCA(n_components2) X_pca pca.fit_transform(X_scaled) # 查看解释方差比例 print(各主成分解释方差比例:, pca.explained_variance_ratio_) print(累计解释方差比例:, np.cumsum(pca.explained_variance_ratio_)) # 可视化 plt.figure(figsize(8, 6)) colors [red, green, blue] for i, color in enumerate(colors): plt.scatter(X_pca[y i, 0], X_pca[y i, 1], colorcolor, labeliris.target_names[i]) plt.xlabel(第一主成分) plt.ylabel(第二主成分) plt.title(PCA降维后的Iris数据集) plt.legend() plt.show()6PCA的最新应用PCA远非一个“过时的老方法”。2025年PCA在多领域的应用持续深化生物信息学一项研究提出了将PCA与MOORA多准则决策方法融合的新框架用于基因表达数据中的无监督特征选择。该框架在多个生物信息学数据集上验证相比单独使用PCA或MOORA在分类准确率和特征约简方面均有显著提升。网络安全在软件定义网络SDN的DDoS检测中研究者首先基于领域相关性对新生成的特征进行分类然后对每个类别分别应用PCA进行降维实现了更精准的检测。神经科学2025年提出的概率几何PCAProbabilistic Geometric PCA方法为神经数据分析提供了更灵活的概率框架克服了传统PCA只能处理线性结构的局限。四、实战案例——从理论到应用4.1 客户细分客户细分是市场营销中应用最广泛的无监督学习场景。电商平台希望了解用户的消费行为模式从而制定差异化的营销策略。通过K-Means聚类可以根据用户的消费频率、消费金额、品类偏好等特征将用户划分为几个典型的客户群体。2025年的研究表明结合因子分析混合数据FAMD和K-Means与层次聚类的方法能够在客户细分中获得更高质量的聚类结果为企业提供更精准的客户画像。典型应用流程收集用户的消费记录、浏览行为、基本信息等数据对数据进行清洗和特征工程构建用户画像特征使用肘部法则确定最优K值执行K-Means聚类获得用户分组分析每个簇的特征赋予商业含义如“高价值用户”、“流失风险用户”等4.2 图像分割图像分割是将图像划分为若干有意义的区域的过程。2025年无监督图像分割取得了突破性进展CLASP框架研究者提出的CLASPClustering via Adaptive Spectral Processing是一个轻量级的无监督图像分割框架它首先使用自监督ViT编码器DINO提取图像块特征然后构建亲和矩阵并应用谱聚类。通过特征值间隙eigengap轮廓搜索自动确定分割数量并使用DenseCRF锐化边界。在COCO Stuff和ADE20K数据集上CLASP达到了与最新无监督基线相当的mIoU和像素精度且完全无需标注数据或微调。农作物分割华中科技大学与中国科学院遗传与发育生物学研究所联合发布了DepthCropSeg这是全球首个农作物分割基础模型。该模型巧妙利用单目深度估计模型Depth Anything V2自动生成高质量的作物掩码实现了近乎无监督的作物分割在田间、无人机、高通量平台、手机拍摄等多个真实场景下均表现出色。4.3 异常检测在工业质检、金融风控、网络安全等领域异常检测有着重要的应用价值。2025-2026年无监督异常检测技术不断刷新性能记录USAGI模型USAGIUnsupervised Segmentation and Anomaly Gradient Interpretation是一个基于Transformer的无监督异常检测框架。它创新性地设计了Memory Transformer记忆转换器和Retrieval Transformer检索转换器两个核心组件前者在训练阶段从正常特征中构建记忆库后者在测试阶段检索并比较特征实现了细粒度的异常重建和分割。USAGI在MVTec AD数据集上达到98.2%的AUROC在VisA数据集上更是高达99.5%证明了无监督方法在复杂视觉异常检测中的巨大潜力。自动驾驶中的点云聚类在智能交通和自动驾驶中道路障碍物检测至关重要。2025年研究者提出了TCCO-DBSCAN算法利用孤立核函数改进距离度量并使用改进的猎豹优化算法自适应确定DBSCAN参数。在八个UCI数据集上的测试表明该方法在F-Measure、ARI、NMI等指标上均优于现有方法并成功应用于激光雷达点云数据的道路障碍物聚类。五、总结回顾全文无监督学习的价值已经不言而喻。在数据日益庞大、标注成本居高不下的今天无监督学习为我们提供了一条从数据中自主发现知识的有效路径。核心要点速记算法核心公式优点缺点K-Means$W(C) \sum_{l1}^k \sum_{i1}^{n_l} |x_i - \bar{x}_l|^2$简单高效需指定K对初始值敏感层次聚类树状图无需K值多粒度结果计算复杂度高DBSCAN密度可达/相连任意形状抗噪声参数敏感PCA/SVD$X U\Sigma V^T$降维保信息线性假设轮廓系数$s_i \frac{b_i - a_i}{\max(a_i, b_i)}$综合评估内聚与分离计算复杂度O(n²)肘部法WCSS vs K曲线拐点直观易用肘部点可能不明显聚类算法的选择在很大程度上取决于数据的特点如果数据呈球形分布且计算效率是首要考虑K-Means是首选如果需要探索不同粒度的层次关系层次聚类不可或缺如果数据形状不规则或存在大量噪声DBSCAN则是不二之选。而在面对高维数据时PCA和SVD则是最好的“信息浓缩”工具。随着大语言模型的崛起无监督学习正在迎来新的范式。HERCULES将LLM的语义理解能力融入层次聚类为聚类结果提供了前所未有的可解释性USAGI将Transformer架构引入异常检测刷新了多个基准数据集的最佳成绩。可以预见无监督学习将在数据科学和人工智能领域扮演越来越重要的角色。希望这篇文章能帮你建立起对无监督学习核心算法的完整认知。如果你对某个算法还有疑问欢迎在评论区留言讨论

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询