绪论
什么是模式识别(定义)
模式识别领域专注于使用计算机算法来自动地发现数据中的规律,并利用这些规律来采取行动,如将数据划分到不同的类别中。
典型的模式识别流程包括哪些步骤
- 数据采集
- 特征提取或特征学习
- 模型或系统的学习
- 评估
- 部署
模式识别所面临的困难
- 语义鸿沟:人:桌子、花瓶;计算机:01数字
- 计算能力:存储和计算
- 数据获取(难获取:医学图像/罕见病/用户隐私;难标注:需要专家知识)
具体的模式识别的例子
自动驾驶
- 车辆感受到车主正在靠近,并自动打开车门
(计算机视觉任务:行人检测、身份识别)
(输入:利用光学、超声波或红外摄像机等成像传感器捕捉的图像或视频)
(输出:对于这些图像和视频的理解,并根据具体的人物以不同的方式呈现结果) - 车辆与车主沟通,了解此次行程的目的
(语音识别、自然语言处理、语音合成) - 车辆进行自动导航,并通过自控系统(即自主地驾驶)开往目的地
- 车辆抵达后以适当的方式通知车主,并在车主离开后自动泊车
CH1&CH2-数学知识回顾&性能评估
泛化误差、近似误差、训练误差、测试误差
泛化误差,它是当我们考虑服从潜在分布的所有可能样本时的期望错误率,即
E r r = E ( x , y ) ∼ p ( x , y ) [ I f ( x ) ≠ y I ] , Err=\mathbb{E}_{(\boldsymbol{x},y) \sim p(\boldsymbol{x},y)} \left[ \mathbb{I} f(\boldsymbol{x}) \neq y \mathbb{I} \right], Err=E(x,y)∼p(x,y)[If(x)=yI],
其中 I ⋅ I \mathbb{I} · \mathbb{I} I⋅I 为指示函数。
泛化误差难以被显示计算的原因:几乎所有任务中潜在分布都是未知的。
训练误差是对泛化误差的过度乐观的估计,通常小于真实的错误率。
什么是过拟合?什么是欠拟合?
欠拟合:模型的表示能力低于数据中的复杂度
过拟合:训练集上的拟合误差非常小,测试误差却很大
如何缓解过拟合问题?
- 数据集划分:将数据集分成训练集和验证集,在训练过程中监控验证集的性能
- 模型复杂度控制:对于复杂模型(如深度神经网络),可以通过减少网络层数、减少隐藏单元数等方式降低模型的复杂度
- 正则化:在损失函数中添加正则项,限制模型参数的大小
- 特征选择:选择有效的特征,减少模型的复杂性
- Dropout:一种正则化技术,随机地在神经网络的训练过程中丢弃一部分神经元,减少神经网络对特定输入的依赖
交叉验证怎么做?

CH3-PCA
什么是PCA?
PCA是一种线性的特征提提取方法,也是一种线性的降维技术。
为什么要降维?
数据各维度之间通常不是互相独立的(特征之间存在相互依赖性->存在冗余)
数据的内在维度通常远低于其表面维度。
降维的好处是什么?
- 降低资源需求,减少存储所用的空间和计算所需的CPU周期
- 去除噪声
- 有助于解释数据的生成方式与理解其特征
PCA的步骤
- 输入训练样本 { x 1 , x 2 , ⋯ , x n } \{\boldsymbol{x_1},\boldsymbol{x_2},\cdots,\boldsymbol{x_n}\} {x1,x2,⋯,xn}
- 计算样本的均值 x ˉ \boldsymbol{\bar x} xˉ 和协方差矩阵 C o v ( x ) Cov(\boldsymbol{x}) Cov(x)
- 求得 C o v ( x ) Cov(\boldsymbol{x}) Cov(x) 的特征值和特征向量
- 根据特征值选定新的维度 d d d(或者 d d d 是预先给定的)
- 根据 d d d 的值确定矩阵 E d \boldsymbol{E_d} Ed (n行d列)
PCA算法的步骤
设有 m m m 条 n n n 维数据。
1)将原始数据按列组成 n n n 行 m m m 列矩阵 X X X
2)将 X X X 的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值
3)求出协方差矩阵 C = 1 m X X T C=\frac{1}{m}XX^T C=m1XXT
4)求出协方差矩阵的特征值及对应的特征向量
5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前 k k k 行组成矩阵 P P P (k行n列)
6) Y = P X Y=PX Y=PX即为降维到 k k k 维后的数据
来源:PCA的数学原理
降维后的低维表示是什么?原数据的近似公式是什么?
对于任何数据
x
\boldsymbol{x}
x,其新的经过PCA变换得到的特征是
y
=
(
ξ
1
T
(
x
−
x
ˉ
)
,
ξ
2
T
(
x
−
x
ˉ
)
,
⋯
,
ξ
d
T
(
x
−
x
ˉ
)
)
T
∈
R
d
\boldsymbol{y}=(\xi_{1}^T(\boldsymbol{x}-\boldsymbol{\bar{x}}),\xi_{2}^T(\boldsymbol{x}-\boldsymbol{\bar{x}}),\cdots,\xi_{d}^T(\boldsymbol{x}-\boldsymbol{\bar{x}}))^T \in \mathbb{R}^d
y=(ξ1T(x−xˉ),ξ2T(x−xˉ),⋯,ξdT(x−xˉ))T∈Rd
重建为
x ≈ x ˉ + E d E d T ( x − x ˉ ) = x + ( ξ 1 T ( x − x ˉ ) ξ 1 , ξ 2 T ( x − x ˉ ) ξ 2 , ⋯ , ξ d T ( x − x ˉ ) ξ d ) \boldsymbol{x} \approx \boldsymbol{\bar{x}} + E_dE_d^T(\boldsymbol{x}-\boldsymbol{\bar{x}}) = \boldsymbol{x} + (\xi_{1}^T(\boldsymbol{x}-\boldsymbol{\bar{x}}) \xi_{1},\xi_{2}^T(\boldsymbol{x}-\boldsymbol{\bar{x}})\xi_{2},\cdots,\xi_{d}^T(\boldsymbol{x}-\boldsymbol{\bar{x}})\xi_{d}) x≈xˉ+EdEdT(x−xˉ)=x+(ξ1T(x−xˉ)ξ1,ξ2T(x−xˉ)ξ2,⋯,ξdT(x−xˉ)ξd)
如何确定降维后的维数?
- 如果一个特征值为0,可以移除该特征值即对应的特征向量
- 如果一个特征值非常小,该投影方向可能是噪声,不包含有用的信息,可以移除
- 通常做法:去掉特征值最小的那些方向
λ 1 + λ 2 + ⋯ + λ d λ 1 + λ 2 + ⋯ + λ D > 0.9 \frac{\lambda_1 + \lambda_2 + \cdots + \lambda_d}{\lambda_1 + \lambda_2 + \cdots + \lambda_D} > 0.9 λ1+λ2+⋯+λDλ1+λ2+⋯+λd>0.9
d为满足上式的第一个整数
停止域值除了0.9,也可以是其他值,如0.85,0.95
PCA的优点和缺点?
优点
- 减少数据量:减少计算量,缩短训练时间;减少所需的存储空间;去除数据中的噪声
- 如果数据服从高斯分布,完成PCA后,新特征各维度互不相关,有利于模式识别
缺点
- 信息损失:降维过程中,会损失部分数据的信息。由于只保留了部分主成分,可能无法完整地表示原始数据的方差和特征。
- 对非线性数据效果不佳(无法处理离群值)
- 效率低下:PCA需要计算协方差矩阵和特征值的分解,对于大规模高维数据计算复杂度高
- PCA有利于表示数据,但和分类无关,不考虑数据的标签label(无监督)
CH4-Fisher 线性判别
逐维归一化、逐样例归一化
逐维归一化
训练集: x 1 , x 2 , ⋯ , x n x_1,x_2,\cdots,x_n x1,x2,⋯,xn, x i = ( x i 1 , x i 2 , ⋯ , x i d ) x_i=(x_{i1},x_{i2},\cdots,x_{id}) xi=(xi1,xi2,⋯,xid),即训练集总共有n个样本,每个样本有d个特征值。
步骤:
- 对第 j j j 维,其数据为 x 1 j , x 2 j , ⋯ , x n j x_{1j}, x_{2j},\cdots, x_{nj} x1j,x2j,⋯,xnj ,即样本矩阵的第 j j j 列
- 取其最小值 x m i n , j x_{min,j} xmin,j 和最大值 x m a x , j x_{max,j} xmax,j
- 对这一维的任何数据 x i j = x i j − x m i n , j x m a x , j − x i j x_{ij}=\frac{x_{ij}-x_{min,j}}{x_{max,j}-x_{ij}} xij=xmax,j−xijxij−xmin,j
- 新数据的范围是[0,1]
有时候有理由相信某个维度是服从高斯分布的,那么对于第 j j j 维,计算其均值 μ j ^ \hat{\mu_j} μj^ 和标准差 σ j ^ \hat{\sigma_j} σj^,对每一个特征值:
x i j ^ = x i j − μ j ^ σ j ^ \hat{x_{ij}}=\frac{x_{ij}-\hat{\mu_j}}{\hat{\sigma_j}} xij^=σj^xij−μj^
逐样例规范化

概括起来就是,l1规范的分母是该样例所有特征值的和,而l2规范化的分母是该样例所有特征值的模(平方相加开根号)。
类内散度矩阵、类间散度矩阵
类内散度矩阵
类内散度矩阵度量的是原始输入数据集中每个类别内部的离散程度
对于二分类问题,类内散度矩阵 S W = S 1 + S 2 S_W=S_1+S_2 SW=S1+S2,其中 $S_k= \sum_{y_i=k}(\boldsymbol{x_i}- \boldsymbol{\mu}_k)(\boldsymbol{x_i}- \boldsymbol{\mu}_k)^T,\quad k=1,2 $
对于K类问题,类内散度矩阵为 S W = ∑ i = 1 K S i S_W=\sum_{i=1}^KS_i SW=∑i=1KSi
加深理解
S k S_k Sk的求法是,在第 k k k 类样本中,每个样本减去这类样本的均值向量 μ k \mu_k μk,然后做外积,得到的是一个 n × n n \times n n×n的矩阵(假设每个样本的维度是 n n n),然后将这些矩阵相加。
类间散度矩阵
类间散度矩阵度量的是由两个类别的均值导致的散度,测量的是两个不同类之间的离散程度
对于二分类问题,类间散度矩阵 S B = ( μ 2 − μ 1 ) ( μ 2 − μ 1 ) T S_B=(\boldsymbol{\mu}_2-\boldsymbol{\mu}_1)(\boldsymbol{\mu}_2-\boldsymbol{\mu}_1)^T SB=(μ2−μ1)(μ2−μ1)T,其中 μ k = 1 N i ∑ x ∈ X k x , k = 1 , 2 \boldsymbol{\mu}_{k}=\frac{1}{N_i} \sum_{\boldsymbol{x} \in X_k} \boldsymbol{x}, k=1,2 μk=Ni1∑x∈Xkx,k=1,2
对于K类问题,类间散度矩阵的定义:
- 定义总均值 μ = 1 N ∑ x x \boldsymbol{\mu}=\frac{1}{N}\sum_{\boldsymbol{x}}\boldsymbol{x} μ=N1∑xx,其中 N N N是样本总量
- 总散度矩阵: S T = ∑ x ( x − μ ) ( x − μ ) T S_T=\sum_{x}(\boldsymbol{x}-\boldsymbol{\mu})(\boldsymbol{x}-\boldsymbol{\mu})^T ST=∑x(x−μ)(x−μ)T
- 在FLD中,类间散度被定于为总散度与类间散度之间的差,即:
S B = S T − S W = ∑ k = 1 K N k ( μ k − μ ) ( μ k − μ ) T S_B = S_T-S_W=\sum_{k=1}^KN_k(\boldsymbol{\mu}_k-\boldsymbol{\mu})(\boldsymbol{\mu}_k-\boldsymbol{\mu})^T SB=ST−SW=k=1∑KNk(μk−μ)(μk−μ)T
FLD的优化目标
- 找到一个投影方向 w \boldsymbol{w} w 使得类间散度远大于类内散度
- 通过调整 w \boldsymbol{w} w,使得 J ( w ) J(\boldsymbol{w}) J(w) 为最佳投影方向

广义瑞利商的定义
J ( w ) = w T S B w w T S W w J(\boldsymbol{w}) = \frac{ \boldsymbol{w}^TS_B \boldsymbol{w}}{ \boldsymbol{w}^TS_W \boldsymbol{w}} J(w)=wTSWwwTSBw
FLD的一般步骤(每个符号的具体含义)
二分类FLD的步骤:
- 输入:D维的二分类训练集
- 计算 μ 1 , μ 2 \boldsymbol{\mu}_1, \boldsymbol{\mu}_2 μ1,μ2
- 计算 S W S_W SW (类间散度)
- 计算 w = S W − 1 ( μ 2 − μ 1 ) \boldsymbol{w}=S_W^{-1}(\boldsymbol{\mu}_2-\boldsymbol{\mu}_1) w=SW−1(μ2−μ1)
- 归一化: w = w ∥ w ∥ \boldsymbol{w}=\frac{\boldsymbol{w}}{\left \| \boldsymbol{w} \right \|} w=∥w∥w
在多分类问题中,仍可以通过求解广义特征值问题,找到最佳的投影方向:
- S B w i = λ i S W w i S_B\boldsymbol{w}_i=\lambda_iS_W\boldsymbol{w}_i SBwi=λiSWwi
- 第 k k k 个投影方向为第 k k k 大广义特征值对应的广义特征向量
- 对应K分类问题,最多可以提取K-1个有意义的特征值
原因:由于 K 分类问题有 K 个类别,因此至少需要 K-1 个投影方向来将数据投影到 K-1 维的子空间中,使得不同类别的数据可以完全分开。如果只取 K-2 个投影方向,则无法将所有 K 个类别的数据完全分开,因此 K-2 个特征值是没有意义的。
- 广义特征向量不一定是l2规范化或彼此垂直的
MP伪逆的作用和做法

CH5&6-SVM
SVM的关键思想?目的是?SVM方法为什么称为支持向量机?
关键思想
找到最佳的分类边界,将 𝑥 的域划分为不同的区域,落到同一个区域内的样本全都属于同一个类,且不同的区域对应于不同的类别。
目的
将样本中到分类边界最小的那个距离最大化
为什么称为支持向量机
PPT
训练集中,那些拉格朗日乘子大于0的样本,对于计算 b ∗ b^* b∗ 是有用的,称为支持向量,该分类方法被称为支持向量机
SVM叫支持向量机,是因为在SVM中,超平面是由训练数据集中的某些样本点支撑起来的,这些样本点就称为支持向量。
在二维空间中,超平面可以由两条平行直线表示。这两条直线最少需要三个样本点来唯一确定。这三个样本点就是支持向量。
支持向量是决定超平面位置和方向的关键因素。支持向量的个数越多,超平面越稳定。
因此,SVM叫支持向量机,是因为它通过支持向量来决定超平面位置和方向。
以下是一些具体的解释:
- 在二维空间中,SVM的目标函数是最大化超平面与数据点之间的间隔。这个间隔称为margin。margin越大,超平面越能将不同类别的数据分开。
- 在求解SVM的目标函数时,我们会发现,只有那些离超平面最近的样本点,即支持向量,才会对margin产生影响。其他样本点对margin的影响很小。
- 因此,我们可以说,支持向量是决定SVM分类性能的关键因素。
样本空间中任意点𝑥到超平面 𝑤,𝑏 的距离是多少?间隔是多少?如何证明?

r
=
f
(
x
)
∥
w
∥
r = \frac{f(\boldsymbol{x})}{\left \| \boldsymbol{w} \right \|}
r=∥w∥f(x)
margin为其大小的绝对值
x
\boldsymbol{x}
x的margin是
∣
r
∣
=
∣
f
(
x
)
∥
w
∥
∣
=
∣
f
(
x
)
∣
∥
w
∥
=
∣
w
T
x
+
b
∣
∥
w
∥
|r| = \big| \frac{f(\boldsymbol{x})}{\left \| \boldsymbol{w} \right \|} \big| = \frac{|f(\boldsymbol{x})|}{\left \| \boldsymbol{w} \right \|} = \frac{|\boldsymbol{w}^T\boldsymbol{x}+b|}{\left \| \boldsymbol{w} \right \|}
∣r∣=
∥w∥f(x)
=∥w∥∣f(x)∣=∥w∥∣wTx+b∣
如何用SVM解决分类问题?
在得到决策值 f ( x ) f(x) f(x)后,可定义符号函数 s i g n f ( x ) sign\ f(x) sign f(x):
s i g n f ( x ) = { 1 , f ( x ) > 0 − 1 , f ( x ) < 0 0 , f ( x ) = 0 sign\ f(x)=\left\{ \begin{aligned} 1, \quad f(x)>0 \\ -1, \quad f(x)<0 \\ 0, \quad f(x)=0 \end{aligned} \right. sign f(x)=⎩ ⎨ ⎧1,f(x)>0−1,f(x)<00,f(x)=0
当某个测试样本𝒙恰好有𝑓(𝒙)=0时,可特别指定输出为+1或者-1,或者为这种特殊且罕见的测试样本随机分配标记
在线性不可分样本中SVM引入核函数的目的?常见的核函数
目的
我们遇到线性不可分的样例时,常用做法是把样本特征映射到高维空间中去。但是遇到线性不可分的样本,一律映射到高维空间,那么这个维度大小将会非常高。此时,核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数仍在低维上进行计算,而将实质上的分类效果(利用了内积)表现在了高维上,这样避免了直接在高维空间中的复杂计算,真正解决了SVM线性不可分的问题。
常见的核函数
线性核linear kernel:
- 内积: K ( x , y ) = x T y \mathcal{K}(\boldsymbol{x},\boldsymbol{y})=\boldsymbol{x}^T\boldsymbol{y} K(x,y)=xTy
非线性核:
- RBF: K ( x , y ) = e x p ( − γ ∥ x − y ∥ 2 ) \mathcal{K}(\boldsymbol{x},\boldsymbol{y})=exp(-\gamma \left \|\boldsymbol{x}-\boldsymbol{y}\right \|^2) K(x,y)=exp(−γ∥x−y∥2),径向基函数,也叫做高斯核
- 多项式核: K ( x , y ) = ( γ x T y + c ) D \mathcal{K}(\boldsymbol{x},\boldsymbol{y})=(\gamma\boldsymbol{x}^T\boldsymbol{y}+c)^D K(x,y)=(γxTy+c)D
用SVM解决多分类问题的两种方法,其各自的做法,两种方法之间的比较?
第一种方法:“一对其余”(One-versus-all, OvA)
- 训练 m m m 个二分类SVM来解决一个 m m m 类的问题
- 在训练第 i i i 个二分类SVM时,第 i i i 类的样本会被当作二分类问题中的正类样本,其他所有 m − 1 m-1 m−1 类的数据合并在一起做负类
- 对于二分类器 f i f_i fi,其输出 f i ( x ) f_i(\boldsymbol{x}) fi(x) 可以看作是其“信心”:如果 f i ( x ) f_i(\boldsymbol{x}) fi(x) 是一个很大的正数,可以很有信心地认为“ x \boldsymbol{x} x属于第 i i i 类”
-
m
m
m 个分类器会给出
m
m
m 个置信分数,对
x
\boldsymbol{x}
x 的最终预测就是置信度最高的那个类,即
a r g max 1 ≤ i ≤ m f i ( x ) arg \max_{1\leq i \leq m}f_i(\boldsymbol{x}) arg1≤i≤mmaxfi(x)
第二种方法:“一对一”(One-versus-One, OvO)
- 训练 C m 2 = m ( m − 1 ) 2 C_m^2 = \frac{m(m-1)}{2} Cm2=2m(m−1) 个二分类SVM分类器
- 在训练分类器 f i , j f_{i,j} fi,j 时,第 i i i 类的样本被视为正类样本,第 j j j 类样本被视为负类样本,其他类别的样本被忽略掉
- 训练好的分类器 f i , j ( x ) f_{i,j}(\boldsymbol{x}) fi,j(x) 将决定x应该被分类到第 i i i 类还是第 j j j 类————即第 i i i 类或第 j j j 类收到了一票
- 对于任意测试样本 x \boldsymbol{x} x,将收到 C m 2 C_m^2 Cm2 张投票,分布在 m m m个类中
- 如果 x \boldsymbol{x} x的真实类别为 k ( 1 ≤ k ≤ m ) k(1\leq k \leq m) k(1≤k≤m),预计第 k k k 个类收到的投票数量会是最多的
- 在OvO方法中,对于任意样本 x \boldsymbol{x} x的预测是收到最多投票的那个类
OvA和OvO之间的比较
- 在分类精度方面没有明显的赢家
- 当𝑚不大时,两种方法都适用
- 对于具有大量类别的问题,例如𝑚=1000时,OvO需要训练499500个二分类SVM,而OvA
只需要训练1000个二分类SVM - 因此,当𝑚很大时,OvA会更受欢迎
CH7-概率方法
生成式模型vs判别式模型
判别式模型
直接对条件/后验分布 p ( Y ∣ X ) p(Y|X) p(Y∣X) 进行建模
生成式模型
先对先验分布 p ( Y ) p(Y) p(Y)和条件分布 P ( X ∣ Y ) P(X|Y) P(X∣Y) 进行建模,然后基于贝叶斯定理求 P ( Y ∣ X ) P(Y|X) P(Y∣X)
贝叶斯定理
P ( Y ∣ X ) = P ( Y ) P ( X ∣ Y ) P ( X ) P(Y|X)=\frac{P(Y)P(X|Y)}{P(X)} P(Y∣X)=P(X)P(Y)P(X∣Y)
比较
- 判别式模型在实践中通常比生成式模型具有更高的分类精度,但是不能采用或生成得到一个服从潜在联合分布的样本对 ( x , y ) (x,y) (x,y)
- 由于 p ( X , Y ) = p ( Y ) p ( X ∣ Y ) p(X,Y)=p(Y)p(X|Y) p(X,Y)=p(Y)p(X∣Y),所以生成式模型相当于对联合分布 p ( X , Y ) p(X,Y) p(X,Y)进行建模,如果目标是对数据生成过程进行建模而非分类的话,生成式模型就是必要的
判别函数
不考虑概率,不使用概率模型,而是直接找到分类边界(例如FLD和SVM),有时比判别式模型的效果更好。
参数化估计vs非参数化估计
参数化估计
- 在表示分布时假设它具有特定的参数化形式,即假设概率密度函数p.d.f. 服从某种函数形式
- 假设特定的函数形式,例如正态分布或指数分布,在进行密度估计时,只需要对这些函数中的参数进行估计
- 当指定所有参数值之后,概率密度函数p.d.f. 就完全确定
- 不同的概率分布由不同的参数值决定
- 当领域知识可以提供一些关于p.d.f. 具体形式的提示时,参数化估计是一个强大的工具
非参数化估计
- 不对密度函数假设一个特定的函数形式,即不假设p.d.f. 是任何已知形式的函数
- 从直观上来看更合理
- 使用训练样本来直接估计定义域中任意点处的密度
- 非参数不代表无参数!
- 非参数指的是没有假设参数化的函数形式,不意味着这类方法不需要参数
- 事实上,参数估计的参数个数是有限的,非参数估计的参数数量可能会朝着无穷大增长
- 当训练样本数量增加时,非参数化模型中的参数数量通常也会增加
- 通常会面临高额的计算代价
- 简单的非参数化方法:核密度估计(KDE)
点估计vs贝叶斯估计
以高斯分布的均值 μ \mu μ为例
点估计:参数 μ \mu μ是一个固定的向量(即不包含随机性),但我们不指定它具体的数值(即确定性的未知量)(ML、MAP)
其目的在于使用训练样本来找到这个固定但未知的参数值
估计结果是位于可能的参数空间中(不包含随机性)的一个固定点,因此被称为点估计
贝叶斯估计:参数 μ \mu μ也被视为随机变量(或随机向量)
如果 μ \mu μ的先验分布是一个高斯多元分布,那么 μ \mu μ的贝叶斯估计是一个完整的高斯分布,而不是一个固定的点
利用最大似然求最优参数(二级重要)
盲猜不考 pass
直方图的绘制方法,直方图的优缺点
直方图的绘制,简单 pass
直方图的优点
- 在低维的问题中,一个具有合适容器宽度的直方图可以相当准确的近似出一个连续分布;
- 不需要存储数据集D,只需要保存直方图𝒉就足够了
直方图的缺点
- 没有连续的估计
- 两个容器的边界处会留下断层
- 在每个容器内部都使用单个固定值来表示整个区间
- 如果𝑥超出了直方图的范围,那么估计值𝑝(𝑥) 将为0,这是不恰当的
- 维数灾难
当存在多维时,会对每个维度单独划分容器,假设每个维度被划分成了 m m m个容器,那么一个 d d d维的分布总共会有 m d m^d md个容器 - 需要找到合适的容器宽度
容器数量较小,模型(直方图)的复杂度低于数据(概率密度函数)的复杂度,欠拟合会导致较差的近似;容器数量过多,模型过拟合样本的一些特殊性质,而不是概率密度函数的性质
从另一个角度看直方图的缺点:非对称、有限的支撑、均匀辐射,由这些确定从而引出核密度估计。
核密度估计的思想和做法,对核密度函数的要求

(核密度估计的公式要记住)
CH8-距离度量与数据变换
度量所满足的四个条件,及其符号表示
度量也被称为距离函数或简称距离,最常用的距离度量是欧式距离,欧式距离满足以下性质:
- d ( x , y ) ≥ 0 d(\boldsymbol{x},\boldsymbol{y}) \geq 0 d(x,y)≥0 (非负性)
- d ( x , y ) = d ( y , x ) d(\boldsymbol{x},\boldsymbol{y})=d(y,\boldsymbol{x}) d(x,y)=d(y,x) (对称性)
- d ( x , y ) = 0 ⟺ x = y d(\boldsymbol{x},\boldsymbol{y})= 0\iff \boldsymbol{x}=\boldsymbol{y} d(x,y)=0⟺x=y (同一性)
- d ( x , z ) ≤ d ( x , y ) + d ( y , z ) d(\boldsymbol{x},\boldsymbol{z})\leq d(\boldsymbol{x},\boldsymbol{y})+d(\boldsymbol{y},\boldsymbol{z}) d(x,z)≤d(x,y)+d(y,z) (三角不等式性)
向量范数所满足的三个条件,及其符号表示
考虑实向量,当函数 f : R d ⟼ R + f:\mathbb{R}^d \longmapsto \mathbb{R}_+ f:Rd⟼R+ 对任意的 x , y ∈ R d \boldsymbol{x},\boldsymbol{y}\in \mathbb{R}^d x,y∈Rd和任意值 c ∈ R c\in \mathbb{R} c∈R满足下述三个性质,被称为是一个向量范数:
- f ( c x ) = ∣ c ∣ f ( x ) f(c\boldsymbol{x})=|c|f(\boldsymbol{x}) f(cx)=∣c∣f(x)(齐次性)
- f ( x ) = 0 ⟺ x = 0 f(\boldsymbol{x})=0 \iff \boldsymbol{x}=0 f(x)=0⟺x=0(非负性)
- f ( x + y ) ≤ f ( x ) + f ( y ) f(\boldsymbol{x}+\boldsymbol{y})\leq f(\boldsymbol{x})+f(\boldsymbol{y}) f(x+y)≤f(x)+f(y) (三角不等式性)
由上述三个性质可推出向量范数具有对称性: f ( − x ) = f ( − 1 × x ) = ∣ − 1 ∣ f ( x ) = f ( x ) f(-\boldsymbol{x})=f(-1\times \boldsymbol{x})=|-1|f(\boldsymbol{x})=f(\boldsymbol{x}) f(−x)=f(−1×x)=∣−1∣f(x)=f(x)
ℓ𝒑范数的定义,为什么要限定𝑝≥1?
Lp范数在 p ≥ 1 p \geq 1 p≥1时在 R d \mathbb{R}^d Rd空间有定义
- ∥ x ∥ = ( ∑ i = 1 d ∣ x i ∣ p ) 1 p \left \| \boldsymbol{x} \right \| = \big(\sum_{i=1}^d |x_i|^p \big)^{\frac{1}{p}} ∥x∥=(∑i=1d∣xi∣p)p1
- 当 p p p是无理数且 x x x是负数时, x p x^p xp无定义,因此,定义中的绝对值符号不能省略
- L2范数的下标通常被省略
- Lp范数满足向量范数的齐次性、非负性和三角不等式性(由闵柯夫斯基不等式得到)
为什么要限定𝑝≥1?
考虑两个单位向量 x = ( 1 , 0 , 0 , ⋯ , 0 ) T \boldsymbol{x}=(1,0,0,\cdots,0)^T x=(1,0,0,⋯,0)T和 y = ( 0 , 1 , 0 , ⋯ , 0 ) T \boldsymbol{y}=(0,1,0,\cdots,0)^T y=(0,1,0,⋯,0)T
∥ x + y ∥ p = 2 1 p , ∥ x ∥ = ∥ y ∥ = 1 \left \| \boldsymbol{x}+\boldsymbol{y} \right \|_p = 2^{\frac{1}{p}}, \quad \left \| \boldsymbol{x} \right \| = \left \| \boldsymbol{y} \right \| = 1 ∥x+y∥p=2p1,∥x∥=∥y∥=1
根据三角不等式,应有 2 1 p ≤ 2 2^{\frac{1}{p}} \leq 2 2p1≤2,因此 p ≥ 1 p \geq 1 p≥1
当 0 < p < 1 0 < p < 1 0<p<1时, ∥ x ∥ p \left \| \boldsymbol{x} \right \|_p ∥x∥p不是一个范数,但是仍然可以用于表示映射
当 p ⟶ ∞ p\longrightarrow \infty p⟶∞时极限存在,Lp范数是向量 x \boldsymbol{x} x中最大的那个值
L0“范数”表示 x \boldsymbol{x} x中非0元素的个数
重要性质:当 𝒑 增加时, ℓ𝒑范数将减小或保持不变(注意与幂平均作区分)
幂平均的定义
给定一组正值 x 1 , x 2 . ⋯ , x n x_1,x_2.\cdots,x_n x1,x2.⋯,xn ,指数为p的广义平均也被称为幂平均
M p ( x 1 , x 2 . ⋯ , x n ) = ( 1 n ∑ i = 1 n x i p ) 1 p M_p(x_1,x_2.\cdots,x_n)=(\frac{1}{n}\sum_{i=1}^nx_i^p)^{\frac{1}{p}} Mp(x1,x2.⋯,xn)=(n1i=1∑nxip)p1
幂平均与ℓ𝒑范数之间的差异(4条)
- 幂平均需要 x i x_i xi均为正值,而p-范数使用 x i x_i xi的绝对值
- 幂平均中的 1 n \frac{1}{n} n1项在p-范数中没有出现
- 幂平均对所有实数值均有定义,而p-范数需要𝑝≥1
- 𝑀𝑝在整个实数域上时一个关于𝑝的非递减函数,当且仅当𝑥1 =𝑥2 =⋯=𝑥𝑛时,等式成立;ℓ𝒑范数是非递增函数。
常见的幂平均核

常见的数据变换方法:softmax, sigmoid, tanh, ReLU
softmax
给定一个有任意值的向量 x = ( x 1 , x 2 , ⋯ , x d ) T \boldsymbol{x}= (x_1,x_2,\cdots,x_d)^T x=(x1,x2,⋯,xd)T,softmax函数转换其到另一个d维向量𝒛,新向量的分量都是非负的并且和为1,因此可以被理解为概率𝑃𝑟(𝑦=𝑖|𝒙)
z i = e x p ( x i ) ∑ j = 1 d e x p ( x j ) z_i=\frac{exp(x_i)}{\sum_{j=1}^dexp(x_j)} zi=∑j=1dexp(xj)exp(xi)
sigmoid
σ ( x ) = 1 1 + e − x \sigma(x)=\frac{1}{1+e^{-x}} σ(x)=1+e−x1
tanh
t a n h ( x ) = e x − e − x e x + e − x tanh(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} tanh(x)=ex+e−xex−e−x
ReLU
R e L U ( x ) = m a x ( 0 , x ) ReLU(x)=max(0,x) ReLU(x)=max(0,x)
CH9&10-信息论和决策树
霍夫曼编码、霍夫曼树
简单 pass
熵、联合熵、条件熵、相对熵、互信息、KL散度、最大熵、交叉熵
熵
若一个离散随机变量 X X X 的概率质量函数为 p i = p ( X = s i ) = a i ( 1 ≤ i ≤ m ) p_i=p(X=s_i)=a_i(1\leq i \leq m) pi=p(X=si)=ai(1≤i≤m),其熵的定义为:
H ( X ) = − ∑ i = 1 m p i log 2 p i H(X)=-\sum_{i=1}^m p_i \log_2p_i H(X)=−i=1∑mpilog2pi
熵的单位是bit。当存在某个 i i i 使得 p i = 1 p_i=1 pi=1 时, H ( X ) = 0 H(X)=0 H(X)=0;当 X X X是离散均匀分布时, H ( X ) = log 2 m H(X)= \log_2m H(X)=log2m。
熵也可以被写作期望的形式:
H ( X ) = − E X [ log 2 p ( X ) ] H(X)=-\mathbb{E}_X\left[ \log_2p(X) \right] H(X)=−EX[log2p(X)]
联合熵
给定两个离散随机变量
X
X
X和
Y
Y
Y
H
(
X
,
Y
)
=
−
∑
x
∑
y
p
(
x
,
y
)
log
2
p
(
x
,
y
)
H(X,Y)=-\sum_x \sum_y p(x,y) \log_2p(x,y)
H(X,Y)=−x∑y∑p(x,y)log2p(x,y)
条件熵
当
X
=
x
X=x
X=x时,
Y
∣
X
=
x
Y|X=x
Y∣X=x 表示
Y
Y
Y 在特定值
X
=
x
X=x
X=x 下的条件分布:
H
(
Y
∣
X
=
x
)
=
−
∑
y
p
(
y
∣
x
)
log
2
p
(
y
∣
x
)
H(Y|X=x)=-\sum_yp(y|x) \log_2p(y|x)
H(Y∣X=x)=−y∑p(y∣x)log2p(y∣x)
条件熵是对所有 x x x的 H ( Y ∣ X = x ) H(Y|X=x) H(Y∣X=x)的加权平均,定义为:
H ( Y ∣ X ) = ∑ x p ( x ) H ( Y ∣ X = x ) = − ∑ x , y p ( x , y ) log 2 p ( y ∣ x ) H(Y|X)=\sum_xp(x)H(Y|X=x)=-\sum_{x,y}p(x,y) \log_2p(y|x) H(Y∣X)=x∑p(x)H(Y∣X=x)=−x,y∑p(x,y)log2p(y∣x)
也可以写作:
H
(
Y
∣
X
)
=
−
E
x
,
y
[
log
2
p
(
Y
∣
X
)
]
H(Y|X)=-\mathbb{E}_{x,y}\left[ \log_2p(Y|X) \right]
H(Y∣X)=−Ex,y[log2p(Y∣X)]
互信息
互信息(Mutual Information)浅尝辄止(一):基础概念
𝐻(𝑋) 是𝑋和其自身的互信息,因此熵𝐻(𝑋)也被称为自信息
KL散度(也被称为相对熵)
对两个(定义在相同域中的)概率质量函数 p ( x ) p(x) p(x)和 q ( x ) q(x) q(x)而言,KL散度定义为:
K L ( p ( x ) ∣ ∣ q ( x ) ) = ∑ x p ( x ) log 2 p ( x ) q ( x ) KL(p(x)||q(x))=\sum_xp(x) \log_2\frac{p(x)}{q(x)} KL(p(x)∣∣q(x))=x∑p(x)log2q(x)p(x)
KL散度不是对称的,也不满足三角不等式,因此不是一个距离度量。但KL散度是非负的(非负性),且 K L ( p ( x ) ∣ ∣ q ( x ) ) = 0 KL(p(x)||q(x))=0 KL(p(x)∣∣q(x))=0意味着对于任意 x x x, p ( x ) = q ( x ) p(x)=q(x) p(x)=q(x)(同一性)
最大熵
最大熵分布是在特定假设条件下具有最大不确定性的分布
- 在满足某些假设的所有分布构成的空间中,最大熵分布不偏好、不倾向于任何特别的点
- 例如:在区间 [𝑎,𝑏] 上的连续均匀分布同等对待这个区间中的所有点
最大熵原理在自然语言处理中被广泛应用,举个例子:
- 假设任务是构建一个概率质量函数𝑝,使之可以带有随机性地将一个中文词语翻译成英文。
- 有一个很大的语料库,并且已知有四种可能的候选𝑎,𝑏,𝑐,𝑑,因此一个约束条件为p(𝑎) + p(𝑏) + p(𝑐) + p(𝑑) =1,且p(𝑎) ≥0, p(𝑏)≥0, p(𝑐) ≥0, p(𝑑) ≥0
- 另外从语料库中发现翻译𝑎和𝑐大约每三次出现一次,导致另一个约束p(𝑎) + p(𝑐) =1/3
- 翻译模型𝑝可以是满足这六项约束的任意概率质量函数
- 最大熵的解将找到一个具有最大熵的概率质量函数
最大熵导致翻译结果变化多端,这可能对读者会更有吸引力
交叉熵
- 对两个在相同定义域里的概率密度函数p和q,连续和离散分布的交叉熵分别定义为:
- C E ( p , q ) = − ∫ p ( x ) l n q ( x ) d x CE(p,q)=-\int p(x)lnq(x)dx CE(p,q)=−∫p(x)lnq(x)dx
- C E ( p , q ) = − ∑ x p ( x ) log 2 q ( x ) CE(p,q)=-\sum_xp(x) \log_2q(x) CE(p,q)=−∑xp(x)log2q(x)
- 交叉熵是不对称的
- C E ( p , q ) = h ( p ) + K L ( p ∣ ∣ q ) CE(p,q)=h(p)+KL(p||q) CE(p,q)=h(p)+KL(p∣∣q)
离散均匀分布的不确定的上界,如何证明?
令 U U U是有 m m m个事件的离散均匀分布,即对任意 u u u, p ( u ) = 1 m p(u)=\frac{1}{m} p(u)=m1,那么
- K L ( X ∣ ∣ U ) = ∑ x p ( x ) log 2 p ( x ) 1 / m = log 2 m − H ( X ) KL(X||U)=\sum_xp(x) \log_2\frac{p(x)}{1/m}= \log_2m-H(X) KL(X∣∣U)=∑xp(x)log21/mp(x)=log2m−H(X)
- 因此,对于任意 x x x, H ( X ) = log 2 m − K L ( X ∣ ∣ U ) H(X)= \log_2m-KL(X||U) H(X)=log2m−KL(X∣∣U)
- 所以, 0 ≤ H ( X ) ≤ log 2 m 0\leq H(X) \leq \log_2m 0≤H(X)≤log2m
- 即 log 2 m \log_2m log2m是离散均匀分布的不确定上界,且 ⌈ log 2 m ⌉ \lceil \log_2m \rceil ⌈log2m⌉
基于信息增益决定结点的划分构造决策树

CH11&12-隐马尔可夫模型

隐马尔可夫模型的五要素:
- N:可能的状态数量
- M:可能的观测值的数量(假设观测值是离散的)
- π \pi π:先验(初始)状态分布
- A:状态转移矩阵
- B:观测概率矩阵
个人理解
前向算法做起来很像全概率公式,维特比算法很像动态规划
CH13&14-卷积神经网络
各种不同网络层的作用(卷积层、ReLu层、池化层、全连接层、softmax层、dropout层)
卷积层
为什么要进行卷积?
底层卷积层:学习特定方向和角度的水平或垂直边缘
底层ReLU:只激活这些特定的边缘特征
深层卷积层:学习特定的、更复杂的模式
深层ReLU层:激活这些特点的模式
…
卷积层的另一个好处时所有空间位置共享相同的卷积核,这极大地减小了卷积层需要的参数数量。
ReLU层
对输入张量的每个元素独立地进行截断
ReLU层的作用:增加CNN中的非线性
池化层
池化层可以有效的缩小参数矩阵的尺寸,从而减少最后连接层的中的参数数量。所以加入池化层可以加快计算速度和防过拟合。
全连接层
全连接层:输出 x l + 1 x^{l+1} xl+1中的任意元素需要用输入 x l x^l xl中所有元素来计算
- 在深度CNN模型的尾部有用
- 例如,当前层的输出包括输入图像的分布式表示,想要使用当前层的所有特征来构建有更强容量的下一层的特征
softmax层
假设第 l l l层时softmax层,其输入是一个向量 x l ∈ R d \boldsymbol{x}^l \in \mathbb{R}^d xl∈Rd . 那么,它的输出是一个向量 x l + 1 ∈ R d \boldsymbol{x}^{l+1} \in \mathbb{R}^d xl+1∈Rd(softmax函数不再赘述)。
在softmax层处理之后, x l + 1 \boldsymbol{x}^{l+1} xl+1的值构成了一个概率质量函数,可被作交叉熵损失的输入。
dropout层
- 随机失活使得每次更新梯度时参与计算的网络参数减少了,降低了模型容量。
- 随机失活鼓励权重分散,才这个角度来看随机失活也能起到正则化的作用,进而防止过拟合。
随机梯度下降,小批量计算梯度
在适当的学习率下,基于一个训练样例的一次更新将使得针对这个特定样例的损失变小,但可能引起其他样例的损失增大,因此,需要使用全部的训练样例来更新参数。
轮(epoch):所有的训练样例都已被用来更新参数,称为处理过一轮
- 一轮训练通常将减小训练集上的平均损失
- 可以重复梯度下降更新多轮,并在某点停止
如何进行梯度下降?
- 基于单个训练样例计算得到的梯度去更新参数–>会得到不稳定的损失函数
- 使用全部训练样例计算梯度并更新参数–>需要大量的计算资源
- Mini-batch(小批量):使用小批量计算梯度并更新参数
- 随机梯度下降:使用训练样例的一个小的子集来估计梯度并进行参数更新
卷积层的卷积核、padding、步长,池化层的池化范围、全连接层的输入特征和输出特征
padding 技巧
-
只要卷积核比 1 × 1 1\times 1 1×1大,输出的大小将小于输出的大小
-
输入是 H l × W l × D l H^l \times W^l \times D^l Hl×Wl×Dl,卷积核是 H × W × D l × D H \times W \times D^l \times D H×W×Dl×D,卷积结果的大小为:
( H l − H + 1 ) × ( W l − W + 1 ) × D (H^l-H+1)\times(W^l-W+1)\times D (Hl−H+1)×(Wl−W+1)×D -
通过填补(padding),可保持输出与输入有相同的高和宽:
对输入的每个通道,在第一行上方填补 ⌈ H − 1 2 ⌉ \lceil \frac{H-1}{2}\rceil ⌈2H−1⌉行,最后一行下方填补 ⌈ H 2 ⌉ \lceil \frac{H}{2} \rceil ⌈2H⌉行,第一列左边填补 ⌈ W − 1 2 ⌉ \lceil \frac{W-1}{2}\rceil ⌈2W−1⌉列,最后一列右边填补 ⌈ W 2 ⌉ \lceil \frac{W}{2}\rceil ⌈2W⌉列。
步长(stride)
- 当步长s=1时,对每个可能的空间位置,都使用卷积核对输入进行卷积
- 当步长s=1,卷积核每次移动跳过s-1个像素位置,即卷积只在每隔s个水平单位和垂直位置进行,卷积的输出将比输入小很多(大约是1/s)
- 通常以0填补,也可选择其他数值
全连接层的输入输出特征
以卷积层实现全连接层:当一层的输入 x l x^l xl的大小为 H l × W l × D l H^l \times W^l \times D^l Hl×Wl×Dl时,使用大小为 x l x^l xl的大小为 H l × W l × D l H^l \times W^l \times D^l Hl×Wl×Dl的卷积核,那么 D D D个这样的卷积核构成了一个大小为 H l × W l × D l × D H^l \times W^l \times D^l \times D Hl×Wl×Dl×D阶的张量,输出是 y ∈ R D y \in \mathbb{R}^D y∈RD.
VGG16网络设计
CH15-EM算法的基本思想
什么是可观测变量?什么是隐变量?
可观测变量:可以直接被观察到的变量。
隐变量:不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种东西。
描述EM算法的基本步骤
- 初始化参数
- E步:使用观测数据和当前参数值,找到一个对不可观测的隐变量更好的猜测
- M步:使用当前对隐变量的猜测和观测数据,找到一个更好地参数估计
- 重复:重复以上两个步骤直至收敛
简单问题场景下EM算法的求解
| 硬币 | 结果 | 统计 |
|---|---|---|
| A | 正正反正反 | 3正-2反 |
| B | 反反正正反 | 2正-3反 |
| A | 正反反反反 | 1正-4反 |
| B | 正反反正正 | 3正-2反 |
| A | 反正正反反 | 2正-3反 |
2749

被折叠的 条评论
为什么被折叠?



