第三部 · 从数据中学习 · 第 11 章 · 已验收
无监督、自监督与表示学习
从八个可复算点出发,解释聚类、k-means、轮廓系数、PCA、降维与异常检测,再说明嵌入、掩码预测、对比学习及可视化边界,并以BERT原论文区分预训练目标、冻结特征与全参数微调。
导读:没有现成标签,不等于没有目标和选择
无监督学习(unsupervised learning)是一类不以逐样本外部目标标签为训练输入、而从观测数据中寻找结构的方法。例如,把八个二维点按相近位置分组;它与监督学习的差别在于训练数据没有“这个点属于第几类”的答案。可是距离、特征、簇数和算法仍由人选择,因此“无监督”不等于没有人的判断,也不等于结果揭示了天然类别。统计学习教材把聚类、主成分与其他无监督方法放在同一问题域中,同时强调目标往往不像监督预测那样容易验证。[1, §§14.1–14.3]
自监督学习(self-supervised learning)则从数据本身构造训练目标:遮住句中词再预测原词,或把同一图像的两种增强视作相关样本。它仍有明确损失和监督信号,只是目标不必由人逐条标注;代理任务学得的能力是否转移到真实任务,必须另测。
表示学习(representation learning)让系统从数据中学习供后续任务使用的特征表示,而不是完全依赖人工指定特征。例如,文本编码器把一段话映成向量,分类器再使用该向量。它可以出现在监督、无监督或自监督训练中。这里采用的口径是:广义上,自监督常被归入无监督,因为训练不使用逐样本人工外部标签;为讲清训练信号机制,本章将自监督单列,强调目标由数据按人为规则自动构造。表示学习描述学到的中间对象,可与上述训练方式重叠;三者既非互斥分类,也不是同义词。
读完本章,应能回答:一个聚类结果究竟优化了什么;k-means为何会受尺度、初值与 影响;PCA保留的“信息”具体是哪种方差;异常分数为何不是事故概率;嵌入和对比目标如何形成;二维t-SNE或UMAP图为何不能单独证明存在类别;BERT论文中的MLM、NSP、全参数微调与冻结特征实验分别说明什么。
11.1 一份贯穿全章的八点数据
本章用同一份原创虚构数据贯穿聚类、尺度选择、簇数、轮廓系数与PCA。八个点各有三个无量纲特征; 与 在本例中恰好相等,这是为了让冗余维度可见,不代表现实测量规律。点名只是索引,数据没有类别标签,也不对应任何人群。可下载精确整数坐标 /data/ch11-fictional-clustering.csv,所有派生量、舍入规则和计算口径见可机读的 /data/ch11-case-results.json;公开生成/只读校验脚本默认不写文件,运行 python3 ch11-generate-case.py --check 可在同目录核对CSV/JSON。
| 点 | x | y | z |
|---|---|---|---|
| P01 | −5 | −1 | −1 |
| P02 | −5 | 1 | 1 |
| P03 | −3 | −1 | −1 |
| P04 | −3 | 1 | 1 |
| P05 | 3 | −1 | −1 |
| P06 | 3 | 1 | 1 |
| P07 | 5 | −1 | −1 |
| P08 | 5 | 1 | 1 |
若只看 ,自然会画出“左四点/右四点”;若强调相等的 ,又会画出“下四点/上四点”。这正是教学目的:数据不会自行宣布哪种差异重要。特征的测量意义、单位、权重和下游用途先于算法输出。
11.2 聚类:分组规则先于分组结果
聚类(clustering)是一类按已选相似性、密度或概率模型,把没有目标标签的对象组织成组的任务。它可用于压缩样本、探索重复模式或提出待核查的候选组;但簇只是给定表示、算法和超参数下的结果,不自动等于物种、病型、用户本质或因果机制。
一种可靠的四步读法是:先说明为何要分组;再定义对象、特征与相似性;然后运行并检查初始化或重采样稳定性;最后用独立外部知识检验组是否有用。层次聚类产生随切割高度变化的树;密度方法寻找高密度连通区域并可留下噪声点;混合模型拟合概率成分;k-means则偏好欧氏空间中由均值概括的近似球形簇。它们回答的问题不同。教材系统讨论这些选择。[1, §§14.2–14.3]
11.2.1 k-means:同一数据也会收敛到不同解
k-means聚类(k-means clustering)把每个欧氏向量指派给 个中心之一,使簇内平方欧氏距离和(SSE)尽量小。它必须预先给出 ,并对尺度、离群点与初始化敏感。[2, §9.3]
数学可跳过。 式(11-1)到(11-2)用于精确定义目标和维度;不影响继续阅读八点结果与边界。
令 、; 个有限样本 位于适合欧氏距离的共同坐标系。令 为指派,并要求每个编号至少被一个样本使用(恰有 个非空簇); 为中心,则
若各坐标无量纲, 无量纲;若坐标同单位,则其单位是该单位的平方。不同物理单位未经有意义的换算便相加,目标就难以解释。对非空簇 ,,固定指派后的最优中心是
Lloyd算法交替执行“指派给最近中心”和“更新均值”,每步不增加 ,但通常只到局部解;平距离、空簇和停止条件都需要实现约定, 也可能不唯一。
同样的八点、同样的 ,只换初始化。 从P01与P05开始,第一轮即形成左右组,中心为 与 。每点在 三项的簇内平方偏差分别贡献1、1、1,故最终 。从P01与P02开始,则形成按 与 切开的上下组,中心为 与 ;此时误差全在 ,。两次都已收敛,后者却远非较小的目标值。
窄屏提示:上下两排数据和k完全相同;比较初始中心与最终SSE。
实践中应采用多次初始化,报告最优目标及运行间稳定性,而不是把某一次结果包装成唯一结构。初始化改进只能降低坏局部解风险,不能修复不合适的距离或问题定义。
11.2.2 尺度与 :改变的不是装饰,而是问题
表11-1按分母 计算的三列方差为 。在原始尺度下,左右解SSE为24、上下解为136;若每列分别减均值并除以总体标准差 ,左右解变为 ,上下解变为 。标准化没有改一行数据的身份,却反转了这两个候选划分的目标排序,因为它把三列赋予了不同相对权重。是否标准化必须由测量与用途决定,不能因某张图更好看而事后挑选。
同样定义问题。配套JSON给出脚本按明确候选划分算出的SSE: 分别为152、24、16、8;它们用于展示目标随候选划分和改变,不宣称脚本已证明一般全局最优。SSE随 增大不会上升;极端到 时每点自成一簇,SSE为0,却通常失去概括意义。因此不能仅选SSE最小者。肘部、轮廓、重采样稳定性和实际用途可提供不同证据,但都不能凭空产生“真实簇数”。
11.2.3 轮廓系数:内部几何检查,不是类别证明
轮廓系数(silhouette coefficient)比较一个点到本簇其他点的平均距离与到最近别簇的平均距离。它不需要真实标签,适合检查所选距离下的紧密与分离;同一理由也限定了它不能赋予簇现实语义。[3, §§2–4, Equation (1)]
数学可跳过。 下式只是把“本簇近、别簇远”写成可复算指标。
设 ,所有簇非空, 是有限对称距离且 。对所在簇至少有两个点的样本 ,
当分母大于0时, 且无量纲;接近1表示按该距离更贴近本簇,接近0表示边界,负值表示平均更接近另一簇。单点簇使 原定义无效,常约定 ;若 也须明确处理。总体均值 不应跨不同数据或距离直接比较。
在原始三维欧氏距离下,左右解各点轮廓为0.700178或0.620286,均值 0.660232;上下解各点介于−0.056121与0.003630,均值 −0.026245。这与24相对136的内部几何一致,却仍只回答“哪一划分更符合当前距离”。若标准化后问题已改变,或真实用途重视 ,原尺度轮廓不能越权裁决。
11.3 PCA与降维:特征值是17、2、0,仍不是任务答案
降维(dimensionality reduction)把高维表示映到较少坐标,以服务压缩、去噪、计算或可视化。每种映射都选择保留某类结构并舍弃其他结构。
主成分分析(principal component analysis,PCA)在中心化数据中寻找方差依次最大的正交方向,并投影到前若干方向;在相应欧氏条件下,它也最小化平方重构误差。它保留的是线性投影方差,不保证保留类别、异常、因果因素或非线性流形。[2, §12.1]
数学可跳过。 读者可直接看本节末的“17、2、0”解释;公式用于固定中心化、维度和零方差边界。
令 ,有限样本 ;,。本例明确用分母 的经验协方差
用 会同比例缩放特征值而通常不改变方向。对单位向量 ,,取正交方向并按 排序;投影 是标量。方向正负任意,重复特征值时单个方向不唯一。保留 个成分且总方差为正时,
总方差为0时该比值是 ,未定义。若原坐标同单位, 的单位是坐标单位平方;标准化后则无量纲。
八点均值为 ,协方差与特征值是
可取方向 、、。PC1解释 方差,PC2解释 ,PC3为0,因为设计中始终 。只留PC1会保留左右差异,却把P01与P02投到同一坐标−5;只看“89.47%很高”便会丢掉上下差异。零特征值仅说明这个样本在 方向没有变化,不证明现实中该方向永远无用。
PCA流程中的均值、缩放和方向必须只在训练数据拟合,再原样用于验证、测试与部署;在全数据先拟合PCA再交叉验证会泄漏评价折信息。标准化会把本例协方差谱和主方向也改掉,正如它改变k-means目标。所谓“解释方差”是坐标方差比例,不是“解释世界的百分比”。
11.4 异常检测:偏离常态只是分数,不是结论
异常检测(anomaly detection)是在已声明参照分布、邻域或规则下,为偏离常态的观测赋分或提出候选。例如在表11-1中加入P09=(20,20,20),它到近邻很远,可获高全局距离分;但“异常”描述统计偏离,不自动表示欺诈、故障、恶意或数据错误。综述区分点异常、情境异常与集合异常,并强调不同应用对正常性的定义不同。[4, §§1–3]
为何不直接做分类?现实中异常往往稀少、类型会变,可靠正例标签不齐;因此系统可从未标注数据、主要正常数据或少量已知异常估计分数。方法包括距邻居的距离、局部密度(与邻居相比是否处在稀疏区)、隔离难度、单类边界和重构误差。密度方法可识别“相对周围稀疏”的局部异常,但高维距离集中、邻域大小和边界点都会改变密度估计。训练输出通常是连续异常分数,阈值才把分数转成告警;阈值应按漏报、误报、人工复核容量和时间漂移验证。
它能排序待检查对象、发现传感器故障候选或数据管道变化;不能仅凭偏离程度判断原因。少数群体的正常行为可能因训练样本不足而被过度告警,攻击者也可能模仿多数模式。评价若只有随机切分,会把未来异常模式泄到训练;按时间回放、事件级而非逐行指标、告警负担和调查确认更接近部署问题。没有经确认标签时,内部“离群程度”只能检查算法自洽,不能冒充真实检出率。
11.5 从坐标到表示:嵌入、掩码与对比目标
嵌入(embedding)是把离散对象或高维对象映到连续向量空间的表示。例如词、句子或图像经编码器得到 维向量,后续系统可比较距离或训练分类器。嵌入中的接近关系来自训练目标、数据和度量,不等于人类意义上的相似,也不保证不同模型的坐标可直接比较。
设编码器 , 是对象 的嵌入, 是从数据学习的参数。表示可以是查表向量,也可以是神经网络随上下文计算的结果。训练阶段调整 ;使用阶段可冻结 ,也可连同下游模型继续微调。维数 大并不自动更有语义,余弦相似度也只有在归一化、零向量和使用目的被明确处理时才有意义。
掩码预测:答案来自被遮住的数据部分
掩码式自监督学习先从原始样本构造受损输入,再要求模型恢复被隐藏部分。句子“猫坐在垫子上”可把“垫子”遮住,输入剩余上下文,目标仍是原数据中的“垫子”。图像也可遮住patch再重构。它为何出现:逐条人工标签昂贵,而数据内部各部分能互相提供预测目标。关键不是“没有目标”,而是输入与目标由同一份原始数据按规则拆出。
代理目标会奖励对恢复任务有用的规律,却不保证表示适合每个下游任务。掩码比例、替换规则和数据来源都是监督设计;数据中偏见、重复、版权或隐私问题也不会因标签自动生成而消失。评估应明确三层:代理任务损失;冻结表示上的探测器;允许更新编码器的下游微调。三者用的参数自由度不同,成绩不能互换。
窄屏提示:从上到下阅读三层;冻结线性探测与微调是不同证据。
对比学习:定义哪些视图应该近、哪些应该远
对比学习(contrastive learning)是一类通过比较样本对或视图,使指定正对的表示相近、负对相对远离的表示学习方法。例如把同一张图的两种裁剪当正对,把批内其他图当负例;边界是“正/负”由增强和采样规则构造,不是数据天然宣布的语义关系。SimCLR展示了图像增强、共享编码器、投影头与对比损失组成的一条具体路线。[5, §§2–3 and Figure 2]
一个常见的批内损失写作
其中 是锚视图索引, 是它的指定正视图,求和遍历同一批次中除 外的候选视图; 是投影头输出, 为余弦相似度, 是无量纲正温度, 亦无量纲。分母包含一个正对和其余候选;具体实现还会对两个方向及批内所有正对取平均。零向量使余弦未定义,必须由实现避免或另行约定。该式与SimCLR的归一化温度缩放交叉熵一致。[5, Equation (1)]
若批次里只有正候选而没有负候选,分子等于分母, 却没有学会区分;若误把语义相同的另一对象当负例,损失会主动推远它。增强过强可能抹掉任务所需信息,过弱又可能让模型靠低级线索完成代理任务。对比学习可以减少某些任务的人工标签需求并学习可迁移表示;不能保证公平、因果或在新领域稳健,计算量和批次构成也会影响结果。
11.6 现实案例:BERT论文究竟训练和检验了什么
2018年发布、2019年收入NAACL-HLT论文集的BERT(Bidirectional Encoder Representations from Transformers)是自监督预训练与下游适配如何分层的清楚案例。按本章术语,它属于从数据构造目标的自监督预训练;原论文则把MLM和NSP称为“unsupervised tasks”,体现术语口径会随文献语境变化。以下数字和机制都按Devlin等人的原论文口径,不把后来以“BERT”命名的产品或变体归到原论文。[6, §§3–5]
两个预训练目标必须分开
- 掩码语言模型(masked language model,MLM)。 论文随机选择输入中15%的WordPiece token作为预测位置;在被选位置中,80%换成
[MASK],10%换成随机token,10%保持不变。损失要求预测这些被选位置原来的token,不是重构每一个输入位置。保留和随机替换用于减轻预训练出现[MASK]而下游不出现的错配。[6, §3.1 and Appendix A.2] - 下一句预测(next sentence prediction,NSP)。 每个预训练例含句段A与B;论文构造中,50%的B是语料中实际接在A后的句段(
IsNext),50%是从语料随机取的句段(NotNext),模型预测这一二分类标签。NSP不是MLM的另一名称,也不是要求生成下一句。[6, §3.1 and Appendix A.2]
论文的预训练语料是BooksCorpus约8亿词与英文Wikipedia约25亿词;Wikipedia只抽取文本段落,忽略列表、表格和标题。这里的“词”是论文的数据规模口径,不应偷换为清洗后WordPiece token数。语料主要是英文文本,也不能据此推断对其他语言或后来的网络表达同样有效。[6, §3.1, “Pre-training data”]
全参数微调与冻结特征不是同一检验
论文的主要下游路线是全参数微调:在预训练BERT顶端加入很少的任务特定参数,并在下游标注数据上联合更新BERT的全部参数与新增输出层。GLUE、SQuAD和SWAG等结果属于这种任务适配路线;它检验“预训练初始化加上该任务的标注微调”能达到什么,不是冻结表示本身已有多少可线性读取的能力。论文报告BERT-LARGE在当时GLUE测试汇总得80.5;在SQuAD 1.1测试集,经过TriviaQA额外微调的单模型为F1 91.8、完全匹配(EM)85.1;同样使用TriviaQA的七模型集成为F1 93.2、EM 87.4;七个系统使用不同的预训练检查点与微调随机种子,因此该数值不能归给单一模型或单次训练。任务版本、指标和单模型/集成不可省略,这些也都不是现实部署准确率。[6, §§3.2, 4.1–4.4 and Tables 1–2, 4]
论文另在CoNLL-2003命名实体识别上做了冻结特征实验:不微调BERT参数,而从一个或多个BERT层抽取token表示,输入随机初始化的双层、768维双向LSTM(bidirectional LSTM,BiLSTM),再训练任务模型。最好的冻结配置连接最后四层表示,只报告开发集F1为96.1;全参数微调BERT-Base为开发集96.4、测试集92.4,BERT-Large为开发集96.6、测试集92.8。[6, §5.3 and Table 7]
这个冻结实验常被宽泛称作feature-based或probe,但必须保留其结构边界:后面的双层BiLSTM是可训练的非线性序列模型,不是线性探测器。因此96.1不能证明命名实体信息在冻结BERT向量中“线性可分”,更不能证明无需任务标签——BiLSTM与分类层仍用CoNLL标签训练。反过来,全参数微调更灵活,也更难区分能力来自预训练表示还是下游参数更新。公平比较表示时,应固定探测器容量、数据量、选择流程与指标。
从论文基准到部署还缺哪些证据
BERT论文展示的是特定语料、模型规模、基准切分和2018年前后任务上的实验结果。它没有直接检验医疗分诊、内容审核或面向公众问答的长期部署,也没有给出分布漂移后的校准、公平性、延迟、能耗、隐私和人工复核表现。输入长度、分词、领域词汇和数据年代都会限定迁移。BERT是双向Transformer编码器;论文中的MLM预测不能直接等同于面向用户的自由文本生成服务。
一个负责任的部署链条至少要把以下对象分开报告:预训练损失;冻结线性或非线性探测器成绩;全参数微调的独立测试成绩;目标场景外部验证;上线后的决策与伤害指标。只引用GLUE分数,不能证明某个具体系统在具体人群中安全有效。
11.7 t-SNE与UMAP:二维邻近图不是类别证明
t分布随机邻域嵌入(t-distributed stochastic neighbor embedding,t-SNE)是一种主要用于可视化的非线性降维方法:它把高维邻近关系转成概率相似度,再寻找低维坐标以减小两种相似度分布的差异。重尾t分布有助于在二维中展开局部邻域;代价是全局距离、簇间空白和簇面积没有通常地图式解释。原论文把它定位为高维数据可视化方法。[7, §§2–3, 5]
统一流形逼近与投影(Uniform Manifold Approximation and Projection,UMAP)也是一种非线性降维方法:它从近邻图构造高维的模糊拓扑表示,再优化低维表示。其理论动机涉及关于流形与局部度量的假设;实际图形仍受近邻数、最小距离、度量、初始化和随机性影响。论文报告了可视化与一般降维用途,但参数含义和理论假设不应被省略。[8, Abstract and §§2–3, 5–6]
二者为何流行:几十到数千维的表示无法直接画,人需要查看局部邻域、批次效应或明显离群候选。正确流程是先在原空间声明距离与预处理,记录算法版本、参数和随机种子,再把二维图当作探索工具,并用原空间定量检验与外部标签验证发现。
尤其要避免四种过读:
- 图上两个岛不证明原空间存在两个天然类别;算法和参数可以制造或放大间隔。
- 岛与岛相距两厘米不表示原空间距离恰为另一对的两倍;尤其t-SNE强调局部而非全局几何。
- 岛的面积与点密度不直接等于原分布中的方差或概率密度。
- 同一数据换随机种子、perplexity、近邻数或
min_dist后布局改变,不表示对象本身改变。
在表11-1这种二维小数据上,直接散点图已完整显示坐标,使用t-SNE或UMAP只会增加不必要的优化层。对高维嵌入,至少并列报告多个合理参数/种子的稳定性,检查原空间近邻保持率,并避免在看图后用同一批标签宣称独立验证。可视化能提出问题,不能单独裁定类别、机制或个体命运。
11.8 一条可审计的实践路线
- 先定义对象。 样本单位是什么、时间窗口在哪里、哪些字段在使用时可得?无标签并不免除抽样偏差、重复样本和数据权利检查。
- 再定义结构。 聚类要声明距离、尺度和 ;PCA要声明中心化、缩放与保留维数;异常检测要声明参照常态与告警代价;自监督要声明代理目标与增强规则。
- 隔离选择与评价。 所有缩放、PCA方向、聚类超参数和阈值都只从开发数据选择。稳定性、内部指标和下游外部指标回答不同问题,应分别报告。
- 做有容量标记的表示评估。 冻结线性探测、冻结非线性探测、部分微调和全参数微调分别列出;探测器越强,越不能把成绩全归因于表示。
- 把部署写成新问题。 检查目标环境中的漂移、延迟、成本、群体差异与复核流程。二维图、代理损失或基准分数都不是上线许可。
核心概念
- 无监督学习:没有逐样本外部目标标签,但仍有人定义数据、表示和目标。
- 自监督学习:从数据本身构造代理目标,并用独立下游评价检验迁移。
- 表示学习与嵌入:前者是学习特征的过程,后者是常见连续向量产物。
- 聚类、k-means与主成分分析:分别是任务家族、特定分组算法和线性降维方法。
- 对比学习:由正负关系与采样规则塑造表示,而非发现未经定义的天然相似。
- 异常检测:输出相对于参照常态的偏离分数;阈值和调查决定告警,不自动给出原因。
本章小结
- “监督”首先描述训练信号来源。无监督不等于无人选择,自监督也不是无损失、无目标。
- k-means优化簇内平方欧氏距离;尺度、、初始化和簇形状改变结果。轮廓系数检查同一度量下的紧密与分离,不能赋予簇现实身份。
- PCA在声明的中心化与缩放下保留线性方差。高解释方差比不保证保留标签、异常或因果信息。
- 嵌入的几何由数据与目标塑造。掩码和对比代理任务可学习可迁移表示,但能力必须由容量明确的冻结探测或微调实验另行检验。
- BERT原论文的MLM与NSP是两个目标;全参数微调与冻结BERT后训练双层BiLSTM是两种不同证据,后者不是线性probe。
- t-SNE与UMAP适合探索高维邻域;二维岛屿、距离与面积不能单独证明天然类别或部署价值。
相关词条
机器学习 · 监督学习 · 无监督学习 · 自监督学习 · 表示学习 · 聚类 · k-means · 主成分分析 · 降维 · 异常检测 · 嵌入 · 对比学习 · Transformer
本页参考来源
- Hastie T, Tibshirani R, Friedman J. The Elements of Statistical Learning — Data Mining, Inference, and Prediction [M]. Springer, 2009. Second edition, corrected 12th printing 2017. 定位:§§14.1–14.3, especially §§14.2.1–14.2.4 and 14.3. DOI;稳定来源(访问 )。
- Bishop C M. Pattern Recognition and Machine Learning [M]. Springer, 2006. First edition. 定位:§§9.3 and 12.1. 稳定来源(访问 )。
- Rousseeuw P J. Silhouettes — A Graphical Aid to the Interpretation and Validation of Cluster Analysis [J]. Journal of Computational and Applied Mathematics, 20, 53–65. Journal of Computational and Applied Mathematics, 1987. 定位:§§2–4, especially Equation (1). DOI;稳定来源(访问 )。
- Chandola V, Banerjee A, Kumar V. Anomaly Detection — A Survey [J]. ACM Computing Surveys, 41(3), Article 15. ACM Computing Surveys, 2009. 定位:§§1–3. DOI;稳定来源(访问 )。
- Chen T, Kornblith S, Norouzi M, Hinton G. A Simple Framework for Contrastive Learning of Visual Representations [C]. PMLR 119, pp. 1597–1607. Proceedings of the 37th International Conference on Machine Learning, 2020. 定位:§§2–3; Equation (1); Figure 2. 稳定来源(访问 )。
- Devlin J, Chang M-W, Lee K, Toutanova K. BERT — Pre-training of Deep Bidirectional Transformers for Language Understanding [C]. Proceedings of NAACL-HLT 2019, Volume 1, pp. 4171–4186. Proceedings of NAACL-HLT 2019, 2019. 定位:§§3–5; Tables 1–2, 4 and 7; Appendix A.2. DOI;稳定来源(访问 )。
- van der Maaten L, Hinton G. Visualizing Data using t-SNE [J]. Journal of Machine Learning Research, 9, 2579–2605. Journal of Machine Learning Research, 2008. 定位:§§2–3, 5. 稳定来源(访问 )。
- McInnes L, Healy J, Melville J. UMAP — Uniform Manifold Approximation and Projection [R]. arXiv, 2018. arXiv:1802.03426v3, 2020-09-18. 定位:Abstract; §§2–3, 5–6. 稳定来源(访问 )。