OceanAI-Chapter5:PLUS无监督学习重点
考试复习大纲中,无监督学习部分包括:
无监督学习基本概念、K 均值聚类、主成分分析、特征人脸方法、潜在语义分析、期望最大化算法。
这一部分可以沿着三条主线复习:
├─ 哪些样本彼此相似? → K-means 聚类
├─ 哪些方向包含的信息最多? → PCA / SVD / 特征人脸
└─ 有些变量看不见怎么办? → MLE / MAP / EM
复习优先级#
| 等级 | 必须掌握的内容 |
|---|
| A:必须会算 | K-means 的距离、分组、质心更新和类内平方和;均值、方差、协方差、相关系数;二维 PCA 的协方差矩阵、特征值和投影;二硬币 EM 的 E 步与 M 步 |
| B:必须会解释 | 无监督学习与监督学习的区别;K-means 的局限;PCA 为什么选最大方差方向;SVD 与低秩近似;特征人脸完整流程;LSA 如何发现潜在语义;隐变量的含义 |
| C:理解即可 | SVD 的严格证明;PCA 拉格朗日乘子法的完整矩阵求导;EM 的 Jensen 不等式下界证明;复杂 NMF、MDS、LLE 推导 |
WARNING本章最容易混淆的三组概念:
- K-means 最小化类内方差;PCA 最大化投影方差。
- 不相关只表示无线性相关;独立表示不存在任何统计依赖。
- E 步估计隐变量;M 步更新模型参数。
一、无监督学习基本概念#
1. 定义#
无监督学习从没有人工标签的数据出发,根据数据自身的结构寻找规律。
设数据集为:
D={x1,x2,…,xn}其中:
- n:样本数量;
- xi:第 i 个样本;
- 数据中没有对应标签 yi。
无监督学习通常依赖以下假设:
表达相似内容的数据,往往具有相似的数据模式。
例如:
- 讨论同一主题的文档会出现相近的关键词;
- 同一个人的人脸图像具有相似的像素结构;
- 同一类海洋水团的温盐特征可能集中在相近区域。
2. 三类主要任务#
聚类 clustering#
把相似样本放入同一个类簇。
典型方法:K-means。
降维 dimensionality reduction#
用较少的新特征表示原始高维数据,同时尽量保留重要信息。
降维:每个样本只保留 l 个特征,通常 l << d
典型方法:PCA、SVD。
隐变量学习 latent-variable learning#
通过可观测数据推断看不见的变量及模型参数。
典型方法:EM。
3. 监督学习与无监督学习#
| 对比项 | 监督学习 | 无监督学习 |
|---|
| 数据 | 有标签 (xi,yi) | 无标签 xi |
| 学习信号 | 正确答案 | 数据自身结构 |
| 典型任务 | 分类、回归 | 聚类、降维、隐变量估计 |
| 结果评价 | 可与真实标签比较 | 通常依赖内部指标、可解释性或下游任务 |
例题 1:判断任务类型#
判断以下任务属于监督学习、无监督学习还是强化学习。
- 根据历史水温和对应的赤潮标签,判断明天是否发生赤潮。
- 根据海洋浮标的温度、盐度和溶解氧数据自动划分水团。
- 让水下机器人通过试错寻找能耗最低的航行策略。
- 将高维海洋遥感数据压缩到两个主成分以便画图。
- 有赤潮标签,属于监督学习中的分类。
- 没有水团标签,需要自动分组,属于无监督学习中的聚类。
- 通过动作、环境和奖励进行学习,属于强化学习。
- 没有标签,目标是降维,属于无监督学习中的降维。
TIP判断时先问:
- 有没有标签?
- 是否通过奖励反馈学习动作?
- 目标是预测答案、分组,还是压缩特征?
例题 2:为什么同一批数据可以得到不同聚类结果#
有红色三角形、红色矩形、蓝色三角形和蓝色矩形。为什么无监督算法可能得到两种不同但都合理的聚类?
如果使用“颜色”作为主要特征:
如果使用“形状”作为主要特征:
无监督学习没有人工标签告诉算法“正确分类标准”,所以结果取决于:
- 使用了哪些特征;
- 如何定义距离或相似度;
- 算法本身的结构假设。
因此,聚类结果需要结合具体问题解释。
例题 3:哪些是隐变量#
某实验每轮先从 A、B 两枚硬币中随机选一枚,再连续投掷 10 次。记录了每轮正反面结果,但没有记录选中哪枚硬币。指出观测变量、隐变量和模型参数。
- 观测变量:每轮记录的 H/T 序列,或该轮正面数与反面数;
- 隐变量:每一轮究竟选中了硬币 A 还是硬币 B;
- 模型参数:
θA=P(H∣A),θB=P(H∣B)其中 hetaA 和 hetaB 分别是 A、B 投出正面的概率。
二、K-means 聚类#
1. 问题定义#
给定 n 个 d 维样本:
D={x1,x2,…,xn},xi∈Rd预先指定类簇数 K,将所有样本分成:
G1,G2,…,GK每个类簇对应一个质心:
c1,c2,…,cK符号含义:
- n:样本个数;
- d:每个样本的特征维数;
- K:预先指定的类簇数;
- xi:第 i 个样本;
- Gj:第 j 个类簇;
- cj:第 j 个类簇的质心;
- ∣Gj∣:类簇 Gj 中样本数量。
2. 欧氏距离#
样本 xi 与质心 cj 的欧氏距离:
dist(xi,cj)=o=1∑d(xi,o−cj,o)2其中:
- xi,o:样本 xi 的第 o 个特征;
- cj,o:质心 cj 的第 o 个坐标。
距离越小,表示样本越接近该质心。
3. 算法流程#
第一步:初始化质心#
选择 K 个初始质心:
C={c1,c2,…,cK}第二步:分配样本#
将每个样本分到距离最近的质心所在类簇:
cluster(xi)=arg1≤j≤Kmindist(xi,cj)第三步:更新质心#
质心等于类簇内所有样本的均值:
cj=∣Gj∣1xi∈Gj∑xi第四步:迭代至停止#
常见停止条件:
- 达到最大迭代次数;
- 前后两次质心不再变化或变化很小;
- 样本所属类簇不再变化。
4. 目标函数#
K-means 最小化类内平方和:
J=j=1∑Kxi∈Gj∑∥xi−cj∥2J 越小,说明同一类簇中的样本越集中。
类簇 Gj 的方差可写为:
var(Gj)=∣Gj∣1xi∈Gj∑∥xi−cj∥2因此:
J=j=1∑K∣Gj∣var(Gj)
K-means 的本质:不断调整“样本归属”和“类簇质心”,使类内差异尽可能小。
5. 重要特点与局限#
- 必须预先给出 K;
- 对初始质心敏感,可能得到局部最优;
- 每个样本只能属于一个类簇,是硬聚类;
- 使用均值,对离群点敏感;
- 对不同特征的量纲与尺度敏感;
- 更适合大致呈球状、大小相近的类簇。
例题 1:一维 K-means 完整迭代#
对数据:
{1,2,8,9}进行 K=2 的 K-means 聚类,初始质心为:
c1(0)=1,c2(0)=8求最终聚类结果和目标函数 J。
第一次分配#
| 样本 | 到 c1=1 的距离 | 到 c2=8 的距离 | 所属类簇 |
|---|
| 1 | 0 | 7 | G1 |
| 2 | 1 | 6 | G1 |
| 8 | 7 | 0 | G2 |
| 9 | 8 | 1 | G2 |
因此:
G1={1,2},G2={8,9}更新质心#
c1(1)=21+2=1.5c2(1)=28+9=8.5第二次分配#
使用新质心后,样本归属仍然不变,因此算法收敛。
计算目标函数#
J=(1−1.5)2+(2−1.5)2+(8−8.5)2+(9−8.5)2=0.25+0.25+0.25+0.25=1G1={1,2},c1=1.5G2={8,9},c2=8.5J=1
例题 2:二维数据的一轮计算#
给定四个二维样本:
x1=(0,0),x2=(0,2),x3=(4,0),x4=(4,2)设 K=2,初始质心:
c1(0)=(0,0),c2(0)=(4,2)求第一次分组和更新后的质心。
计算距离#
对 x1=(0,0):
d(x1,c1)=0d(x1,c2)=(0−4)2+(0−2)2=20所以 x1∈G1。
对 x2=(0,2):
d(x2,c1)=2d(x2,c2)=4所以 x2∈G1。
对 x3=(4,0):
d(x3,c1)=4d(x3,c2)=2所以 x3∈G2。
对 x4=(4,2):
d(x4,c1)=20d(x4,c2)=0所以 x4∈G2。
第一次分组#
G1={(0,0),(0,2)}G2={(4,0),(4,2)}更新质心#
c1(1)=(20+0,20+2)=(0,1)c2(1)=(24+4,20+2)=(4,1)再次分配后结果不变,因此收敛。
例题 3:用目标函数比较两个聚类方案#
一维数据为:
{0,1,2,9,10}比较以下两种聚类方案的类内平方和 J:
- 方案 A:G1={0,1,2},G2={9,10};
- 方案 B:G1={0,1},G2={2,9,10}。
方案 A#
质心:
c1=30+1+2=1c2=29+10=9.5目标函数:
JA=(0−1)2+(1−1)2+(2−1)2+(9−9.5)2+(10−9.5)2=1+0+1+0.25+0.25=2.5方案 B#
质心:
c1=0.5c2=32+9+10=7目标函数:
JB=(0−0.5)2+(1−0.5)2+(2−7)2+(9−7)2+(10−7)2=0.25+0.25+25+4+9=38.5因为:
JA<JB所以方案 A 更符合 K-means 的目标。
例题 4:为什么必须标准化#
样本:
x=(1,1000)两个质心:
c1=(0,900),c2=(10,1001)判断原始尺度下样本更接近哪个质心,并解释问题所在。
d(x,c1)=(1−0)2+(1000−900)2=10001≈100.005d(x,c2)=(1−10)2+(1000−1001)2=82≈9.055因此原始尺度下,x 被分到 c2。
但观察第一个特征:
- x 与 c1 只相差 1;
- x 与 c2 相差 9。
第二个特征的数值尺度远大于第一个特征,它在欧氏距离中占主导作用。若两个特征分别表示不同物理量,例如温度和深度,直接计算距离会造成尺度偏置。
三、主成分分析 PCA#
1. PCA 要解决什么问题#
给定 n 个 d 维样本组成矩阵:
X∈Rn×dPCA 寻找映射矩阵:
W∈Rd×l,l<d将原数据降到 l 维:
Y=XW其中:
- X:中心化后的原始数据矩阵;
- W:由主成分方向构成的映射矩阵;
- Y:降维后的数据;
- d:原始维数;
- l:保留的主成分数。
PCA 的目标是:
将数据投影到方差最大的方向,使降维后保留的信息尽可能多。
2. 均值、方差、协方差#
样本均值#
xˉ=n1i=1∑nxi样本方差#
var(X)=n−11i=1∑n(xi−xˉ)2
- 方差越大:数据沿该方向分布越分散;
- 方差越小:数据沿该方向越集中。
样本协方差#
cov(X,Y)=n−11i=1∑n(xi−xˉ)(yi−yˉ)含义:
- cov(X,Y)>0:正线性相关;
- cov(X,Y)<0:负线性相关;
- cov(X,Y)=0:线性不相关。
皮尔逊相关系数#
corr(X,Y)=σXσYcov(X,Y)其中:
σX=var(X),σY=var(Y)并且:
−1≤corr(X,Y)≤1WARNINGcorr(X,Y)=0 只说明没有线性相关,不能推出独立。
独立通常可以推出不相关,但不相关不能推出独立。
3. 协方差矩阵#
若 X 已经按列中心化,则协方差矩阵为:
Σ=n−11XTXΣ∈Rd×d。
对于二维数据:
Σ=[var(X1)cov(X1,X2)cov(X1,X2)var(X2)]4. 特征值与主成分#
求协方差矩阵的特征值与特征向量:
Σwi=λiwi其中:
- wi:第 i 个主成分方向;
- λi:沿 wi 方向的方差大小;
- 特征值越大,对应方向保留的信息越多。
按特征值从大到小排列:
λ1≥λ2≥⋯≥λd取前 l 个特征向量构成:
W=[w1,w2,…,wl]5. 方差贡献率#
第 i 个主成分的方差贡献率:
ri=∑j=1dλjλi前 l 个主成分的累计贡献率:
Rl=∑j=1dλj∑i=1lλi常见选择:累计贡献率达到 90%、95% 或 99%。
6. PCA 标准做题流程#
3. 求协方差矩阵 Σ=(1/(n-1))X^T X
例题 1:方差、协方差和相关系数#
给定:
X={1,2,3},Y={2,4,6}求样本方差、协方差和皮尔逊相关系数。
第一步:求均值#
Xˉ=31+2+3=2Yˉ=32+4+6=4第二步:求方差#
var(X)=3−1(1−2)2+(2−2)2+(3−2)2=1var(Y)=2(2−4)2+(4−4)2+(6−4)2=4第三步:求协方差#
cov(X,Y)=2(1−2)(2−4)+(2−2)(4−4)+(3−2)(6−4)=22+0+2=2第四步:求相关系数#
σX=1,σY=2corr(X,Y)=1×22=1X 与 Y 完全正线性相关,因为:
Y=2X
例题 2:坐标轴方向上的 PCA#
对三个二维样本:
(−2,0),(0,0),(2,0)进行 PCA,降到一维。
第一步:中心化#
两个特征的均值均为 0,因此数据已经中心化:
X=−202000第二步:协方差矩阵#
Σ=3−11XTXXTX=[8000]因此:
Σ=[4000]第三步:特征值与特征向量#
特征值:
λ1=4,λ2=0对应特征向量:
w1=[10],w2=[01]第四步:降到一维#
取最大特征值对应的方向:
W=w1Y=XW=−202所有样本都在 x 轴上,y 方向没有任何变化,所以保留 x 轴即可完整表达数据。
例题 3:斜线方向上的 PCA#
对样本:
(−1,−1),(0,0),(1,1)进行 PCA 并降到一维。
第一步:数据矩阵#
均值为 (0,0):
X=−101−101第二步:协方差矩阵#
XTX=[2222]Σ=21[2222]=[1111]第三步:求特征值#
∣Σ−λI∣=1−λ111−λ=(1−λ)2−1=λ(λ−2)所以:
λ1=2,λ2=0对应单位特征向量:
w1=21[11]w2=21[1−1]第四步:投影#
取 w1:
Y=Xw1第一个样本:
(−1,−1)w1=−2第二个样本:
(0,0)w1=0第三个样本:
(1,1)w1=2因此:
Y=−202数据都位于直线 y=x 上,所以最大方差方向是 (1,1),而与其垂直的方向没有信息。
例题 4:主成分个数与重建误差#
题目 A:贡献率#
协方差矩阵的特征值为:
λ1=5,λ2=2,λ3=1若要求累计贡献率达到 90%,至少保留几个主成分?
总方差:
5+2+1=8保留一个:
R1=85=62.5%保留两个:
R2=85+2=87.5%保留三个:
R3=100%因此若要求至少 90%,需要保留 3 个主成分。
题目 B:一维投影与重建#
设单位主成分:
w1=21(1,1)T对中心化样本:
x=(2,1)求一维表示和重建结果。
一维表示#
z=xTw1=22+1=23x^=zw1x^=23⋅21(1,1)=(1.5,1.5)重建误差#
x−x^=(0.5,−0.5)∥x−x^∥2=0.52+(−0.5)2=0.5
K-means 与 PCA 中“方差”的相反作用#
| 算法 | 方差目标 | 直观含义 |
|---|
| K-means | 最小化类内方差 | 同一类中的样本尽量相似 |
| PCA | 最大化投影方差 | 降维后样本仍能充分区分 |
IMPORTANT考试中若问“为什么 K-means 要最小化方差,而 PCA 要最大化方差”,可以答:
- K-means 在同一个类簇内部追求紧凑;
- PCA 在保留的投影方向上追求区分度和信息量。
四、SVD 与特征人脸#
1. 奇异值分解 SVD#
任意矩阵:
A∈Rm×n都可以分解为:
A=UΣVT其中:
- U∈Rm×m:左奇异向量矩阵;
- V∈Rn×n:右奇异向量矩阵;
- Σ∈Rm×n:奇异值矩阵;
- 奇异值满足:
σ1≥σ2≥⋯≥0关系:
- V 的列向量是 ATA 的特征向量;
- U 的列向量是 AAT 的特征向量;
- 非零奇异值满足:
σi=λi(ATA)2. 低秩近似#
保留前 k 个最大奇异值:
Ak=UkΣkVkT这称为秩 k 近似。
含义:
- 大奇异值对应矩阵中的主要结构;
- 小奇异值通常对应次要信息或噪声;
- 丢弃小奇异值可以压缩数据。
能量保留率常写为:
ηk=∑iσi2∑i=1kσi23. PCA 与 SVD 的关系#
对中心化数据矩阵 X:
X=UΣVT协方差矩阵:
n−11XTX=Vn−1Σ2VT因此:
- V 的列向量就是 PCA 的主成分方向;
- PCA 特征值为 σi2/(n−1)。
SVD 是实现 PCA 的重要计算工具,尤其适合样本维数很高的情况。
4. 特征人脸方法#
基本思想#
一张 d×d 的灰度人脸图像可以展开为:
Γi∈Rd2若有 n 张训练图像,平均人脸:
Ψ=n1i=1∑nΓi每张图像中心化:
Φi=Γi−Ψ将中心化图像排列成矩阵:
A=[Φ1,Φ2,…,Φn]对 A 做 PCA 或 SVD,选择前 k 个特征向量:
u1,u2,…,uk这些向量重新显示为图像时称为特征人脸。
人脸编码#
对待识别人脸 Γ:
Φ=Γ−Ψ第 j 个特征人脸系数:
ωj=ujTΦ特征表示:
Ω=(ω1,ω2,…,ωk)T人脸重建#
Γ^=Ψ+j=1∑kωjuj人脸识别#
比较待测人脸系数 Ω 与训练人脸系数 Ωi 的距离:
εi=∥Ω−Ωi∥距离最小者可视为最相似人脸。
例题 1:简单矩阵的 SVD#
对矩阵:
A=[3001]写出一个 SVD。
该矩阵已经是非负对角矩阵,因此可以取:
U=IΣ=[3001]V=I于是:
A=UΣVT奇异值为:
σ1=3,σ2=1第一方向的重要程度大于第二方向。
例题 2:秩 1 近似与能量保留率#
继续使用:
A=[3001]只保留最大奇异值,求秩 1 近似、误差和能量保留率。
秩 1 近似#
保留 σ1=3:
A1=[3000]Frobenius 误差#
∥A−A1∥F=[0001]F=1能量保留率#
η1=32+1232=109=90%只保留一个奇异值,就保留了矩阵 90% 的平方能量,同时把秩从 2 降为 1。
例题 3:特征人脸编码与识别#
设平均人脸向量:
Ψ=(10,10,10,10)T保留两个特征人脸:
u1=(1,0,0,0)T,u2=(0,1,0,0)T某人脸:
Γ=(12,9,10,10)T求它的特征系数与重建结果。
第一步:中心化#
Φ=Γ−Ψ=(2,−1,0,0)T第二步:求系数#
ω1=u1TΦ=2ω2=u2TΦ=−1所以:
Ω=(2,−1)T第三步:重建#
Γ^=Ψ+2u1−u2Γ^=(12,9,10,10)T在这个简化例子中,由于原人脸变化完全位于两个保留方向上,因此可以精确重建。
继续:识别#
若训练库中:
ΩA=(2,−1)TΩB=(−1,2)T待测人脸:
Ωtest=(1.8,−0.8)T则:
dA=(1.8−2)2+(−0.8+1)2≈0.283dB=(1.8+1)2+(−0.8−2)2≈3.960因此待测人脸更接近 A。
五、潜在语义分析 LSA#
1. 为什么需要 LSA#
文本中存在两类问题:
- 一词多义:同一个词在不同语境中含义不同;
- 一义多词:不同词可能表达相近含义,例如
car 与 automobile。
只看词面是否完全相同,很难发现这些潜在关系。
LSA 的核心思想:
根据词在不同文档中的共现结构,用低维潜在空间表示单词和文档。
2. 单词—文档矩阵#
构造矩阵:
A∈Rm×n其中:
- m:词汇表大小;
- n:文档数量;
- Aij:单词 i 在文档 j 中的出现次数或 TF-IDF 权重。
行表示单词,列表示文档。
3. 利用 SVD 提取潜在语义#
A=UΣVT保留前 k 个奇异值:
Ak=UkΣkVkT含义:
- Uk:单词在潜在语义空间中的表示;
- Vk:文档在潜在语义空间中的表示;
- Σk:各潜在语义方向的重要程度;
- Ak:消除一部分噪声后的低秩重建矩阵。
4. 相似度#
常用余弦相似度:
cos(a,b)=∥a∥∥b∥aTb
- 接近 1:方向相似;
- 接近 0:关系较弱;
- 接近 −1:方向相反。
课堂材料也使用皮尔逊相关系数分析重建矩阵中的词—词或文档—文档关系。
例题 1:构造单词—文档矩阵#
按“行是单词、列是文档”排列:
A=1200110000120011行依次对应:
列依次对应:
从矩阵可以直观看到:
- d1,d2 主要讨论海洋;
- d3,d4 主要讨论基因。
例题 2:用余弦相似度比较文档#
利用上题的文档向量,计算 d1 与 d2、d1 与 d3 的余弦相似度。
文档向量#
d1=(1,2,0,0)Td2=(1,1,0,0)Td3=(0,0,1,2)Td1 与 d2#
内积:
d1Td2=1×1+2×1=3模长:
∥d1∥=5,∥d2∥=2因此:
cos(d1,d2)=103≈0.949d1 与 d3#
d1Td3=0所以:
cos(d1,d3)=0d1 与 d2 高度相似,d1 与 d3 几乎不相似。
例题 3:LSA 如何发现“不同词、相近含义”#
两篇文档:
词汇表为:
解释为什么只比较词面时 car 与 automobile 不相似,而 LSA 有可能认为它们相关。
原始矩阵#
A=101011car 的行向量:
rcar=(1,0)automobile 的行向量:
rauto=(0,1)原始余弦相似度:
cos(rcar,rauto)=0因为它们没有在同一篇文档中直接共同出现。
但是两个词都与 road 共现:
car 出现在包含 road 的文档中;
automobile 也出现在包含 road 的文档中。
SVD 会寻找能够共同解释文档共现结构的低维方向。在低维潜在空间里,car 与 automobile 可能被投影到相近位置。
补充计算:文档相似度#
d1=(1,0,1)T,d2=(0,1,1)Tcos(d1,d2)=221=0.5二者因为共享 road 而具有一定相似性,LSA 会利用这种间接关联提取潜在主题。
例题 4:低秩结构的意义#
考虑矩阵:
A=1100110000110011解释其潜在语义结构和矩阵秩。
前两行完全相同,后两行完全相同;前两列完全相同,后两列完全相同。
可以把它理解为两个主题:
矩阵只有两个线性独立方向,因此:
rank(A)=2虽然矩阵是 4×4,真正独立的语义结构只有两个方向。LSA 的作用就是通过低秩分解发现这种潜在主题。
六、MLE、MAP 与 EM#
1. 概率与似然#
给定参数 θ 时:
P(D∣θ)可以有两种理解:
- 把 θ 固定,研究不同数据 D 的概率:这是概率;
- 把已经观测到的 D 固定,研究不同参数 θ 对这组数据的解释程度:这是似然。
似然函数:
L(θ)=P(D∣θ)2. 最大似然估计 MLE#
最大似然估计选择最能解释观测数据的参数:
θ^MLE=argθmaxP(D∣θ)为方便求导,常取对数:
ℓ(θ)=logL(θ)由于对数函数单调递增:
argmaxL(θ)=argmaxlogL(θ)3. 最大后验估计 MAP#
MAP 还考虑参数先验:
θ^MAP=argθmaxP(θ∣D)根据贝叶斯公式:
P(θ∣D)∝P(D∣θ)P(θ)所以:
θ^MAP=argθmaxP(D∣θ)P(θ)区别:
当先验分布为常数时,MAP 退化为 MLE。
4. EM 为什么出现#
当完整数据中存在看不见的隐变量 Z 时,直接最大化:
P(X∣θ)=Z∑P(X,Z∣θ)往往很困难。
EM 交替进行:
E 步 expectation#
在当前参数 θ(t) 下,计算隐变量的后验分布:
P(Z∣X,θ(t))并求完整数据对数似然的条件期望:
Q(θ∣θ(t))=EZ∣X,θ(t)[logP(X,Z∣θ)]M 步 maximization#
选择使 Q 最大的新参数:
θ(t+1)=argθmaxQ(θ∣θ(t))5. 二硬币 EM 的通用公式#
第 i 轮有:
- hi 次正面;
- ti 次反面;
- mi=hi+ti 次投掷。
当前参数:
θA=P(H∣A),θB=P(H∣B)若 A、B 先验选择概率相同,则第 i 轮来自 A 的责任度:
ri=P(A∣Di)=θAhi(1−θA)ti+θBhi(1−θB)tiθAhi(1−θA)ti来自 B 的概率:
1−riM 步更新:
θAnew=∑iri(hi+ti)∑irihiθBnew=∑i(1−ri)(hi+ti)∑i(1−ri)hi若 A、B 被选择的先验概率不相同,还需在 E 步分子中乘相应先验概率。
例题 1:一枚硬币的 MLE#
一枚硬币投掷 10 次,得到 7 次正面、3 次反面。用 MLE 估计正面概率 p。
似然函数#
L(p)=p7(1−p)3对数似然#
ℓ(p)=7lnp+3ln(1−p)求导并令其为 0#
dpdℓ=p7−1−p3=07(1−p)=3p7=10pp^MLE=0.7伯努利或硬币模型的 MLE 等于:
总投掷次数正面次数
例题 2:MAP 与 MLE 的区别#
仍有 7 次正面、3 次反面。设先验:
p∼Beta(2,2)求 MAP 估计。
后验分布#
Beta 先验与伯努利似然共轭:
p∣D∼Beta(2+7,2+3)=Beta(9,5)Beta(α′,β′) 在 α′,β′>1 时的众数为:
α′+β′−2α′−1所以:
p^MAP=9+5−29−1=128=32≈0.667而:
p^MLE=0.7Beta(2,2) 先验倾向于认为 p 靠近 0.5,因此 MAP 被从 0.7 拉向 0.5。
例题 3:二硬币 EM 完整一轮#
有 A、B 两枚硬币,当前估计:
θA(0)=0.8,θB(0)=0.4A、B 每轮被选中的先验概率相同。三轮观测分别为:
完成一次 E 步和 M 步。
E 步:计算每轮来自 A 的概率#
第一轮 HH#
P(D1∣A)=0.82=0.64P(D1∣B)=0.42=0.16r1=0.64+0.160.64=0.8第二轮 HT#
P(D2∣A)=0.8×0.2=0.16P(D2∣B)=0.4×0.6=0.24r2=0.16+0.240.16=0.4第三轮 TT#
P(D3∣A)=0.22=0.04P(D3∣B)=0.62=0.36r3=0.04+0.360.04=0.1因此:
| 轮次 | 属于 A 的概率 ri | 属于 B 的概率 1−ri |
|---|
| HH | 0.8 | 0.2 |
| HT | 0.4 | 0.6 |
| TT | 0.1 | 0.9 |
计算 A 的期望正反面次数#
A 的正面期望次数:
2×0.8+1×0.4+0×0.1=2.0A 的反面期望次数:
0×0.8+1×0.4+2×0.1=0.6计算 B 的期望正反面次数#
B 的正面期望次数:
2×0.2+1×0.6+0×0.9=1.0B 的反面期望次数:
0×0.2+1×0.6+2×0.9=2.4M 步:更新参数#
θA(1)=2.0+0.62.0≈0.769θB(1)=1.0+2.41.0≈0.294一轮结果#
(θA,θB):(0.8,0.4)⟶(0.769,0.294)接下来使用新参数重复 E 步和 M 步,直到参数基本稳定。
WARNING“2.0 次正面”“0.6 次反面”是期望计数,并不表示现实中真的投了小数次硬币。
例题 4:三硬币模型中的隐变量后验#
有三枚硬币 0、1、2:
- 先投硬币 0;
- 若硬币 0 为正面,则选择硬币 1 投掷三次;
- 若硬币 0 为反面,则选择硬币 2 投掷三次;
- 只记录最后三次结果,不记录硬币 0 的结果。
设:
λ=P(硬币 0 为正面)=0.6p1=P(H∣硬币 1)=0.7p2=P(H∣硬币 2)=0.3观测到:
求这一轮由硬币 1 生成的后验概率。
定义隐变量#
令:
Z=H表示硬币 0 为正面,即选中硬币 1。
观测数据 X=HHT,其中有 2 个 H、1 个 T。
若选中硬币 1#
P(X∣Z=H)=p12(1−p1)=0.72×0.3=0.147乘先验:
P(Z=H,X)=0.6×0.147=0.0882若选中硬币 2#
P(X∣Z=T)=p22(1−p2)=0.32×0.7=0.063乘先验:
P(Z=T,X)=0.4×0.063=0.0252后验概率#
P(Z=H∣X)=0.0882+0.02520.0882P(Z=H∣X)≈0.778在当前参数下,这一轮有约 77.8% 的概率由硬币 1 生成。
这正是 EM 的 E 步:在当前参数下估计隐变量的后验概率。
EM 的重要性质与局限#
- 每次迭代通常不会降低观测数据似然;
- 一般只能保证收敛到局部最优或驻点;
- 对初始参数敏感;
- 隐变量后验可能采用软分配;
- 参数变化很小、似然变化很小或达到迭代上限时可停止。
七、考试前必须会写的结论#
1. 无监督学习#
无监督学习从无标签数据出发,依靠数据自身的相似性、方差结构或概率结构,完成聚类、降维和隐变量学习等任务。
2. K-means#
K-means 反复进行“按最近质心分组”和“按类内均值更新质心”,目标是最小化类内平方和。
公式:
J=j=1∑Kxi∈Gj∑∥xi−cj∥23. PCA#
PCA 将中心化数据投影到协方差矩阵最大特征值对应的特征向量方向,使降维后的方差最大。
公式:
Σ=n−11XTXΣwi=λiwiY=XW4. 特征人脸#
特征人脸先将人脸图像向量化并减去平均脸,再用 PCA 或 SVD 提取主要脸部变化方向,以低维系数表示和比较人脸。
5. LSA#
LSA 对单词—文档矩阵做截断 SVD,把单词和文档映射到低维潜在语义空间,从共现结构中发现隐含语义关系。
6. EM#
EM 用当前参数估计隐变量的后验分布,再利用隐变量的期望统计量更新参数,交替迭代直到收敛。
八、综合自测题#
以下题目建议在不看答案的情况下独立完成。
自测 1:K-means#
数据:
{2,3,4,10,11,12}K=2,初始质心为 2 和 10。
要求:
- 完成第一次分组;
- 更新质心;
- 判断是否收敛;
- 计算最终 J。
最终:
G1={2,3,4},c1=3G2={10,11,12},c2=11J=(1+0+1)+(1+0+1)=4
自测 2:PCA#
数据:
(−2,−2),(0,0),(2,2)要求:求协方差矩阵、特征值、第一主成分和一维投影。
Σ=[4444]特征值:
λ1=8,λ2=0第一主成分:
w1=21(1,1)T投影:
(−22,0,22)T
自测 3:LSA#
给出单词—文档矩阵:
A=210120003判断哪两篇文档最相似,并说明理由。
列向量:
d1=(2,1,0)T,d2=(1,2,0)T,d3=(0,0,3)Tcos(d1,d2)=54=0.8而 d1,d3 和 d2,d3 的余弦相似度均为 0。
所以 d1 与 d2 最相似。
自测 4:EM#
当前参数:
θA=0.7,θB=0.3观测一轮为 HHT。A、B 先验相同。求该轮来自 A 的概率。
P(D∣A)=0.72×0.3=0.147P(D∣B)=0.32×0.7=0.063P(A∣D)=0.147+0.0630.147=0.7