一、概论
1、简述模式的概念和它的直观特性,解释什么是模式识别,同时绘出模式识别系统的组成框图,并说明各部分的主要功能特性。
对于存在于时间和空间中,可观察的物体,如果我们可以区分它们是否相同或相似,都可以称之为“模式”(或“模式类”)。
模式所指的不是事物本身,而是从事物中获得的信息。因此,模式常常表现为具有时间和空间分布的信息。
模式的直观特性包括:可观察性,可区分性,相似性。
模式识别就是对模式的区分和认识,把对象根据其特征归到若干类别中的适当一类。
模式识别系统的组成框图如下图所示。一个模式识别系统通常包括:原始数据获取与预处理、特征提取与选择、分类或聚类、后处理四个步骤。
监督模式识别过程可归纳为五个基本步骤:分析问题、原始特征获取、特征提取与选择、分类器设计、分类决策。
非监督模式识别过程可归纳为五个基本步骤:分析问题、原始特征获取、特征提取与选择、聚类分析、结果解释。
每部分说明略。
2、简述模式识别系统中模式处理的完整过程,和一个分类器的设计过程。
模式处理的完整过程可归纳为:数据/信息获取与预处理、特征提取与选择、分类或聚类、后处理四个步骤。
在统计决策中,分类器设计的过程包括:样本(类条件)概率密度形式假定、参数或非参数密度估计、确定准则函数、确定决策规则。
在基于样本直接设计的分类器中,分类器设计过程包括:确定判别函数类型(线性、二次、决策树、神经网络等)、确定学习目标(准则函数)、确定优化算法,在训练数据上学习分类器、在测试数据上评价分类器、解释分析。
3、给出机器学习问题的形式化表示,并解释学习机器的推广能力。
(1)机器学习的形式化表示
已知变量 y 与输入
机器学习就是根据 n 个独立同分布的观测样本
其中 F(x,y) 表示所有可能出现的输入 x 与输出
f(x,ω) 被称为预测函数集,ω∈Ω 为函数的广义参数,故 f(x,ω) 可以表示任意函数集。
L(y,f(x,ω)) 是使用 f(x,ω) 对 y 进行预测而造成的损失。
简而言之,机器学习,就是在一组设定的函数集中寻找使期望风险最小的最优函数。
(2)学习机器的推广能力
模式识别是一种基于数据的机器学习,学习的目的不仅是要对训练样本正确分类,而是要能够对所有可能样本都正确分类,这种能力叫做推广能力。
4、区别于基于模型的模式识别方法(统计决策原理),基于数据的模式识别方法直接从样本设计分类器。从样本直接设计分类器,需要确定哪些基本要素?
需要确定三个基本要素:① 判别函数类型(函数集),② 学习目标(准则函数),③ 优化算法。
5、给定一组有类别标号(M 类)的样本 x1,⋯,xN (xi∈Rd)。现有两种特征提取方法 F1 和 F2,和两种分类方法 C1 和 C2。请设计一个实验方案,分别比较特征提取方法和分类方法的性能。写出详细实验过程。
采用 5-fold 交叉验证来评估
二、统计决策方法
1、简述多分类问题的最小错误率贝叶斯决策过程,并给出相应的最小分类错误率。
2、阐述最小风险贝叶斯决策原理和决策步骤,说明在什么情况下最小风险决策等价于最小错误率决策,并证明之。
(1)决策原理
最小风险贝叶斯决策的目标是,针对决策规则 α(x),最小化期望风险:
minαR(α)=∫R(α|x)p(x)dx.
由于 R(α|x) 和 p(x) 非负,且 p(x) 已知,与 α 无关,因而最小风险贝叶斯决策就是:
若 R(αi|x)=minj=1,⋯,kR(αj|x),则 α=αi.
其中 R(αi|x)=E[λij|x]=∑cj=1P(ωj|x), i=1,⋯,k,λij=λ(αi,ωj) 表示实际为 ωj 的向量决策为 αi 的损失,可从事先定义的决策表查得.
(2)决策步骤
① 计算后验概率:P(ωj|x)=p(x|ωj)P(ωj)∑ci=1p(x|ωi)P(ωi).
② 利用决策表,计算条件风险:R(αi|x)=∑cj=1λijP(ωj|x).
③ 决策:α=argminiR(αi|x).
(3)等价关系
当 λii=0 且 λij=C (i≠j),其中 C 为某一常数时,最小风险贝叶斯决策等价于最小错误率贝叶斯决策。
证明:
满足上述条件时,条件风险
则决策规则 α=argminiR(αi|x) 等价于:
α=argmini∑j≠iCP(ωj|x)=argminiCP(e|x)=argmaxiP(ωi|x).
因此,最小风险贝叶斯决策等价于最小错误率贝叶斯决策。
3、简述 Neyman-Pearson 决策原理。
Neyman-Pearson 决策原理是希望在固定一类错误率时,使另一类错误率尽可能小。
记 P1(e)=∫R2p(x|ω1)dx 和 P2(e)=∫R1p(x|ω2)dx 分别表示第一类错误率(假阴性率)和第二类错误率(假阳性率),则上述要求可表述为:
minP1(e)
s.t.P2(e)−ϵ0=0.
用拉格朗日乘子法,得:
γ=∑R2p(x|ω1)dx+λ[∫R1p(x|ω2)dx−ϵ0]=(1−λϵ0)+∫R1[λp(x|ω2)−p(x|ω1)]dx.
分别对 λ 和决策边界 t 求导,可得:
①
要使 γ 最小,应选择 R1 使积分项内全为负值(否则可划出非负区域使之更小)。因此决策规则是:
若 l(x) = \frac{p(x|\omega_1)}{p(x|\omega_2)} ### \lambda,则 x∈ω1,否则 x∈ω2.
(通常 λ 很难求得封闭解,需要用数值方法求解)
4、给出假阳性率、假阴性率、灵敏度 Sn(sensitivity)、特异度 Sp(specificity)、第一类错误率 α、第二类错误率 β、漏报、误报的关系,并给出相应的公式。
假阳性率就是假阳性样本占总阴性样本的比例。
假阴性率就是假阴性样本占总阳性样本的比例。
有:
α = 假阳性率 = 第一类错误率 = 误报率 = FPFP+TN = P1(e) = ∫R2p(x|ω1)dx.
β = 假阴性率 = 第二类错误率 = 漏报率 = FNFN+TP = P2(e) = ∫R1p(x|ω2)dx.
其中 ω1,ω2 分别表示阴性和阳性两个类别。
5、ROC 的全称是什么?ROC 曲线的横轴和纵轴各是什么?如何根据 ROC 曲线衡量一个方法的性能?给出 ROC 曲线的绘制步骤。
ROC 全称是 Receiver Operating Characteristic。
ROC 曲线的横轴是假阳性率,纵轴是假阴性率。
可以根据 ROC 曲线的曲线下面积 AUC (Area Under Curve) 来衡量一个方法的性能。
对于统计决策方法,每确定一个似然比阈值就决定了决策的真、假阳性率。因此ROC 曲线绘制步骤为:
① 在 [0,1] 上均匀采样 N 个点;
② 以每个点的值作为似然比阈值,根据公式
③ 把这些点连接起来得到 ROC 曲线。
对于基于样本直接设计分类器的方法,ROC 曲线绘制步骤类似。只需将似然比阈值改成归一化后的分类器得分阈值,把两类错误率的计算公式改成 FPFP+TN 和 FNFN+TP 即可。
6、设 p(x|ωi)∼N(μi,Σi), i=1,⋯,c,给出各类别的判别函数和决策面方程并计算错误率。同时说明在各类别协方差矩阵相等和不等的情况下,决策面各是什么形态。
7、疾病检查,ω1 代表正常人,ω2 代表患病者。假设先验概率 P(ω1)=0.9, P(ω2)=0.1。现有一被检查者,观察值为 x,查得 p(x|ω1)=0.2 , p(x|ω2)=0.4,同时已知风险损失函数为 ⎡⎣⎢⎢λ11λ21λ12λ22⎤⎦⎥⎥=⎡⎣⎢⎢0160⎤⎦⎥⎥. 分别基于最小错误率和最小贝叶斯进行决策,并给出计算过程。
8、设 d 维随机变量 x 各分量间相互独立,且 d 足够大,试基于中心极限定理估计贝叶斯错误率。
9、什么是统计决策?比较基于模型的方法和基于数据的方法。
统计决策的基本原理就是根据各类特征的概率模型来估算后验概率,通过比较后验概率进行决策。而通过贝叶斯公式,后验概率的比较可以转化为类条件概率密度的比较。
基于模型的方法是从模型的角度出发,把模式识别问题转化成了概率模型估计的问题。如果能够很好地建立和估计问题的概率模型,那么相应的分类决策问题就能被很好地解决。
基于数据的方法不依赖样本概率分布的假设,而直接从训练样本出发训练分类器。
三、概率密度函数的估计
1、比较四种方法:参数统计方法、非参数统计方法、前馈神经网络、支持向量机各有什么优缺点?
(1)参数统计方法
(2)非参数统计方法
优点:假设条件少,运算简单,方法直观容易理解,能够适应名义尺度和顺序尺度等对象。
缺点:方法简单,检验功效差,计算和存储要求高。
(3)前馈神经网络
优点:分类的准确度高,并行分布处理能力强,分布存储及学习能力强,对噪声神经有较强的鲁棒性和容错能力,能充分逼近复杂的非线性关系,具备联想记忆的功能等。特别重要的是,神经网络可以用来提取特征,这是许多其他机器学习方法所不具备的能力(例如使用autoencoder,不标注语料的情况下,可以得到原始数据的降维表示)。
缺点:需要大量的参数,如网络拓扑结构、权值和阈值的初始值;不能观察之间的学习过程,输出结果难以解释,会影响到结果的可信度和可接受程度;学习时间过长,甚至可能达不到学习的目的。
(4)支持向量机
优点:能解决小样本问题,能处理非线性问题,无局部极小值问题,能很好地处理高维数据,泛化能力强。
缺点:对核函数的高维映射解释能力不强(尤其是径向基函数),对缺失数据敏感,难以处理大规模数据,难以解决多分类问题(常用一对多、一对一、SVM 决策树),对非线性问题没有通用解决方案(有时候很难找到一个合适的核函数)。
注:缺失数据?
这里说的缺失数据是指缺失某些特征数据,向量数据不完整。SVM没有处理缺失值的策略(决策树有)。而SVM希望样本在特征空间中线性可分,所以特征空间的好坏对SVM的性能很重要。缺失特征数据将影响训练结果的好坏。
2、最大似然估计的基本假设是什么?给出最大似然估计的计算步骤。
3、简述贝叶斯估计的原理和步骤。
(1)原理
贝叶斯估计把参数估计看成贝叶斯决策问题,要决策的是参数的取值,且是在连续空间里做决策。
目标函数是最小化给定样本集
θ∗=argminθ̂ R(θ̂ |)=∫Θλ(θ̂ ,θ)p(θ|)dθ.
取 λ(θ̂ ,θ)=(θ−θ̂ )2,带入 R(θ̂ |) 并对 θ̂ 求导置零可得:
θ∗=E[θ|]=∫Θθp(θ|)dθ.
(2)步骤
① 确定 θ 的先验分布:p(θ).
② 计算样本集的联合分布:p(|θ)=∏Ni=1p(xi|θ).
③ 计算 θ 的后验概率:p(θ|)=p(|θ)p(θ)∫Θp(|θ)p(θ)dθ.
④ θ 的贝叶斯估计量是:θ∗=∫Θθp(θ|)dθ.
(通常不必求得 θ 的估计值,而是直接得到样本的概率密度估计 p(x|)=∫Θp(x|θ)p(θ|)dθ)
4、简述贝叶斯学习(区别于贝叶斯估计)的原理。
贝叶斯学习即递推的贝叶斯估计——每次用单个样本调整分布,以上一次的 θ 后验概率作为这一次 θ 的先验概率。
记 N=x1,⋯,xN,将贝叶斯估计结果重写为:θ∗=∫Θθp(θ|N)dθ.
其中:
p(θ|N)=p(N|θ)p(θ)∫Θp(N|θ)p(θ)dθ.
由独立同分布,有:
p(N|θ)=p(xN|θ)p(N−1|θ).
于是可以得到递推公式:
p(θ|N)=p(xN|θ)p(θ|N−1 )∫Θp(xN|θ)p(θ|N−1 )dθ.
注意,分子分母约去了 p(θ).
于是随着样本的增加,可以得到一系列地推的贝叶斯估计:
p(θ), p(θ|x1), ⋯, p(θ|x1,⋯,xN), ⋯
5、设某类样本总体服从正态分布 N(μ,Σ),参数未知。试基于独立同分布样本 x1,⋯,xN,分别采用最大似然估计和贝叶斯估计得到 μ 和 Σ 的估计值。
6、贝叶斯估计中,设 θ 被估计为 θ̂ 的风险为 λ(θ̂ ,θ). 最优估计应该使
R=∬λ(θ̂ ,θ)p(x,θ)dθdx=∫R(θ̂ |x)p(x)dx
最小化。其中 R(θ̂ |x)=λ(θ̂ ,θ)p(θ|x)。证明当 λ(θ̂ ,θ)=(θ̂ −θ)2 时,
θ̂ =E[θ|x]=∫θp(θ|x)dθ.
见第 3 题的答案。
7、基于公式 p̂ (x)=kNV,比较三种非参数估计方法:直方图方法、kN 近邻算法与 Parzen 窗法的区别与优缺点。
8、给定样本 x1,⋯,xN,窗函数 ϕ(x) 和窗宽 hN,写出概率密度函数 p(x) 的 Parzen 窗估计公式 p̂ N(x)。若一维空间中 p(x)∼N(μ,σ2),ϕ(x)∼N(0,1),证明 E[p̂ (x)]∼N(μ,σ2+h2N)。
四、线性分类器
1、线性分类器的设计原理是什么?与统计决策和非线性分类器相比,有哪些优缺点?阐述线性判别函数的基本概念。
2、简述 Fisher 线性判别分析的原理,并给出主要计算步骤和分类决策规则。
3、证明:在正态等协方差矩阵条件下,Fisher 线性判别等价于贝叶斯判别函数。
贝叶斯判别:
决策面方程为 P(ω1|x)=P(ω2|x),即:
lnP(x|ω1)P(x|ω2)=lnP(ω2)P(ω1).
当 p(x|ωi) 服从正态分布时,可整理得决策面方程为:
−12[(x−μ1)TΣ−11(x−μ1)−(x−μ2)TΣ−12(x−μ2)]−12ln|Σ1||Σ2|=lnP(ω2)P(ω1).
当 Σ1=Σ2 时,x 的二次项被抵消,决策面变为线性方程:
分类器是线性函数 g(x)=wTx+ω0,其中:
w=Σ−1(μ1−μ2),
ω0=−12(μ1+μ2)TΣ−1(μ1−μ2)−12lnP(ω2)ω1.
Fisher 线性判别分析:
准则函数为 maxwJF(w)=Sb~Sw~=wTSbwwTSww.
其中
Sb=(m1−m2)(m1−m2)T,
Sw=∑i=1,2∑xj∈i(xj−mi)(xj−mi)T.
我们只关系 w 的方向,因而可固定
L(w,λ)=wTSbw−λ(wTSw−c).
极值处满足导数为零,整理可得 S−1wSbw\*=λw\*.
把 Sb=(m1−m2)(m1−m2)T 带入,得 λw\*S−1w=(m1−m2)(m1−m2)Tw∗.
注意到 (m1−m2)Tw\* 是常数项,不影响 w\*的方向,而我们只关心 w\* 的方向,于是可取:
w∗=S−1w(m1−m2).
阈值通常采用:
ω0=−12(m̃ 1+m̃ 2) 或者
ω0=−m̃ .
比较:
注意到 Si=(n−1)Σi,当 Σ1=Σ2 时,显然有:
wF=S−1w(m1−m2)∝wB=Σ−1(μ1−μ2).
因此贝叶斯决策的超平面方向与 Fisher 线性判别分析的方向是相同的。
(此外,注意到,当先验概率相同时,二者的分类器阈值也是相同的)
4、试设计一个 c 类 Fisher 判别分析方法。
引导:
在两类 Fisher 判别分析中,将类内散度矩阵 Sw, 类间散度矩阵 Sb 和整体散度矩阵 St 写出如下:
Sw=∑2i=1∑Njj=1(xj−mi)(xj−mi)T.
Sb=(m1−m2)(m1−m2)T.
St=∑Ni=1(xi−m)(xi−m)T.
我们注意到两点:
① Sb=(m1−m2)(m1−m2)T=NN1N2∑2i=1(mi−m)(mi−m)T.(注意 m=1N1m1+1N2m2)
② St=Sw+kSb,其中 k=N1N2N,即 “总体散度 = 类内散度 + 类间散度”.
由此可以将两类 Fisher 推广到 c 类情形。类内散度、类间散度和总体散度矩阵可分别推导如下:
Sw=∑ci=1∑Nij=1(xj−mi)(xj−mi)T (=∑Ni=1xixTi−∑ci=1NimimTi).
St=∑Ni=1(xi−m)(xi−m)T (=∑Ni=1xixTi−NmmT).
Sb=St−Sw=∑ci=1NimimTi−NmmT =∑ci=1Ni(mi−m)(mi−m)T.
c 类 Fisher 线性判别分析:
根据 c 类样本,构建类内类间散度矩阵如下:
Sw=∑ci=1∑xj∈i(xj−mi)(xj−mi)T,
Sb=∑ci=1Ni(mi−m)(mi−m)T.
其中 mi=1Ni∑xj∈ixj,m=1N∑ci=1Nimi.
假设原始 d 维特征被投影到
我们构造一个当类间协方差大,类内协方差小时,值比较大的标量。可设计判别准则为:
J(W)=tr(s−1wsb)=tr((WSwWT)−1(WSbW)).
最大化 J(W) 得到的权值 W 由
特征映射之后的多类分类问题,可以由多类线性分类器(如多类 SVM)实现,也可假设各类样本服从高斯分布,基于参数估计和贝叶斯决策求解。
5、简述感知器原理,并给出主要计算步骤,说明有什么办法可以使得感知器的解更可靠。
6、设计一个 c 类感知器算法。
决策函数为:
决策规则为:若 g_i(x) ### g_j(x),\ \forall j\neq i,则 x∈ωi。
学习目标为所有训练样本正确分类。
优化算法(梯度下降 + 单样本逐步修正法):
① 初始化权向量 αi(0), i=1,⋯,c.
② 考查样本 yk∈ωi,若 yk 被正确分类,即 \alpha_i(t)^T y_k ### \alpha_j(t)^T y_k,\ \forall j\neq i,则所有权值不变;否则,设 αl(t)Tyj=maxjαj(t)Tyk, j≠i,对 αi,αl 做如下调整:
αi(t+1)=αi(t)+ρtyj,
αl(t+1)=αl(t)−ρtyj,
αj(t+1)=αj(t), ∀j≠i 且 j≠l.
③ 如果所有样本都正确分类,则停止;否则考查下一个样本,转 ②。
当样本线性可分时,该算法会在有限步内收敛到最优解。
当样本线性不可分时,可逐步缩小步长 ρt 以强制算法收敛。
7、简述最小平方误差(MSE)判别的原理,并给出三种不同的优化算法。
8、证明:① 若对同类样本取 bi 为相同的值,则 MSE 的解等价于 Fisher 判别分析;② 若对所有样本取 bi=1,则当 N→∞ 时,MSE 的解是贝叶斯判别函数 g0(x)=P(ω1|x)−P(ω2|x) 的最小平方误差逼近。
9、试分别从几何角度和推广能力的角度阐述线性支持向量机(SVM)的原理,并给出线性不可分情况下 SVM 学习模型。
10、证明:最优超平面等价于在感知器算法中,在限制权值尺度的条件下,求余量的最大化。
11、在支持向量机对偶形式的解中,对于正确分类的样本点、边界上的支持向量和错分支持向量,其 αi 和 ξi 分别是多少?为什么?
12、试设计一个 c 类支持向量机。
13、比较四种线性分类器:Fisher 判别分析、感知器准则、MSE 和线性支持向量机,说明各自的优缺点。并针对以下数据,分别求出四种分类器对应的线性判别函数。
ω1 ω1 ω1 ω2 ω2 ω2x1324351x23330.52−1x32.5320.5−12x4315342
五、非线性分类器
1、什么是人工神经网络?其主要特点有哪些?给出三层前馈神经网络的输出公式,说明它如何应用到实际的两类或多类分类任务中,并指出需要注意的问题。
2、推导反向传播(BP)算法原理,并给出学习过程。
(1)推导
令 C,al,zl,Wl,bl 分别表示损失函数、第 l 层的激活值、加权和、权值矩阵和偏置向量。根据神经网络计算过程,这几个变量之间有如下关系:
al=σ(zl).
zl=Wlal−1+bl.
记 δl=∂C∂zl,容易得到以下四个重要的梯度公式:
① δL=∂C∂aL⊙σ′(zL)
② δl=((Wl+1)Tδl+1)⊙σ′(zl)
③ ∂C∂bl=δl
④ ∂C∂Wljk=al−1kδlj
其中 ② 式的推导如下:
δl=∂C∂zl=∑k∂C∂zl+1zl+1k∂zlj=∑kzl+1k∂zljδl+1k.
把 zl+1k∂zlj=wl+1kjσ′(zlj) 代入上式得:
δlj=∑kwl+1kjδl+1kσ′(zlj).
写成矩阵形式即是 ② 式。
(2)步骤
(记 Wl,bl 为第 l 层权值和偏置,
① 初始化:确定神经网络结构,用小随机数初始化各节点权值。
② 反向传播:获取一个输入样本 x,置
- 前向传播(Feedforward):从第 2 层到第
- 计算误差:计算最后一层导数 δL=∂C∂zL=∂C∂aL⊙σ′(zL).
- 反向传播(Backpropagation):从第 L 层到第
③ 梯度下降:对第 L 到
④ 终止条件:检查终止条件是否满足,满足则停止,否则转 ②。
(3)注意
以上步骤中:
- 取 C(a)=|y−a|22 时,∂C∂aL 就是 (y−aL).
- a=σ(z)=11+e−z,因此 σ′(z)=a(1−a).
- 如果每次输入多个样本更新权值,则每次前向/反向计算 m 个样本上的梯度,并把第 ③ 步“梯度下降”的更新改成:①
Wl→Wl−∑xηδlx(al−1x)T 和 ② bl→bl−∑xηδlx 即可。
2、给出反向传播(BP)算法的学习过程,说明其收敛结果受哪些因素影响。并分析前馈神经网络中,隐含层数增加对分类预测可能产生的影响。
BP 算法的最终收敛结果受初始值的影响很大。另外学习步长 η 也很重要。
3、有哪几类人工神经网络?阐述径向基函数网络的结构和功能,指出网络中的参数,并分析在训练一个径向基函数网络时,如何调节这些参数。
4、证明:当 N→∞ 时,BP 算法的目标函数等价于神经网络输出与贝叶斯后验概率的均方误差。
5、说明非线性支持向量机的核函数需满足的条件,并证明:① 采用 q 阶多项式核时,SVM 实现的是 q 阶的多项式判别函数,② 采用径向基核时,SVM 的决策函数与径向基网络形式相同,③ 采用 Sigmoid 核时,说明在 ν 和 c 满足什么条件时,SVM 等价于包含一个隐层的多层感知器神经网络,并证明之。
6、简述非线性支持向量机(SVM)的核心思想,简述如何选择 SVM 的核函数和参数,并设计一个多类的非线性支持向量机。
7、用公式阐述用于函数拟合的支持向量机(支持向量回归机,SVR)原理。
8、基于核技巧把 Fisher 线性判别分析推广到非线性情况。
6、简述非线性支持向量机(SVM)的核心思想,简述如何选择 SVM 的核函数和参数,并设计一个多类的非线性支持向量机。
(1)回顾 Fisher
Fisher 线性判别分析的准则为:
对 x 进行非线性变换
maxwJ(w)=wTSϕbwwTSϕww.
其中:
Sϕb=(mϕ1−mϕ2)(mϕ1−mϕ2)T.
Sϕw=∑i=1,2∑x∈ωi(ϕ(x)−mϕi)(ϕ(x)−mϕi)T.
mϕi=1Ni∑x∈ωiϕ(x).
(2)推导 Sϕb
根据 RKHS 理论,上述问题的任何解 w∈F 都处在 F 中所有训练样本张成的子空间中,即:
所以有:
wTmi=∑Nj=1αjK(xj,mi)=αTμi.
其中 μi=1NiKi1Ni∈RN 表示 mi 与 N 个样本的核函数值向量,
其中 U=(μ1−μ2)(μ1−μ2)T。
(3)推导 Sϕw
再来推导 Sϕw,注意到:
Sϕw=∑i=1,2∑x∈ωi(ϕ(x)−mϕi)(ϕ(x)−mϕi)T= ∑i=1,2(∑x∈ωiϕ(x)ϕ(x)T−Ni∑x∈ωimimTi).
于是:
wTSϕww=∑i=1,2αT(KiKTi−Ki1Ni1TNiKTi)α =∑i=1,2αTVα.
其中 V=∑i=1,2Ki(I−1Ni×Ni)KTi.
(4)求解
准则函数变为:
maxwJ(w)=αTUααTVα.
解为 V−1U 的最大特征值对应的特征向量,且最优解的方向满足 α∝V−1(μ1−μ2).
任意样本 x 在 Fisher 上的投影可通过如下公式计算:
通常,V 是非正定的,这是由于变换后样本维数升高导致。可令
六、其他分类方法
1、简述 k-近邻中的分支定界法搜索原理,并给出算法步骤,同时说明影响性能的因素有哪些,以及如何调节这些因素。
2、阐述剪辑近邻法 MULTIEDIT 与压缩近邻法 CONDENSE 共同用于两类决策的原理(注意推广性的解释),并给出算法步骤。
3、给出最近邻法、k-近邻法和剪辑近邻法的错误率与贝叶斯错误率的关系。
4、比较三种决策树算法:ID3, C4.5, CART 的优缺点,并对于以下数据,分别使用三种方法构造决策树。
5、阐述提高决策树推广性能的具体办法。
6、什么是数据的随机性问题?简述随机森林的基本原理和算法步骤,并说明它是如何解决数据的随机性问题的。
(1)数据的随机性问题
方法的任何一次实现都是基于一个特定的数据集的,这个数据集只是所有可能数据中的一次随机抽样。
很多方法的结果受到这种随机性的影响,训练得到的分类器也有一定的偶然性,在样本量少时尤其如此。
这个问题称为数据的随机性问题。
(2)随机森林
随机森林既对样本重采样(行采样),也对特征采样(列采样),充分保证了每课树独立,使投票结果更无偏。
步骤:
① 样本重采样:从 N 个样本中有放回地抽取
② 构造决策树:对每个样本集独立构造决策树。构造时,对每个节点,随机选择 m 个特征,从中计算最佳的分裂方式;
③ 投票:得到所需数目决策树后,决策时,对这些树的输出进行投票,票数多的类作为随机森林决策结果。
(3)随机森林解决数据随机性问题原理
随机森林基于统计学家提出的一种叫做 bootstrap(自举)采样的策略。
其基本思想是对样本进行重采样,产生多个样本集,用来模拟数据中的随机性,并在最后的结果中考虑这种随机性的影响。
类似的方法还有 Bagging、AdaBoost、随机划分选择法等。
注意:
① 每棵树都会完整成长而不剪枝;
② bootstrap 采样:即有放回地从
③ 随机森林的优点:
- 比较适合做多分类问题,训练和预测速度快,在数据集上表现良好;
-对训练数据的容错能力强,是一种有效地估计缺失数据的一种方法,当数据集中有大比例的数据缺失时仍然可以保持精度不变和能够有效地处理大的数据集;
- 能够处理很高维度的数据,并且不用做特征选择,即:可以处理没有删减的成千上万的变量;
- 能够在分类的过程中可以生成一个泛化误差的内部无偏估计;
- 能够在训练过程中检测到特征之间的相互影响以及特征的重要性程度;
- 不会出现过度拟合;
- 实现简单并且容易实现并行化。
7、用公式阐述 Logistic 回归的核心思想和优化求解算法。
8、简述 Boosting 方法的原理和优缺点,并给出 AdaBoost 的算法步骤。
(1)Boosting 原理和优缺点
原理:Boosting 通过融合多个分类器进行决策以获得更鲁棒的分类结果。它通过一个迭代过程对分类器的输入和输出进行加权处理。
优点:泛化错误率低(迭代次数即弱分类器数大时,不会导致严重的过学习问题),易编码,可以应用在大部分分类器上,无参数调整。
缺点:对离群点敏感。
(2)AdaBoost
步骤:
① 初始化:初始化训练样本权重为
② 迭代:对于 m=1→M,重复:
(1)训练弱分类器:用加权样本训练弱分类器 fm(x)∈1,−1;
(2)计算分类器权重:计算错误率 em,并计算分类器权重 cm=log(1−emem);
(3)更新样本权重:正确样本权重不变,错分样本 ωi=ωiexp[cm],并归一化使 ∑Ni=1ωi=1。
9、基于两类 Boosting 方法,设计一个多类分类问题的 Boosting 框架。
七、特征选择
1、什么是特征选择?为什么要做特征选择?特征选择主要分为哪几类方法?每类方法的一般过程是什么?
2、对于以下三类模式,基于 J1=tr(Sw+Sb) 判据,采用分枝定界法选出前 2 个最优特征。
ω1 ω1 ω1 ω2 ω2 ω2 ω3 ω3 ω3x1324351342x23330.52−12.514x32.5320.5−1201−1x43153420−22
3、对于题 2 中的模式,基于散度概率距离度量,采用顺序前进法,选出 2 个最优特征。
4、对于题 2 中的模式,基于 Shannon 熵判据,采用增 2 减 1 法,选出 2 个最优特征。
5、证明:贝叶斯错误率 Pe≤[P(ω1)P(ω2)]12exp(−JB),其中 JB=−ln∫[p(x|ω1)p(x|ω2)]12 表示 Bhattacharyya 概率距离。
6、证明:正态、等协方差条件下,两类概率密度之间的散度与 Bhattacharyya 距离有如下关系:JD=8JB。
7、证明:正态、等协方差、等先验条件下,两类概率密度之间的散度等价于 Fisher 准则 \text{tr}(S_w^{-1} S_b)tr(S−1wSb)。
8、阐述采用遗传算法从 DD 维特征中选择 d\ (d < D)
9、用公式阐述 R-SVM 和 SVM-RFE 特征选择的原理和步骤,并设计非线性核 SVM 的特征选择算法。
10、设计特征的评价准则(或判据)时,需要满足哪些条件?设计概率距离度量时,需要满足哪些条件?
八、特征提取
1、什么是特征提取?特征提取的目的是什么?主要包括哪几类算法?
1、针对如下数据,分别采用 Fisher 线性判别分析(FLDA)、主成分分析(PCA)、无监督 K-L 变换、有监督 K-L 变换和古典尺度法(MDS)求出最优特征变换,把特征降到 2 维。
\begin{matrix} & x_1 & x_2 & x_3 & x_4 \\\ \omega_1 & 3 & 3 & 2.5 & 3 \\\ \omega_1 & 2 & 3 & 3 & 1 \\\ \omega_1 & 4 & 3 & 2 & 5 \\\ \omega_2 & 3 & 0.5 & 0.5 & 3 \\\ \omega_2 & 5 & 2 & -1 & 4 \\\ \omega_2 & 1 & -1 & 2 & 2 \end{matrix} ω1 ω1 ω1 ω2 ω2 ω2x1324351x23330.52−1x32.5320.5−12x4315342
2、简述 K-L 变换的原理。
(1)基本 K-L 变换
任一随机向量 x\in R^Dx∈RD 都可以用一个完备的正交归一向量系 \\{u_j\\}_1^D 来展开:x = \sum_{j=1}^D c_j u_j = \sum_{j=1}^D (u_j^T x) u_j.
K-L 变换希望只有有限的 d 项逼近 x 以使得逼近的均方误差最小。于是转化为求解如下问题:
\min e = \sum_{j=d+1}^D u_j^T \Psi u_j,
\text{s.t.}\ u_j^T u_j = 1, \forall j.
用拉格朗日法并求导置零得 \Psi u_j = \lambda_j u_j,且 e = \sum_{j=d+1}^D \lambda_j.
于是 K-L 变换的解为,\Psi 的前 d 个特征值对应的正交归一特征向量 u_1,\cdots,u_d。x 经过 K-L 变换后的向量为 (c_1,\cdots,c_d) = (u_1^T x,\cdots,u_d^T x).
(2)监督 K-L 变换
以上优化公式中的 \Psi 称为产生矩阵。它可以是 \Psi = E[xx^T] \approx XX^T,也可以是 \Psi = E[(x - \mu)(x - \mu)^T](此时等价于 PCA)。
当类别已知时,则同样可以是 \Psi = S_w = \sum_{i=1}^c P_i \Sigma_i。
【未完待续:三种监督 K-L 变换】
(3)K-L 变换的性质
① 是信号的最佳压缩表示(误差在所有 d 维正交变换中最小);
② 新特征互不相关(新特征二阶矩阵是对角阵);
③ 表示原数据的表示熵最小,即样本方差最大程度地集中在较少的维数上;
④ 总体熵最小。
注:
推导过程:
e = E[(x - \hat{x})^T(x - \hat{x})] = E[(\sum_{j = d+1}^D c_j u_j)^T(\sum_{j = d+1}^D c_j u_j)] = E[\sum_{j=d+1}^D c_j^2] = E[\sum_{j=d+1}^D u_j^T x x^T u_j] = \sum_{j=d+1}^D u_j^T E[xx^T] u_j.
2、简述 PCA, K-L 变换与古典尺度法的区别与联系,并证明:对已知样本集,先计算出欧氏距离矩阵,再用古典尺度法得到的低维表示与 PCA 相同。
3、证明:先用 S_w 作 K-L 变换,再用变换后特征的 S_b 作 K-L 变换,结果等价于 Fisher 判别分析中的最佳投影方向。
以两类情况为例:
(1)Fisher 线性判别分析
准则函数:
\max_w J(w) = \frac{w^T S_b w}{w^T S_w w},
\text{s.t.}\ w^T S_w w = c.
其中 c 为常数。用拉格朗日乘子法并求导置零得 S_w^{-1} S_b w = \lambda w,并有 J(w) = \lambda.
于是最优投影方向由 S_w^{-1} S_b 最大特征值对应的特征向量决定。
(2)K-L 变换
首先用 S_w 对特征作 K-L 变换以消除特征间的相关性(特征白化)。
记 U^T S_w U = \Lambda,令 B = U \Lambda^{-1/2},则 S_w' = B^T S_w B = I,且之后再进行任何正交变换都不会改变 S_w'。
接着用 S_b' = B^T S_b B 对特征做 K-L 变换。由于只有两类,S_b' 的秩最大为 1。设 S_b' 非零特征值(唯一)为 \lambda,对应特征向量为 v,则有 S_b' v = \lambda v。
总的变换矩阵为 w = U\Lambda^{-\frac{1}{2}}v.
(3)比较
在 K-L 变换中,有 ① S_b' v = B^T S_b B v = \lambda v,② B^T S_w B = I。
由 ② 可得,S_w B = B,即 B^T S_w^{-1} = B^T,带入 ① 式得:
B^T S_w^{-1} S_b B v = \lambda v,即 S_w^{-1} S_b (Bv) = \lambda (Bv)。
由此可见,S_w^{-1} S_b 与 S_b' 具有相同的特征值,且 S_w^{-1} S_b 最大特征值对应的特征向量为 w = Bv,亦即 K-L 变换的投影方向。
在 Fisher 线性判别分析中,投影方向 w 同样是 S_w^{-1} S_b 最大特征值对应的特征向量。
因此,二者等价。
多类的情况证明完全类似,只需把单个投影方向改成前 d 个最大特征值对应特征向量决定的方向即可。
4、用核函数把 PCA 推广为非线性特征提取算法。
(1)XX^T 与 X^TX 特征向量的关系
记样本矩阵为 X\in R^{d\times n}。首先讨论 XX^T 与 X^TX 的特征值与特征向量的关系。
设 X^T X 对应特征值 \lambda 的特征向量为 \alpha,则有 X^T X\alpha = \lambda \alpha。
等式两边同乘 X 得:XX^T (X\alpha) = \lambda (X\alpha).
所以 XX^T 与 X^TX 具有相同的特征值,且特征向量满足 \alpha_{XX^T} = X \alpha_{X^TX}.
(2)KPCA 推导
PCA 的准则为:
\max_{W} \text{tr}(W^T \Sigma W),
\text{s.t.}\ W^T W = I.
对 x 进行非线性映射 x\rightarrow \phi(x) 后,准则函数变成:
\max_{W} \text{tr}(W^T \Sigma^{\phi} W),
\text{s.t.}\ W^T W = I.
其中 \Sigma^{\phi} = \frac{1}{n}(\phi(x_i) - m^{\phi})(\phi(x_i) - m^{\phi})^T.
令 \Phi = [\phi(x_1),\cdots,\phi(x_n)]\in R^{d_H \times n}。假设样本已去均值处理,则 \Sigma = \Phi \Phi^T。以上方程的最优解为 \Sigma^{\phi} 的前 k 个特征值对应的特征向量。
基于前面的讨论,\Sigma^{\phi} 的特征向量 w_i 可由 \frac{1}{n} K = \frac{1}{n} \Phi^T \Phi 的特征向量得到。
记 \frac{1}{n} K\alpha_i = \lambda_i \alpha_i,则有 w_i = \Phi \alpha_i.
于是,任意样本 x 经 KPCA 映射后的第 k 个分量为 y_k = w_k^T \phi(x) = \alpha_k^T \Phi^T \phi(x) = \sum_{j=1}^n \alpha_k^{(j)} K(x_j, x).
(3)KPCA 步骤
① 构建核矩阵 K = (K_{ij})_{n\times n},其中 K_{ij} = K(x_i, x_j).
② 解特征方程 \frac{1}{n} K\alpha = \lambda\alpha,得到前 d 个特征值对应的特征向量 \alpha_1,\cdots,\alpha_d,则 KPCA 的第 k 个主成分为 v_k = \sum_{i=1}^n \alpha_k^{(i)} \phi(x).
③ 计算样本 x 在主成分上的投影,第 k 个分量为 z_k = (v_k, \phi(x)) = \sum_{i=1}^n \alpha_k^{(i)} K(x_i, x).
5、阐述度量型 MDS 和非度量型 MDS 的原理,并说明 MDS 如何实际应用。
6、阐述 IsoMap 的原理和主要计算步骤。
IsoMap(isometric feature mapping,等容特征映射)是一种非线性降维(特征提取)算法,它能够使降维后的数据较好地保持原有流形结构。
IsoMap 的核心思想是,计算两两样本间在流形上的测地距离(亦即邻接图上的最短路径),再根据距离矩阵采用 MDS 等方法映射到低维空间。
步骤(三步):
(1)构建邻接图:① 计算所有邻近点对之间的欧氏距离,如 k 近邻(K-IsoMap),或者把 \epsilon 半径圆内的样本称为近邻,② 将近邻点用边连接,构建带权流通图 G;
(2)计算最短路径:用 Floyd 或 Dijkstra 算法得到任意两点间最短路径;
(3)构建坐标向量:有了距离矩阵,就可以用经典的 MDS 算法得到低维空间的嵌入坐标表示。
7、阐述 LLE 的原理和主要计算步骤。
LLE(Local Linear Embedding)是一种非线性降维(特征提取)算法,它能够使降维后的数据较好地保持原有流形结构。
LLE 的核心思想是,假设在映射前后,每个样本在近邻样本上的重构权值相同。
步骤(三步):
(1)搜索 k 近邻:寻找每个样本的 k 近邻点;
(2)计算重建权值矩阵 W\in R^{N\times N}:对每个样本,基于以下准则用其 k 近邻重建:
\min_{W} \sum_{i=1}^N |x_i - \sum_{x_j \in N(x_i)} W_{ij} x_j|_2^2,
\text{s.t.}\ \sum_{x_j \in N(x_i)} W_{ij} = 1.
置非 k 近邻位置的 W 的元素为 0;
(3)低维映射:基于以下准则,将特征映射到低维向量 Y\in R^{N\times m}.
\min_Y \phi(Y) = \sum_{i=1}^N |y_i - \sum_{j=1}^N W_{ij} y_j|_2^2,
\text{s.t.}\ \sum_{i=1}^N y_i = 0,\ \frac{1}{N} \sum_{i=1}^N y_i y_i^T = I.
约束条件代表去中心化和协方差矩阵归一化。最终解是这样一个问题:My = \lambda y,其中 M = (I - W)^T (I - W)。即 Y 是 M 的最小 m 个非零特征值对应的特征向量组成的矩阵。
注意:LLE 不适用于数据分布在整个封闭的(椭)球面的情况。
8、基于 K-L 变换设计一种人脸识别算法,给出主要计算步骤。
9、将 x 表示为 \hat{x} = \sum_{i=1}^m y_i e_i + \sum_{i=m+1}^n c_i e_i. 其中 c_i 为常数,e_i 为正交归一化基矢量。证明:要使重建均方误差 E[|x - \hat{x}|^2] 最小化,需满足三个条件:① c_i = E[y_i],\ i=m+1,\cdots,n,② 正交归一基矢量使协方差矩阵 \Sigma_x 的特征向量,③ e_i,\ i=m+1,\cdots,n 是对应最小特征值的特征向量。
九、非监督模式识别
1、什么是动态聚类算法?动态聚类算法有哪几个要点?
动态聚类算法首先初始化一组不甚合理的初始聚类中心,从它们开始,迭代地调整到在某种准则下更优的聚类中心。这是一个动态迭代寻找最优解的过程,因此称为动态聚类算法。
动态聚类算法有三个要点:
① 选定距离度量:选定样本到聚类中心的距离度量方式;
② 确定准则函数:确定评价聚类好坏的准则函数;
③ 迭代:从某个初始聚类划分开始,逐步迭代地寻找使准则函数更优的解。
2、阐述 C 均值算法的核心思想和算法步骤。
C 均值聚类的准则函数是最小化样本到聚类中心的误差平方和:
J_e = \sum_{i=1}^c \sum_{y \in \Gamma_i} |y - m_i|^2.
确定样本的初始划分后,C 均值通过迭代的方式逐步调整聚类中心和样本划分,以找到 J_e 的局部最优解。
每次考察一个样本 y,如果把它从第 i 类移动到第 j 类,J_e 会减少(即 J_i 的减小量大于 J_j 的增加量),则移动,否则不移动。迭代,直到 N 次迭代中 J_e 不发生变化(即所有样本都不需移动)。
注意,样本 y 从 i 移到 j 后,减小量和增加量分别为:
\tilde{J}_i = J_i - \frac{1}{N_i - 1}|y - m_i|^2.
\tilde{J}_j = J_j + \frac{1}{N_j + 1}|y - m_j|^2.
3、指出影响 C 均值聚类结果的因素,并给出改进措施。给出一种确定聚类数目 c 的方法。
影响 C 均值聚类结果的因素包括:样本初始划分方式和样本调整顺序。
为保证 C 均值聚类算法速度的同时,提升 C 均值的性能(获取全局下更优的解),可采用如下初始划分方式:
随机选择一个样本点作为第一个代表点,选择所有样本中离第一个样本点最远的点作为第二个代表点,选择离前两个代表点距离平方和最大的点作为第三个代表点……以此类推,选出 c 个代表点。这 c 个代表点作为初始聚类中心,把所有样本划分到离它最近的聚类中心的类别中去。
聚类数目 c 可按照如下方法取:
对 c=1,2,\cdots,n
显然 J_e(c) 随 c 单调下降。如果观察到下降的曲线中有一个较为明显的拐点,即 J_e(c) 下降的速度较快地变慢,则该点对应的聚类数目 c 最接近样本集的真实聚类数目,可取该点的 c 值作为聚类数目。
4、阐述 ISODATA 的核心思想和算法步骤,并说明 ISODATA 与 C 均值聚类有哪些不同。
ISODATA 的基本思想是对每个聚类添加某些评价准则,依据这些准则决定是否进行分裂、合并或去掉该类别(当其样本数太少时)。
首先初始化 c 个代表点作为聚类中心,把样本点归类到最近的聚类中心,去掉样本数过少的聚类(归到其他类),并重新计算聚类中心。
接着判断 c:
① 如果 c < K/2,则分裂。分裂的准则是,该类别样本在各个特征维度上标准差的最大值,把 \sigma_{j \max} ### \theta_s 的所有聚类分裂(分界点可以选 \sigma_{j\max} 或 k \sigma_{j})。
② 如果 c ### 2K,则合并。合并的准则是,类别间两两均值距离 |m_i - m_j|_2,如果小于 \theta_c,则合并。
迭代直到最后一次迭代。
ISODATA 与 C 均值的区别主要在于两点:
① 与 C 均值不同,ISODATA 不是每移动一个样本就更新聚类中心,而是所有样本都调整完后再统一更新聚类中心;
② ISODATA 引入了聚类的评价准则,可以依据该准则对聚类进行分裂和合并,从而可以突破初始聚类数目的约束。
5、阐述基于样本与核的相似性度量的动态聚类方法原理,并给出算法步骤。
基于样本与核的相似性度量的动态聚类方法,可看成是 C 均值的推广,把欧氏距离推广到核距离度量。
另一点不同在于,前者在所有样本调整完一次后才更新聚类中心,而 C 均值每移动一个样本就更新聚类中心。
基于核度量的动态聚类,定义一个核 K_j = K(y, V_j) 来代表一个聚类,其中 V_j 是参数集。
准则是 J_K = \sum_{i=1}^c \sum_{y \in \Gamma_i} \Delta(y, K_i),步骤只需记住三步:
① 初始化:确定初始划分,与 C 均值相同;
② 归类:按照如下准则:若 \Delta (y, K_i) = \min_j \Delta(y, K_j),则 y\in \Gamma_i,把样本归类到离它最近的聚类中心;
③ 更新:重新修正核 \\{K_i\\}_{i=1}^c(根据核类型不同而有不同的计算方式)。若 K_i 不变,则迭代停止,否则转 2.
6、分别采用 C 均值聚类算法(c = 2)、ISODATA 算法(参数 c = 1, K = 3, \theta_N = 1, \theta_S = 1, \theta_c = 4, L = 1, I = 4)和分级聚类算法(基于最远距离度量)对以下数据聚类:
x_1(0,0),\ x_2(3,8),\ x_3(2,2),\ x_4(1,1),\ x_5(5,3),\ x_6(4,8),\ x_7(6,3),\ x_8(5,4),\ x_9(6,4),\ x_{10}(7,5).
7、用公式阐述模糊 C 均值聚类算法原理,并给出算法步骤。指出原始的模糊 C 均值聚类算法的缺陷,并给出改进措施。
准则函数是:
J_f = \sum_{j=1}^c \sum_{i=1}^N [\mu_j(y_i)]^d |y_i - m_j|_2^2.
其中 \mu_j(y_i) 是样本 y_i 对类别 j 的隶属度。
最小化 J_e. 通过 J_e 分别对 \mu_j 和 m_j 求导可得到如下更新公式:
① m_j = \frac{\sum_{i=1}^n [\mu_j(x_i)]^b y_i}{\sum_{i=1}^n\ [\mu_j(x_i)]^b}
② \mu_j(x_i) = \frac{ (1/|y_i - m_j|^2)^{1/(b-1)} }{ \sum_{j=1}^c\ (1/|y_i - m_j|^2)^{1/(b-1)} }
步骤也是三步:
① 确定参数 c 和 b;
② 初始化各个聚类中心 m_j;
③ 重复:
- 计算每个样本的隶属度函数:根据上面 ① 式;
- 计算聚类中心:根据上面 ② 式。
直到各个样本的隶属度值稳定。
总结:
核度量和模糊 C 均值,很显然就是 C 均值的推广。
前者推广了距离度量,从欧氏距离推广到核距离度量。
后者推广了类别划分,从确定性划分推广到隶属度。
步骤大体相似(不考虑 C 均值采用单样本修正法的话)
8、简述分级聚类算法的思想和步骤。
分级聚类是一种自底向上的方法,基于聚类间距离或聚类间相似度选择合并。步骤如下:
① 初始化:每个样本自成一类;
② 合并:把距离最小,或相似度最大的两类合并为一类,记录着两类间距离(为了绘制聚类树),其余类别不变;
③ 重复 ②,直到所有类别被合并到两个类中。
聚类树:
以距离度量时,底层为自成一类的样本,逐渐往上两两聚类,右边竖线上标出距离。
以相似度度量时,顶层为自成一类的样本,逐渐往下两两聚类,右边竖线上标出相似度(100-0)。
距离/相似度度量:
两聚类间的最近距离、最远距离、均值距离都可以。
模式识别与机器学习综述
1万+





