7200 字
36 分钟
OceanAI-Chapter5:PLUS无监督学习重点

概述#

考试复习大纲中,无监督学习部分包括:

无监督学习基本概念、K 均值聚类、主成分分析、特征人脸方法、潜在语义分析、期望最大化算法。

这一部分可以沿着三条主线复习:

没有标签的数据
├─ 哪些样本彼此相似? → K-means 聚类
├─ 哪些方向包含的信息最多? → PCA / SVD / 特征人脸
├─ 数据背后有哪些潜在语义? → LSA
└─ 有些变量看不见怎么办? → 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

本章最容易混淆的三组概念:

  1. K-means 最小化类内方差;PCA 最大化投影方差。
  2. 不相关只表示无线性相关;独立表示不存在任何统计依赖。
  3. E 步估计隐变量;M 步更新模型参数。

目录#


一、无监督学习基本概念#

1. 定义#

无监督学习从没有人工标签的数据出发,根据数据自身的结构寻找规律。

设数据集为:

D={x1,x2,,xn}D=\{x_1,x_2,\ldots,x_n\}

其中:

  • nn:样本数量;
  • xix_i:第 ii 个样本;
  • 数据中没有对应标签 yiy_i

无监督学习通常依赖以下假设:

表达相似内容的数据,往往具有相似的数据模式。

例如:

  • 讨论同一主题的文档会出现相近的关键词;
  • 同一个人的人脸图像具有相似的像素结构;
  • 同一类海洋水团的温盐特征可能集中在相近区域。

2. 三类主要任务#

聚类 clustering#

把相似样本放入同一个类簇。

输入:无标签样本
输出:样本所属类簇

典型方法:K-means。

降维 dimensionality reduction#

用较少的新特征表示原始高维数据,同时尽量保留重要信息。

原始:每个样本有 d 个特征
降维:每个样本只保留 l 个特征,通常 l << d

典型方法:PCA、SVD。

隐变量学习 latent-variable learning#

通过可观测数据推断看不见的变量及模型参数。

典型方法:EM。

3. 监督学习与无监督学习#

对比项监督学习无监督学习
数据有标签 (xi,yi)(x_i,y_i)无标签 xix_i
学习信号正确答案数据自身结构
典型任务分类、回归聚类、降维、隐变量估计
结果评价可与真实标签比较通常依赖内部指标、可解释性或下游任务

例题 1:判断任务类型#

题目#

判断以下任务属于监督学习、无监督学习还是强化学习。

  1. 根据历史水温和对应的赤潮标签,判断明天是否发生赤潮。
  2. 根据海洋浮标的温度、盐度和溶解氧数据自动划分水团。
  3. 让水下机器人通过试错寻找能耗最低的航行策略。
  4. 将高维海洋遥感数据压缩到两个主成分以便画图。

解答#

  1. 有赤潮标签,属于监督学习中的分类
  2. 没有水团标签,需要自动分组,属于无监督学习中的聚类
  3. 通过动作、环境和奖励进行学习,属于强化学习
  4. 没有标签,目标是降维,属于无监督学习中的降维
TIP

判断时先问:

  • 有没有标签?
  • 是否通过奖励反馈学习动作?
  • 目标是预测答案、分组,还是压缩特征?

例题 2:为什么同一批数据可以得到不同聚类结果#

题目#

有红色三角形、红色矩形、蓝色三角形和蓝色矩形。为什么无监督算法可能得到两种不同但都合理的聚类?

解答#

如果使用“颜色”作为主要特征:

第 1 类:所有红色图形
第 2 类:所有蓝色图形

如果使用“形状”作为主要特征:

第 1 类:所有三角形
第 2 类:所有矩形

无监督学习没有人工标签告诉算法“正确分类标准”,所以结果取决于:

  • 使用了哪些特征;
  • 如何定义距离或相似度;
  • 算法本身的结构假设。

因此,聚类结果需要结合具体问题解释。


例题 3:哪些是隐变量#

题目#

某实验每轮先从 A、B 两枚硬币中随机选一枚,再连续投掷 10 次。记录了每轮正反面结果,但没有记录选中哪枚硬币。指出观测变量、隐变量和模型参数。

解答#

  • 观测变量:每轮记录的 H/T 序列,或该轮正面数与反面数;
  • 隐变量:每一轮究竟选中了硬币 A 还是硬币 B;
  • 模型参数
θA=P(HA),θB=P(HB)\theta_A=P(H\mid A),\qquad \theta_B=P(H\mid B)

其中 hetaA heta_AhetaB heta_B 分别是 A、B 投出正面的概率。


二、K-means 聚类#

1. 问题定义#

给定 nndd 维样本:

D={x1,x2,,xn},xiRdD=\{x_1,x_2,\ldots,x_n\},\qquad x_i\in\mathbb R^d

预先指定类簇数 KK,将所有样本分成:

G1,G2,,GKG_1,G_2,\ldots,G_K

每个类簇对应一个质心:

c1,c2,,cKc_1,c_2,\ldots,c_K

符号含义:

  • nn:样本个数;
  • dd:每个样本的特征维数;
  • KK:预先指定的类簇数;
  • xix_i:第 ii 个样本;
  • GjG_j:第 jj 个类簇;
  • cjc_j:第 jj 个类簇的质心;
  • Gj|G_j|:类簇 GjG_j 中样本数量。

2. 欧氏距离#

样本 xix_i 与质心 cjc_j 的欧氏距离:

dist(xi,cj)=o=1d(xi,ocj,o)2\operatorname{dist}(x_i,c_j) = \sqrt{\sum_{o=1}^{d}(x_{i,o}-c_{j,o})^2}

其中:

  • xi,ox_{i,o}:样本 xix_i 的第 oo 个特征;
  • cj,oc_{j,o}:质心 cjc_j 的第 oo 个坐标。

距离越小,表示样本越接近该质心。

3. 算法流程#

第一步:初始化质心#

选择 KK 个初始质心:

C={c1,c2,,cK}C=\{c_1,c_2,\ldots,c_K\}

第二步:分配样本#

将每个样本分到距离最近的质心所在类簇:

cluster(xi)=argmin1jKdist(xi,cj)\operatorname{cluster}(x_i) = \arg\min_{1\le j\le K}\operatorname{dist}(x_i,c_j)

第三步:更新质心#

质心等于类簇内所有样本的均值:

cj=1GjxiGjxic_j = \frac{1}{|G_j|}\sum_{x_i\in G_j}x_i

第四步:迭代至停止#

常见停止条件:

  • 达到最大迭代次数;
  • 前后两次质心不再变化或变化很小;
  • 样本所属类簇不再变化。

4. 目标函数#

K-means 最小化类内平方和:

J=j=1KxiGjxicj2J = \sum_{j=1}^{K}\sum_{x_i\in G_j}\|x_i-c_j\|^2

JJ 越小,说明同一类簇中的样本越集中。

类簇 GjG_j 的方差可写为:

var(Gj)=1GjxiGjxicj2\operatorname{var}(G_j) = \frac{1}{|G_j|}\sum_{x_i\in G_j}\|x_i-c_j\|^2

因此:

J=j=1KGjvar(Gj)J=\sum_{j=1}^{K}|G_j|\operatorname{var}(G_j)

K-means 的本质:不断调整“样本归属”和“类簇质心”,使类内差异尽可能小。

5. 重要特点与局限#

  1. 必须预先给出 KK
  2. 对初始质心敏感,可能得到局部最优;
  3. 每个样本只能属于一个类簇,是硬聚类
  4. 使用均值,对离群点敏感;
  5. 对不同特征的量纲与尺度敏感;
  6. 更适合大致呈球状、大小相近的类簇。

例题 1:一维 K-means 完整迭代#

题目#

对数据:

{1,2,8,9}\{1,2,8,9\}

进行 K=2K=2 的 K-means 聚类,初始质心为:

c1(0)=1,c2(0)=8c_1^{(0)}=1,\qquad c_2^{(0)}=8

求最终聚类结果和目标函数 JJ

第一次分配#

样本c1=1c_1=1 的距离c2=8c_2=8 的距离所属类簇
107G1G_1
216G1G_1
870G2G_2
981G2G_2

因此:

G1={1,2},G2={8,9}G_1=\{1,2\},\qquad G_2=\{8,9\}

更新质心#

c1(1)=1+22=1.5c_1^{(1)}=\frac{1+2}{2}=1.5c2(1)=8+92=8.5c_2^{(1)}=\frac{8+9}{2}=8.5

第二次分配#

使用新质心后,样本归属仍然不变,因此算法收敛。

计算目标函数#

J=(11.5)2+(21.5)2+(88.5)2+(98.5)2=0.25+0.25+0.25+0.25=1\begin{aligned} J &=(1-1.5)^2+(2-1.5)^2\\ &\quad +(8-8.5)^2+(9-8.5)^2\\ &=0.25+0.25+0.25+0.25\\ &=1 \end{aligned}

答案#

G1={1,2},c1=1.5G_1=\{1,2\},\quad c_1=1.5G2={8,9},c2=8.5G_2=\{8,9\},\quad c_2=8.5J=1J=1

例题 2:二维数据的一轮计算#

题目#

给定四个二维样本:

x1=(0,0),x2=(0,2),x3=(4,0),x4=(4,2)x_1=(0,0),\quad x_2=(0,2),\quad x_3=(4,0),\quad x_4=(4,2)

K=2K=2,初始质心:

c1(0)=(0,0),c2(0)=(4,2)c_1^{(0)}=(0,0),\qquad c_2^{(0)}=(4,2)

求第一次分组和更新后的质心。

计算距离#

x1=(0,0)x_1=(0,0)

d(x1,c1)=0d(x_1,c_1)=0d(x1,c2)=(04)2+(02)2=20d(x_1,c_2)=\sqrt{(0-4)^2+(0-2)^2}=\sqrt{20}

所以 x1G1x_1\in G_1

x2=(0,2)x_2=(0,2)

d(x2,c1)=2d(x_2,c_1)=2d(x2,c2)=4d(x_2,c_2)=4

所以 x2G1x_2\in G_1

x3=(4,0)x_3=(4,0)

d(x3,c1)=4d(x_3,c_1)=4d(x3,c2)=2d(x_3,c_2)=2

所以 x3G2x_3\in G_2

x4=(4,2)x_4=(4,2)

d(x4,c1)=20d(x_4,c_1)=\sqrt{20}d(x4,c2)=0d(x_4,c_2)=0

所以 x4G2x_4\in G_2

第一次分组#

G1={(0,0),(0,2)}G_1=\{(0,0),(0,2)\}G2={(4,0),(4,2)}G_2=\{(4,0),(4,2)\}

更新质心#

c1(1)=(0+02,0+22)=(0,1)c_1^{(1)} = \left(\frac{0+0}{2},\frac{0+2}{2}\right) =(0,1)c2(1)=(4+42,0+22)=(4,1)c_2^{(1)} = \left(\frac{4+4}{2},\frac{0+2}{2}\right) =(4,1)

再次分配后结果不变,因此收敛。


例题 3:用目标函数比较两个聚类方案#

题目#

一维数据为:

{0,1,2,9,10}\{0,1,2,9,10\}

比较以下两种聚类方案的类内平方和 JJ

  • 方案 A:G1={0,1,2}G_1=\{0,1,2\}G2={9,10}G_2=\{9,10\}
  • 方案 B:G1={0,1}G_1=\{0,1\}G2={2,9,10}G_2=\{2,9,10\}

方案 A#

质心:

c1=0+1+23=1c_1=\frac{0+1+2}{3}=1c2=9+102=9.5c_2=\frac{9+10}{2}=9.5

目标函数:

JA=(01)2+(11)2+(21)2+(99.5)2+(109.5)2=1+0+1+0.25+0.25=2.5\begin{aligned} J_A &=(0-1)^2+(1-1)^2+(2-1)^2\\ &\quad +(9-9.5)^2+(10-9.5)^2\\ &=1+0+1+0.25+0.25\\ &=2.5 \end{aligned}

方案 B#

质心:

c1=0.5c_1=0.5c2=2+9+103=7c_2=\frac{2+9+10}{3}=7

目标函数:

JB=(00.5)2+(10.5)2+(27)2+(97)2+(107)2=0.25+0.25+25+4+9=38.5\begin{aligned} J_B &=(0-0.5)^2+(1-0.5)^2\\ &\quad +(2-7)^2+(9-7)^2+(10-7)^2\\ &=0.25+0.25+25+4+9\\ &=38.5 \end{aligned}

因为:

JA<JBJ_A<J_B

所以方案 A 更符合 K-means 的目标。


例题 4:为什么必须标准化#

题目#

样本:

x=(1,1000)x=(1,1000)

两个质心:

c1=(0,900),c2=(10,1001)c_1=(0,900),\qquad c_2=(10,1001)

判断原始尺度下样本更接近哪个质心,并解释问题所在。

计算#

d(x,c1)=(10)2+(1000900)2=10001100.005d(x,c_1) = \sqrt{(1-0)^2+(1000-900)^2} = \sqrt{10001} \approx100.005d(x,c2)=(110)2+(10001001)2=829.055d(x,c_2) = \sqrt{(1-10)^2+(1000-1001)^2} = \sqrt{82} \approx9.055

因此原始尺度下,xx 被分到 c2c_2

但观察第一个特征:

  • xxc1c_1 只相差 1;
  • xxc2c_2 相差 9。

第二个特征的数值尺度远大于第一个特征,它在欧氏距离中占主导作用。若两个特征分别表示不同物理量,例如温度和深度,直接计算距离会造成尺度偏置。

结论#

在 K-means 前通常需要:

  • 标准化;
  • 归一化;
  • 或根据领域知识设置特征权重。

三、主成分分析 PCA#

1. PCA 要解决什么问题#

给定 nndd 维样本组成矩阵:

XRn×dX\in\mathbb R^{n\times d}

PCA 寻找映射矩阵:

WRd×l,l<dW\in\mathbb R^{d\times l},\qquad l<d

将原数据降到 ll 维:

Y=XWY=XW

其中:

  • XX:中心化后的原始数据矩阵;
  • WW:由主成分方向构成的映射矩阵;
  • YY:降维后的数据;
  • dd:原始维数;
  • ll:保留的主成分数。

PCA 的目标是:

将数据投影到方差最大的方向,使降维后保留的信息尽可能多。

2. 均值、方差、协方差#

样本均值#

xˉ=1ni=1nxi\bar x=\frac{1}{n}\sum_{i=1}^{n}x_i

样本方差#

var(X)=1n1i=1n(xixˉ)2\operatorname{var}(X) = \frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar x)^2
  • 方差越大:数据沿该方向分布越分散;
  • 方差越小:数据沿该方向越集中。

样本协方差#

cov(X,Y)=1n1i=1n(xixˉ)(yiyˉ)\operatorname{cov}(X,Y) = \frac{1}{n-1} \sum_{i=1}^{n} (x_i-\bar x)(y_i-\bar y)

含义:

  • cov(X,Y)>0\operatorname{cov}(X,Y)>0:正线性相关;
  • cov(X,Y)<0\operatorname{cov}(X,Y)<0:负线性相关;
  • cov(X,Y)=0\operatorname{cov}(X,Y)=0:线性不相关。

皮尔逊相关系数#

corr(X,Y)=cov(X,Y)σXσY\operatorname{corr}(X,Y) = \frac{\operatorname{cov}(X,Y)} {\sigma_X\sigma_Y}

其中:

σX=var(X),σY=var(Y)\sigma_X=\sqrt{\operatorname{var}(X)},\qquad \sigma_Y=\sqrt{\operatorname{var}(Y)}

并且:

1corr(X,Y)1-1\le \operatorname{corr}(X,Y)\le1
WARNING

corr(X,Y)=0\operatorname{corr}(X,Y)=0 只说明没有线性相关,不能推出独立。

独立通常可以推出不相关,但不相关不能推出独立。

3. 协方差矩阵#

XX 已经按列中心化,则协方差矩阵为:

Σ=1n1XTX\Sigma = \frac{1}{n-1}X^TX

ΣRd×d\Sigma\in\mathbb R^{d\times d}

对于二维数据:

Σ=[var(X1)cov(X1,X2)cov(X1,X2)var(X2)]\Sigma = \begin{bmatrix} \operatorname{var}(X_1) & \operatorname{cov}(X_1,X_2)\\ \operatorname{cov}(X_1,X_2) & \operatorname{var}(X_2) \end{bmatrix}

4. 特征值与主成分#

求协方差矩阵的特征值与特征向量:

Σwi=λiwi\Sigma w_i=\lambda_i w_i

其中:

  • wiw_i:第 ii 个主成分方向;
  • λi\lambda_i:沿 wiw_i 方向的方差大小;
  • 特征值越大,对应方向保留的信息越多。

按特征值从大到小排列:

λ1λ2λd\lambda_1\ge\lambda_2\ge\cdots\ge\lambda_d

取前 ll 个特征向量构成:

W=[w1,w2,,wl]W=[w_1,w_2,\ldots,w_l]

5. 方差贡献率#

ii 个主成分的方差贡献率:

ri=λij=1dλjr_i = \frac{\lambda_i}{\sum_{j=1}^{d}\lambda_j}

ll 个主成分的累计贡献率:

Rl=i=1lλij=1dλjR_l = \frac{\sum_{i=1}^{l}\lambda_i} {\sum_{j=1}^{d}\lambda_j}

常见选择:累计贡献率达到 90%90\%95%95\%99%99\%

6. PCA 标准做题流程#

1. 写出数据矩阵 X
2. 求每一列均值并中心化
3. 求协方差矩阵 Σ=(1/(n-1))X^T X
4. 求 Σ 的特征值和特征向量
5. 按特征值从大到小排序
6. 选择前 l 个特征向量组成 W
7. 计算降维结果 Y=XW

例题 1:方差、协方差和相关系数#

题目#

给定:

X={1,2,3},Y={2,4,6}X=\{1,2,3\},\qquad Y=\{2,4,6\}

求样本方差、协方差和皮尔逊相关系数。

第一步:求均值#

Xˉ=1+2+33=2\bar X=\frac{1+2+3}{3}=2Yˉ=2+4+63=4\bar Y=\frac{2+4+6}{3}=4

第二步:求方差#

var(X)=(12)2+(22)2+(32)231=1\operatorname{var}(X) = \frac{(1-2)^2+(2-2)^2+(3-2)^2}{3-1} =1var(Y)=(24)2+(44)2+(64)22=4\operatorname{var}(Y) = \frac{(2-4)^2+(4-4)^2+(6-4)^2}{2} =4

第三步:求协方差#

cov(X,Y)=(12)(24)+(22)(44)+(32)(64)2=2+0+22=2\begin{aligned} \operatorname{cov}(X,Y) &=\frac{(1-2)(2-4)+(2-2)(4-4)+(3-2)(6-4)}{2}\\ &=\frac{2+0+2}{2}\\ &=2 \end{aligned}

第四步:求相关系数#

σX=1,σY=2\sigma_X=1,\qquad \sigma_Y=2corr(X,Y)=21×2=1\operatorname{corr}(X,Y) = \frac{2}{1\times2} =1

结论#

XXYY 完全正线性相关,因为:

Y=2XY=2X

例题 2:坐标轴方向上的 PCA#

题目#

对三个二维样本:

(2,0),(0,0),(2,0)(-2,0),\quad(0,0),\quad(2,0)

进行 PCA,降到一维。

第一步:中心化#

两个特征的均值均为 0,因此数据已经中心化:

X=[200020]X= \begin{bmatrix} -2&0\\ 0&0\\ 2&0 \end{bmatrix}

第二步:协方差矩阵#

Σ=131XTX\Sigma = \frac{1}{3-1}X^TXXTX=[8000]X^TX = \begin{bmatrix} 8&0\\ 0&0 \end{bmatrix}

因此:

Σ=[4000]\Sigma = \begin{bmatrix} 4&0\\ 0&0 \end{bmatrix}

第三步:特征值与特征向量#

特征值:

λ1=4,λ2=0\lambda_1=4,\qquad \lambda_2=0

对应特征向量:

w1=[10],w2=[01]w_1= \begin{bmatrix} 1\\0 \end{bmatrix}, \qquad w_2= \begin{bmatrix} 0\\1 \end{bmatrix}

第四步:降到一维#

取最大特征值对应的方向:

W=w1W=w_1Y=XW=[202]Y=XW = \begin{bmatrix} -2\\0\\2 \end{bmatrix}

解释#

所有样本都在 xx 轴上,yy 方向没有任何变化,所以保留 xx 轴即可完整表达数据。


例题 3:斜线方向上的 PCA#

题目#

对样本:

(1,1),(0,0),(1,1)(-1,-1),\quad(0,0),\quad(1,1)

进行 PCA 并降到一维。

第一步:数据矩阵#

均值为 (0,0)(0,0)

X=[110011]X= \begin{bmatrix} -1&-1\\ 0&0\\ 1&1 \end{bmatrix}

第二步:协方差矩阵#

XTX=[2222]X^TX = \begin{bmatrix} 2&2\\ 2&2 \end{bmatrix}Σ=12[2222]=[1111]\Sigma = \frac{1}{2} \begin{bmatrix} 2&2\\ 2&2 \end{bmatrix} = \begin{bmatrix} 1&1\\ 1&1 \end{bmatrix}

第三步:求特征值#

ΣλI=1λ111λ\left|\Sigma-\lambda I\right| = \begin{vmatrix} 1-\lambda&1\\ 1&1-\lambda \end{vmatrix}=(1λ)21=λ(λ2)=(1-\lambda)^2-1 =\lambda(\lambda-2)

所以:

λ1=2,λ2=0\lambda_1=2,\qquad \lambda_2=0

对应单位特征向量:

w1=12[11]w_1=\frac{1}{\sqrt2} \begin{bmatrix} 1\\1 \end{bmatrix}w2=12[11]w_2=\frac{1}{\sqrt2} \begin{bmatrix} 1\\-1 \end{bmatrix}

第四步:投影#

w1w_1

Y=Xw1Y=Xw_1

第一个样本:

(1,1)w1=2(-1,-1)w_1=-\sqrt2

第二个样本:

(0,0)w1=0(0,0)w_1=0

第三个样本:

(1,1)w1=2(1,1)w_1=\sqrt2

因此:

Y=[202]Y= \begin{bmatrix} -\sqrt2\\0\\\sqrt2 \end{bmatrix}

解释#

数据都位于直线 y=xy=x 上,所以最大方差方向是 (1,1)(1,1),而与其垂直的方向没有信息。


例题 4:主成分个数与重建误差#

题目 A:贡献率#

协方差矩阵的特征值为:

λ1=5,λ2=2,λ3=1\lambda_1=5,\qquad \lambda_2=2,\qquad \lambda_3=1

若要求累计贡献率达到 90%90\%,至少保留几个主成分?

解答#

总方差:

5+2+1=85+2+1=8

保留一个:

R1=58=62.5%R_1=\frac{5}{8}=62.5\%

保留两个:

R2=5+28=87.5%R_2=\frac{5+2}{8}=87.5\%

保留三个:

R3=100%R_3=100\%

因此若要求至少 90%90\%,需要保留 3 个主成分

题目 B:一维投影与重建#

设单位主成分:

w1=12(1,1)Tw_1=\frac{1}{\sqrt2}(1,1)^T

对中心化样本:

x=(2,1)x=(2,1)

求一维表示和重建结果。

一维表示#

z=xTw1=2+12=32z=x^Tw_1 = \frac{2+1}{\sqrt2} = \frac{3}{\sqrt2}

重建#

x^=zw1\hat x=zw_1x^=3212(1,1)=(1.5,1.5)\hat x = \frac{3}{\sqrt2} \cdot \frac{1}{\sqrt2}(1,1) =(1.5,1.5)

重建误差#

xx^=(0.5,0.5)x-\hat x=(0.5,-0.5)xx^2=0.52+(0.5)2=0.5\|x-\hat x\|^2=0.5^2+(-0.5)^2=0.5

K-means 与 PCA 中“方差”的相反作用#

算法方差目标直观含义
K-means最小化类内方差同一类中的样本尽量相似
PCA最大化投影方差降维后样本仍能充分区分
IMPORTANT

考试中若问“为什么 K-means 要最小化方差,而 PCA 要最大化方差”,可以答:

  • K-means 在同一个类簇内部追求紧凑;
  • PCA 在保留的投影方向上追求区分度和信息量。

四、SVD 与特征人脸#

1. 奇异值分解 SVD#

任意矩阵:

ARm×nA\in\mathbb R^{m\times n}

都可以分解为:

A=UΣVTA=U\Sigma V^T

其中:

  • URm×mU\in\mathbb R^{m\times m}:左奇异向量矩阵;
  • VRn×nV\in\mathbb R^{n\times n}:右奇异向量矩阵;
  • ΣRm×n\Sigma\in\mathbb R^{m\times n}:奇异值矩阵;
  • 奇异值满足:
σ1σ20\sigma_1\ge\sigma_2\ge\cdots\ge0

关系:

  • VV 的列向量是 ATAA^TA 的特征向量;
  • UU 的列向量是 AATAA^T 的特征向量;
  • 非零奇异值满足:
σi=λi(ATA)\sigma_i=\sqrt{\lambda_i(A^TA)}

2. 低秩近似#

保留前 kk 个最大奇异值:

Ak=UkΣkVkTA_k=U_k\Sigma_kV_k^T

这称为秩 kk 近似。

含义:

  • 大奇异值对应矩阵中的主要结构;
  • 小奇异值通常对应次要信息或噪声;
  • 丢弃小奇异值可以压缩数据。

能量保留率常写为:

ηk=i=1kσi2iσi2\eta_k = \frac{\sum_{i=1}^{k}\sigma_i^2} {\sum_{i}\sigma_i^2}

3. PCA 与 SVD 的关系#

对中心化数据矩阵 XX

X=UΣVTX=U\Sigma V^T

协方差矩阵:

1n1XTX=VΣ2n1VT\frac{1}{n-1}X^TX = V\frac{\Sigma^2}{n-1}V^T

因此:

  • VV 的列向量就是 PCA 的主成分方向;
  • PCA 特征值为 σi2/(n1)\sigma_i^2/(n-1)

SVD 是实现 PCA 的重要计算工具,尤其适合样本维数很高的情况。

4. 特征人脸方法#

基本思想#

一张 d×dd\times d 的灰度人脸图像可以展开为:

ΓiRd2\Gamma_i\in\mathbb R^{d^2}

若有 nn 张训练图像,平均人脸:

Ψ=1ni=1nΓi\Psi = \frac{1}{n}\sum_{i=1}^{n}\Gamma_i

每张图像中心化:

Φi=ΓiΨ\Phi_i=\Gamma_i-\Psi

将中心化图像排列成矩阵:

A=[Φ1,Φ2,,Φn]A=[\Phi_1,\Phi_2,\ldots,\Phi_n]

AA 做 PCA 或 SVD,选择前 kk 个特征向量:

u1,u2,,uku_1,u_2,\ldots,u_k

这些向量重新显示为图像时称为特征人脸

人脸编码#

对待识别人脸 Γ\Gamma

Φ=ΓΨ\Phi=\Gamma-\Psi

jj 个特征人脸系数:

ωj=ujTΦ\omega_j=u_j^T\Phi

特征表示:

Ω=(ω1,ω2,,ωk)T\Omega=(\omega_1,\omega_2,\ldots,\omega_k)^T

人脸重建#

Γ^=Ψ+j=1kωjuj\hat\Gamma = \Psi+\sum_{j=1}^{k}\omega_ju_j

人脸识别#

比较待测人脸系数 Ω\Omega 与训练人脸系数 Ωi\Omega_i 的距离:

εi=ΩΩi\varepsilon_i=\|\Omega-\Omega_i\|

距离最小者可视为最相似人脸。


例题 1:简单矩阵的 SVD#

题目#

对矩阵:

A=[3001]A= \begin{bmatrix} 3&0\\ 0&1 \end{bmatrix}

写出一个 SVD。

解答#

该矩阵已经是非负对角矩阵,因此可以取:

U=IU=IΣ=[3001]\Sigma= \begin{bmatrix} 3&0\\ 0&1 \end{bmatrix}V=IV=I

于是:

A=UΣVTA=U\Sigma V^T

奇异值为:

σ1=3,σ2=1\sigma_1=3,\qquad \sigma_2=1

第一方向的重要程度大于第二方向。


例题 2:秩 1 近似与能量保留率#

题目#

继续使用:

A=[3001]A= \begin{bmatrix} 3&0\\ 0&1 \end{bmatrix}

只保留最大奇异值,求秩 1 近似、误差和能量保留率。

秩 1 近似#

保留 σ1=3\sigma_1=3

A1=[3000]A_1= \begin{bmatrix} 3&0\\ 0&0 \end{bmatrix}

Frobenius 误差#

AA1F=[0001]F=1\|A-A_1\|_F = \left\| \begin{bmatrix} 0&0\\ 0&1 \end{bmatrix} \right\|_F =1

能量保留率#

η1=3232+12=910=90%\eta_1 = \frac{3^2}{3^2+1^2} = \frac{9}{10} =90\%

解释#

只保留一个奇异值,就保留了矩阵 90%90\% 的平方能量,同时把秩从 2 降为 1。


例题 3:特征人脸编码与识别#

题目#

设平均人脸向量:

Ψ=(10,10,10,10)T\Psi=(10,10,10,10)^T

保留两个特征人脸:

u1=(1,0,0,0)T,u2=(0,1,0,0)Tu_1=(1,0,0,0)^T, \qquad u_2=(0,1,0,0)^T

某人脸:

Γ=(12,9,10,10)T\Gamma=(12,9,10,10)^T

求它的特征系数与重建结果。

第一步:中心化#

Φ=ΓΨ=(2,1,0,0)T\Phi=\Gamma-\Psi=(2,-1,0,0)^T

第二步:求系数#

ω1=u1TΦ=2\omega_1=u_1^T\Phi=2ω2=u2TΦ=1\omega_2=u_2^T\Phi=-1

所以:

Ω=(2,1)T\Omega=(2,-1)^T

第三步:重建#

Γ^=Ψ+2u1u2\hat\Gamma = \Psi+2u_1-u_2Γ^=(12,9,10,10)T\hat\Gamma =(12,9,10,10)^T

在这个简化例子中,由于原人脸变化完全位于两个保留方向上,因此可以精确重建。

继续:识别#

若训练库中:

ΩA=(2,1)T\Omega_A=(2,-1)^TΩB=(1,2)T\Omega_B=(-1,2)^T

待测人脸:

Ωtest=(1.8,0.8)T\Omega_{test}=(1.8,-0.8)^T

则:

dA=(1.82)2+(0.8+1)20.283d_A = \sqrt{(1.8-2)^2+(-0.8+1)^2} \approx0.283dB=(1.8+1)2+(0.82)23.960d_B = \sqrt{(1.8+1)^2+(-0.8-2)^2} \approx3.960

因此待测人脸更接近 A。


五、潜在语义分析 LSA#

1. 为什么需要 LSA#

文本中存在两类问题:

  1. 一词多义:同一个词在不同语境中含义不同;
  2. 一义多词:不同词可能表达相近含义,例如 carautomobile

只看词面是否完全相同,很难发现这些潜在关系。

LSA 的核心思想:

根据词在不同文档中的共现结构,用低维潜在空间表示单词和文档。

2. 单词—文档矩阵#

构造矩阵:

ARm×nA\in\mathbb R^{m\times n}

其中:

  • mm:词汇表大小;
  • nn:文档数量;
  • AijA_{ij}:单词 ii 在文档 jj 中的出现次数或 TF-IDF 权重。

行表示单词,列表示文档。

3. 利用 SVD 提取潜在语义#

A=UΣVTA=U\Sigma V^T

保留前 kk 个奇异值:

Ak=UkΣkVkTA_k=U_k\Sigma_kV_k^T

含义:

  • UkU_k:单词在潜在语义空间中的表示;
  • VkV_k:文档在潜在语义空间中的表示;
  • Σk\Sigma_k:各潜在语义方向的重要程度;
  • AkA_k:消除一部分噪声后的低秩重建矩阵。

4. 相似度#

常用余弦相似度:

cos(a,b)=aTbab\cos(a,b) = \frac{a^Tb}{\|a\|\|b\|}
  • 接近 1:方向相似;
  • 接近 0:关系较弱;
  • 接近 1-1:方向相反。

课堂材料也使用皮尔逊相关系数分析重建矩阵中的词—词或文档—文档关系。


例题 1:构造单词—文档矩阵#

题目#

词汇表为:

ocean, wave, gene, DNA

四篇文档:

d1: ocean wave wave
d2: ocean wave
d3: gene DNA DNA
d4: gene DNA

构造词频矩阵。

解答#

按“行是单词、列是文档”排列:

A=[1100210000110021]A= \begin{bmatrix} 1&1&0&0\\ 2&1&0&0\\ 0&0&1&1\\ 0&0&2&1 \end{bmatrix}

行依次对应:

ocean, wave, gene, DNA

列依次对应:

d1, d2, d3, d4

从矩阵可以直观看到:

  • d1,d2d_1,d_2 主要讨论海洋;
  • d3,d4d_3,d_4 主要讨论基因。

例题 2:用余弦相似度比较文档#

题目#

利用上题的文档向量,计算 d1d_1d2d_2d1d_1d3d_3 的余弦相似度。

文档向量#

d1=(1,2,0,0)Td_1=(1,2,0,0)^Td2=(1,1,0,0)Td_2=(1,1,0,0)^Td3=(0,0,1,2)Td_3=(0,0,1,2)^T

d1d_1d2d_2#

内积:

d1Td2=1×1+2×1=3d_1^Td_2=1\times1+2\times1=3

模长:

d1=5,d2=2\|d_1\|=\sqrt5, \qquad \|d_2\|=\sqrt2

因此:

cos(d1,d2)=3100.949\cos(d_1,d_2) = \frac{3}{\sqrt{10}} \approx0.949

d1d_1d3d_3#

d1Td3=0d_1^Td_3=0

所以:

cos(d1,d3)=0\cos(d_1,d_3)=0

结论#

d1d_1d2d_2 高度相似,d1d_1d3d_3 几乎不相似。


例题 3:LSA 如何发现“不同词、相近含义”#

题目#

两篇文档:

d1: car road
d2: automobile road

词汇表为:

car, automobile, road

解释为什么只比较词面时 carautomobile 不相似,而 LSA 有可能认为它们相关。

原始矩阵#

A=[100111]A= \begin{bmatrix} 1&0\\ 0&1\\ 1&1 \end{bmatrix}

car 的行向量:

rcar=(1,0)r_{car}=(1,0)

automobile 的行向量:

rauto=(0,1)r_{auto}=(0,1)

原始余弦相似度:

cos(rcar,rauto)=0\cos(r_{car},r_{auto})=0

因为它们没有在同一篇文档中直接共同出现。

但是两个词都与 road 共现:

  • car 出现在包含 road 的文档中;
  • automobile 也出现在包含 road 的文档中。

SVD 会寻找能够共同解释文档共现结构的低维方向。在低维潜在空间里,carautomobile 可能被投影到相近位置。

补充计算:文档相似度#

d1=(1,0,1)T,d2=(0,1,1)Td_1=(1,0,1)^T, \qquad d_2=(0,1,1)^Tcos(d1,d2)=122=0.5\cos(d_1,d_2) = \frac{1}{\sqrt2\sqrt2} =0.5

二者因为共享 road 而具有一定相似性,LSA 会利用这种间接关联提取潜在主题。


例题 4:低秩结构的意义#

题目#

考虑矩阵:

A=[1100110000110011]A= \begin{bmatrix} 1&1&0&0\\ 1&1&0&0\\ 0&0&1&1\\ 0&0&1&1 \end{bmatrix}

解释其潜在语义结构和矩阵秩。

解答#

前两行完全相同,后两行完全相同;前两列完全相同,后两列完全相同。

可以把它理解为两个主题:

主题 1:前两个单词,对应前两篇文档
主题 2:后两个单词,对应后两篇文档

矩阵只有两个线性独立方向,因此:

rank(A)=2\operatorname{rank}(A)=2

虽然矩阵是 4×44\times4,真正独立的语义结构只有两个方向。LSA 的作用就是通过低秩分解发现这种潜在主题。


六、MLE、MAP 与 EM#

1. 概率与似然#

给定参数 θ\theta 时:

P(Dθ)P(D\mid\theta)

可以有两种理解:

  • θ\theta 固定,研究不同数据 DD 的概率:这是概率
  • 把已经观测到的 DD 固定,研究不同参数 θ\theta 对这组数据的解释程度:这是似然

似然函数:

L(θ)=P(Dθ)L(\theta)=P(D\mid\theta)

2. 最大似然估计 MLE#

最大似然估计选择最能解释观测数据的参数:

θ^MLE=argmaxθP(Dθ)\hat\theta_{MLE} = \arg\max_{\theta}P(D\mid\theta)

为方便求导,常取对数:

(θ)=logL(θ)\ell(\theta) = \log L(\theta)

由于对数函数单调递增:

argmaxL(θ)=argmaxlogL(θ)\arg\max L(\theta) = \arg\max \log L(\theta)

3. 最大后验估计 MAP#

MAP 还考虑参数先验:

θ^MAP=argmaxθP(θD)\hat\theta_{MAP} = \arg\max_{\theta}P(\theta\mid D)

根据贝叶斯公式:

P(θD)P(Dθ)P(θ)P(\theta\mid D) \propto P(D\mid\theta)P(\theta)

所以:

θ^MAP=argmaxθP(Dθ)P(θ)\hat\theta_{MAP} = \arg\max_{\theta} P(D\mid\theta)P(\theta)

区别:

方法使用数据似然使用参数先验
MLE
MAP

当先验分布为常数时,MAP 退化为 MLE。

4. EM 为什么出现#

当完整数据中存在看不见的隐变量 ZZ 时,直接最大化:

P(Xθ)=ZP(X,Zθ)P(X\mid\theta) = \sum_ZP(X,Z\mid\theta)

往往很困难。

EM 交替进行:

E 步 expectation#

在当前参数 θ(t)\theta^{(t)} 下,计算隐变量的后验分布:

P(ZX,θ(t))P(Z\mid X,\theta^{(t)})

并求完整数据对数似然的条件期望:

Q(θθ(t))=EZX,θ(t)[logP(X,Zθ)]Q(\theta\mid\theta^{(t)}) = \mathbb E_{Z\mid X,\theta^{(t)}} [\log P(X,Z\mid\theta)]

M 步 maximization#

选择使 QQ 最大的新参数:

θ(t+1)=argmaxθQ(θθ(t))\theta^{(t+1)} = \arg\max_{\theta} Q(\theta\mid\theta^{(t)})

迭代#

初始化参数
E 步:用当前参数估计隐变量
M 步:用隐变量的软分配更新参数
参数是否基本不变?
├─ 否:继续迭代
└─ 是:停止

5. 二硬币 EM 的通用公式#

ii 轮有:

  • hih_i 次正面;
  • tit_i 次反面;
  • mi=hi+tim_i=h_i+t_i 次投掷。

当前参数:

θA=P(HA),θB=P(HB)\theta_A=P(H\mid A),\qquad \theta_B=P(H\mid B)

若 A、B 先验选择概率相同,则第 ii 轮来自 A 的责任度:

ri=P(ADi)=θAhi(1θA)tiθAhi(1θA)ti+θBhi(1θB)tir_i = P(A\mid D_i) = \frac{ \theta_A^{h_i}(1-\theta_A)^{t_i} }{ \theta_A^{h_i}(1-\theta_A)^{t_i} + \theta_B^{h_i}(1-\theta_B)^{t_i} }

来自 B 的概率:

1ri1-r_i

M 步更新:

θAnew=irihiiri(hi+ti)\theta_A^{new} = \frac{\sum_i r_i h_i} {\sum_i r_i(h_i+t_i)}θBnew=i(1ri)hii(1ri)(hi+ti)\theta_B^{new} = \frac{\sum_i (1-r_i)h_i} {\sum_i (1-r_i)(h_i+t_i)}

若 A、B 被选择的先验概率不相同,还需在 E 步分子中乘相应先验概率。


例题 1:一枚硬币的 MLE#

题目#

一枚硬币投掷 10 次,得到 7 次正面、3 次反面。用 MLE 估计正面概率 pp

似然函数#

L(p)=p7(1p)3L(p)=p^7(1-p)^3

对数似然#

(p)=7lnp+3ln(1p)\ell(p)=7\ln p+3\ln(1-p)

求导并令其为 0#

ddp=7p31p=0\frac{d\ell}{dp} = \frac{7}{p}-\frac{3}{1-p}=07(1p)=3p7(1-p)=3p7=10p7=10pp^MLE=0.7\hat p_{MLE}=0.7

结论#

伯努利或硬币模型的 MLE 等于:

正面次数总投掷次数\frac{\text{正面次数}}{\text{总投掷次数}}

例题 2:MAP 与 MLE 的区别#

题目#

仍有 7 次正面、3 次反面。设先验:

pBeta(2,2)p\sim\operatorname{Beta}(2,2)

求 MAP 估计。

后验分布#

Beta 先验与伯努利似然共轭:

pDBeta(2+7,2+3)=Beta(9,5)p\mid D \sim \operatorname{Beta}(2+7,2+3) = \operatorname{Beta}(9,5)

Beta(α,β)(\alpha',\beta')α,β>1\alpha',\beta'>1 时的众数为:

α1α+β2\frac{\alpha'-1}{\alpha'+\beta'-2}

所以:

p^MAP=919+52=812=230.667\hat p_{MAP} = \frac{9-1}{9+5-2} = \frac{8}{12} = \frac23 \approx0.667

而:

p^MLE=0.7\hat p_{MLE}=0.7

解释#

Beta(2,2)(2,2) 先验倾向于认为 pp 靠近 0.5,因此 MAP 被从 0.7 拉向 0.5。


例题 3:二硬币 EM 完整一轮#

题目#

有 A、B 两枚硬币,当前估计:

θA(0)=0.8,θB(0)=0.4\theta_A^{(0)}=0.8, \qquad \theta_B^{(0)}=0.4

A、B 每轮被选中的先验概率相同。三轮观测分别为:

D1: HH
D2: HT
D3: TT

完成一次 E 步和 M 步。

E 步:计算每轮来自 A 的概率#

第一轮 HH#

P(D1A)=0.82=0.64P(D_1\mid A)=0.8^2=0.64P(D1B)=0.42=0.16P(D_1\mid B)=0.4^2=0.16r1=0.640.64+0.16=0.8r_1 = \frac{0.64}{0.64+0.16} =0.8

第二轮 HT#

P(D2A)=0.8×0.2=0.16P(D_2\mid A)=0.8\times0.2=0.16P(D2B)=0.4×0.6=0.24P(D_2\mid B)=0.4\times0.6=0.24r2=0.160.16+0.24=0.4r_2 = \frac{0.16}{0.16+0.24} =0.4

第三轮 TT#

P(D3A)=0.22=0.04P(D_3\mid A)=0.2^2=0.04P(D3B)=0.62=0.36P(D_3\mid B)=0.6^2=0.36r3=0.040.04+0.36=0.1r_3 = \frac{0.04}{0.04+0.36} =0.1

因此:

轮次属于 A 的概率 rir_i属于 B 的概率 1ri1-r_i
HH0.80.2
HT0.40.6
TT0.10.9

计算 A 的期望正反面次数#

A 的正面期望次数:

2×0.8+1×0.4+0×0.1=2.02\times0.8+1\times0.4+0\times0.1=2.0

A 的反面期望次数:

0×0.8+1×0.4+2×0.1=0.60\times0.8+1\times0.4+2\times0.1=0.6

计算 B 的期望正反面次数#

B 的正面期望次数:

2×0.2+1×0.6+0×0.9=1.02\times0.2+1\times0.6+0\times0.9=1.0

B 的反面期望次数:

0×0.2+1×0.6+2×0.9=2.40\times0.2+1\times0.6+2\times0.9=2.4

M 步:更新参数#

θA(1)=2.02.0+0.60.769\theta_A^{(1)} = \frac{2.0}{2.0+0.6} \approx0.769θB(1)=1.01.0+2.40.294\theta_B^{(1)} = \frac{1.0}{1.0+2.4} \approx0.294

一轮结果#

(θA,θB):(0.8,0.4)(0.769,0.294)(\theta_A,\theta_B):(0.8,0.4) \longrightarrow (0.769,0.294)

接下来使用新参数重复 E 步和 M 步,直到参数基本稳定。

WARNING

“2.0 次正面”“0.6 次反面”是期望计数,并不表示现实中真的投了小数次硬币。


例题 4:三硬币模型中的隐变量后验#

题目#

有三枚硬币 0、1、2:

  • 先投硬币 0;
  • 若硬币 0 为正面,则选择硬币 1 投掷三次;
  • 若硬币 0 为反面,则选择硬币 2 投掷三次;
  • 只记录最后三次结果,不记录硬币 0 的结果。

设:

λ=P(硬币 0 为正面)=0.6\lambda=P(\text{硬币 0 为正面})=0.6p1=P(H硬币 1)=0.7p_1=P(H\mid\text{硬币 1})=0.7p2=P(H硬币 2)=0.3p_2=P(H\mid\text{硬币 2})=0.3

观测到:

HHT

求这一轮由硬币 1 生成的后验概率。

定义隐变量#

令:

Z=HZ=H

表示硬币 0 为正面,即选中硬币 1。

观测数据 X=HHTX=HHT,其中有 2 个 H、1 个 T。

若选中硬币 1#

P(XZ=H)=p12(1p1)=0.72×0.3=0.147P(X\mid Z=H) =p_1^2(1-p_1) =0.7^2\times0.3 =0.147

乘先验:

P(Z=H,X)=0.6×0.147=0.0882P(Z=H,X) =0.6\times0.147 =0.0882

若选中硬币 2#

P(XZ=T)=p22(1p2)=0.32×0.7=0.063P(X\mid Z=T) =p_2^2(1-p_2) =0.3^2\times0.7 =0.063

乘先验:

P(Z=T,X)=0.4×0.063=0.0252P(Z=T,X) =0.4\times0.063 =0.0252

后验概率#

P(Z=HX)=0.08820.0882+0.0252P(Z=H\mid X) = \frac{0.0882}{0.0882+0.0252}P(Z=HX)0.778P(Z=H\mid X) \approx0.778

结论#

在当前参数下,这一轮有约 77.8%77.8\% 的概率由硬币 1 生成。

这正是 EM 的 E 步:在当前参数下估计隐变量的后验概率。


EM 的重要性质与局限#

  1. 每次迭代通常不会降低观测数据似然;
  2. 一般只能保证收敛到局部最优或驻点;
  3. 对初始参数敏感;
  4. 隐变量后验可能采用软分配;
  5. 参数变化很小、似然变化很小或达到迭代上限时可停止。

七、考试前必须会写的结论#

1. 无监督学习#

无监督学习从无标签数据出发,依靠数据自身的相似性、方差结构或概率结构,完成聚类、降维和隐变量学习等任务。

2. K-means#

K-means 反复进行“按最近质心分组”和“按类内均值更新质心”,目标是最小化类内平方和。

公式:

J=j=1KxiGjxicj2J=\sum_{j=1}^{K}\sum_{x_i\in G_j}\|x_i-c_j\|^2

3. PCA#

PCA 将中心化数据投影到协方差矩阵最大特征值对应的特征向量方向,使降维后的方差最大。

公式:

Σ=1n1XTX\Sigma=\frac{1}{n-1}X^TXΣwi=λiwi\Sigma w_i=\lambda_iw_iY=XWY=XW

4. 特征人脸#

特征人脸先将人脸图像向量化并减去平均脸,再用 PCA 或 SVD 提取主要脸部变化方向,以低维系数表示和比较人脸。

5. LSA#

LSA 对单词—文档矩阵做截断 SVD,把单词和文档映射到低维潜在语义空间,从共现结构中发现隐含语义关系。

6. EM#

EM 用当前参数估计隐变量的后验分布,再利用隐变量的期望统计量更新参数,交替迭代直到收敛。

E 步:参数 → 隐变量
M 步:隐变量 → 参数

八、综合自测题#

以下题目建议在不看答案的情况下独立完成。

自测 1:K-means#

数据:

{2,3,4,10,11,12}\{2,3,4,10,11,12\}

K=2K=2,初始质心为 2 和 10。

要求:

  1. 完成第一次分组;
  2. 更新质心;
  3. 判断是否收敛;
  4. 计算最终 JJ

答案#

最终:

G1={2,3,4},c1=3G_1=\{2,3,4\},\quad c_1=3G2={10,11,12},c2=11G_2=\{10,11,12\},\quad c_2=11J=(1+0+1)+(1+0+1)=4J=(1+0+1)+(1+0+1)=4

自测 2:PCA#

数据:

(2,2),(0,0),(2,2)(-2,-2),\quad(0,0),\quad(2,2)

要求:求协方差矩阵、特征值、第一主成分和一维投影。

答案#

Σ=[4444]\Sigma= \begin{bmatrix} 4&4\\ 4&4 \end{bmatrix}

特征值:

λ1=8,λ2=0\lambda_1=8,\qquad\lambda_2=0

第一主成分:

w1=12(1,1)Tw_1=\frac{1}{\sqrt2}(1,1)^T

投影:

(22,0,22)T(-2\sqrt2,0,2\sqrt2)^T

自测 3:LSA#

给出单词—文档矩阵:

A=[210120003]A= \begin{bmatrix} 2&1&0\\ 1&2&0\\ 0&0&3 \end{bmatrix}

判断哪两篇文档最相似,并说明理由。

答案#

列向量:

d1=(2,1,0)T,d2=(1,2,0)T,d3=(0,0,3)Td_1=(2,1,0)^T, \quad d_2=(1,2,0)^T, \quad d_3=(0,0,3)^Tcos(d1,d2)=45=0.8\cos(d_1,d_2)=\frac{4}{5}=0.8

d1,d3d_1,d_3d2,d3d_2,d_3 的余弦相似度均为 0。

所以 d1d_1d2d_2 最相似。


自测 4:EM#

当前参数:

θA=0.7,θB=0.3\theta_A=0.7, \qquad \theta_B=0.3

观测一轮为 HHT。A、B 先验相同。求该轮来自 A 的概率。

答案#

P(DA)=0.72×0.3=0.147P(D\mid A)=0.7^2\times0.3=0.147P(DB)=0.32×0.7=0.063P(D\mid B)=0.3^2\times0.7=0.063P(AD)=0.1470.147+0.063=0.7P(A\mid D) = \frac{0.147}{0.147+0.063} =0.7

最后检查清单#

考试前确认自己能够:

  • 用一句话说明无监督学习的定义;
  • 写出 K-means 四步流程;
  • 手算欧氏距离、质心和类内平方和;
  • 解释 K-means 对初值、尺度和离群点敏感的原因;
  • 手算均值、样本方差、协方差和相关系数;
  • 对简单二维数据完成 PCA;
  • 解释最大特征值为什么对应第一主成分;
  • 解释 SVD 的三个矩阵和截断 SVD;
  • 写出特征人脸的“平均脸—中心化—降维—编码—比较”流程;
  • 构造单词—文档矩阵并计算余弦相似度;
  • 说明 LSA 如何利用低秩结构发现潜在语义;
  • 区分观测变量、隐变量和模型参数;
  • 区分 MLE、MAP 和 EM;
  • 完成二硬币 EM 的一次 E 步和 M 步;
  • 记住 E 步估计隐变量,M 步更新模型参数。
OceanAI-Chapter5:PLUS无监督学习重点
https://www.sleepyfish2031.top/posts/课程笔记/海洋人工智能基础/无监督学习重点及必须掌握的计算_概念/
作者
Sleepyfish
发布于
2026-06-16
许可协议
CC BY-NC-SA 4.0