概述
这一章的核心是:
当训练数据没有人工标签时,仍然可以利用数据之间的相似性、方差结构和概率结构,从中发现类别、提取主要特征,或估计含有隐变量的模型参数。
本章形成三条主线:
- 聚类:用 K 均值把相似数据归到同一类。
- 降维与表示学习:用 PCA、SVD、特征人脸和潜在语义分析提取少量主要成分。
- 隐变量参数估计:用 EM 算法在部分信息不可见时交替估计隐变量与模型参数。
整章可以概括为:
无标签数据 ├─ 寻找“哪些样本相似” → K-means 聚类 ├─ 寻找“哪些方向最重要” → PCA / SVD ├─ 寻找“数据背后的潜在语义” → LSA └─ 寻找“不可见变量与模型参数” → EM目录
机器学习回顾
机器学习在学习什么
机器学习的基本任务,是从已有数据中找出一种规律,使计算机能够处理新的数据。
可以把它写成一个映射:
例如:
- 输入一张图像,输出
person、dog等类别; - 输入一篇文本,输出“喜悦”“愤怒”等情感类别;
- 输入房屋面积、位置等特征,输出房价预测值。
机器学习通常包含两个过程:
- 从原始数据中提取可计算的特征;
- 根据训练数据学习映射函数 ,再利用 处理新数据。
插图占位:插入 PPT 第 3 页“图像/文本数据通过映射函数进入任务空间”的示意图。
机器学习的主要类型
| 类型 | 数据特点 | 典型任务 | 学习信号 |
|---|---|---|---|
| 监督学习 | 有标签 | 分类、回归 | 正确答案 |
| 无监督学习 | 无标签 | 聚类、降维、隐变量学习 | 数据自身结构 |
| 强化学习 | 智能体与环境交互 | 序列决策 | 奖励 |
| 半监督学习 | 少量有标签、大量无标签 | 分类等 | 标签与数据结构共同作用 |
本章集中讨论 无监督学习。
监督学习的三个基本要素
监督学习可以用三个问题来理解:
- 学什么:带标签的数据;
- 如何学:选择并训练学习模型;
- 学得怎样:利用损失函数衡量预测与真实标签之间的差异。
当模型把训练数据中的偶然噪声也记住时,会出现 过拟合:训练集表现很好,新数据表现变差。无监督学习虽然没有标签,同样可能受到模型复杂度、初始化和噪声的影响。
无监督学习
定义与基本假设
无监督学习从 没有标签的数据样本 出发,寻找数据中蕴含的模式。
它依赖一个基本假设:
数据是内容、概念和语义的载体;表达相似内容的数据,通常具有相似的数据模式。
例如,两篇都讨论机器学习的论文,可能频繁出现 optimization、regression、network 等词;两张同一个人的人脸照片,在像素结构上也会存在共同特征。
无监督学习需要算法自行判断:
- 哪些样本彼此相似;
- 哪些特征最重要;
- 哪些不可见因素可能生成了观测数据。
因此,特征表示和数据质量非常关键。输入数据不能表达真实问题时,再复杂的算法也难以得到有意义的结构。
无监督学习的主要任务
-
聚类(clustering)
把相似样本划入同一集合,例如客户分群、文档分类。 -
降维(dimensionality reduction)
用少量新特征表达高维数据,例如 PCA、人脸压缩。 -
潜在结构学习(latent structure learning)
从观测数据中推断隐藏的类别、语义或模型参数,例如 LSA、EM。
一个直观例子
给出一组没有标签的三角形和矩形,算法可以采用不同标准聚类:
- 按颜色分为两组;
- 按形状分为两组。
这说明聚类结果依赖于选取的特征和相似性标准。同一批数据可以存在多种合理结构。
插图占位:插入 PPT 第 8 页“按颜色聚类/按形状聚类”的无监督学习示意图。
K-means 聚类
问题定义
给定 个没有标签的 维数据:
预先指定聚类数目 ,K-means 要把这些数据分成 个类簇:
并满足:
- 每个样本只属于一个类簇;
- 同一类簇中的数据尽量相似;
- 不同类簇的数据尽量分开。
输入与输出可以概括为:
输入:n 个无标签数据 + 类簇数 K输出:K 个类簇及其质心距离与相似性
K-means 通常用欧氏距离衡量两个数据的差异:
其中 是第 个类簇的质心。
- 距离越小,算法认为两个数据越相似;
- 距离越大,算法认为两个数据越不同。
WARNING欧氏距离只比较数值坐标。它是否有意义,取决于特征如何定义、各维度的单位以及尺度是否可比。
例如“身高 170 cm”和“体重 60 kg”不能直接按照原始数值等权比较,通常要先标准化,并结合任务判断各特征的重要程度。
课堂上用座位位置作了直观说明:若只把教室中的平面坐标作为特征,坐得近的同学会被判为相似;若换成专业、兴趣或成绩作为特征,同一批同学可能形成完全不同的分组。
算法流程
K-means 不断重复“分配样本—更新中心”两步。
第一步:初始化 个聚类质心
初始质心可以从数据点中随机选择。初始值会影响最终结果。
第二步:将每个样本分配给最近的质心
对每个 ,计算它到全部质心的距离,并选择最近的一个:
第三步:更新每个类簇的质心
若第 个类簇为 ,新质心取该类簇全部样本的均值:
第四步:继续迭代
使用新质心重新分配样本,再更新质心,直到满足停止条件:
- 达到预设最大迭代次数;
- 前后两次的质心基本不再变化;
- 或目标函数下降量已经很小。
初始化质心 ↓把样本分给最近质心 ↓计算每一类的新均值 ↓是否收敛?──否──→继续分配 │ 是 ↓输出聚类结果插图占位:插入 PPT 第 12—15 页“K-means 初始化、分配、更新、迭代”流程图。
为什么要更新为均值
固定某个类簇中的样本后,希望找一个中心 ,使所有样本到它的平方距离之和最小:
对 求导并令导数为零,得到:
因此,均值正是使类内平方误差最小的中心。这也解释了名称 K-means:算法维护 个均值中心。
目标函数:最小化类内方差
K-means 的目标函数为:
它称为类内平方和,也可以理解为各类簇内部方差的加权和。
算法每轮进行两件事:
- 固定质心,选择距离最近的类簇,令 不增;
- 固定类簇,用均值更新质心,令 不增。
所以 会逐步下降,最后停在一个稳定结果。
TIPK-means 通常保证收敛到一个 局部最优解。不同初始质心可能得到不同结果,实践中常用多个随机初值重复运行,再选择目标函数最小的一次。
课堂上的苹果例子可以帮助理解方差:
- 把大小接近的小苹果放在一组,组内样本到平均大小的偏差较小;
- 把大苹果和小苹果混在同一组,组内方差会明显增大。
完整小例子
设一维数据为:
初始化质心:
第一次分配
- 离 更近,归入 ;
- 离 更近,归入 。
于是:
更新质心
再次分配
在新质心 和 下,两个类簇不再改变,算法收敛。
最终结果:
K-means 的特点与局限
1. 必须预先给定
真实问题中往往不知道应分成几类。 过小会把不同群体混在一起, 过大又会把一个自然群体拆散。
2. 对初始质心敏感
算法可能停在不同的局部最优解。常见改进是多次随机初始化,或使用更合理的初始化方法。
3. 属于硬聚类
每个样本只能属于一个类簇,归属值为 0 或 1。位于边界上的样本可能同时与多个类相似,硬聚类无法表达这种不确定性。
4. 对尺度和特征权重敏感
欧氏距离默认每个维度同等重要。单位较大的变量可能支配距离,因此常需标准化。
5. 对异常值敏感
均值容易被离群点拉动,导致质心偏移。
6. 更适合近似球状、尺度相近的类簇
当真实类簇呈弯曲形状、密度差异很大或相互嵌套时,单纯依赖到质心的欧氏距离可能效果较差。
7. 大数据下计算量增加
每轮需要计算大量“样本—质心”距离。若有 个样本、 个质心、 维特征,一轮分配约需 的计算量。
应用
图像压缩
把每个像素的颜色视为数据,用 K-means 把全部颜色聚成 类,再用各类质心颜色替换原像素。
- :压缩率高,但颜色和细节损失明显;
- :保留更多轮廓;
- :更接近原图,但需要保存更多颜色。
插图占位:插入 PPT 第 18 页中 与原图的图像压缩对比图。
文本聚类
把论文表示成词语特征向量,再根据向量距离聚类。课堂材料展示了将 200 多万篇论文聚为约 29,000 个类别,并用代表词描述各类别的例子。
主成分分析 PCA
为什么需要降维
现实数据常有很高的维度。
例如,在用户—商品矩阵中:
- 每一行代表一个用户;
- 每一列代表一种商品;
- 矩阵元素表示用户是否购买或对商品的偏好。
商品数量和用户数量都可能非常大,而且多数用户只接触少数商品,矩阵中会有大量零元素。直接处理这种高维矩阵,存储和计算成本都很高。
降维希望做到:
用更少的变量保留原数据中最重要的结构,同时削弱冗余和噪声。
这与“抓住主要矛盾”和奥卡姆剃刀原则相似:保留真正有信息的部分,舍去重复或作用很小的部分。
方差、协方差与相关系数
方差
设一维样本为:
样本均值:
样本方差:
方差描述数据围绕均值的离散程度:
- 方差小:数据集中;
- 方差大:数据分散,沿该方向保留的信息通常更多。
分母使用 ,源于样本均值已经由同一批数据估计,中心化后的偏差满足和为 0,只有 个独立自由度;这样得到的样本方差是总体方差的无偏估计。
协方差
对成对观测 ,样本协方差为:
含义:
- :两变量总体同向变化;
- :两变量总体反向变化;
- :两变量无线性协同变化。
课堂举例:
- 广告投入增加,商品销售额可能上升,呈正相关;
- 某些金融资产可能负相关,把它们组合可降低整体波动风险。
WARNING相关关系只能说明变量共同变化,不能单独证明因果关系。天气与旅游人数可能相关,但还需要控制节假日、季节等其他因素,才能讨论因果解释。
皮尔逊相关系数
协方差受量纲影响。皮尔逊相关系数把它标准化到 :
其中 为标准差。
重要性质:
- ;
- 相关系数关于 对称;
- 表示完全正线性关系;
- 表示完全负线性关系;
- 只说明无线性相关,仍可能存在非线性关系。
不相关与独立
在方差存在时:
反方向通常不成立。
例如,若 关于 0 对称,且 ,则 与 显然存在确定关系,但可能有 。这说明相关系数只检测线性关系。
PCA 的几何直觉
设二维点云大致沿一条斜线分布,现在要把二维数据压缩到一维。
可以把每个点投影到某条直线上:
- 若投影方向与点云伸展方向垂直,很多点会挤在一起,原有差异丢失;
- 若投影方向沿点云最长方向,投影后的点仍然充分分散,保留的信息更多。
因此,PCA 选择:
使投影后数据方差最大的方向,作为第一主成分。
找到第一方向后,再寻找与前面方向正交、且投影方差次大的方向,作为第二主成分,依次类推。
插图占位:插入 PPT 第 28 页“向 / 方向以及向斜线方向投影”的 PCA 降维示意图。
PCA 的矩阵表达
假设有 个 维样本,组成矩阵:
每行是一个样本,每列是一个特征。先对每一列中心化,使各特征均值为 0。
希望把 维降到 维,其中 。寻找映射矩阵:
降维结果:
原数据的样本协方差矩阵为:
为了让降维后总方差最大,求解:
并要求各投影方向单位正交:
其中 是矩阵的迹,即主对角线元素之和。
为什么最大特征值对应主成分
先考虑只找一个方向 :
构造拉格朗日函数:
对 求导并令其为零:
这正是特征值方程。把它代回目标函数:
所以:
- 投影方向 是协方差矩阵的特征向量;
- 该方向上的投影方差等于对应特征值 ;
- 要使方差最大,就选最大特征值对应的特征向量。
多个主成分时,取最大的前 个特征值对应的特征向量,按列组成 。
TIP需要理解“最大方差方向 = 最大特征值对应的特征向量”。拉格朗日乘子推导掌握思路即可,重点在结论与算法流程。
PCA 算法步骤
- 将样本组成矩阵 ;
- 对每一维特征减去均值,完成中心化;
- 计算协方差矩阵 ;
- 求 的特征值和特征向量;
- 将特征值从大到小排列;
- 取前 个特征向量组成映射矩阵 ;
- 计算 ,得到低维表示。
如何决定保留几个主成分
设特征值按从大到小排列:
前 个主成分保留的方差比例为:
常见做法是选择最小的 ,使累计解释方差达到某个阈值,例如 95% 或 99%。阈值越高,信息保留越多,压缩程度越低。
K-means 与 PCA 中方差的作用
这两个算法都使用方差,但目标不同:
| 算法 | 方差目标 | 直观目的 |
|---|---|---|
| K-means | 最小化每个类簇内部方差 | 让同类样本尽量接近 |
| PCA | 最大化投影后的总体方差 | 降维后尽量保留样本差异与信息 |
记忆方式:
- 聚类看类内紧不紧;
- 降维看投影后散不散。
其他降维方法
课堂对以下方法作了概念性介绍,重点是理解它们分别保留什么结构。
非负矩阵分解 NMF
对非负矩阵 ,寻找两个非负小矩阵:
可用平方误差或 KL 散度衡量重建误差。由于全部系数非负,NMF 倾向于形成“部分相加得到整体”的表示,例如用眼睛、鼻子、嘴等局部部件组合成人脸。
多维尺度法 MDS
MDS 希望降维前后样本之间的两两距离尽量保持不变。
- PCA 主要保持总体方差结构;
- MDS 主要保持距离结构。
MDS 依赖训练样本之间的距离矩阵,对全新样本的直接映射较困难,这称为 out-of-sample 问题。
局部线性嵌入 LLE
LLE 是非线性降维方法。它假设复杂流形在一个很小的局部范围内近似线性:
- 找每个样本的近邻;
- 用近邻的线性组合重建该样本;
- 在低维空间中保持相同的局部重建关系。
其核心是保留局部几何结构。
奇异值分解与特征人脸
奇异值分解 SVD
任意 矩阵 都可以分解为:
其中:
- :左奇异向量组成的正交矩阵;
- :奇异值组成的非负对角矩阵;
- :右奇异向量组成的正交矩阵。
奇异值按从大到小排列:
较大的奇异值对应矩阵中的主要结构,较小奇异值通常对应较弱信息或噪声。
SVD 与特征值分解的联系:
- 的列向量是 的特征向量;
- 的列向量是 的特征向量;
- 对应特征值是奇异值的平方。
低秩近似
只保留最大的前 个奇异值,可得到:
矩阵尺寸变为:
当 远小于 时,存储量和计算量显著下降,同时保留原矩阵的主要信息。
这称为 低秩近似。它可用于:
- 数据压缩;
- 特征降维;
- 图像去噪;
- 推荐系统;
- 潜在语义分析。
TIP课堂要求以理解 SVD 的分解意义、奇异值大小与低秩近似为主。完整代数推导不要求背诵,实际计算通常由软件完成。
特征人脸的基本思想
一张 的灰度人脸图像有 1024 个像素,可铺平成 1024 维向量。
直接比较全部像素存在两个问题:
- 维数高,计算和存储开销大;
- 很多像素变化彼此相关,存在冗余。
特征人脸方法利用 PCA/SVD,从许多人脸图像中学习一组主要变化方向。每一个方向还原成图像后,看起来像一张模糊的人脸,因此称为 特征人脸(eigenface)。
核心思想:
每张人脸都可以近似表示为“平均脸 + 若干特征人脸的加权组合”。
插图占位:插入 PPT 第 46 页“二维灰度人脸铺平成高维向量”的示意图。
特征人脸算法流程
设有 张人脸,每张铺平成 维向量 。
1. 计算平均脸
2. 对每张人脸中心化
将中心化向量组成矩阵 。
3. 求主要方向
利用 PCA 或 SVD 找到最大特征值/奇异值对应的前 个方向:
每个 都可以还原为一张特征人脸。
4. 把原人脸投影到特征人脸空间
第 张人脸的低维系数为:
原先需要 个像素值,现在只需 个系数。
课堂示例中,400 张人脸对应提取出 36 张主要特征人脸,说明高维像素可以由较少的主成分表达。
插图占位:插入 PPT 第 47 页“400 张人脸与 36 张特征人脸”的图。
人脸重建与识别
重建
使用低维系数重建人脸:
- 使用的特征人脸越少:图像模糊、不同人脸趋同,压缩率高;
- 使用的特征人脸越多:细节和人物差异更清楚,计算量增加。
插图占位:插入教材/PPT 中“随特征人脸数量增加,重建人脸逐渐清晰”的对比图。
识别
对两张人脸,不必逐像素比较,可比较其低维系数向量:
距离越小,说明两张人脸在特征人脸空间中越相似。
新的人脸也可以先减去平均脸,再投影到已有特征人脸空间,因此该方法能处理训练集之外的新样本。
方法的局限
PCA 特征人脸主要提取整体变化,例如整体亮度、脸型和大范围结构,局部器官特征未必清楚。
此外,它对以下变化可能较敏感:
- 光照;
- 人脸姿态;
- 遮挡;
- 表情;
- 图像配准误差。
NMF 的非负“部分组合”表示更容易形成眼睛、鼻子等局部部件,可以作为另一种表达思路。
潜在语义分析 LSA
为什么需要潜在语义
仅按关键词字面是否相同来比较文档,会遇到两个问题:
- 同义表达:
minimization与optimization含义相关,但字符串不同; - 一词多义或跨领域使用:
network可以出现在机器学习,也可以出现在基因调控网络中。
潜在语义分析(Latent Semantic Analysis, LSA,也称 LSI)希望从大规模词语共现中发现隐藏的语义维度。
它需要回答三类关系:
- 单词与单词之间的关系;
- 单词与文档之间的关系;
- 文档与文档之间的关系。
单词—文档矩阵
先构造单词—文档矩阵 :
- 每一行表示一个单词;
- 每一列表示一篇文档;
- 元素表示该词是否出现或出现次数。
矩阵通常非常稀疏,因为一篇文档只含词汇表中的少量词。
利用 SVD 提取潜在语义
对单词—文档矩阵作 SVD:
含义可以理解为:
- 描述单词在潜在语义空间中的位置;
- 描述文档在潜在语义空间中的位置;
- 表示各潜在语义维度的重要程度。
只保留最大的前 个奇异值:
是原矩阵的低秩近似。它会把大量稀疏、孤立的字面共现压缩成少数稳定的语义主题。
插图占位:插入 PPT 第 62—64 页“单词—文档矩阵经过 SVD 得到低秩近似”的示意图。
课堂例子:机器学习与基因编辑文档
课堂例子包含两组文档。
A 组:机器学习相关
- :含
nonconvex、regression、optimization - :含
optimization、network - :含
regression、analysis、minimization - :含
nonconvex、analysis - :含
optimization、minimization
B 组:基因编辑相关
- :含
gene - :含
gene、syndrome、editing - :含
network、gene、human - :含
syndrome、editing、human
对应的二值单词—文档矩阵为:
| term | a1 | a2 | a3 | a4 | a5 | b1 | b2 | b3 | b4 |
|---|---|---|---|---|---|---|---|---|---|
| nonconvex | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| regression | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| optimization | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| network | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| analysis | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| minimization | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
| gene | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
| syndrome | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| editing | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| human | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
从原矩阵看, 中没有 optimization,只有 minimization。单纯关键词匹配难以发现两者语义接近。经过低秩近似后,它们因为经常出现在相似文档环境中,会在潜在空间里变得接近。
如何理解重建矩阵
课堂取最大的前两个奇异值,得到 。
低秩重建后:
- 同一主题中的词语和文档相关性更明显;
- A 组文档之间通常呈较强正相关;
- B 组文档之间通常呈较强正相关;
- A、B 两组之间通常呈负相关或较弱相关。
network 同时出现在 与 ,属于跨主题词。矩阵分解还会结合它与其他词的共同出现情况:
- 在 中,它与
optimization共现; - 在 中,它与
gene、human共现。
因为后一侧提供的基因编辑语境更强,network 在潜在语义空间中可能更靠近基因编辑主题。
可以进一步计算低维单词向量或文档向量的皮尔逊相关系数/余弦相似度,实现:
- 文档聚类;
- 相似文档检索;
- 词语语义关联分析;
- 主题发现。
WARNING低秩近似会平滑原始数据,因此能够补足潜在联系,也可能引入原矩阵中没有的弱关联。 过小会丢失细节, 过大则保留噪声和稀疏性。
模型参数估计
概率与似然
概率和似然使用的数学表达可能相同,但观察角度不同。
设模型为 :
- 概率:固定参数 ,研究不同数据 出现的可能性;
- 似然:固定已经观察到的数据 ,比较不同参数 对这批数据的解释能力。
例如,已知一枚硬币正面概率为 ,问十次中出现 8 次正面的概率,这是概率问题。
已经观察到十次中有 8 次正面,反过来估计硬币正面概率是多少,这是似然问题。
WARNING似然函数不要求对参数 的积分等于 1。它是把观测数据固定后,关于参数的函数。
最大似然估计 MLE
设数据集:
样本在参数 给定时条件独立,则似然函数:
最大似然估计选择使观测数据最可能出现的参数:
乘积求导往往不方便,通常取对数:
因为对数是单调递增函数,最大化 与最大化 的结果相同。
课堂通过“谁更可能取得第一名”“职业选手与路人谁更可能完成 20 次击杀”说明 MLE 的直觉:在多个候选解释中,选择最能解释已观测结果的那个。
最大后验估计 MAP
MAP 还利用参数的先验知识:
根据贝叶斯公式:
由于 与待优化的 无关:
取对数后:
区别:
| 方法 | 使用的信息 | 目标 |
|---|---|---|
| MLE | 观测数据 | 最大化 |
| MAP | 观测数据 + 参数先验 | 最大化 |
当先验分布近似均匀时,MAP 与 MLE 的结果接近。
期望最大化算法 EM
为什么需要 EM
MLE 和 MAP 通常假设:观测数据完整,似然函数可以直接写出并优化。
现实中常存在 隐变量(latent variable):
- 混合模型中,不知道每个样本来自哪个类别;
- 硬币实验中,只看到投掷序列,不知道选择了哪枚硬币;
- 文档模型中,只看到词语,不知道生成文档的主题。
若隐变量为 、观测数据为 ,直接似然为:
对数中出现“对隐变量求和后的对数”,通常难以直接求极值。EM 采用交替迭代:
- 暂时固定参数,估计隐变量;
- 暂时固定隐变量的概率分布,更新参数。
E 步与 M 步
设当前参数为 。
E 步:Expectation
根据当前参数,计算隐变量的后验分布:
并计算完整数据对数似然的条件期望:
直观上,E 步给不可见的类别分配“软概率”或期望计数。
M 步:Maximization
在这些软分配基础上,更新参数:
然后再次进入 E 步,直到参数基本不再变化。
初始化参数 θ⁽⁰⁾ ↓E 步:按当前参数估计隐变量 ↓M 步:按隐变量的期望更新参数 ↓参数是否稳定?──否──→返回 E 步 │ 是 ↓输出参数二硬币投掷例子
这是本章最重要的 EM 计算例子。
问题
有 A、B 两枚硬币。每轮随机选择一枚硬币,连续投掷 10 次,只记录正反面序列,却没有记录本轮选择了哪枚硬币。
五轮观测为:
| 轮次 | 投掷结果 | 正面 H | 反面 T |
|---|---|---|---|
| 1 | HTTTHHTHTH | 5 | 5 |
| 2 | HHHHTHHHHH | 9 | 1 |
| 3 | HTHHHHHTHH | 8 | 2 |
| 4 | HTHTTTHHTT | 4 | 6 |
| 5 | THHHTHHHTH | 7 | 3 |
需要估计:
隐变量是:每轮究竟选择了 A 还是 B。
初始化
为简化,假设先验上选择 A、B 的机会相同。对一轮有 个正面、 个反面的确定序列,来自硬币 A 的似然为:
来自硬币 B 的似然为:
第一次 E 步
以第 1 轮 5H、5T 为例:
因此:
同理得到五轮的软归属概率:
| 轮次 | ||
|---|---|---|
| 1 | 0.45 | 0.55 |
| 2 | 0.80 | 0.20 |
| 3 | 0.73 | 0.27 |
| 4 | 0.35 | 0.65 |
| 5 | 0.65 | 0.35 |
将每轮正反面次数乘以软归属概率,得到 A、B 各自贡献的期望次数:
| 轮次 | A 的 H | A 的 T | B 的 H | B 的 T |
|---|---|---|---|---|
| 1 | 2.25 | 2.25 | 2.75 | 2.75 |
| 2 | 7.24 | 0.80 | 1.76 | 0.20 |
| 3 | 5.87 | 1.47 | 2.13 | 0.53 |
| 4 | 1.41 | 2.11 | 2.59 | 3.89 |
| 5 | 4.53 | 1.94 | 2.47 | 1.07 |
| 合计 | 21.30 | 8.57 | 11.70 | 8.43 |
这里没有强行判断某轮“一定来自 A”或“一定来自 B”,而是把一轮数据按概率分配给两枚硬币。这正是软分配。
第一次 M 步
利用期望正反面次数更新正面概率:
继续迭代
| 迭代次数 | ||
|---|---|---|
| 0 | 0.600 | 0.500 |
| 1 | 0.713 | 0.581 |
| 2 | 0.745 | 0.569 |
| 3 | 0.768 | 0.550 |
| 4 | 0.783 | 0.535 |
| 5 | 0.791 | 0.526 |
| 6 | 0.795 | 0.522 |
| 7 | 0.796 | 0.521 |
| 8 | 0.796 | 0.520 |
| 9 | 0.797 | 0.520 |
| 10 | 0.797 | 0.520 |
最终约收敛到:
这个例子中每个量的含义
| 对象 | 含义 |
|---|---|
| 观测数据 | 五轮正反面序列 |
| 隐变量 | 每轮选择了 A 还是 B |
| 参数 | 两枚硬币的正面概率 |
| E 步 | 计算每轮来自 A、B 的概率与期望计数 |
| M 步 | 用期望计数重新估计两枚硬币的正面概率 |
插图占位:插入 PPT 第 70—74 页“二硬币 EM:投掷结果、软分配表、参数迭代表”。
三硬币投掷例子
三枚硬币编号为 0、1、2:
- 先投硬币 0;
- 若硬币 0 为正面,选择硬币 1 再投三次;
- 若硬币 0 为反面,选择硬币 2 再投三次;
- 只记录后面三次结果,不记录硬币 0 的结果。
参数:
其中:
- :硬币 0 出现正面的概率;
- :硬币 1 出现正面的概率;
- :硬币 2 出现正面的概率。
隐变量 是硬币 0 的结果。
若观测到 THT,其中一正两反,则:
于是该序列由硬币 1 产生的后验概率为:
这就是 E 步;再把所有观测序列按这些后验概率加权,更新 ,就是 M 步。
课堂通过不同初值展示了 EM 的初值敏感性:不同初始化可能把两类硬币的角色对调,或收敛到不同局部解。
EM 的性质与局限
1. 每轮通常不会降低观测数据似然
E、M 两步交替构造并提高目标,因此似然值通常单调不减,最后到达稳定点。
2. 只能保证到达局部稳定解
EM 通常不能保证找到全局最优,结果可能依赖初始化。
3. E 步与 M 步都必须可计算
若隐变量后验难以计算,或 M 步没有可行的优化方法,标准 EM 仍会很困难。
4. 收敛后还要判断结果是否有意义
似然较大只表示模型更好地拟合当前数据,还需检查模型假设、参数可解释性和对新数据的表现。
本章知识框架
| 方法 | 输入 | 输出 | 核心目标 | 主要问题 |
|---|---|---|---|---|
| K-means | 无标签样本、 | 类簇与质心 | 最小化类内平方距离 | 哪些样本相似 |
| PCA | 高维样本 | 低维主成分表示 | 最大化投影方差 | 哪些方向最重要 |
| SVD | 任意矩阵 | 三个因子矩阵/低秩近似 | 保留大奇异值 | 如何压缩矩阵 |
| 特征人脸 | 人脸图像 | 特征人脸系数 | 用少量主成分表达人脸 | 如何降维识别人脸 |
| LSA | 单词—文档矩阵 | 潜在语义向量 | 低秩语义近似 | 如何发现词与文档关系 |
| MLE | 完整观测数据 | 参数估计 | 最大化数据似然 | 哪个参数最能解释数据 |
| MAP | 数据与先验 | 参数估计 | 最大化后验概率 | 如何融合先验知识 |
| EM | 含隐变量的数据 | 隐变量分布与参数 | 交替提高期望完整似然 | 信息不完整时如何估参 |
整章联系:
相似性 └─ K-means:根据距离形成类簇
主要结构 ├─ PCA:找最大方差方向 ├─ SVD:找大奇异值对应结构 ├─ Eigenfaces:用主成分表达人脸 └─ LSA:用低秩结构表达潜在语义
概率结构 ├─ MLE:数据固定,寻找最可能参数 ├─ MAP:在 MLE 上加入参数先验 └─ EM:隐变量未知时,E/M 两步交替估计需要掌握到什么程度
必须理解并会解释
- 无监督学习与监督学习的区别;
- K-means 的四步流程、目标函数及局限;
- PCA 为什么选择最大方差方向;
- 协方差、相关系数、不相关与独立的关系;
- PCA 中协方差矩阵、特征值和主成分的关系;
- SVD 与低秩近似的基本含义;
- 特征人脸和 LSA 如何利用 PCA/SVD;
- 概率与似然、MLE 与 MAP 的区别;
- EM 的隐变量、E 步和 M 步;
- 二硬币 EM 例子的完整计算逻辑。
应当会写的公式
了解思想即可
- NMF、MDS、LLE 的详细优化推导;
- SVD 的完整代数证明;
- EM 的 Jensen 不等式下界证明与严格收敛证明。