2026/11/3 3:16:49

机器学习期末复习题精讲:核心考点与易错点全梳理

机器学习期末复习题精讲:核心考点与易错点全梳理 简介面向高校机器学习课程期末复习的题库型文档适合正在梳理知识框架、考前自测与查漏补缺的本科生使用。内容按单项选择题、多项选择题、名词解释、简答题和编程题组织覆盖训练集与测试集划分、欠拟合与过拟合、K近邻、朴素贝叶斯、支持向量机核函数及线性不可分、决策树ID3/C4.5/CART、线性回归、聚类、神经网络、数据清洗与性能评估等核心考点。资源包仅含1个docx文件约20KB轻量易取便于打印或导入笔记软件反复查阅。目前已有13141人学习说明其在课程复习场景中具有一定参考度。读者可借助成体系的题目与参考答案快速定位薄弱环节并通过编程题的建模、拟合、预测与评价步骤建立从概念理解到代码实现的答题思路。1. 机器学习期末复习题到底在考什么一句话先说明白驾校科目一有一千多道题真上路之后你会发现天天用的就那几十条。机器学习期末复习题及答案也是这个路数题目看着散选择、多选、名词解释、简答、编程五大题型铺开实际上反复在问三件事——模型怎么分数据、算法各归哪个阵营、指标该怎么读。它不像高数那样靠推导硬啃更像一张把术语串起来的地图。很多人复习时最懵的不是不会做题而是“训练集”“测试集”“欠拟合”“核函数”这些词单独看都眼熟凑在一起就说不清谁是谁。把这层关系理顺题目自然就顺了。2. 为什么第一题总是训练集和测试集模型评估的底层逻辑2.1 自己出题自己考为什么不算数复习题第一道单选就是“机器学习把数据集分成训练集和B”答案测试集。很多人背下来了却没想过为什么非得分。打个比方老师把期末卷子的原题提前发给学生练学生把答案背得滚瓜烂熟考出来一百分。这一百分能说明他学会了这门课吗不能只能说明他记住了这套卷子。模型也一样。它从训练集里把参数调到一个“在这批数据上表现很好”的状态这个过程叫拟合。问题在于模型完全有机会走捷径——它可能只是把每条样本和对应答案硬记下来而不是学到背后的规律。所以必须留一份模型从没见过的数据也就是测试集在训练全程不参与参数调整只在最后拿出来考一次。这一次的分数才是对“它能不能应付新数据”的估计。这份复习资料里反复出现训练集、测试集、性能评估其实是一条线上的三个点用训练集学用测试集考用指标打分。这里顺带说一句真正规范的流程还会从训练集里再切一小块做验证集用来调超参数比如 K 近邻里的 K 取几。测试集是最后那一次“闭卷考”考前反复拿它调参等于又变成自己出题自己考了。这套复习题没展开验证集但选择题里凡是问“评估模型泛化能力该用哪部分数据”的答案都指向那个没参与训练的部分。2.2 欠拟合与过拟合两种“学歪”的方向欠拟合在资料里的定义是模型在训练数据和预测结果上精确度都不高没能把握住核心特征。通俗地说就是学生连课本都没看懂练习题不会做考试也不会做。对应的解法选择题给了“增加训练过程的迭代次数”这类选项。为什么管用模型学得不够往往是训练轮数太少、模型容量太小、特征给得太少。多练几轮、把模型换复杂一点它能捕捉到的规律就多一些。过拟合是反方向练习题全对一到大考就翻车。资料里的定义是“模型出现拟合过度的情况特征值选取过多”。它把训练集里的噪声、巧合都当成规律学了进去。这时候你再加迭代次数、再把模型弄复杂只会越练越偏。正确的做法是加正则化、减特征、增加数据量、对模型做裁剪。这里有个容易被忽略的细节题目问“以下属于解决模型欠拟合的方法是”选项里同时摆着“增加训练数据量”和“正则化”这两个其实是治过拟合的。很多同学一看到“提升模型效果”就手滑选上去恰恰选反。判断标准很简单——先问当前模型是“没学会”还是“学太死”再选药。2.3 评估指标不是越多越好准确率、查准率、查全率、MSE资料的名词解释里性能评估被概括为“准确率、查准率、查全率、综合评价指标”。这四个词的关系用体检报告类比最直观。准确率是“所有样本里判断对了的比例”最直观但在类别极不均衡时会骗人。比如一千个样本里只有十个正例模型全判成负例准确率照样有 99%。所以还要看查准率和查全率查准率回答“我判为正例的里面真正是正例的占多少”查全率回答“真正的正例里我抓出来了多少”。一个偏“别冤枉好人”一个偏“别放过坏人”二者常常此消彼长。综合评价指标通常指 F1就是把这两个数折中成一个数。回归任务用的则是另一套尺子。资料里出现了均方误差MSE、平均绝对误差MAE、均方根误差RMSE和 R²。均方误差的定义是“反映估计量与被估计量之间差异程度的一种度量”说白了就是把每个预测值和真实值的差平方后求平均。平方的好处是大误差被放大坏处是量纲变成了原单位的平方不好解释于是再开根号得到 RMSE。MAE 则是不平方、直接取绝对值平均对异常值更宽容。R² 衡量的是模型解释了目标变量多少波动越接近 1 越好。选择题里“回归模型性能评估平均绝对误差”对应 MAE 这个缩写考的就是别把四个缩写记串。记法可以偷懒一点带 M 的是均方Mean Square带 A 的是绝对Absolute带 R 的是根RootR² 那个右上角的 2 是“解释了多少方差”跟开根号没关系。3. 算法怎么分阵营K近邻、朴素贝叶斯、SVM、决策树各站哪边3.1 K近邻找最近的邻居投票K 近邻算法在选择题里的定位是“有监督学习”。为什么因为它训练时虽然几乎不做什么但手里握着带标签的数据预测时靠“看离它最近的 K 个样本都是什么类别”来投票决定。打个比方你搬进一个新小区想知道这栋楼晚上安不安静最直接的办法是问隔壁几户。K 就是你要问几户问出来的结果里哪种意见多就听谁的。K 取 1 时谁最近听谁的非常敏感一个噪声点就能带偏K 取大一些投票更稳但边界会变模糊。这套复习题的编程题就给了十组二维特征和对应的 0/1 标签让你用 sklearn 的 KNeighborsClassifier 走一遍。代码后面我会展开讲。这里先记住它的两个特点一是没有显式的“训练出参数”的过程属于懒惰学习预测时才计算距离二是距离度量、K 的取值会直接影响结果所以标准化数据这一步很关键否则量纲大的特征会独占距离。3.2 朴素贝叶斯用概率投票朴素贝叶斯在资料里的原理描述是“利用概率统计进行分类基于贝叶斯定理对于一个待分类项求解属于各个类别的概率概率最大的类别即为待分类项的类别”。判定公式的正确答案是 H(x)argmax P(Ci)ΠP(ak|ci)。这串符号拆开看并不吓人P(Ci) 是类别 i 本身出现的先验概率ΠP(ak|ci) 是在类别 i 的前提下每个特征各自出现的概率连乘起来。argmax 的意思是“算出每个类别的这个乘积取最大的那个类别”。“朴素”两个字是重点也是最容易被忽略的前提它假设各个特征之间相互独立。现实中这个假设基本不成立比如“身高”和“体重”显然相关。但奇妙的是即便假设很粗暴它在文本分类这类高维稀疏任务上依然能打。原因是它只要排序对就够了——不需要概率值绝对准确只要正确类别的得分排第一分类就对了。这也解释了为什么名词解释里对它的描述强调“概率最大的类别”。它不是靠画边界而是靠算分数属于生成式思路和 SVM 那种找分界线的判别式思路是两条路。3.3 支持向量机线性可分、线性不可分与核函数简答题里问“在 SVM 中如何理解线性不可分”资料给的答案很直白数据集没办法用一个线性分类器直线、平面分开。配套的另一道简答问“线性可分”答案按维度递进一维找一个点二维找一条直线三维找一个平面n 维找一个超平面。这其实是在说一件事——所谓“线性”就是能用一根“直的东西”把两类切开。线性不可分怎么办两条路。一条是软间隔允许少数点越界别为了切得干干净净把边界拧得太扭曲另一条是核函数把数据映射到更高维的空间让原本缠在一起的点在新空间里变得能用平面切开。选择题问“支持向量机常用的核函数”答案是高斯核函数。高斯核也叫 RBF 核可以理解为“以每个样本为中心撒一个钟形的影响范围”靠样本之间的相似度来定义新空间里的距离不需要显式地把维度算出来这也是它常用的原因。需要留意的是核函数选择在教材里通常会给几个候选线性核、多项式核、高斯核、Sigmoid 核。单选题里如果问“常用”按教材口径记住给分的那一个如果问“有哪些”就要按多选处理。3.4 决策树一棵靠提问往下走的树决策树的原理资料里的表述是“一个类似于流程图的树结构分支节点表示对一个特征进行测试根据测试结果进行分类树叶节点代表一个类别”。这个结构其实很像医院的分诊台先问“有没有发烧”有就往左走再问“有没有咳嗽”一路问下去最后落到某个科室。每个内部节点是一次判断每条边是一个取值叶子节点就是结论。要让这棵树长出来得解决“先问哪个特征”的问题这就涉及划分标准。资料的多选题里出现了“信息增益”和“基尼指数”对应的就是三种经典算法ID3 用信息增益C4.5 用信息增益率CART 用基尼指数。选择题问“决策树生成有几种算法”答案是三种问的就是这三个名字。树的好处是可解释性强你能把判断路径完整念出来坏处是很容易长太深把训练集里每个样本都单独分对这就是过拟合。所以实际用的时候要剪枝或者限制最大深度、最小叶子样本数。这一点和第二章讲的欠拟合、过拟合是同一套逻辑在不同算法上的体现。4. 从原始数据到能跑的模型数据清洗与 sklearn 五步套路4.1 数据清洗缺失值与离群值多选题问“数据清洗包括”答案落在“缺失值处理”和“离群值检查”。名词解释里的定义更完整通过填补缺失值、光滑噪声数据、平滑或删除离群点、解决数据不一致来“清理”数据。为什么它重要还是用做饭类比。食材没洗就下锅调料放得再准也白搭。模型再精巧喂进去的数据里有一堆空值和录入错误结果一定歪。缺失值处理常见的有删掉整行、用均值或中位数填补、用模型预测填补离群值则可以先画箱线图或看分布判断是录入错误还是真实的极端情况前者删掉后者保留但要考虑用对异常值不敏感的模型。这里有个常被忽略的点填补缺失值用的统计量只能从训练集算再套到测试集上。如果拿全量数据一起算均值再填补测试集的信息就悄悄漏进了训练过程这叫数据泄露。复习题没考这么细但做编程题时若自己造数据最好养成这个习惯。4.2 五步套路导入、建模、拟合、预测、评价编程题第一道只要求写步骤标准答案就是五步导入库函数、导入数据集、建模模型实例化、模型拟合模型训练、预测、模型评价。数一数其实是六步资料里把“预测”和“模型评价”并作收尾。这套流程在 sklearn 里高度统一几乎所有算法都长一个样# 1. 导入所需库 from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # 2. 准备数据特征 X 必须是二维结构 X [[1], [2], [3], [4], [5]] y [3, 4, 6, 8, 9] # 3. 模型实例化此时还没有学到任何东西 model LinearRegression() # 4. 拟合把数据喂进去求解参数 model.fit(X, y) # 5. 预测新样本 y_pred model.predict([[6]]) # 6. 评价用指标衡量预测值和真实值的差距 mse mean_squared_error(y, model.predict(X)) print(y_pred, mse)几个参数和写法要说明白。X用双层列表包起来是因为 sklearn 约定输入必须是“样本数 × 特征数”的二维数组只有一个特征也要写成[[1], [2]]这种形状写成[1, 2, 3]会直接报错这是新手最常见的翻车点之一。fit负责训练返回值是模型自身predict负责出结果输入形状要和训练时保持一致。mean_squared_error的第一个参数是真实值第二个是预测值顺序反了不会报错但结果没意义。4.3 两段代码KNN 分类与简单线性回归编程题第二道给了一份 K 近邻的分类数据特征十组标签前五个是 0后五个是 1。完整跑通大概是这样from sklearn.neighbors import KNeighborsClassifier # 特征二维坐标标签0 或 1 X [[3,2],[3,1],[1,3],[3,4],[2,2],[7,4],[5,3],[9,2],[7,3],[7,0]] y [0,0,0,0,0,1,1,1,1,1] # n_neighbors 就是 K默认是 5 knn KNeighborsClassifier(n_neighbors3) knn.fit(X, y) # 预测一个新坐标属于哪一类 print(knn.predict([[4, 3]]))n_neighbors3是这个模型唯一需要人拍板的超参数。取小了边界锯齿状容易过拟合取大了边界太平滑容易欠拟合。这份数据的两类点大致以横坐标 5 附近分开取 3 到 5 都能分对取 1 时如果新样本正好落在边界附近就会很敏感。第二段是简单线性回归特征是 1 到 5标签是 3、4、6、8、9from sklearn.linear_model import LinearRegression X [[1],[2],[3],[4],[5]] # 注意二维 y [3, 4, 6, 8, 9] lr LinearRegression() lr.fit(X, y) print(lr.coef_, lr.intercept_) # 斜率与截距 print(lr.predict([[6]])) # 预测特征为 6 时的值coef_是斜率intercept_是截距合起来就是资料里那个定义式 y ω0 ω1x。拟合完可以把这两个数代回去手算一遍预测值和predict的输出对一下能确认自己真的理解了“模型学到了什么”而不是只跑通了代码。5. 常见误区与易混概念期末最容易栽的五个坑5.1 欠拟合与过拟合方向相反症状不同易混点两者都是“模型效果不好”于是解法也常被混着选。为什么混选择题把“增加迭代次数”和“正则化”放在同一组选项里两个都像是“优化模型”的动作不细看就选错。怎么区分看训练集表现。训练集上就很差是欠拟合药方是加容量、加特征、加轮数训练集上很好但测试集差是过拟合药方是正则化、剪枝、减特征、加数据。可以记成一句话——欠拟合是没学会过拟合是学死了。5.2 分类、聚类、回归有没有标签输出是离散还是连续易混点K 近邻和 K-Means 经常被当成一家人PCA 被问成有监督还是无监督。为什么混名字里都带 K都跟“分组”沾边而 PCA 降维看不出标签在哪。怎么区分先看训练数据有没有标签。有标签叫有监督没有叫无监督。K 近邻是有监督因为训练时带着类别聚类是无监督它只按距离把数据分成簇簇叫什么名字事后才知道PCA 也是无监督它只做维度压缩不预测类别。再看输出输出离散类别是分类输出连续数值是回归输出的是“这群人长得像”就是聚类。5.3 MAE、MSE、RMSE、R²四个误差指标别混着背易混点题干写中文“平均绝对误差”选项给英文缩写四个长得都像。为什么混MSE 和 RMSE 只差一个开根号MAE 和 MSE 只差一个平方R² 又带着上标。怎么区分抓首字母含义。M 是 Mean平均S 是 Square平方A 是 Absolute绝对R 是 Root根。平均绝对误差就是 MAE均方误差是 MSE均方根误差是 RMSE也就是 MSE 开根号。R² 不是误差是“解释了多少波动”方向相反。再补一句量纲MSE 的量纲是原单位平方RMSE 和 MAE 与原单位一致所以对外解释时更常用后两个。5.4 决策树的算法名与划分标准易混点ID3、C4.5、CART 是算法名信息增益、信息增益率、基尼指数是划分标准考场上容易把两类词对调。为什么混三种算法和三种标准一一对应题目又常把两类词混在一个选项列表里。怎么区分按顺序配对记。ID3 配信息增益C4.5 配信息增益率对 ID3 偏向取值多的特征做了修正CART 配基尼指数同时能做分类和回归。选择题问“有几种算法”答三种问“划分标准”答信息增益和基尼指数两问的答案不是一回事。5.5 朴素贝叶斯的公式argmax 与连乘易混点四个选项只差一个前缀——argmax、exp、min、log看着都像。为什么混都对概率做了某种处理不熟悉符号含义就只能靠印象。怎么区分分类要选“概率最大”的类别所以必须是 argmax不能是 min各类别概率是连乘关系所以是 Π 而不是求和exp 和 log 是运算变换不是选最大。另外那个“朴素”的独立性假设是公式能写成连乘的前提问原理时要提一句只写公式不解释假设简答题容易丢分。6. 什么时候该用这套复习题什么时候别指望它边界与选择先说结论这套东西最适合的场景是考前两三天用它把散落的名词、算法、指标快速串成一张能自洽的图尤其是选择题和名词解释命中率很高。它的价值在于“覆盖面”而不是“深度”。十大单选、五大类题型把训练集划分、欠拟合、K 近邻、朴素贝叶斯、sklearn 导入、聚类、核函数、回归指标、决策树、神经元模型这些高频点都扫了一遍你拿它做自测能很快发现自己哪块是空白。名词解释和简答题的答案写法也值得借鉴——短、准、有定义有补充考试时按这个结构答不容易漏点。但有几件事它帮不了你。第一编程题只给了步骤和一小段示例没有数据预处理、没有交叉验证、没有调参真让你从零写一个完整流程还得自己补。第二部分选择题的选项设置本身有歧义比如“聚类分析有几种算法”这种问法答案取决于教材口径遇到时按老师讲的那版记别在考场上较真。第三它不解释“为什么这个算法适合这个场景”只告诉你“这个算法属于哪一类”想理解选型逻辑得自己动手在数据上跑一遍对比。下面这张表可以贴在书桌前帮你快速判断该翻哪一章你现在的状态该看的部分预期效果名词都眼熟说不清定义名词解释 第 5 章误区能用自己的话讲清概念边界选择题总在两个选项间犹豫第 2、3 章 第 5 章知道每个选项错在哪简答题写不满三行简答题原文 第 3 章掌握“定义 展开”的答题结构代码跑不通第 4 章两段示例能独立完成导入到评价的闭环完全没基础第 1、2 章打底再往后先建立整体框架不急着背题我自己的习惯是考前把选择题遮住答案做一遍错的题不抄答案而是回到对应章节用一句大白话把这题考的概念讲给自己听讲不顺的就是真没懂。这个动作花不了二十分钟比反复刷同一道题有用得多。希望你也能用这套资料把“背过”变成“讲得出来”。本文还有配套的精品资源点击获取