第二次作业
第一章 模式识别基本概念
1.1 模式识别的基本概念
模式识别的应用实例:字符识别,动作识别,目标抓取等。
模式识别概念:根据已有知识的表达,针对待识别模式,判别决策其所属的类别或者预测其对应的回归值。
模式识别划分为"分类"和"回归"两种形式。分类:输出量是离散类别表达,即模式所属的类别。回归:输出量是连续的信号表达(回归值)。
1.2 模式识别的数学表达
模型:关于已有知识的表达。
特征提取:从原始输入数据提取更有效的信息。
回归器:将特征映射到回归值。
判别函数:sign函数(用于二类分类),max函数(多类分类)。
特征:可以用于区分不同类别模式的、可测量的量。具有辨别能力和鲁棒性。
特征向量:多个特征构成的列向量。空间中每个点代表一个样本,从坐标原点到该样本之间的向量即为该样本的特征向量。
1.3 特征向量的相关性
特征向量点积(结果是标量):点积表征两个特征向量的共线性,即方向上的相似程度。点积为0时说明两个向量是正交的。
向量的夹角:反映两个向量在方向上的差异性。
向量的投影:向量x分解到向量y方向的程度,分解的越多,说明两个向量方向上越相似。
残差向量:向量x分解到向量y方向上得到的投影向量与原向量x的误差。
欧式距离:直观上来说就是两个点之间的距离。用来表征两个向量之间的相似程度(综合考虑方向和模长)。
1.4 机器学习的基本概念
机器学习解决了模型如何得到的问题。模型又分为了线性模型和非线性模型。
机器学习流程图:获得训练样本,确定目标函数,通过优化算法以目标函数为标准获得模型参数的最优解。
机器学习的方式有监督式学习,无监督式学习,半监督式学习和强化学习。
监督式学习:训练样本及其输出真值都给定情况下的机器学习算法。通常使用最小化训练误差作为目标函数进行优化。
无监督式学习:只给定训练样本,没有给出输出真值情况下的机器学习算法。难度远高于监督式学习,主要根据训练样本之间的相似程度来进行决策。
半监督式学习:既有标注的训练样本、又有未标注的训练样本的情况下的学习算法。可视为有约束条件的无监督式学习。
强化学习:机器自行探索决策、真值滞后反馈的过程。有名的Alpha go就是用强化学习来训练的。
1.5 模型的泛化能力
训练集:模型训练所用的样本数据。每个样本称为训练样本。
测试集:测试模型性能所用的样本数据。每个样本称为测试样本。测试集与训练集是互斥的。
误差:模型给出的决策输出与真值输出之间的差异。分为训练误差与测试误差,训练误差即模型在训练集上的误差,测试误差在测试集上的误差,也被称为泛化误差。
泛化能力:训练得到的模型不仅要对训练样本具有决策能力,也要对新的样本有决策能力。
过拟合:模型过于拟合训练数据导致在测试阶段表现很差。
提高泛化能力的方法:1.选择复杂度合适的模型,2.正则化:在目标函数中加入正则项。通过调节正则系数,降低过拟合的程度。
1.6 评估方法和性能指标
评估方法:留出法,k折交叉验证,留一验证。
留出法:随机划分数据集为训练集和测试集,用训练集训练模型,测试集评估量化指标。为避免随机性,该过程进行若干次,量化指标取平均值。
k折交叉验证:将数据集分割为k个子集,选取单个子集作为测试集,剩下的为训练集。重复k次,保证每个子集都被作为一次测试集,对k次的量化指标取平均值。
留一验证:每次只去数据集中的一个样本做测试集,剩余的做训练集。每个样本测试一次,对n次的量化指标取平均值。留一验证即为k=n时的k折交叉验证。
性能指标:准确度,精度,召回率,F-Score,混淆矩阵,曲线度量,AUC。
准确度:(TN+TP)/N
精度:TP/(TP+FP) 召回率:TP/(TP+FN)
F-Sore:综合了精度和召回率。
混淆矩阵:矩阵的列表示预测值,行表示真值。矩阵的每个元素的值是根据每个测试样本的预测值和真值得到的计数统计值。对角线元素值越大模型性能越好。
曲线度量:设置若干个关于输出值的阈值,不同的阈值可以代表不同的应用任务,得到多个评估值,从而可以在空间中画出一条曲线。有PR曲线和ROC曲线。
AUC:即曲线下方面积,将曲线度量所表达的信息浓缩到一个标量表达。以0.5为阈值,AUC<0.5时说明比随机猜测还差。
第二章 基于距离的分类器
2.1 MED分类器
基于距离的决策:把测试样本到每个类之间距离作为决策模型,将测试样本判定为与其距离最近的类。
原型的种类:均值——将该类中所有训练样本的均值作为类的原型。最近邻——从一类的训练样本中,选取与测试样本距离最近的一个训练样本,作为该类的原型。
距离的种类:欧式距离,曼哈顿距离,加权欧式距离。
MED分类器:最小欧式距离分类器,类的原型为均值。
2.2 特征白化
特征白化的目的:将原始特征映射到新的一个特征空间,使得在新空间中特征的协方差为单位矩阵,从而去除特征变化的不同及特征之间的相关性。
特征转化的过程:将特征转化分为两步:先去除特征之间的相关性(解耦),然后再对特征进行尺度变化(白化)。令W=W1W2,解耦:通过W1实现协方差矩阵对角化,去除特征之间的相关性。白化:通过W2对上一步变换后的特征再进行尺度变换实现所有特征具有相同方差。
2.3 MICD分类器
MICD分类器:最小类内距离分类器,基于马氏距离的分类器。类的原型:均值。
MICD分类器的缺陷是会选择方差较大的那一类。优点是不受量纲的影响。
第三章 贝叶斯决策与学习
3.1 贝叶斯决策与MAP分类器
后验概率:给定一个测试模式x,决策其属于哪个类别需要依赖于P(Ci|x),该表达式称为后验概率,表达给定模式x属于类Ci的可能性。
基于贝叶斯规则求后验概率(在已知先验概率和观测概率的情况下):
MAP分类器:最大后验概率分类器,将测试样本决策分类给后验概率最大的那个类。
3.2 MAP分类器:高斯观测概率
假设观测概率服从高斯分布。
若观测似然概率为一维高斯分布。在方差相同的情况,分类器决策偏向先验概率高的类。方差不同且先验概率相同时,分类器倾向于选择方差较小的类。
分类器的比较:
3.3 决策风险与贝叶斯分类器
决策风险:不同的错误决策产生完全不一样的风险。
损失:表征当前决策动作相对于其他候选类别的风险程度。
决策风险的评估:给定一个测试样本x,分类器决策其属于Ci类的动作对于的决策风险可以定义为相对于所有候选类别的期望损失。
贝叶斯分类器:在MAP分类器基础上,加入决策风险因素,得到贝叶斯分类器。贝叶斯分类器选择决策风险最小的类,即最小化期望损失。
朴素贝叶斯分类器:当特征是多维的,假设特征之间是相互独立的,从而得到以下公式:
拒绝选项:当测试数据在决策边界时,即使选择后验概率高的,该概率的值仍然可能很小。为了避免错误决策,引入阈值,当概率低于阈值时不决策。
3.4 最大似然估计
求取先验概率和观测似然概率需要使用机器学习的方法得到。分为参数化方法和非参数化方法。常用的参数化方法有最大似然估计和贝叶斯估计,非参数化方法有K近邻法、直方图和核密度估计。
求解的步骤:
1.根据要求的概率分布写出似然函数。
2.对似然函数取对数,并整理。
3.求导数。
4.解似然方程(本节中要取最大值,所以取函数导数为0的点)。
3.5 最大似然的偏差估计
无偏估计:如果一个参数的估计量的数学期望是该参数的真值,则该估计量称为无偏估计。
高斯分布均值的最大似然估计是无偏的,协方差的最大似然估计不是无偏的。实际计算中通过将训练样本的协方差乘以N/(N-1)来修正协方差的估计值。
3.6、3.7 贝叶斯估计
贝叶斯估计:给定参数分布的先验概率以及训练样本,估计参数分布的后验概率。
后验概率的计算:
贝叶斯估计具有不断学习的能力,随着训练样本的不断增加,可以串行的不断修正参数的估计值,从而达到该参数的期望真值。
贝叶斯估计与最大似然估计的对比:贝叶斯估计把参数看作参数空间的一个概率分布,依照训练样本来估计参数的后验概率,从而得到观测似然关于参数的边缘概率,随着样本个数逐渐增大,贝叶斯估计越来越能代表真实的观测似然分布。最大似然估计的参数是确定值,不需要估算参数的边缘概率。
3.8 KNN估计
基本思想:
假设在极小的区域R内概率密度p(x)相同,给定区域R的体积记为V,可以得到p(x)的近似估计:
K近邻估计:给定x,找到其对应的区域R使其包含k个训练样本,以此计算p(x)。
KNN估计的优缺点——优点:可以自适应的确定x相关的区域R的范围。缺点:KNN概率密度估计不是连续函数,计算出的概率并不是真正的概率密度表达,积分回到正无穷而不是1。在推理测试阶段仍然需要存储所有训练样本,且易受噪声影响。
3.9 直方图与核密度估计
直方图估计:也是基于无参数概率密度估计的基本原理。不同之处在于直接将特征空间分为m个格子,每个格子即为一个区域,每个格子大小相同,落在每个格子的训练样本不固定。根据每个训练样本的特征值,计算每个格子的统计值。对于要计算样本x的概率时,先判断在哪个格子内,从而计算概率密度,概率密度即为该格子的统计值/带宽。
直方图估计的优缺点:
核密度估计:以任意待估计模式x为中心、固定带宽h,以此确定一个区域R。
基本原理:
常见的核函数:高斯分布,均匀分布,三角分布。
核密度的优缺点:
第四章 线性判据与回归
4.1 线性判据的基本概念
生成模型:给定训练样本{Xn},直接在输入空间内学习其概率密度函数p(x)。
生成模型的优劣势:
判别模型:给定训练样本{Xn},直接在输入空间内估计后验概率p(Ci|x);
判别模型的优势:
线性判据:如果判别模型f(x)是线性函数,则f(x)为线性判据。
线性判据的数学模型:w垂直于决策边界上的任何向量。w0决定了决策边界的偏移量,使其能够满足两个类输出值分别为正负。
决策边界:
任意样本x到决策边界的垂直距离为:该距离的绝对值越大,说明这个点属于正类或者负类的程度越大。
4.2 线性判据的学习概述
监督式学习过程:基于训练样本{x2,x2...,xn}及其标签{t1,t2,...,tn},设计目标函数,学习w和w0。
当线性判据参数有多个可能的解时,学习算法就是要找到一个最优解。设计目标函数,极大化或极小化目标函数从而得到最优解。
4.3 并行感知机算法
感知机算法的预处理:
目标函数:针对所有被错误分类的训练样本,其输出取反求和:
目标函数求极值,由于偏导不含a,所以使用梯度下降法迭代更新参数。
并行感知机的算法流程:
4.4 串行感知机算法
串行感知机的算法流程:
感知机算法的收敛性:如果训练样本是线性可分的,感知机算法理论上收敛于一个解。
当样本位于决策边界边缘时,对该样本的决策有很大的不确定性。为了解决这一问题,加入了Margin约束:
4.5 Fisher线性判据
Fisher判据的基本原理:找到一个最合适的投影轴,使两类样本在该轴上投影的重叠部分最少,从而使分类效果达到最佳。
目标函数:
优化后的目标函数的新表达:
目标函数的求解:
w与w0的解:
Fisher线性判据:
Fisher判据训练过程:
4.6 支持向量机
设计思想:给定一组训练样本,使得两个类中与决策边界最近的训练样本到决策边界之间的间隔最大。
支持向量:
目标函数(最大化间隔):条件优化问题,不能使用我们已学过的方法求解。
4.7 拉格朗日乘数法
拉格朗日乘数法:拉格朗日乘数法主要用于解决约束优化问题,它的基本思想就是通过引入拉格朗日乘子来将含有n个变量和k个约束条件的约束优化问题转化为含有(n+k)个变量的无约束优化问题。
拉格朗日函数:
KKT条件:
4.8 拉格朗日对偶问题
Lagrange对偶函数:
定义拉格朗日对偶函数或者对偶函数g为拉格朗日函数关于x取得的最小值,即对α,β,有:
对于任意一组(α,β),其中α≥0,拉格朗日对偶函数给出了原问题的最优值的一个下界,因此,我们可以得到和参数α,β相关的一个下界。一个自然问题是:从Lagrange函数能得到的最好下界是什么?可以将这个问题表述为优化问题:
弱对偶性:
强对偶性:
KKT条件:
假设x是原始问题的最优解,α和β*是对偶问题的最优解。如果强对偶成立,那么原问题最优解和对偶问题最优解必须满足KKT条件,属于充分必要条件
4.9 支持向量机学习算法
目标函数:
拉格朗日函数:
对偶函数:
求解支持向量:
参数的最优解:
支持向量机的决策过程: