Skip to main content
  1. CheatSheet/
  2. Course/

Pattern Recogniton

Course

相似性度量
#

最小距离分类器
#

将样本归入距离最近的类别

平均样本法 样本到每个类别的各样本平均值的距离
平均距离法 样本到每个类别的各个样本的距离的平均值
最近邻法 样本最近的样本

距离,即相似性测度,常用的测度有:欧式距离、马氏距离($(X-M)^T\Sigma(X-M)$,衡量了样本到分布的距离)、向量夹角余弦

线性分类器
#

n维线性分类器可以表达为超平面$w^Tx+b=0$ 如果将样本X的第n+1维设为1,则超平面可以简化为$w^Tx=0$ 若样本集线性可分,则存在分类器使得所有样本满足$\begin{cases}w^Tx>0\quad if\ x\in w_1\newline w^Tx<0\quad if\ x\in w_2\end{cases}$

线性分类器的解必然构成解区域,解是不确定的

多分类问题按照是否线性可分、是否存在不确定区域的解可以分成三种情况

情况 分类器
总体线性可分 训练n个超平面,分隔每个类和其他所有类
成对线性可分 用$C_n^2$个独立的超平面,将两个类别分开
成对线性可分,且存在没有不确定区域的解 每个类别训练一个判别函数,采用最大值判决
$G_{ij}(X)=g_i(X)-g_j(X)$

感知器
#

线性分类器+阶跃函数

按顺序遍历样本,直到所有样本被正确分类

若样本$X_i$满足$\begin{cases}W^TX_i>0\quad if X_i\in\omega_1\newline W^TX<0\quad if X_i\in\omega_2\end{cases}$,则说明该样本被正确分类;

否则:$W=\begin{cases}W+\rho X_i\quad if X_i\in\omega_1\newline W-\rho X_i\quad if X_i\in\omega_2\end{cases}$

学习率和优化器
#

学习速率$\rho$​有很多设定方法,例如固定值、绝对修正(保证当前的单个训练样本被修正)、部分修正(对绝对修正的速率取0-2之间的调节因子)、变速学习(例如先快后满)、优化学习(令每一步最优,但计算量大)等。

常用的梯度下降法有:批量梯度法(BGD)、随机梯度法(SGD)、小批次梯度法(MBGD),分别对应整个数据集、单个样本、一小批样本进行梯度的计算。

最小平方和,LMSE
#

如果引入松弛变量,给每个样本的判别函数值规定一个数值,那么n个样本相当于添加了n个约束(具体取决于秩),当n>样本维度时,这是一个超定方程,只能转化为最优化问题来求解。

如果使用最小均方误差(Least Mean Square Error, LMSE)来求解,准则函数为 $$ J(w)=||Xw-b||^2 $$ 相应的梯度为 $$ \nabla J(w)=\nabla ||Xw-b||^2 = 2X^T(Xw-b) $$ 相应的更新方式为 $$ w_{k+1}=w_k+\rho_{k+1}X^T(Xw+b) $$ 但是,上述方法需要给定松弛变量,事实上,松弛变量也可以在优化中求解,即H-K算法。 $$ b_{k+1}=b_k-\eta_{k+1}\nabla J(w(k))|b $$

$$ \nabla J(w(k))|_b = -2(Xw(k)-b) = -2e(k) $$

$$ b_{k+1}=b_k+2\eta_{k+1}e_k $$

为保证b>0,使其单调递增, $$ b_{k+1}=b_k+\eta_{k+1}(e_k+|e_k|) $$

而对于w,直接令偏导数为0, $$ \nabla J(w(k))|_w = 2X^T(Xw-b)=0 $$

解得 $$ w_{k+1}=(X^TX)^{-1}X^Tb_{k+1} =w_k+\eta_{k+1}(X^TX)^{-1}X^T|e_k| $$

若训练集线性可分,则误差向量e可以优化至0;反之,当误差向量<0,说明样本集线性不可分。

SVM
#

寻找一个最优分类超平面,到两类中最靠近的样本点的距离同时达到最大

边界上的样本点称为支持向量,支持向量到超平面的距离可通过点到直线的距离公式求得, $$ r = \frac{G(x)}{||w||} $$ 进而有优化式 $$ \max d = \max 2r = \max \frac{2|G_{ij}(x_s)|}{||w||} $$ 由于直线的系数w可以等比例地放大或缩小,不妨令分子为1,则有 $$ \min||w|| $$ 等价于 $$ \min \frac{1}{2}||w||^2 $$ 支持向量是距离超平面最近的点,其他向量到超平面的距离必须更大,则有不等式 $$ G_{ij}(x)=w^Tx_i+w_0\ge1\newline 或者\newline G_{ij}(x)=w^Tx_i+w_0\le-1 $$ 合并为 $$ sgn(G_{ij}(x_i))(w^Tx_i+w0)\ge1 $$

使用拉格朗日乘子法,不等式约束可转化为 $$ \min_{||w||}\max_{\alpha}L(w,w_0,\alpha)=\frac{1}{2}||w||^2-\sum_i^l \alpha_isgn(G_{ij}(x_i))(w^Tx_i+w_0-1) $$ 最优化问题的解必满足KKT条件 $$ \begin{cases} \alpha_i\ge0\newline sgn(G_{ij}(x_i))(w^Tx_i+w0)\ge1\newline \sum\alpha_isgn(G_{ij}(x_i))(w^Tx_i+w0-1)=0 \end{cases} $$ 权向量是支持向量的线性组合 $$ w=\sum_i sgn(G_{ij}(x_i))\alpha_ix_i $$ 偏置量$w_0$​可代入任意一个支持向量求得。

Fisher线性判别,LDA
#

将样本点投影到一条直线上,使得投影后的类间距离尽可能大,类内距离尽可能小。

类内离散度矩阵$S_i=\sum_{x_k\in w_i} (x_k-\mu_i)(x_k-\mu_i)^T$,它刻画了样本偏离均值的差异程度;总的类内离散度矩阵$S_w=\sum_i S_i$,它刻画了两类样本偏离各自均值的总的差异程度

当样本数足够多时,$S_w$非奇异,最优投影直线的方向存在解析解$w^*=S_w^{-1}(m_1-m_2)$

非线性分类器
#

势函数法
#

定义位势函数$K(X)=\sum \lambda_iK(X,X_i)$​,使得正样本的位势>0,负样本的位势<0

其中$K(X,X_i)$​是单个样本点的位势,在样本点处有极大值,单调递减,在无穷处趋于0

位势函数本质上是样本点位势的加权和,但每个样本点的权重是不同的,需要在迭代中更新

按顺序遍历样本,直到所有样本满足:正样本的位势>0,负样本的位势<0

若样本$X_i$满足$\begin{cases}K_A(X_i)>0\quad if X_i\in\omega_1\newline K_A(X_i)<0\quad if X_i\in\omega_2\end{cases}$,则$K_A(X)$不变;

否则:$K_A=\begin{cases}K_A(X)+K(X,X_i)\quad if X_i\in\omega_1\newline K_A(X)-K(X,X_i)\quad if X_i\in\omega_2\end{cases}$

非线性SVM
#

软间隔:对于异常点,设置松弛变量,允许异常点在一定程度内的存在,以防止无解

核函数:将样本点映射到高维空间,进行线性可分的求解

贝叶斯分类器
#

$P(w_i)$先验概率:类别的先验

$P(x|w_i)$​类条件概率:每个类别内样本的分布

根据先验概率和类条件概率,可以计算后验概率 $$ P(w_i|x)=\frac{P(x|w_i)P(w_i)}{\sum_j P(x|w_j)P(w_j)} $$

贝叶斯判别器
#

判别准则
最大后验概率/最小错误概率判决 $g_i(X)=P(\omega_i|X)$ 概率越大,值越大
最小风险判决 $g_i(X)=-R(\alpha_i|X)=-\sum_i R(\alpha_i|w_i)$ 风险越小,值越大(风险:误判成其它类的风险之和)
Neyman-Pearson判决 调整判决阈值,使一类错误率不变。另一类错误率减小,可使用拉格朗日方法求解
最小最大判决 使风险最大的判决可能性最小(保守,最坏情况下结果最好,其他情况下结果可用)

最小错误概率本质上是最小风险的在正确风险为0、错误风险为1的一种特例

类条件概率密度的估计
#

参数估计
#

如果知道类间概率服从何种分布,则可以估计相应的分布参数。

极大似然估计 $\max_\theta P(X|\theta)$,
其中第i类样本的似然函数$p(X_i|\theta_i)=\prod_k^Np(x_k|\theta_i)$
调整$\theta$,使取得样本集$X$的概率最大
贝叶斯估计 设待估参数的先验概率为$P(\theta_i)$,则后验概率为$p(\theta_i|X_i)=\frac{p(X_i|\theta_i)P(\theta_i)}{\int_{\theta_i}p(X_i|\theta_i)P(\theta_i)d\theta}$ 利用贝叶斯公式,根据样本集的概率分布,反推参数$\theta$的后验概率,然后计算$\theta$的数学期望

朴素贝叶斯认为样本的各个维度独立,故似然概率可以表达为 $$ P(x|w)=\prod_j P(x_j|w) $$

非参数估计
#

包括Parzen窗估计法和k近邻估计法。

聚类
#

聚类定义:不知道每个类别的具体分布

聚类准则:类间距离大,类内距离小

离散度矩阵
类内离散度矩阵 $S_j=\frac{1}{N_j}\sum_{x_k\in w_j} (x_k-m_j)(x_k-m_j)^T$
总的类内离散度矩阵 $S_w=\sum_j P_j S_j$ within
类间离散度矩阵 $S_b=\sum_j P_j(m_j-m)(m_j-m)^T$ between
总的离散度矩阵 $S_t=\frac{1}{N}\sum_k (x_k-m)(x_k-m)^T$ total

三个离散度矩阵满足$S_t=S_w+S_b$

聚类准则函数
误差平方和 $J_e=\sum_j^C \sum_i^{N_j} ||x-m_j||^2$
加权平方和 $J_l=\sum_j^C P_jD_j$其中$D_j=E(||x-m_j||^2)$

增类聚类:最大最小距离
#

最大最小距离:先计算每个点到最近的聚类中心的距离(最小),然后选择其中距离最远的点(最大)

先指定一个聚类中心,相距最远的作为另一个聚类中心

不断迭代,增加新的聚类中心,直至样本点的最大最小距离<阈值

减类聚类:层次聚类
#

不断合并距离最近的两个类,第K次合并时的类别数$C=N-K+1$​

初始情况,每个样本各成一类;

计算类间距离,合并距离最小的两个类;(新的类间距离取决于类内样本的均值)

继续合并类,直至类间距离大于阈值或者类别数k满足要求;

动态聚类:C均值聚类(k-means)
#

优化准则函数$J_e$,使得类内误差平方和最小

设定k个聚类中心

每个样本进行分类,使得类内误差平方和最小(实际就是KNN),从而更新聚类中心

不断地迭代(分类+更新中心),直至聚类中心不再被更新

  • 初始聚类中心和类别数会影响收敛速度和边界样本的类别归属(但总是收敛的)

  • 可以选择几何意义明确的点作为聚类中心。

  • 准则函数实质上是MSE,可以选择MSE曲线的拐点作为最佳类别数k。

近邻函数聚类
#

近邻函数:每个样本点到其他样本点的距离

计算距离矩阵D

计算近邻系数矩阵$M=[m_{ij}]$,$X_i$是$X_j$的第$m_{ij}$个近邻

计算近邻函数值矩阵$A=[a_{ij}],a_{ij}=\begin{cases}m_{ij}+m_{ji}-2,i\ne j\newline2N,i=j\end{cases}$​

找出每行的最小元素,将距离最近的样本点连起来,形成初始聚类

对于每个类别,寻找与之距离最近的类别,若类间距离(min)<类内距离(max,min),则合并两个类别;不断迭代,直至无法合并

最小生成树聚类
#

先构建出最小生成树

然后找到权值最大的一条边,将样本集分为两个子集,递归地进行,直至最大边小于阈值

最小生成树算法 适用
Prim 先找到最小边,然后依次向外扩展最小的边,且不能构成环路,直至连通 节点少
Kruskal 依次寻找最小的边,且不能构成环路,直至连通 边少

句法分析
#

文法:根据一定规则产生样本

类型 符号
终止符 $V_T$$V_T=\set{a,b,c}$ Terminal
非终止符 $V_N=\set{S,A,B,C}$ Nonterminal
起始符 $S$,一类特殊的非终止符
产生式 $\alpha\rightarrow\beta,\alpha\in V^+,\beta \in V^*$ Parse

4种基本文法与自动机
#

类型 文法 限制
0型文法 无约束文法 $\alpha\rightarrow\beta$ 递归特性,可以产生一切类型的样本 图灵机
1型文法 上下文有关 $\alpha_1A\alpha_2\rightarrow\alpha_1B\alpha_2$ 考虑上下文,但上下文也可以为空
单个非终止符
上下文也可以是空句 线性界限自动机
2型文法 上下文无关 $A\rightarrow\beta$ 单个非终止符 最左推导/最右推导(从最左/最优的非终止符开始推导) 下推自动机
3型文法 正则 $A\rightarrow a$
$A\rightarrow aB$
左:单个非终止符
右:单个终止符/单个终止符+单个非终止符
可以用状态图表示 有限状态自动机

4种文法的关系:限制逐渐增加,范围逐渐缩小

编译原理之文法的分类和判别-CSDN博客

句法识别
#

句法识别方法:样本是否能被模式类的文法生成

$模式类\omega_i对应的文法是G_i,如果x\in L(G_i),那么则判定x\in w_i$

参考匹配法 每个模式类根据对应的文法生成对应的参考列,将样本与每一列的参考列逐个比对
状态图法 对于正则文法,若能找到状态图中的通路,则属于模式类 image-20240524023750867
填充树法 对于上下文无关文法,在每一步时考虑所有可能得文法,直到产生样本或无法产生样本为止(本质上是穷举) image-20240524024203703