机器学习考试复习

Posted tacit-lxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习考试复习相关的知识,希望对你有一定的参考价值。

决策树

基于树结构来进行决策

  • 优点
    • 模型可解释性、白盒模型,能直观地显示整个决策问题在时间和决策顺序上不同阶段的决策过程。在应用于复杂的多阶段决策时,阶段明显,层次清楚,便于决策机构集体研究,可以周密地思考各种因素,有利于作出正确的决策。
    • 训练需要的数据少,能处理分类数据和数值型数据。
  • 缺点
    • 不稳定,数据中的微小变化可能会导致生成不同的树。
    • 容易产生一个过于复杂的模型,导致模型对数据的泛化能力会很差。

1. 划分选择

基于什么规则选出最优划分属性,进行树的分支。

1.1 信息增益

信息熵:

image-20210702132518967

信息增益:

image-20210702133048019

根据以上两个公式算出当前数据集D中每一属性的信息增益,取信息增益最大的属性a最为最优划分属性。进行分支。在分支后的数据集D‘中存在三种情况:

  1. 样本的取值不同且样本含有不同类别,则继续划分。
  2. 样本的取值相同,或属于同一类别,不用再划分,将其结点设定为所含样本最多的类别。
  3. 当前结点包含的样本数为空,不用划分,将其结点设定为父节点所含样本最多的类别。

1.2 增益率

它的出现是基于信息增益会对可取值数目较多的属性有所偏好,为了减少这种编好带来的不利影响。而增益率对可取值数目较少的属性有所偏好。著名C4.5算法的做法是,先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

增益率定义为

image-20210702135358433

其中

image-20210702135624166

1.3 基尼指数

通过算出每个属性的基尼指数值,选择基尼指数最小的属性最为最优划分属性。

基尼指数定义为

image-20210702140337596

其中

image-20210702140144337

2. 剪枝处理

进行剪枝的原因是通过主动去掉一些分支来减少过拟合(把训练集自身的一些特点当作所有数据都具有的一般性质而导致)的风险。

过程

  • 通常提前将数据集划分为训练集、验证集。
  • 在验证集上验证划分前后的精度或误差。

2.1预剪枝

指剪枝的时间在决策树的生成过程中,对每个结点在划分前进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶节点。

优点

  • 降低过拟合风险,减少了决策树的训练时间开销和测试时间开销

缺点

  • 有过欠拟合的风险

2.2 后剪枝

该操作会先从训练集中生成一颗完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能提升,则将该子树替换为叶节点。

优点

  • 降低过拟合风险,性能较好

缺点

  • 时间开销大

3. 连续与缺失值

现实学习任务中常会遇到的连续属性,也会遇到不完整的样本。

2.1连续离散化

最简单的策略是用二分法对连续属性进行处理。

  1. 将属性的所有取值排序,然后找到能使信息增益达到最大的划分点(划分点集合Ta),
image-20210702144551844
  1. 不大于划分点的为一种取值,大于划分点的为一种取值,这样转换之后就可以用信息增益的公式进行计算了。

2.2 缺失值处理

如过选择放弃不完整样本,那么将是对数据信息极大的浪费

  1. 只考虑哪些属性a上没有缺失值的样本参与信息增益的计算。并为每一个样本赋予一个权重w

    image-20210702151248731

    其中

    image-20210702151438870
  2. 如果划分时某样本该属性值出现缺失,则划分到所有分支,并改变权重

4. 多变量决策

与单变量决策树不同,它不是为每个结点寻找一个最优划分属性,而是试图建立一个合适的线性分类器。从而实现复杂的划分,实现分类效果的提升。

神经网络

我们可以把神经网络看作是许多神经元按一定的层次结构连接起来而构成的。

神经元:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UPWl3Dxe-1625486794519)(复习.assets/pic3.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg)]

  • 优点:

    • 有能力学习和构建非线性的复杂关系的模型,拥有自学习的能力,例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像。
    • 具有联想存储功能
    • 具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解。
  • 缺点:

    • 黑盒子,没能力来解释自己的推理过程和推理依据。
    • 需要大量的数据进行训练,而且当数据不充分的时候,神经网络就无法进行工作。
    • 理论和学习算法还有待于进一步完善和提高。

1. 感知机和多层网络

感知机实际上就是使用了两层神经元的网络,多层网络理所当然指的是多层神经元组成的网络。

感知机的训练可以同一为权重的学习,也就是说可以先固定阈值。若预测正确则不进行调整,错误了就根据错误程度进行权重的调整。

感知机不能求解非线性可分的问题,于是便有了多层神经网络。常见的神经网络可以称其为全连接,每一层神经元与下一层神经元全互连,同一层的神经元之间不存在相互连接,也不存在跨层连接。

简单的来说,神经网络的学习就是连接权值和阈值的学习。

2. BP算法

一种用来训练多层网络学习连接权值和阈值的算法,会使用梯度下降法更新参数。

bp神经网络是人工神经网络中最基础的一种模型,由于这种神经网络模型使用了数值正向传递,误差逆向传递的训练方法(back propagation)而被冠名为bp神经网络。误差逆向传递的训练方法有很多种,但是由于直接解值对于多层神经网络来说计算量非常巨大,故采用另外一种逼近算法,梯度下降法。梯度下降法是一种可以使得误差逆向传播,将全局误差收敛到极小值从而训练bp神经网络的训练方法,采用计算梯度的方式来一步步逼近误差极小值。

作者:ValK
链接:https://www.zhihu.com/question/396352046/answer/1237377964
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  1. 推导bp神经网络:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MU85scpB-1625486794521)(复习.assets/image-20210704143211553.png)]

隐藏层的节点在反向传播的时候,与输出层连接的每个神经元都有关。

标准 BP 算法(每次针对一个训练样例更新连接权值和阈值)和累积 BP 算法,就是对应标准梯度下降和随机梯度下降,差别就是后者每次迭代用全部数据计算梯度,前者用一个数据计算梯度。

  1. 缺陷

BP神经网络容易陷入过拟合

  • 早停

    训练集误差降低但验证集误差升高

  • 正则化

    描述网络复杂度的部分

image-20210704144506118

3. 全局最小和局部极小

我们可以把解看作是参数空间中的一点。如果这一点能实目标函数的取值小于这个参数空间中所有的点对应的函数值,则称为全局最小。如果只是在这点的某个领域内,满足最小,则称为局部最小。

  1. 梯度下降法

    由于负梯度方向是函数值下降最快的方向,因此梯度下降法就是沿着负梯度方向搜索最优解。如果仅有一个局部极小,那么此时的局部极小就是全局最小,但如果存在多个局部极小,则不能保证找到全局最小。

  2. 跳出局部极小

    • 初始化不同的参数值
    • 模拟退火
    • 随机梯度下降
    • 遗传算法

4. 其他常见神经网络

  1. RBF网络

    在有足够多的隐层神经元的RBF网络能以任意精度逼近任意函数

  2. ART网络

    一种无监督学习策略,可进行增量学习或在线学习。

    竞争方式:计算距离。

  3. SOM网络

    一种竞争学习型的无监督网络,他能将高维数据映射到低维空间,同时还能保持输入数据在高维空间的拓扑结构

  4. 级联相关网络

    它不仅是训练网络的权值和阈值,而且将网络本身的结构也当作学习的对象。

  5. Elman网络

    一种常用的递归神经网络,它允许网络中出现环形结构。

    隐层神经元的输出可以被反馈回来,作为下一时刻隐层神经元的输入。

  6. Boltzmann机

    为网络定义一个能量,训练网络即最小化能量函数。

5. 深度学习

可以简单的理解为很深层的神经网络

  1. DBN
  2. CNN

支持向量机

学习一个超平面,能对数据进行划分,对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心

  • 优点

    • SVM 是一种有坚实理论基础的新颖的小样本学习方法.它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法.从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题.
    • 支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量.SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”.
  • 缺点

    • SVM算法对大规模训练样本难以实施,由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间
    • 用SVM解决多分类问题存在困难,经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题.可以通过多个二类支持向量机的组合来解决.主要有一对多组合模式、一对一组合模式和SVM决策树;再就是通过构造多个分类器的组合来解决.主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度.如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。

1. 间隔与支持向量

距离超平面最近的几个训练样本点称为支持向量,两个异类的支持向量到超平面的距离之和称为间隔。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S6kSTNev-1625486794522)(复习.assets/201810190934182)]

  1. 基本模型:
image-20210705102311616
  1. 对偶问题

    通过使用拉格朗日乘子法,得到模型的对偶问题。

    image-20210705103227882

    然后对w,b求偏导令其为零,带入消去w,b,即可得到对偶问题。

    image-20210705104341254

    解除a,求得w,b,即可求得最终的模型。

    image-20210705105455205

    训练完成后,大部分的训练样本都不需要保留,最终的模型只与支持向量有关

  2. 这是一个二次规划问题。

    • SMO算法

      每次选取两个变量并固定其他参数,不断的选取不同的参数组进行更新。

2. 核函数

为了解决SVM线性不可分的问题,我们需要将原始空间映射到一个更高维度的特征空间。因为原始空间如果是有限维的话,那么一定存在一个更高维的空间使样本线性可分。而映射向量在高维空间进行计算是非常困难的,最是可以在原始空间中用一个核函数代替即可解决计算复杂度的问题。

核函数

image-20210705111049973

3. 软间隔与正则化

现实任务中很难确定合适的核函数使得训练样本在特征空间中线性可分,所以为了缓解这个问题允许支持向量机在一些样本上出错。

4. 支持向量回归

训练一个回归模型,f(x)=wx+b.我们仅当f(x)与真实值y之间存在可以接受的误差e,当他们之间的差别大于e之后开始计算损失。

5. 核方法

用核函数的线性组合替换学习的模型。

贝叶斯分类器

贝叶斯分类器是各种分类器中分类错误概率最小或者在预先给定代价的情况下平均风险最小的分类器。它的设计方法是一种最基本的统计分类方法。其分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。

image-20210705132756848

类先验概率p©可通过个样本出现的频率来估计。类条件概率p(x|c)需要进行参数估计。

  • 优点
    • 接受大量数据训练和查询时所具备的高速度,支持增量式训练;对分类器实际学习的解释相对简单
    • 对于多分类问题也同样很有效,复杂度也不会有大程度上升。
  • 缺点
    • 无法处理基于特征组合所产生的变化结果

1.极大似然估计

因为概率模型的训练过程就是参数估计的过程,极大似然估计属于频率主义。

  • 寻找能最大化似然函数的参数值

2. 朴素贝叶斯分类器

它假设每个属性独立的对分类结果发生影响。

image-20210705134513545

其中(若属性为连续属性)

image-20210705135011055
  • 若某个属性值在训练集中没有与某个类同时出现过,则连乘的概率值将为零。为了避免其他属性携带的信息被训练集中未出现的属性值抹去,在估计概率值时通常要进行“平滑”
    • 拉普拉斯修正N

朴素贝叶斯的主要优点有:
1)朴素贝叶斯模型有稳定的分类效率。
2)对小规模的数据表现很好,能处理多分类任务,适合增量式训练,尤其是数据量超出内存时,可以一批批的去增量训练。
3)对缺失数据不太敏感,算法也比较简单,常用于文本分类。
朴素贝叶斯的主要缺点有:   
1) 理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。
2)需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。
3)由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。
4)对输入数据的表达形式很敏感。

3. 半朴素贝叶斯分类

因为在现实任务中,样本的每个属性往往很难满足相互独立。因此出现的半朴素贝叶斯分类器适当的考虑部分属性间的相互依赖关系。

  • 独依赖:假设每个属性在类别之外最多只依赖一个其他属性。
  1. 贝叶斯网

    用有向图刻画属性之间的依赖关系,用一个条件概率表来描述属性的联合概率分布。

  2. 结构

    根据贝叶斯网构建道德图。

  3. 学习

    现实中我们并不知晓网的结构,可以用一个评分函数进行搜索。

    1. 推断QS态。
      • EM算法:针对不完整的训练样本。

考试预测

绪论

  • 泛化能力

    在训练集中学习到的模型,适用于新样本的能力。
    
  • 版本空间

    哪些于训练集一致的“假设集合”
    
  • 奥卡姆剃刀

    若有多个假设与观察一致,则选择最简单的那个
    
  • 没有免费午餐

    模型误差与算法没有关系,我们要根据具体问题,具体分析,选择合适的模型。
    

模型评估和选择

  • 评估方法

    1.留出法
    2.交叉验证法
    3.自助法
    
  • 查准率和查全率

    P: 所有预测为正例的样本(TP+FP)中为真正正例所占比例
    R: 所有正例样本(TP+FN)中被预测为正例所占的比例
    识别率: (TP+TN)/(TP+TN+FP+FN)
    
  • ROC

    真正例率=p
    假正例率:预测为假的样本在所有假例中的比例。
    

线性模型

  • LDA

    线性判别模型:给定训练样例集,设法将样例投影到一条直线上,是的同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。
    
  • 类别不平衡

    指训练集中不同类别的样本数目差别很大
    再放缩:
    1.欠采样(负采样)
    2.过采样
    

决策树

  • 决策树的基本思想

    决策树算法是一种逼近离散函数值的方法。通过对数据集进行划分,确定划分条件,得出一类一类的数据子集。
    
  • CART回归树

    使用基尼指数来选择最优划分属性,选择使得划分后基尼指数最小的属性作为最优划分属性
    

神经网络

  • 训练网络的最优化算法

    梯度下降法
    

SVM

  • 支持向量机的优缺点

  • 支持向量的意义

    距离超平面最近的且满足一定条件的几个训练样本点,他们的本质向量,我们所划分的超平面最终是由支持向量所决定的。
    
  • svm概念,其目的,什么是最优化分类面

    支持向量机是一类按监督学习方式对数据进行二元分类的广义线性分类,其目的是求得在特征空间划分的最优超平面,其决策边界是对学习样本求解的最大边距超平面。
    基本思想是:找到集合边缘上的若干数据(称为支持向量,用这些点找出一个平面(称为决策面),使得两个异类支持向量到该平面的距离之和最大。这种拥有最大间隔的超平面则为最优化分类面。
    由简至繁的 SVM 模型包括:
     当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机;
     当训练样本近似线性可分时,通过软间隔最大化,学习一个线性支持向量机;
     当训练样本线性不可分时,通过核技巧和软间隔最大化,学习一个非线性支持向量机;
    
  • SVM怎么防止过拟合

    通过引入松弛变量,使SVM可以容忍异常点的存在。
    

贝叶斯

  • 朴素贝叶斯法的基本假设

    对已知类别,假设所有属性相互独立。
    

聚类

  • 无监督学习

    训练样本的标记信息是未知的,目标是通过对无标记的训练样本的学习来揭示数据的内在性质及规律,为进一步数据分析提供基础。
    
  • 聚类

    寻找数据内在的分布结构,也可作为分类等其他学习任务的前驱过程。
    
  • 聚类算法

    1.原型聚类
    	-k均值聚类
    	-学习向量量化
    	-高斯混合聚类
    2.密度聚类:假设聚类结构可以通过样本分布的紧密程度。
    	-DBSCAN算法
    3.层次聚类:试图在不同的层次上对数据集进行划分
    	-AGNES算法
    
    

集成学习

  • bagging

    对训练样本进行采样,产生出若干个不同的子集,再从每个数据子集中训练一个基学习器。
    
  • Adaboost(串行)和bagging(并行)的区别

    Adaboostbagging
    数据集只有一个数据集,但是在不同的迭代过程中,权重是有区别的通过自助法生成了k个数据集
    数据在每一次迭代中,不同观测的权重不同,上一次判断错误的样本在本次迭代中权重相对较高在每一个数据集中,各个观测的权重都相同
    结合策略不同的学习器在最终的强学习器中的权重不同,错误率越低的学习器,其权重越高不同的学习器的权重相同
    训练过程迭代是有先后顺序的,本次迭代过程需要依赖上一次迭代过程k个弱学习器的训练是可以同时进行的,他们是相互独立

第10章

  • KNN思想:

    给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”样本信息进行预测
    步骤:
    (1) 计算已知类别数据集中的点与当前点之间的距离;
    (2) 按照距离递增次序排序;
    (3) 选取与当前点距离最小的 k 个点;
    (4) 确定前 k 个点所在类别的出现频率;
    (5) 返回前k个点出现频率最高的类别作为当前点的预测分类。
    
  • 统计学习算法的三要素

    模型、算法、策略
    

以上是关于机器学习考试复习的主要内容,如果未能解决你的问题,请参考以下文章

机器学习与数据挖掘期末考试复习重点整理

HIT机器学习期末复习——机器学习简介及决策树

python二级练习和考试复习(检查内存使用情况)

python二级练习和考试复习(检查重复元素)

python 机器学习有用的代码片段

笔记总结计算机专业面向期末考试复习笔记专业课学习笔记课外算法与其他学习笔记