研一上学期闭卷三科目考试重点

研一上学期闭卷三科目考试重点

模式识别与机器学习

25道选择题,5道大题(简答题与计算题结合在一起)

2022.12.27 二班苏荔老师

非监督学习:不考死记硬背的概念,看一下作业题的例子,比如给一些具体样本分布的图,如果使用KMeans聚类会怎么样,Kmeans的判别界面应该是一个中垂线,两个簇的中垂线,如果不是大小均匀的球体可能KMeans就不适合,如果是有疏有密的,一个椭球形的,是不是考虑基于混合高斯的模型,或者簇是一个不规则的形状,比如是字母S或者C型,甚至有的簇是一个同心圆的,最适合的聚类算法应该是什么样的,可以考虑一下基于密度的聚类是不是可以,基于密度的聚类有没有不适合的情况,包括基于层次聚类会遇到什么问题,结合一些实际的例子请大家分析一下。

降维:PCA每年都考,可能和前面讲K-L变换的知识结合起来,比如PCA为什么要先做零均值的平移,特征值的选择,为什么先做倒序的排序,选排在前面的特征值最大的几个特征值对应的特征向量来构成对应的变换核,基本原理希望掌握。后面的非线性降维,核PCA的主要思想是什么,先升维再降维,基于流形的非线性降维方法,说出一些经典方法的名字就行,不可能考太细。(前面讲了一些降维,这里不可能考大题,可以看看Fisher线性判别怎么做降维,选择最佳投影方向等等)

半监督学习:半监督学习是基于一些假设的,最基本的假设有哪些,不同的半监督算法各自基于什么假设?比如半监督的SVM应该是基于低密度分割的假设,半监督SVM里面有一些比较关键的参数,C1,C2等等,分别表达什么意思,C2很小表达对未标注样本错分的容忍度比较大,很大表示不容忍错分,每一个未标注样本也要分对,但是所有的样本都必须要严格分对这种也可能有问题,过拟合等等,过拟合怎么办呢?可以把模型参数调简单点,怎么让模型参数调简单?不同的模型方法不一样,比如半监督SVM就可以把C2调小一点,或者把C1调小也行,如果是神经网络可以让结构简单一点,层数和节点变少参数就变少,欠拟合怎么办,如何让模型变复杂,除了从模型参数上调,增加数据样本是不是一定有用?

概率图模型每年都会有大题,要么是考贝叶斯球判断条件独立性,或者大题问维特比解码,一般只考前向的推导。

集成学习只考经典的bagging和boosting两种,其他的不考,考的时候从基本原理出发,比如bagging的基本原理是降低方差,但是不能改变偏差,boosting主要是降低偏差,考的时候可能会给实际的例子去判断哪种更适用,比如模型的单个基学习器都是偏差比较高的情况,要把多个集成起来增加学习能力,到底是用boosting还是bagging,如果选择boosting,不同的基学习器的权重是完全一样的吗,谁的权重大,或者是boosting作迭代训练的时候,训练样本每一次的权重在迭代的时候是不是都要改变,为什么要让分错的样本权重更大,分对的样本下一次权重就调小,要知道这些基本的调节权重的原则。

人工神经网络只考基本原理和卷积神经网络,可能让你设计一个人工神经网络的结构,和前面几章的内容有结合,比如线性分类器,非线性分类器,两类分类的,多类分类的,都怎么来设计,能画出大概的结构,写出能用什么(激励?)函数就可以。卷积神经网络主要是考察基本原理,比如为什么卷积神经网络能够进一步降低(深度,参数量?)但是又不会降低性能。可能是基于局部连接和参数重用,池化等等技术,这几个技术的基本的动机是什么,是因为有一些很有判别力的局部模式,他是之前局部出现,并且能够在不同的位置出现,还有有的时候下采样也不会影响这种局部模式的识别。可能会问一些深度神经网络训练的时候遇到一些问题怎么解决,比如说层数很深的时候,会遇到梯度消失、梯度爆炸的问题,遇到问题怎么办呢,激活函数从sigmoid换成relu为什么这样能解决这个问题,比如说使用batch normalization也可以缓解梯度消失的问题,甚至还能带来一些正则化的效果,或者是残差网络的技术,将前层的信息引入进来,可能还带有一些集成学习的思想,把这些基本的原理说清楚。人工神经网络的训练可能也会遇到过拟合,模型的参数可能就过于复杂,除了简化模型的结构之外,还有什么其他的技术,比如是不是可以考虑添加正则化项,正则化也分为L1和L2,L1正则能让系数=0也能做特征选择,L2可以让参数趋向于变小,对整体的影响就变小了,相当于参数变简单了,也能防止过拟合,包括做数据增强,增加训练样本集尽可能让他多样化,也是可以增加模型的泛化能力,还有做梯度下降的时候收敛速度变慢怎么办,陷入局部极值点怎么办,一般是这种实际一些的问题

2022.12.28 三班卿来云老师

不考:

势函数、决策树、贝叶斯参数估计、后向算法、马尔科夫随机场、SMO、拉普拉斯平滑

没有证明题,但是会有一点公式推导

EM算法不作为重点考察,最多知道概念是拿来干什么的就行,是对含有隐含变量的模型做优化,不会考很细节的

零碎考点:

判别器有讲过贝叶斯风险,是每年都会考的,感知器算法、朴素贝叶斯、Fisher判别分析,都有可能考到的,K-L变换作特征提取或者后面的PCA,还有像LR,SVM,还有线性回归,另外就是机器学习一般的概念,过拟合、欠拟合应该怎么办,怎么判断模型处于哪种状态,正则的概念,可能放到多种模型中,都要能理解。

降维需要掌握的知识点:PCA是怎么做的,Fisher判别分析要会

Fisher判别分析是要考的但是不考计算,除了两类也要看一下多类的

深度学习有一道大题,偏简答性质的

HMM有计算题,判断独立性是选择题

概率图掌握贝叶斯球就可以,概率的分布表示还是要的

多类LR不需要特别掌握,知道有这回事就行,比如用softmax函数做最后一层就可以

多类分类问题在SVM或者LR可以转化为两两的分类问题,算术题,转成多少个需要知道

支持向量考的挺多的,给一个图,哪些点是支持向量,或者自己画图

偏差方差分解具体的证明不考,但是要知道泛化误差是三部分,会判断模型什么时候偏差比较大,什么时候方差比较大,应该怎么办

高斯判别分析今年没有大题,Fisher判别分析多看看

SVM软间隔硬间隔都会有

一般对线性回归、LR、SVM公式推导方面严一点,比如损失函数是怎么推导来的,极大似然估计是怎么回事,MAP估计是怎么样,这些基本概念需要掌握,SVM的模型推导可能少一些。SVM更多理解margin、支持向量、不同的C的影响等等、核函数,RBF核模型复杂度的参数是核函数的宽度,多项式核模型复杂度还有多项式的项数。

类内类间散度矩阵应该怎么算是要求掌握的,与Fisher是什么关系,但是不会考察具体的数值计算

多类感知器不考,感知器是有的

PCA没有计算,需要知道PCA的计算过程,另外目的和达到的效果也需要知道。首先要减均值,然后再算协方差矩阵作矩阵分解,或者是作SVD分解都可以,测试的过程也一样,目的是去掉各个维度之间的相关性

bagging知道功效和怎么做就行,是多个模型做平均,目的是偏差不变,降低模型的方差,boosting是降低模型的偏差,方差不变

聚类:比如像K均值,GMM,DBSCAN这三类聚类方法需要掌握他的特点,我们什么时候用哪种方法来做,选择题

降维:今年考的不是很多,稍微看一看就行

半监督学习:不会考的特别细,但是半监督学习是基于一些假设的,最基本的假设有哪些,不同的半监督算法各自基于什么假设?

概率图模型一方面考对于有向图模型,判断给定观测到某些节点的情况下,这个变量和那个变量是否独立,可以通过贝叶斯球的方式做,需要记忆贝叶斯球的规则,根据一个图模型把联合分布写出来,HMM要求掌握前向算法求观测概率和利用维特比算法求给定一个观测后最可能的隐含状态的序列

集成学习主要是bagging和boosting,要知道bagging的原理是通过对训练样本进行bootstrap采样,然后训练多个模型,最后对多个模型作平均,得到最后的融合模型。它的好处是可以降低模型的方差,偏差不变。boosting对于Adaboost的过程,比如一开始初始化的时候每个样本的权重相同,经过一轮迭代之后哪些样本的权重会增加,哪些样本的权重会减小,最后模型是怎么融合的,没有计算题,知道Adabooost的过程就可以。对于boosting一般的原理也要知道,每次迭代顺序的把一些模型加进去,最后一些子模型的加权平均是我们最后的集成模型,boosting的好处是降低模型的偏差,方差不变。

深度学习:知道神经元的结构(线性组合+激活函数),一个神经元可以起到一个什么样的作用,神经网络是把神经元组合起来,卷积神经网络为什么要局部连接,为什么要权重共享,这样做的基于对数据的假设是什么,局部连接我们认为是一个模式在一个比较小的范围内,而不是要看全局,权值共享是说不同位置可能都有这样的模式,这样做可以使得模型的参数变少,另外多层感知器很多层并不能带来性能提升,现在的模型采用哪些技术使得训练深度模型成为可能?比如说激活函数,sigmoid容易梯度消失,使用relu使得梯度消失的问题会减弱,这样网络层数可以更深,另外batch normalization会使得我们的训练会和好多因素(学习率、初始化)的要求没有那么高,这样也是一种技术,另外采用预训练网络作初始化也是一种方式,或者核初始化等等,也可以让模型的层数更深。另外Resnet,或者叫skip-connect,通过跳接的方式使得梯度消失的问题能减弱,使得模型可以很深很深甚至上千层。神经网络设计的时候也讲了一些其他的技术。不要求全部掌握,至少知道几点。为什么要用mini-batch的梯度下降,随机的梯度下降,有什么样的好处或者特点等等。

2022.12.31

第一章:模式识别和机器学习我们并不是很区分它们,可以看成一个问题的两个方面

第二章:统计判别,主要是讲了错误率最小,错误率最小对应到分类问题等价于后验概率最大,后验概率怎么算需要大家一定掌握,后面也把风险带进来

第三章:判别函数,作判别的时候一种方式可以使用生成式分类器,高斯分布的贝叶斯分类器采用的实际上是生成式分类器,指的是我们的联合分布可以由先验和似然相乘得到,有了联合分布可以从联合分布进行采样从而得到新的数据,也就是我们知道数据的产生过程,因此叫做生成式分类器。朴素贝叶斯,高斯判别分析,概率图模型,HMM都属于生成式分类器。好处是因为我们对数据的产生过程有比较强的假设,如果我们的数据符合这个假设,通常用很少量的数据就能得到很好的模型,或者说收敛的比较快,缺点是如果数据不符合这个假设,模型的性能就很不好。另外是判别式分类器,就是直接对后验概率进行建模,或者是定义一个判别函数,根据判别函数的值判断是哪一个类别。像逻辑斯蒂回归,决策树,SVM,深度学习都是判别式的。

线性判别函数如何将多类分类任务转化成两类分类任务或者是直接用多类分类任务去做。线性判别函数处理的都是线性可分的问题,如果不是线性可分的需要用广义的线性判别函数,或者是分段线性判别函数实现。模式空间和权空间只是一些基本概念。重点掌握Fisher线性判别,协方差矩阵、类内类间,向量等都是怎么定义的,Fisher线性判别的准则是什么,都需要掌握,两类的情况,多类的情况,大家都去想想,感知器算法需要重点掌握,它是线性判别函数,只能在线性可分的时候可以使用,感知器多类也需要大家掌握。

第四章:特征选择是很重要的内容,但是不作为重点考察。特征提取重点掌握K-L变换,比较简单,实际也比较有用,PCA实际上和K-L变换就是一回事。需要知道K-L变换的目的和过程,做了K-L变换之后能达到一个什么样的效果。

第五章:期望风险:在没有见过的数据上的误差,也就是期望风险。结构风险:正则项,L1正则和L2正则,泛化误差的分解,证明过程不要求,结论要知道,用VC维计算泛化误差的上界,基本概念比较多

第六章:线性回归的损失函数,目标函数包括两部分,L1损失或者L2损失,负log似然损失,需要掌握似然是怎么定义的,由负log似然损失怎么推到了L2损失,L2损失的问题是对噪声比较敏感,因为是平方的关系,预测差距比较大的时候损失也比较大,可以采用L1损失,但是是不连续的,因此一般采用Huber损失,实际上是L1损失和L2损失的分段的情况。正则可以是L1正则或者L2正则,目的是为了限制模型的复杂度,L2会使得w的绝对值会缩小,也叫权重缩减,但是一般不为0。L1会为0,可以起到特征选择的作用。然后讲了逻辑斯蒂回归,是一个分类问题,直接计算后验概率,多类分类需要softmax函数,损失也是负log似然,只是称为交叉熵损失,推导的时候都是从负log似然推导过来的。然后生成式分类器,高斯判别分析和朴素贝叶斯,两种分类器的先验是相同的,两类是伯努利分布,多类是多项式分布,两者不同的地方是类条件的定义不一样,高斯是在给定类别的条件下是高斯分布,朴素贝叶斯是独立的,

第七章:SVM,考察的重点,需要掌握线性的SVM,核化的SVM,回归了解一下就行,首先要知道间隔的概念,硬间隔和软间隔的目标函数分别是什么,可以写成损失+正则的情况,合页损失+正则,什么样的样本是支持向量,了解原问题和对偶问题,核化也是很重要的,后面的PCA,包括逻辑斯蒂回归都可以核化,但是模型比较复杂,大家用的比较少,线性核,多项式核的复杂度体现在基数,RBF核的复杂度是核函数的宽度,软间隔的复杂度还有松弛因子C,概念需要掌握

第八章:聚类:重点掌握K均值,GMM,DBSCAN,知道聚类的过程,对什么样的数据比较适合,K均值每一个类的都是高斯,方差相同等等,GMM更宽泛,不球形,DBSCAN不要求每一类的具体形式,找密度最大的作为中心,还可以处理带有噪声的情况。

第九章降维:PCA就是K-L变换,目标是重构误差最小,MDS不作重点考察,非线性降维知道一些常用的非线性降维方法的做法就可以了

第十章半监督学习:重点掌握三种基本假设,半监督学习算法了解就行,想一下每一种算法的背后是基于哪些假设在做

第十一章概率图模型,考试时候主要是考察有向的图模型,无向图模型了解一下就行,给定一个概率图模型,能不能写出概率分布来,根据有向图模型,判断给定观测到某些节点的情况下,这个变量和那个变量是否独立,可以通过贝叶斯球的方式做,需要记忆贝叶斯球的规则,缺失的边实际上也蕴含了独立的关系,HMM要求掌握前向算法求观测概率和利用维特比算法求给定一个观测后最可能的隐含状态的序列。HMM的模型参数学习,全监督的用极大似然估计,隐含状态不知道用EM算法。

第十二章集成学习主要是bagging和boosting,要知道bagging的原理是通过对训练样本进行bootstrap采样,然后训练多个模型,最后对多个模型作平均或者投票,得到最后的融合模型。可以并行训练,它的好处是可以降低模型的方差,偏差不变。基学习器的选择可以选方差比较大的模型。比如随机森林里面选取的决策树就是选层数比较深或者叶子节点比较多的。或者多个神经网络进行。boosting是多个基学习器采用顺序的方式进行训练,不能并行训练,每一个新加入的学习器希望能纠正前面的学习器的一些错误,实现的时候每个基学习器都是一样的,融合的方式是加权平均,权重和每个基学习器是相关的。boosting的好处是降低模型的偏差,方差不变。因此基学习器可以比较简单,决策树就树比较浅。重点考察Adaboost的过程,需要掌握。

第十三章深度学习:知道神经元的结构(多个输入线性组合+激活函数得到输出),与人类神经元比较像,线性回归实际上也可以用一个神经元来表示,相当于激活函数是一个线性的激活函数(恒等映射函数)。逻辑斯蒂回归就相当于一个神经元+sigmoid函数,SVM也可以写成这样的形式。多层叠加就可以实现非常复杂的非线性函数的拟合。80年代层数不深,当时的训练方法有一些问题,sigmoid或者tanh会产生梯度消失的问题,relu可以解决梯度消失,计算简单。梯度消失是梯度传几层就没了,一个原因是激活函数,另外的原因是乘很多次,也会没了。神经网络之间的连接方式:全连接,每一个神经元都和其他的神经元相连。为了简化,图像可以采用卷积神经网络,通常只是局部连接,为什么要局部连接,因为图像里面一些局部的输入就可以判断模式的存在。为什么要权重共享,权值共享是说不同位置可能都有这样的模式,这样做可以使得模型的参数变少,计算量并不会减少。数据不满足这种特点不能使用卷积做。另外多层感知器很多层并不能带来性能提升,现在的模型采用哪些技术使得训练深度模型成为可能?Resnet,或者叫skip-connect,通过跳接的方式使得梯度消失的问题能减弱,使得模型可以很深很深甚至上千层。另外batch normalization相当于做一个标准化,使得输入的范围的差异不至于这么大。相当于在神经网络里面增加了一个层,学习这个层的参数。会使得模型训练更快更稳定,性能更好。dropout使得某些输出是0,不往下传,相当于集成学习的高效的实现方式,主要使用在全连接层里面。另外讲了一些神经网络的训练技巧,基本算法是梯度下降,梯度爆炸就是乘多了很大很大,梯度的计算首先是利用网络结构进行反向传播,批处理梯度下降是所有的样本一起,算一次很慢,一般不采用,随机梯度下降是每一个只选取一个样本,比较快,但是受单个样本的影响比较大。梯度的方向可能是锯齿的形状。通常使用小批量梯度下降,两者取中间。走一步的步长叫做学习率,下降的方法不一定是梯度,因为鞍点可能不动,平滑的区域也不怎么动,因此考虑动量法,进行自适应调整。参数初始化也比较重要。另外关于抗过拟合的问题,每一层的节点很多,模型就非常复杂,需要抗过拟合。及早停止,监控验证集上的误差,正则,数据增广,收集更多的训练样本,但是收集样本需要费用,可以采用一些图像处理的方法。还有dropout。

非线性降维基本掌握流程就行

大题没有画模型结构图

RNN不作为重点考察内容

极大似然:给一个应用场景,写似然的式子,概率分布都写的,无非是取一个log然后对所有的样本求和

SVM二维计算量不大,侧重于概念,考了很多选择题

考试不涉及求矩阵的逆、特征值的具体计算

没有问概念的简答题

选择题重点:过拟合欠拟合、偏差方差、概率图、深度学习等等

MAP的概念需要知道,大题里面没有

LDA需要知道

K-L变换需要掌握过程,能达到什么目的,但是没有数值计算

逻辑斯蒂回归需要知道正则,损失函数的推导,实际上是负log似然,关于似然的计算,这个过程需要大家知道。

极大似然或贝叶斯求参数今年没有

线性回归逻辑斯蒂回归损失函数的推导需要掌握,+正则

Adaboost知道过程就行

核函数表示两个样本的相似度,常用的核函数,比如多项式核,RBF核,还有核函数控制模型复杂度的超参数,就差不多了

DBSCAN具体过程不考,需要知道对哪些数据合适

EM算法不考察

泛化误差不会考具体的公式,知道泛化误差的上界由两部分构成,一部分是和训练误差有关系,另外一部分是模型复杂度(VC维)有关系,是一个正关系还是反关系就行了

贝叶斯估计、高斯分布参数求解不作为大题考试内容,MLE的计算过程希望大家了解,考试可能不考

高级人工智能

20道选择题

3道简答题

3道综合应用题

2022.11.17 罗平老师

确定性的知识:

命题逻辑:语法和语义,蕴含和形式推演

三种形式推演的系统:

  • 11条规则
  • 归结原理:完备性和可靠性,计算机实现是一个搜索问题,联系前面的搜索算法考察
  • Modus Ponens规则:完备性和可靠性,Forward Chaining和Backward Chaining

一阶谓词逻辑:与命题逻辑对应复习,不考证明

Logic Programming:一种新的编程的思路

  • Logic Programming与正常的编程有什么差异?选择题
  • Prolog要能读得懂
    • Prolog有时候会推出错误的答案,实现的时候并不可靠
    • 有时候正确的答案也推不出来,也不完备

不确定性的知识:

模糊集合之间的运算,交并补、模糊关系、模糊关系的合成,用模糊逻辑表示自然语言

模糊逻辑比一阶谓词逻辑多了模糊谓词、模糊量词和模糊修饰词

2022.12.29

深度学习部分:

受限玻尔兹曼机原理理解就可以了

卷积神经网络、循环神经网络用的比较多,对于具体模型来说,要了解模型的原理,为什么采用这种结构就可以

更倾向于概念

不会考公式,梯度下降应该熟练掌握的

综合应用题分三个小问题,每一个是一个方面,各自独立

A*树搜索和图搜索的最优性证明最好是了解一下

简答题是搜索方面的,搜索这些算法相应的原理了解一下就可以了

简答题不是要求证明的,没有证明题

简答题是单个题目

没有考公式推导

野人传教士问题,实际上是考你搜索问题的形式化描述,形式化描述了解的话应该是没问题的

对于GAN,基本概念和原理掌握,考试掌握基本原理就可以了

对于启发式搜索,主要是设计一个合适的启发式函数(可采纳性和一致性),针对实际问题用松弛问题的解来作为启发式函数就可以

综合应用题是神经网络相关

综合应用题有要求画神经网络结构的,说明具体采用的算法

选择题都是一些基本概念

机器学习

单选30题,每题1分

多选15题,每题1分

简答3题,每题5分

计算3题,每题10分

设计1题,每题10分


研一上学期闭卷三科目考试重点
https://zhangzhao219.github.io/2022/12/27/UCAS/exam-final-summary/
作者
Zhang Zhao
发布于
2022年12月27日
许可协议