04 无监督学习

01 K-means

算法流程

欧式距离,也可以换成方差

不足:

K-medoids Algorithm

Chooses input data points as centers;
选择输入的数据点作为聚类中心

Works with an arbitrary matrix of distances between data points instead of Euclidean distance
可以用别的距离度量公式


02 主成分分析

主成分分析是一种特征降维方法

奥卡姆剃刀定律(Occam’s Razor):“如无必要,勿增实体”,即“简单有效原理”,对于现象最简单的解释往往比较复杂的解释更正确

概念解析

算法动机

主成分分析:特征降维的方法,但要保证降维后的结果要保持原始数据固有结构

线性判别分析 主成分分析
是否需要样本标签 监督学习 无监督学习
降维方法 优化寻找特征向量 w 优化寻找特征向量 w
目标 类内方差小、类间距离大 寻找投影后数据之间方差最大的投影方向
维度 LDA 降维后所得到维度是与数据样本的类别个数 K 有关 (Sb 的秩最多为 K-1) PCA 对高维数据降维后的维数是与原始数据特征维度相关

算法描述

Pseudo-Code

  • 输入:n 个 d 维样本数据所构成的矩阵 X,降维后的维数为 l
  • 输出:映射矩阵 W={w1,w2,...,wl}

  1. 对于每个样本数据 xi 进行中心化处理:xi=xiμ,μ=1nj=1nxj
  2. 计算原始样本数据的协方差矩阵:Σ=1n1XTX
  3. 对协方差矩阵 Σ 进行特征值分解,对所得特征根按其值大到小排序 λ1λ2λd
  4. 取前 ι 个最大特征根所对应特征向量 w1,w2,...,wl 组成映射矩阵 W
  5. 将每个样本数据 xi 按照如下方法降维:(xi)1×d(W)d×l=1×l

其他降维方法

非负矩阵分解 PCA

非负矩阵分解将给定的非负矩阵 DRn×d 分解为两个非负矩阵 WRn×lHRl×d, 并满足下面的条件:

DWHDi,j,Wi,μ,Hμ,j0

多维尺度法 MDS

保持原始数据之间两两距离不变:MDS 算法会计算原始数据两两之间的距离,形成一个距离矩阵,以此来保证降维之前距离近的数据在降维之后也能很接近

无法对新数据集合进行降维(比如测试集),因为需要先验的距离矩阵知识

局部线性嵌入 LLE

PCA 和 MDS 都属于线性降维方法,LLE 是一种非线性降维方法

假设数据是局部线性的 (即使数据的原始高维空间是非线性流形嵌入),这时可以用和邻居数据的线性关系进行局部重构


03 特征人脸方法

用(特征)人脸表示人脸,而非用像素点表示人脸

将每幅人脸图像转换成列向量

输入:n 个 1024 维人脸样本数据所构成的矩阵 X,降维后的维数 l
输出:映射矩阵 W ={w1,w2,...,wl}( 其中每个 wj(1 j l) 是一个特征人脸)
算法步骤:

  1. 对于每个人脸样本数据 xi 进行中心化处理:xi=xiμ,μ=1nj=1nxj
  2. 计算原始人脸样本数据的协方差矩阵:Σ=1n1XTX
    L=XXT 代替大的协方差矩阵计算,避免 d 维度过高计算复杂
  3. 对协方差矩阵 Σ 进行特征值分解,对所得特征根从到小排序 λ1λ2λd
  4. 取前 l 个最大特征根所对应特征向量 w1,w2,...,wl 组成映射矩阵 W
  5. 将每个人脸图像 xi 按照如下方法降维:(xi)1×d(W)d×l=1×l

Pasted image 20250427152237.png|475


04 潜在语义分析

这一部分考试不作要求

潜在语义分析先构建一个单词-文档 (term-document) 矩阵 A,进而寻找该矩阵的低秩逼近 (low rank approximation),来挖掘单词-单词、单词-文档以及文档-文档之间的关联关系

第一步,计算单词-文档矩阵:
Pasted image 20250605145854.png|450

第二步,奇异值分解:
Pasted image 20250605145934.png|450
Pasted image 20250605145957.png|450
Pasted image 20250605150007.png|450

第三步,重建矩阵:

第四步,挖掘语义关系:

Conclusion:


05 期望最大化算法

这一部分考试不作要求

无论是最大似然估计算法或者是最大后验估计算法,都是充分利用已有数据,在参数模型确定 (只是参数值未知) 情况下,对所优化目标中的参数求导,令导数为 0,求取模型的参数值

在解决一些具体问题时,难以事先就将模型确定下来

期望最大化(expectationmaximization, EM)

二硬币投掷

假设有 A 和 B 两个硬币,进行五轮掷币实验

实验结果如下:
Pasted image 20250607110420.png|450

问题:从这五轮观测数据出发,计算硬币 A 或硬币 B 被投掷为正面的概率; 记硬币 A 或硬币 B 被投掷为正面的概率为 θ={θA,θB}

问题分析
隐变量 每一轮选择硬币 A 还是选择硬币 B 来完成 10 次投掷
(选择硬币 A 或硬币 B 投掷的概率)
模型参数 硬币 A 和硬币 B 投掷结果为正面的概率

E 步骤

估计隐变量取值: 选择硬币 A 或硬币 B 的投掷概率

假设 θ={0.6,0.5},基于 “HTTTHHTHTH”这 10 次投掷结果,由硬币 A 投掷所得概率为:

P(选择硬币A投掷|硬币投掷结果,θ)=P(选择硬币A投掷,硬币投掷结果|θ)P(硬币投掷结果|θ)=P(选择硬币A投掷,硬币投掷结果|θ)P(选择硬币A投掷,硬币投掷结果|θ)+P(选择硬币B投掷,硬币投掷结果|θ)=(0.6)5×(0.4)5(0.6)5×(0.4)5+(0.5)10=0.45

由 B 所得概率为:

P(选择硬币B投掷|硬币投掷结果,θ)=1P(选择硬币A投掷|硬币投掷结果,θ)=0.55

对每一轮计算:

M 步骤

在 E 步骤的信息基础上,可更新得到硬币 A 和硬币 B 投掷为正面的概率:

Θ^A(1)=21.3021.30+8.57=0.713Θ^B(1)=11.7011.70+8.43=0.581

可在新的概率值 θ 上进一步计算,不断迭代,直至算法收敛:
Pasted image 20250607112743.png|500

三硬币投掷

假设有三枚质地材料不均匀的硬币 (每枚硬币投掷出现正反两面的概率不一定相等) 这三枚硬币分别被标记为 0,1,2

一次试验的过程如下:

对问题进行如下建模:

通过贝叶斯公式,可以从观测数据来推测未观测数据的概率分布,即从硬币正面和反面观测结果来推测硬币 0 投掷为正面或反面这一隐变量:

P(z=H|x=THT,Θ)=P(x=THT,z=H|Θ)P(x=THT|Θ)=λp1(1p1)2λp1(1p1)2+(1λ)p2(1p2)2

随后的算法操作跟二硬币投掷是一致的,不再赘述

EM 算法的一般形式

一堆公式,历年卷出现了再整理 (

Copyright © 2025 Casette.
Made with Obsidian DG.