机器学习-期末复习
文章目录
- 考题分数分布情况
- 第一讲:人工智能引擎
-
- 第1-1节:机器学习的概念
- 第1-2节:机器学习的核心要素
- 第1-3节:构建人脸识别系统的具体步骤通常包括多个环节
- 第1-4节:机器学习的主要分类方法
本次课程将围绕模型评估展开简答练习。其中我们将深入探讨过拟合与欠拟合的现象及其对模型性能的影响。具体而言,在本次讨论中我们将重点分析以下三个关键概念:训练集合、测试集合以及验证集合各自的作用与用途。请阐述训练集合、测试集合以及验证集合各自的作用与用途。
-
第3部分:如何进行评估?在传统方法中有哪些评估手段?
-
如何划分训练集、验证集与测试集?其标准是什么?
-
留出法指的是将数据集中的一部分作为测试集直接使用。
-
交叉验证法则通过多次分割数据并轮流使用不同部分作为测试集来实现。
- 4.性能度量
-
-
第三讲 k近邻算法
-
- 1.简答题:
-
- kNN概念
- k-近邻概念
- 是否需要学习?
- 具体步骤
- 例如1-近邻算法属于过拟合还是欠拟合?
- K取值不同时会遇到哪些问题?有哪些优缺点?
- 给定一个向量如何找到其最近的K个邻居?
- 归一化处理
- kNN的优点与缺点是什么?
-
-
第四章 数据挖掘基础(仅涉及非线性关系的数据)
- 学习目标
- 理解信息增益的概念
- 掌握朴素贝叶斯分类器的工作原理
- 探讨特征选择的关键策略
- 学习目标
-
第四讲 决策树(其中涉及对数的情况不在本课程范围内)
- 学习目标
- 掌握基尼指数这一衡量数据纯度的重要指标
- 理解剪枝技术在优化模型复杂度中的作用
- 探索随机森林集成学习方法的核心思想
- 学习目标
-
第五讲内容涉及朴素贝叶斯方法的学习与应用
-
课程重点将围绕生成模型与判别模型的理论基础展开
-
在PPT中要求深入理解并掌握算法推导过程
-
实践操作中需完成toy案例分析并完成相应实验报告
-
探讨拉普拉斯平滑技术的应用场景及其改进措施
-
第六讲 逻辑回归
- 简答题:采用阶梯式函数的原因是什么?
- 极大似然估计的具体实施过程是怎样的?
- 简答题:采用阶梯式函数的原因是什么?
-
第七讲:支持向量机(建议涵盖简答与计算题)
-
第一部分:基础练习题
-
第二部分:简答题内容
- KKT条件的几何意义是什么?
- 在什么情况下拉格朗日乘子ai会不为零?
- 如何将低维不可分的问题转化为高维可分的情形?(需了解映射机制)
- KKT条件的几何意义是什么?
-
第八讲 深度学习
-
- 误差反传的过程
- 计算题
- 设计题
-
第九讲 主成分分析
-
- 简答题
-
- 优点
- 掌握pca流程:
-
考题分数分配
简答题 5题 x 7分
计算题 3题 x 15分
设计题 1题 x 20分
两篇他人对西瓜书进行了详细的介绍和深入的阐述。周志华老师则在博客中对《机器学习》课程进行了详细解读,并分享了他个人的学习笔记和心得体会。
第一讲 人工智能的引擎
1.什么是机器学习
掌握该函数的运作机制
首先需要具备完整的数据样本集,并设计出一个结构合理且功能完善的函数或数学模型。其中包含待优化的参数变量。将这些数据输入到模型中进行训练,并通过评估指标来衡量模型的表现质量。根据评估结果调整模型中的参数设置,在保证预测准确性和分类效率的同时实现最佳效果目标。通过这种训练方式可以使学习出来的数学表达式具有良好的泛化能力,在面对 unseen 的新样本时仍能保持较高的适用性与可靠性。
本质上属于函数范畴,在这个函数结构中包含了需要确定的一组参数;这些参数可以通过训练数据集进行学习和优化。
2.机器学习三要素
见第1点
3.设计人脸识别系统/分为几个步骤
什么是机器学习
4.机器学习的分类
问:了解了哪些监督学习方法?又了解了哪些非监督学习方法呢?
监督学习:数据集带有标签信息,在实际应用中通常会利用这些信息对模型的预测结果进行评估。具体来说,在训练过程中由带有标签的数据进行指导训练。当训练完成后可以通过使用带有标签的数据计算模型预测与真实值之间的误差程度来验证性能表现。
无监督学习:无需提供带标签的数据集用于建模训练。以无标记的数据为基础进行分析和建模的过程主要关注数据本身的分布特性及其潜在结构关系。例如,在主成分分析(PCA)算法中通过对数据分布的研究而无需依赖类别信息来进行降维处理。具体而言,在算法运行过程中会根据数据特征自动构造一个投影矩阵,并通过这个矩阵将高维度的空间映射到低维度空间从而实现降维效果。


生活中的一个实例:Google新闻根据内容类型划分为财经、娱乐、体育等不同的标签区域;这属于无监督学习中的一种聚类方法。


第二讲 模型评估(简答)
如何判断机器学习模型性能优劣?最直接的方式是在分类任务中进行测试。正确预测即为成功,在测试中若出现错误预测则视为失败。此外,在评估时通常会计算准确率和误报率。

1.过拟合欠拟合

如图所示,在过拟合中过分关注细节时,边缘不规则的样本会被误判为非树叶。

过拟合定义:当模型完美拟合训练数据时,在实际应用中可能会发现其与训练数据存在显著差异
过拟合原因:训练集规模较小且与真实世界数据存在分布差距。(举例说明:例如在监控系统中旨在捕获违规车辆与人等目标时所采集的数据几乎均为明亮天气条件下的环境)这表明训练出的有效模型在明亮天气条件下运行效率高但在复杂天气状况下如雨天或光线不佳环境中实际应用效果可能受限由于训练数据仅涵盖良好光照场景导致测试阶段遇到非理想环境时模型表现会有所下降
如何解决:最好能增加训练样本量,并从与应用背景相关的真实环境中尽可能多地收集高质量数据。通过这种方法处理后,在确保这些数据来源的相关性并让它们尽量保持一致的分布特征的同时,在保证大致相同的比例关系下进行筛选与整理工作。最终的目标就是让训练集与验证集尽可能保持一致的分布特征,并在保证这些条件下完成模型的构建工作以提升其性能表现
如何解决:最好能增加训练样本量,并从与应用背景相关的真实环境中尽可能多地收集高质量数据。通过这种方法处理后,在确保这些数据来源的相关性并让它们尽量保持一致的分布特征的同时,在保证大致相同的比例关系下进行筛选与整理工作
欠拟合原因:模型本身设置不够好,模型超参数调不够好。
【补:如何解决欠拟合】添加新特性、增加模型复杂度、减小正则化系数
2.训练集测试集验证集
请问训练集测试集验证集分别是什么?
【百度】:
训练集(train set) —— 用于模型拟合的数据样本。
在机器学习中,验证集(Validation Set)主要指用于优化模型超参数的预留数据样本集合。这些样本不仅用于调整模型超参数,还能初步评估模型性能。通常来说,在每次迭代训练后使用该集合评估当前模型对未知数据的泛化能力,并通过评估结果来决定是否终止进一步的训练过程。
评估集合 —— 用于检验模型在未知数据上的表现能力。然而,在超参数优化或特征选取这类算法参数设置过程中,则不可用于选择相关依据。




3.怎么样做评估?评估里面传统方法有哪些方法?
划分训练集和测试集的方法: – 留出法; – 交叉验证法; – 自助法
请问如何切割训练集验证集测试集?准则是什么?
什么叫留出法?

什么叫交叉验证法?
展示了若干图表展示了测试与训练数据的划分当训练数据量较少时无需设置验证集验证集通常在训练数据较为充足时设立以便进行后续验证早期阶段通常将训练与测试样本严格区分开来
交叉验证法的主要作用在于通过采用不同的训练集与测试集划分方法对模型进行多轮的训练与验证。(类似于通过多轮考核筛选出表现突出的选手)

【补充 自助法】:

4.性能度量
如何评估模型好坏程度?
精度就是准确率



precision即表示被分类为正类的样本中真实情况属于正类的比例;recall即表示在所有真实情况属于正类的样本中被模型识别出来的比例。当结果标记为true时意味着模型预测正确;而当结果标记为false时则表明模型预测错误。

计算得到precision和recall后即可绘制P-R曲线图(观察曲线下方所覆盖的面积越大越好,并据此评估算法性能

第三讲 k近邻算法
1.简答题:
kNN概念
如图所示,在二维空间中存在许多坐标点。其中标有圆圈的所有样本点都已经被标注好了类别信息。现在需要预测那些标有正方形符号的样本属于哪一类。根据KNN算法可以看出:计算其与周围其他所有样本的距离,并找出距离最小的几个邻居。通过比较这些邻居各自所属的类别,并统计各个类别的数量。从而将当前待分类别的样本归类到具有最多邻居的那个类别中。
关于学不学习?
刚加入一个新的数据集之前,请问是否需要对其进行初始的学习过程?对于K近邻算法(KNN),它既可以进行参数化配置也可以选择非参数化方法:若不进行参数化(即不进行" learning"),则直接设定固定的参数值;但如果选择参数化方法,则需要选取一定数量的训练样本,并通过遍历分析不同k值(如k=1、k=2等)下的模型性能指标(如测试集准确率),从而确定最优的k值设置。

流程
在测试阶段输入一个新样本后,在其最近邻居中识别出K个相关样例,并对各分类器的输出结果进行比较后,则将该待分类样例归入输出结果最多的那个类别中

比如1近邻算法是过拟合还是欠拟合?

直观地理解,在机器学习中过拟合是指模型吸收了大量"局部信息"或是"噪声"。当k值较小时,模型容易过度依赖这些细节信息而忽略整体规律,在极端情况下当k=1时,k-近邻算法的结果几乎完全由离待预测样本最近的一个训练样本决定。这种情况下模型容易受到"有偏差的信息"或"噪声"的影响而导致高概率的过拟合现象。
K不一样时会面临什么问题?有什么优缺点?


给个向量,如何找到最近邻的K个点呢?(knn改进)
法1:最基本的方式就是穷举法了,在实际操作中我们通过逐一计算每对样本的欧式距离来实现目标。
法2:在数据有序的情况下我们可以采用分治策略将所有样本按照特定规则组织成一个层次结构 其查找过程类似于构建一棵平衡二叉搜索树 每次比较都将范围缩小一半 这种方法其深度通常在O(log n)范围内。
当数据量达到上万个级别时,计算开销将会显著增加。此时采用kd树算法,在将所有数据点按照一定的规则进行坐标轴划分后,每个子节点最终都成为叶子节点。这种划分方式的主要优势在于可以通过树状结构实现对最近邻点的快速定位,并且无需完成对整个数据集的距离测量工作即可完成计算。因此该方法能够有效提升搜索效率。
归一化
请问KNN算法归一化的目的?
为了解决不同特征维度之间取值范围之间的差异过大问题,在这种情况下较大的维度会覆盖掉较小的维度。各维空间应尽量保持一致。
KNN优点缺点

第四讲 决策树(有log的不作考点,连续值不考)
目标
有成百上千个样本存在,在每一个样本中都具备多个属性特征,并且其中包含决策相关的属性。我们需要确定哪些属性最为关键、排位第一或第二等依次进行识别和分析。
【补】:产生一棵泛化能力 强,即处理未见示例能力强的决策树。
基尼指数


计算信息增益的具体步骤如下:首先从age、work、house和credit这四个属性中找出其基尼指数最小的那个属性,并将其作为根节点使用;以该根节点为基础划分出三个子类别(youth, mid, elder)。接着,在对youth这一类别进一步分析时,请重新计算一次基尼指数;然后,在对youth这一类别进一步分析时,请重新计算一次基尼指数;从而确定在后续阶段应优先考虑哪一个属性作为下一层次的划分依据。
剪枝
预剪枝:在构建决策树的过程中,在每个阶段都会检查当前节点是否带来了性能提升,并在此基础上决定是否继续生成新的子节点。
后剪枝:在完成整个决策树的构建之后,在回溯过程中逐层检查每个节点是否有优化的空间,并决定是否需要对其进行修剪以减少复杂度和过拟合的风险。
随机森林
一棵单棵决策树可能存在效率不足的问题,在实际应用中我们可以通过构建大量这样的树来进行数据处理,并将这些树集合起来称为森林结构。在这样的情况下通常被称作随机森林算法
第五讲 朴素贝叶斯(课件绝大部分都要)
生成式和判别式流派

朴素贝叶斯是一种产生式模型,(两个流派:生成式流派 和判别式流派 ),
判别式就是建立一个模型,它实现从输入样本到输出样本之间的映射。
生成式即对给定的样本进行分析,在模型中分别计算该样本来自正反两类的概率值;通过概率对比判断该样本更可能是哪一类的实例
刘:判别模型将测试数据输入到系统中仅用于判断当前这一个样本的归属。而生成式则是基于给定的数量来估计其所属的可能性。生成式:假设有五个类别利用这些数据学习并确定这五个类别的特征;每次输入一个测试样本时计算其对每个类别而言的可能性程度,并最终找出可能性最高的那个类别作为归属结果。
PPT 算法推导过程要掌握
toy example要会做
拉普拉斯修正

第六讲 逻辑回归
简答为什么要把阶跃式函数变成Sigmoid函数?
由于单位阶跃函数具有不连续性和不可微性, 会产生一些边界上的问题. 通过引入Sigmoid函数来解决这些问题. 其输出值主要集中在0到1之间, 其余大部分范围内输出值均为0或1, 能够有效地进行分类任务, 并有助于预测结果的概率分布情况.

极大似然估计过程(重点)
构建一个似然函数的过程中, 我们假设我们有n个独立同分布的数据样本. 这些样本均遵循相同的独立概率分布, 而其联合概率密度表达式即为各自概率密度的连乘积. 将上述连乘积定义为似然函数.

通过寻找一组合适的参数θθθθθθθθθθθθ(theta),使得似然函数取得最大值,则表明生成这些样本的概率最高。为了简化计算过程,在对所有参数求偏导的过程中取对数后将乘积转换为求和形式,并最终可获得各个参数的具体解值。类比地将其应用于逻辑回归模型中,在完成这一过程后会得到一个指数函数的结果e^{\beta}(exponential of beta),其中\beta代表的是参数向量\mathbf{w}和偏置b的线性组合值(linear combination value)。这一结果仍然是一个指数函数的形式。

接下来,用迭代优化的方式,这部分没要求大家掌握:

在学习逻辑斯蒂回归时需要注意的是:构建逻辑斯蒂回归方程的极大似然函数是一个关键步骤。掌握这一过程对于理解模型至关重要。了解如何通过求解偏导数为零来确定参数取值,在实际应用中通常会遇到指数函数的问题(即e^x),因此我们采用迭代优化的方法来找到最优参数β(其中参数β实际上对应于线性回归中的权重w和偏置b)。
补充:



第七讲 支持向量机(简答计算设计皆可)
1. 计算题toy example
看课件
2.简答题


该标记显示为可能是一个真实样本吗?因为模型过度拟合训练数据的原因,在测试时可能会将它误判为负样本。
kkt条件的几何解释
在受约束条件下,在确定对应全局最优的过程中,在寻求满足特定约束条件下的函数f(x)。这种优化过程分为两种情况:一种是全局最优值在可行域内部实现;另一种是通过调整f(x)使其与该边界相切从而实现最优化目标。

刘:第i个样本是支持向量的ai不等于零时, ai即为α_i。我们解决的问题类似于线性规划问题,在这些环状结构中寻找最佳中心点位置。这些环状结构代表了不同区域范围。考虑到受约束的情况下,在边界附近寻找最佳位置。当且仅当g(x) = 0时, α·g(x) = 0成立。参考图1中的结果:根据KKT条件可知: 当且仅当上述情况发生时, 最优解才会出现
ai在什么条件下不为0?
答:在第i个样本是支持向量的时候其对应的α_i值不为零。原因在于这几个支持向量共同决定了最佳分离面的位置而其他的数据点对于分类面的位置没有任何影响

低维不可分如何变成高维可分?(要知道映射过程)
利用核函数将低维度的空间投影至高维度的空间,并非直接对原始数据进行升维处理;而是在这种变换下进行相应的计算和分析。具体而言,在这样的变换下进行相应的内积计算能够更好地反映两样本间的相似性特征;实际中,在这种变换下进行相应的计算较为复杂;而这一过程并未真正使原始数据升至更高维度的空间;相反地,则是找到了一个合适的核函数来进行这样的计算处理

凭什么认定找到核函数是可以的呢?好在理论证明如下:

(半正定要回去搞懂 )
刘:二维的加入没办法用一条直线切分不同类别,把二维数据映射到三维,则可以用一个平面切分。二维到三维只需要多出一个坐标,多定义一个方法来设计如何映射即可,但是如果映射到100维10000维,这样每一个维度定义一个映射方法就很麻烦,(上上图就是支持向量机的公式,x就是数据,y是标签)
xi xj(假如是二维,有一个数据)则表示为2x1矩阵,转置一下是1x2矩阵,两个矩阵矩阵相乘是1x1矩阵,假设是100维,1x100矩阵和100x1矩阵相乘结果依然是1x1,你会发现结果其实跟维度是没有关系的。所以科学家去想不去把数据映射到100维,而是用一种方法即核函数变换,维度没有发生任何改变,可以达到一样的效果。
将数据通过核函数映射之后相乘等同于将数据映射到高维之后的效果。实际上没有把它从二维映射到更高维,而是通过核函数来等同于一个效果。
第八讲 深度学习
误差反传的过程
自己去补
计算题
第67页PPT内容中,
考虑各种激活函数及其对应的数值参数设置。
通常采用线性或仿射变换形式作为基础结构。
在分析误差影响的过程中,在反向传播算法中如何动态调节各权重参数。
设计题
扔个网络出来,把样本分开:

第九讲 主成分分析
构建投影矩阵的过程如下:首先从原始数据样本出发构造一个协方差矩阵(了解协方差矩阵的构建原理是必要的),然后计算其特征值与特征向量序列。具有最大特征值的特征向量即为主方向之一;第二大的特征值对应的特征向量则是主方向之二。为了实现高维空间的数据映射至低维空间(将n维压缩为d维),需将排名前d大的特征值所对应的特征向量组合形成一个dxn维度的投影矩阵。通过应用该投影矩阵即可将任意样本点映射至d维空间(使n维向量变为d维向量),从而实现降维操作的同时保留原有数据分布特性并去除大部分噪声分量

简答题
优点
减少存储开销、优化搜索效率、剔除干扰因素,并能显著提高分类识别的精确度。
掌握pca流程:
刘:首先计算每个属性自身的均值并进行差异;例如,在实际操作中我们会针对各个属性分别计算其平均值得到一个数值;接着将这些数值带入后续的数据处理流程;具体来说就是将每一个样本点沿着各自属性的方向进行标准化处理;随后通过这些标准化后的数据构建一个新的协方差矩阵;为了提取出最重要的信息我们进一步对该协方差矩阵进行奇异分解从而获得一系列具有重要意义的参数;这些参数包括一组正交且相互正交的方向向量以及对应的权重系数;在这一过程中我们重点关注那些能够最大地保留原始数据信息的方向向量;通过这种方式我们可以有效地降低原始数据的空间维度而不丢失关键的信息;
最后我们将原始的数据投影到这些选定的方向上从而实现降维的目的;
估计不考计算题。但是算法流程要搞懂。
