2.3 无监督学习:聚类与降维


2.3 无监督学习:聚类与降维

本节摘要:把标签全部拿掉,机器还能学到什么?本节回答无监督学习这道题:老师缺席时,学习的对象换成数据自身的结构。聚类负责找出数据中的自然村落——K 均值围着簇心迭代归堆,层次聚类自底向上并簇成树,DBSCAN 按密度圈地并顺手把边缘的孤点标成噪声;降维负责把高维数据压扁而不失魂——主成分分析沿方差最大的方向投影,流形学习再接管弯曲的非线性结构。两件工具常组成先降维后聚类的组合拳。关键词:簇、肘部法则、密度、维度灾难、主成分、流形。

上手前先明确

  1. 说清无监督学习与监督学习在数据要求与学习目标上的差别;
  2. 描述 K 均值的迭代步骤,会用肘部法则和轮廓系数帮它定 K;
  3. 区分层次聚类与 DBSCAN 的适用边界,讲出核心点、边界点、噪声点;
  4. 解释维度灾难为何逼出降维,说出主成分分析与流形学习各自保留什么。

一、老师缺席之后:结构自会长出来

1957 年,贝尔实验室的工程师劳埃德在琢磨脉冲编码调度的量化问题时,提出了一个反复"归堆、求均值"的分组办法。这个当时为了通信压缩而生的小技巧,后来成为无监督学习里被引用最多的算法之一——K 均值。它的身世说明一件事:在没有人给答案的地方找结构,这个需求早就埋伏在工程史里,等数据多了才成气候。

无监督学习的处境可以用地质勘探讲清楚。监督学习像储量已探明的矿区,每挖一箱矿都有化验单;无监督学习面对的是一张只有磁异常图的野外——没有化验单,没有人告诉你哪里是矿、哪里是石头,你手里的只有测量数据本身。普查队员靠异常的形状、密度、走向圈出可疑地带,无监督算法靠样本间的相似性与分布规律圈出数据的自然结构。结构不是被教出来的,是从数据里自己长出来的。

两条路线的差别,可以摆在一起看:

维度 监督学习 无监督学习
数据要求 带标签的训练数据 不带标签的原始数据
学习目标 学输入到输出的映射,为了预测 发现内在结构与模式,为了理解
典型任务 分类、回归 聚类、降维、异常检测
典型应用 图像识别、医疗诊断、金融风控 市场细分、社交网络社群、基因组分析
验收方式 拿标签对答案 靠结构指标与业务解释

没有标签不等于没有价值。电商想知道客户分几类人,没有哪位专家能提前给出答案;社交平台想找出抱团的用户社群、生物学家想在基因表达数据里找关联的基因簇、安全团队想从流量里揪出入侵行为——这些问题的答案本来就藏在数据里,等算法来挖。信用卡欺诈检测是无监督的另一片主场:欺诈模式天天变,昨天打上的标签今天可能就过期,倒是"与大多数交易不像"这个信号长盛不衰,异常检测要抓的正是它。

无监督学习的两大主干任务,一图看全:

二、聚类:找数据的自然村落

聚类的目标朴素:把样本自动划成若干簇,同簇的彼此相似,异簇的差别够大。三款主流算法,三种脾气。

K 均值的玩法是一个四拍循环:先随机放 K 个簇中心;把每个样本分给离它最近的中心;再把每个中心挪到本簇全体成员的平均位置;然后回到第二拍,直到中心不再明显移动。像在广场上插 K 面旗,人群朝最近的旗聚拢,旗再挪到人群中央,几个回合之后,村落就稳定了。

它快、它简单,毛病也不少。K 要预先指定,可现实里谁告诉你客户该分七类还是八类?工程上常用两条线索:肘部法则把不同 K 下的簇内平方误差和画成曲线,找下降明显放缓的"手肘"处;轮廓系数同时看簇内抱得紧不紧、簇间离得远不远,挑系数高的 K。两个办法都只是参考,最终还得业务说得通才算数。此外,初始中心放歪了结果就跟着歪,跑几次取最稳的一解是常规保险;异常值会把均值中心拽偏;它心里默认簇是球形的、大小相近的,遇到长条形或月牙形的簇就抓瞎。

层次聚类不急着定 K。自底向上的聚合式从"每个样本自成一簇"起步,每一步合并最相似的两簇,直到并成一棵完整的聚类树,谱系图记录了每一步合并的距离。想看两个大类就把树切在高处,想看十个小类就切在低处——K 不再是先验承诺,而是事后裁剪。簇与簇的相似怎么算,有四套链接准则:单链接取两簇最近点的距离,全链接取最远点,平均链接取所有点对的平均,Ward 链接专挑让簇内方差增加最小的合并。代价是计算量:样本两两之间的距离矩阵都得摆出来,大数据集扛不太住;而且合并一旦完成无法反悔,早先的错并会一路带到树顶。

DBSCAN 换了个问法:不问"离哪个中心近",问"这里挤不挤"。它设两个参数——邻域半径 ε 和门槛点数 MinPts。一个点的 ε 邻域里至少有 MinPts 个邻居,它就是核心点;自己不够挤、却蹲在某个核心点邻域里的,是边界点;两头都不沾的,是噪声点。核心点连成片,就是一片簇。这套逻辑带来两个礼物:簇可以是任意形状,月牙、环形都认;而且天然自带垃圾处理——噪声点直接标出来,不被硬塞进任何簇。异常检测恰好就看中这一手。它的软肋在参数:ε 和 MinPts 不好定,且全数据集一个密度标准,遇上各处密度悬殊的数据就顾此失彼。

算法 要不要预设 K 簇形状假设 噪声处理 计算成本 适用场景
K 均值 球形、大小相近 无,硬分 大规模快分堆
层次聚类 不要,事后切 由链接准则决定 敏感 需要看层次结构
DBSCAN 不要 任意形状 标记噪声点 异常检测、怪形状

⚠️ 常见坑:拿 K 均值硬啃非球形数据。客户行为常常呈带状或环状分布,K 均值会拿直线把月牙拦腰切开,还切得理直气壮。先看数据的二维投影再选算法,别让算法的假设替你做主。

💡 关键直觉:聚类是地质普查的圈异常。普查队员不预报储量,只负责把"这块地和周围不一样"圈出来;聚类算法也不解释为什么,只负责把"这群样本抱得紧"划出来。圈出来之后往里填什么业务含义,是人的活。

三、降维:把高维压扁而不失魂

聚类对付样本的拥挤,降维对付特征的膨胀。一张客户表动辄几百上千个特征,多数还互相勾连——收入与消费额、面积与房间数,说的本来就是同一件事的不同侧面。特征越多,麻烦越大:数据在高维空间里变得稀疏,样本之间的距离个个拉得很开,"近邻"失去了含义;模型参数跟着膨胀,过拟合的风险水涨船高;人眼最多看三维,几百维的分布根本画不出来。这一串麻烦有个正式名字:维度灾难。

降维的解法可以借炼厂讲明白。原油是几百种烃类的混合物,炼厂并不为每种组分单独设管线,而是送进蒸馏塔,按沸程切成汽油、煤油、柴油几条馏分——组分压缩了几个数量级,价值的绝大部分保住了。主成分分析 PCA 干的就是这件事:把原始特征重新组合成少数几个主成分,每个成分都是原特征的线性组合,组合的原则是让新方向上的方差尽可能大——方差大的方向,才是样本真正铺得开、信息装得多的方向。

PCA 的工艺流程有五步:数据先标准化,把各特征拉到同一量纲;算协方差矩阵,摸清特征之间的线性关系;对矩阵做特征值分解,特征向量给出主成分的方向,特征值给出该方向装了多少方差;按方差贡献率挑出前 k 个主成分;把数据投影过去,高维就压成了低维。这条流水线可以追溯到 1901 年统计学家皮尔逊的工作,一百多年后仍是数据预处理桌上最常用的扳手。

它的边界也清楚:只认线性关系,弯曲的结构拉不直;主成分是原特征的线性组合,每个成分的物理含义常常说不清;协方差矩阵怕异常值,几个野点就能把主成分方向带歪。而且压缩必然丢信息,留几个成分、丢几个成分,本质上是在占地和损失之间做工程折中——通常看累计方差贡献率达到八九成便收手。

数据若是弯着长的呢?把一张纸卷成瑞士卷,纸上两点的直线距离很近,沿纸面走却很远——真实的关系在曲面上。流形学习登场:它假设高维数据其实铺在某个低维流形上,任务是把这张卷曲的纸重新摊开。局部线性嵌入 LLE 相信每个点都能由近邻线性拼出,摊开后也保持这份拼法;等度量映射 Isomap 用测地距离——沿流形表面走的路程——代替直线距离,再设法在低维里保住这些路程;t-SNE 则专心保住局部邻域关系:高维里挨得近的点,降到低维还要挨得近,至于远处的全局距离,它管不了那么多。这份"重局部、轻全局"的取舍让它成了高维数据可视化的头号选手,基因表达谱、词向量云图,十有八九是它画的。

⚠️ 常见坑:把 t-SNE 的图当地图用。它只承诺局部邻居不散,图上两个簇离得远不远、簇的个头谁大谁小,都不作数。调一调困惑度参数,同一份数据能画出两种画风。看局部结构可以信它,量全局距离请换工具。

💡 关键直觉:降维是蒸馏,不是裁剪。直接砍特征像把原油一半倒掉,好坏全凭运气;蒸馏塔把几百种组分收成几条馏分,价值曲线的头部留下了。PCA 留的是方差最大的方向——数据铺得最开的地方,就是信息最稠的地方。

四、组合拳:先压缩,再归堆

聚类与降维不是两套互不相干的功夫,实战里常常前后脚出场。

最经典的搭档是"先降维后聚类"。特征成百上千维时,距离计算既慢又失真,K 均值在高维空间里等于蒙着眼归堆;先用 PCA 把特征压到几十维,去冗余、滤噪声,再交给聚类算法,速度和质量常常同时上台阶。图像检索里有一路经典做法:把高维图像特征做主成分分析,再对压缩后的特征做 K 均值,图片就按视觉相似性自动归了档。

反过来的次序也有用武之地。先聚类再降维,为的是看清每个簇:客户数据聚出几群人之后,把每群人的代表特征抽出来降维可视化,运营团队一眼就能看出哪群是价格敏感型、哪群是品牌忠诚型。降维在这里的角色是翻译——把高维的族群结构翻译成人眼能读的二维草图。

两条路线合在一起,就是一条朴素的勘探作业流:地震剖面先压出主干构造(降维),再在主干构造上圈定异常区块(聚类),最后由地质人员给每个区块填上解释。算法圈结构,人填意义,分工从来如此。

常见问题

没有标签,聚类结果怎么知道好坏? 一类是内部指标,不依赖任何外部答案:轮廓系数看簇内紧凑与簇间分离,越接近 1 越好;戴维森堡丁指数看类似的账,数值越小越好。另一类是外部对照:如果手里攒了一小批事后核实过的真实分组,可以拿调整兰德指数、互信息去比对聚类与真值的一致程度。指标之外,最终裁判永远是业务解释——分出来的每一簇,业务方叫得出名字,聚类才算落了地。

K 到底定几?业务非要一个确切数字。 肘部法则与轮廓系数先各给一个候选,两候选打架时,优先选业务能解释的那个。聚类服务于决策:营销预算养得起几套文案,客户就分几群,这个约束有时比任何指标都硬。

温故知新

  • 无监督学习的处境像只有磁异常图的野外普查:没有化验单,结构从数据里自己长,理解优先于预测。
  • K 均值是四拍循环:放中心、就近分配、挪到均值、收敛为止;K 靠肘部法则与轮廓系数定,初始中心与异常值都能带偏它。
  • 层次聚类并出一棵谱系图:单链接、全链接、平均链接、Ward 链接四套准则,切在不同的高度得到不同粒度,代价是算不动大数据且错并不可逆。
  • DBSCAN 按密度圈地:核心点、边界点、噪声点三分,任意形状的簇都能认,异常检测是它的主场,软肋是 ε 与 MinPts 难定、密度不均时失手。
  • 维度灾难是降维被逼出来的历史压力:高维里数据稀疏、距离失真、模型易过拟合、人眼画不出。
  • 主成分分析是蒸馏:标准化、协方差矩阵、特征值分解、按方差贡献率选 k、投影,五步压扁而留住大头方差;只认线性、含义难讲、怕异常值。
  • 流形学习摊开卷曲的纸:LLE 保局部线性拼法,Isomap 保测地距离,t-SNE 保局部邻域、专供可视化,但图上的全局距离不可当真。
  • 先降维再聚类是常见组合拳:压缩提速去冗余,归堆出结构,解释填意义。

没有标签能挖出结构,可标签稀缺到只剩一小撮时呢?而有些任务连特征带标签都谈不拢,只剩一个分数好坏?下一节看两位非常规老师——稀缺的标签与延迟的奖励,怎么各显神通。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U