机器学习期末复习知识地图:五大模块与易错点梳理

简介:机器学习期末复习题及答案以单份docx文档呈现,面向高校机器学习课程期末备考学生及需要系统梳理基础概念的自学者,帮助在考前快速自测、定位薄弱环节。压缩包内共1个docx文件,约20KB,篇幅紧凑,按单项选择题、多项选择题、名词解释、简答题与编程题五类题型组织,题目均附参考答案,便于按题型检索和对照记忆。内容覆盖训练集与测试集划分、欠拟合与过拟合、K近邻、朴素贝叶斯判定公式、支持向量机核函数与线性不可分、决策树ID3/C4.5/CART、线性回归与聚类分析、神经网络基本组成等高频考点;编程题还梳理了简单线性回归和K近邻分类的建模、拟合、预测与评价步骤。已有13141人学习,适合用于期末查漏补缺、课堂复习对照与编程题思路复盘,也可作为知识点串联的辅助材料。

1. 知识地图:机器学习期末复习需要构建的五个部分

拿到一份机器学习期末复习题,很多人的第一反应是从第一题开始刷,刷完对答案,把错的地方抄一遍。这个方法在考前一周还有效,但离「心里有底」还差得远,因为题目只覆盖单个知识点,考场上考的是能不能把这些点连成一条线。这份资料真正的用法,是先把自己手里的题目拆成五个部分:学习范式与数据准备、分类算法、回归模型、评估指标、sklearn 编程落地,每个部分单独过一遍,再回到题目里验证。

如果零散地背答案,遇到换个问法的题就容易出错。下面按这五个部分走一遍,每个部分都说明考点在哪、容易错在哪、怎么用一份答案反推出整章的知识结构,最后落到一份能直接照着做的复习清单上。

2. 学习范式与数据准备:从监督到数据清洗的第一层筛子

整份资料里,被反复考查、又最容易被当成「送分题」跳过的,是最前面的学习范式划分。选择题第三题问 K 近邻算法属于什么,第七题问 PCA 降维属于什么,两题只差几个字,答案却一个是监督、一个是无监督。这类题在期末卷面上占分不多,但它决定后面所有算法的归类,一旦混淆,简答题里解释「为什么聚类不需要标签」就会跟着错。

2.1 三句话分清监督、无监督与半监督

判断一种方法属于哪一类,不用背定义,只看两件事:训练数据有没有标签,输出的是离散类别还是连续数值。有标签、输出离散类别的是分类;有标签、输出连续数值的是回归;没有标签、按相似度把样本聚成组的是聚类;没有标签、只对特征做压缩或变换的是降维。半监督介于中间,用少量标签样本带大量无标签样本,期末一般不深挖,知道定义即可。

方法归属判断依据
K 近邻 KNN有监督训练集带标签,预测结果是离散类别
朴素贝叶斯有监督用带标签样本估计先验概率与条件概率
决策树有监督用标签计算信息增益或基尼指数来分裂
支持向量机有监督用标签寻找最大间隔的分隔超平面
简单/多元线性回归有监督拟合特征到连续目标变量的关系
PCA 降维无监督不看标签,只按方差方向重排特征
聚类分析(K-Means、层次聚类)无监督按距离准则分组,没有标准答案

表格里最容易被忽略的是 PCA 那一行。很多人看到「降维」两个字,下意识觉得是在处理特征,就把它归到数据预处理里当工具,忘了问它到底属于哪类学习。PCA 对特征矩阵做的是协方差矩阵的特征值分解,全程不接触标签,所以是标准的无监督方法,这一点在选择题里被单独拿出来考过。

注意:判断口诀是「有没有标签」优先于「算法名字听起来像什么」。名字里带「回归」的逻辑回归其实是分类算法,名字里带「树」的随机森林属于集成学习,这些命名里的历史遗留问题在复习阶段最容易造成误判。

2.2 训练集与测试集:为什么必须切分

选择题第一题就直接考了数据集划分:机器学习把数据集分成训练集和(测试集)。选项里给出的分析集、导入集、备用集都是干扰项,它们听起来像数据处理流程里的环节,但在标准术语里并不存在。简答题里又问了一遍「为什么要把数据集分成训练集与测试集」,说明这个点在两套题型里都会出现。

核心逻辑只有一句:用训练集拟合出来的模型,对训练集本身一定是「贴合」的,但这种贴合不能证明它在新数据上也贴合。模型完全有可能只是把训练样本的噪声也一起记住了,换一批数据精度就大幅下降,这就是过拟合的典型表现。测试集的作用相当于一次模拟考,它不参与参数更新,只在最后用来给出一个相对诚实的精度估计。

这里有一个容易被忽略的细节:划分必须在任何预处理之前完成。如果先对全量数据做了标准化或者缺失值填补,再切分训练集和测试集,那么测试集的均值、方差这些统计量已经通过预处理「泄漏」进了训练过程。这在期末卷面上不会直接考,但编程题里如果顺手写了先标准化再切分,思路分是要扣的。常见的划分比例是 7:3 或 8:2,样本量小的时候用交叉验证替代单次划分,思路是一样的。

2.3 数据清洗:缺失值、离群点与噪声三件事

多项选择题里「数据清洗包括」这一题的答案是缺失值处理和离群值检查,干扰项是训练数据和分类。这个错误选项设得比较合理:训练数据是划分出来的数据集,分类是任务类型,二者都不是「清洗」这个动作。名词解释里对数据清洗的定义说得更全:通过填补缺失值、光滑噪声数据、平滑或删除离群点、解决数据的不一致性来「清理」数据。

把这四件事拆开看,就构成了数据准备的完整流程。缺失值处理常见做法是删除、均值或中位数填补、按类别分组填补;噪声数据用分箱、回归拟合或者聚类的方式做平滑;离群点先检测再决定是删除还是保留,判定标准可以是箱线图的四分位距,也可以是三倍标准差;数据不一致性多见于同一字段出现多种表示形式,比如单位混用、日期格式不统一,需要在入模前统一。

提示:离群点和噪声不是同一件事。噪声是随机误差,通常做平滑;离群点是远离主体的观测值,可能是录入错误,也可能是真实存在的极端情况,删之前要想清楚它是不是业务上真正关心的样本。

3. 分类算法主线:KNN、朴素贝叶斯、SVM 与决策树

分类部分是整份资料的重心,选择题占了四道,简答题占了两道,编程题占了一道。四个算法被拆在四种题型里考,说明出题人希望你能分清它们各自解决什么问题、用什么方式划分边界。这四种算法的思路差异很大:KNN 靠距离投票,朴素贝叶斯靠概率比较,SVM 靠间隔最大化,决策树靠特征上的条件判断。复习时如果只记结论不记思路,换一种描述方式就会失分。

3.1 KNN:距离、K 值与惰性学习

原题给的 KNN 编程题数据集是十个二维样本点,前五个标签为 0,后五个标签为 1。这组数据有个明显特点:类别 0 的点集中在左下区域,类别 1 的点集中在右上区域,中间没有交叠,所以任何 K 值只要取奇数,训练集上都能拿到 100% 的准确率。这是出题人给的「友好数据」,但它掩盖了 KNN 真正的考点:K 值怎么选、距离怎么算、为什么它被归为有监督学习。

from sklearn.neighbors import KNeighborsClassifier # 特征矩阵:10 个二维样本点,写成嵌套列表,每个子列表是一个样本 X = [[3, 2], [3, 1], [1, 3], [3, 4], [2, 2], [7, 4], [5, 3], [9, 2], [7, 3], [7, 0]] # 标签向量:前 5 个为类别 0,后 5 个为类别 1,长度必须与 X 的行数一致 y = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1] # 建模:n_neighbors 就是 K 值,题目没给就自己指定,一般取奇数避免平票 knn = KNeighborsClassifier(n_neighbors=3) # 拟合:KNN 是惰性学习,fit 阶段只是把训练样本原样存下来,并不训练参数 knn.fit(X, y) # 预测:对一个新样本点分类,内部做的是计算它与全部训练样本的距离 print(knn.predict([[4, 3]])) # 评估:返回在给定数据上的分类准确率 print(knn.score(X, y))

代码里n_neighbors是最关键的超参数,K 取 1 时模型只参考最近的一个邻居,对噪声极其敏感;K 取太大,决策边界会过度平滑,把本不属于同一类的点也拉进来。样本量为 10 的时候,K 取 3 或 5 是常见选择,因为偶数会导致票数打平。fit这一步值得单独说明:KNN 没有显式的训练过程,所谓「模型」就是训练集本身,这也是它被叫作惰性学习的原因,预测开销随样本量线性增长。

还有一个容易被忽略的点:KNN 对特征尺度敏感。距离计算默认使用欧氏距离,如果两个特征的量纲差了几个数量级,数值大的特征会主导距离结果,所以在真实场景里入模前要先标准化。原题的数据两个维度量级接近,看不出这个问题,但简答题如果问到 KNN 的缺点,尺度敏感几乎必答。

3.2 朴素贝叶斯:判定公式在算什么

朴素贝叶斯的判定公式在资料里出现了两次,两次的写法还不完全一样。完整版本是 H(x) = argmax P(Ci) Π P(ak|Ci),简化版本是 H(x) = argmax P(Ci)。后者其实省略了似然项,只在先验占主导时有意义,考试时如果四个选项长得像,要选带连乘符号的那个完整式子。

公式拆开看是三块内容。P(Ci) 是类别的先验概率,用训练集里各类别出现的频率估计;P(ak|Ci) 是在类别 Ci 下第 k 个特征取值为 ak 的条件概率,离散特征按频率统计,连续特征通常假设服从正态分布再代入概率密度;最外面的 argmax 表示把所有类别都算一遍,取概率最大的那个作为预测结果。

「朴素」两个字指的是一个强假设:在给定类别的条件下,各个特征之间相互独立。这个假设在现实中基本不成立,比如一篇文档里「机器」和「学习」两个词同时出现的概率远高于它们各自独立出现时的乘积,但即便如此,朴素贝叶斯在文本分类任务上依然表现不错。原题的名词解释和简答题都问了原理,答题时要把「基于贝叶斯定理」「求属于各类别的概率」「取概率最大者」这三点写全,再补一句独立性假设,才算完整。

注意:朴素贝叶斯的判定公式里没有出现分母 P(x)。因为对同一个待分类样本,所有类别的分母都一样,argmax 时可以直接约掉,这也是它能写成连乘形式的原因。答题时如果能点出这一点,说明是真的理解了公式,而不是记住了符号。

3.3 SVM:核函数清单与线性可分的空间直觉

SVM 在资料里被考了三次:选择题问常用的核函数,简答题分别问线性可分和线性不可分。三个问题其实是一条线,从「能不能用一条直线分开」出发,分不开就想办法升维,升维之后靠核函数避免显式计算高维坐标。

线性可分的定义在简答题里写得很清楚:一维空间里分开两个点集只需要找一个点;二维空间里需要一条分类直线;三维空间里需要一个分类平面;n 维空间里则要找一个超平面。维数逐级往上加,分隔对象的名称也跟着变,从点到线到面再到超平面,这条递进关系是这道题的采分点,答题时按空间维度逐层写,比只写一句「存在一个超平面能分开」要稳。

线性不可分就是找不到这样一个分隔对象。实际数据里两类样本混在一起,任何直线或平面切下去都会切错。SVM 的处理方式是把原始特征映射到更高维的空间,在那个空间里原本纠缠的样本可能就变成线性可分了。映射之后维度可能非常高,直接计算内积不可行,于是引入核函数,用低维空间里的函数值等价替代高维内积,这就是所谓的核技巧。

常用的核函数里,高斯核(RBF 核)是最常考的一个,它把样本映射到无限维空间,参数只有一个 gamma,gamma 越大,单个样本的影响范围越小,决策边界越曲折,越容易过拟合。多项式核、线性核也在常见清单里。资料里给出的干扰项是「二项式核函数」「贝叶斯核函数」「网络核函数」,三个名字都是拼出来的,看到带「贝叶斯」「网络」字样的核函数基本可以直接排除。

提示:核函数到底「常用几种」在不同教材里口径不一致,有的算上 Sigmoid 核写成四种,有的只算线性核、多项式核、高斯核这三种。考前查一遍自己的教材或课件,按老师的口径答题,不要拿别的版本硬套。

3.4 决策树:三种生成算法与两套划分标准

决策树的原理在简答题里被问过一次,标准答法是:它是一棵类似流程图的树结构,分支节点对某个特征做测试,按测试结果把样本分到不同子节点,叶子节点代表一个类别。这个描述抓住了结构,但没有说清「怎么选特征」,而后者才是决策树的核心。

选特征的依据就是划分标准。多项选择题里给出两个正确选项:信息增益和基尼指数。信息增益来自信息论里的熵,计算公式是划分前的熵减去划分后的条件熵,增益越大说明这次划分让不确定性下降得越多,ID3 算法用的就是这个标准。信息增益有个偏向:取值种类多的特征天然容易拿到高增益,比如用身份证号去划分,每个样本自成一类,增益最大但毫无泛化能力。C4.5 用信息增益率修正了这个偏向,在增益的基础上除以特征自身的固有值。CART 用的是基尼指数,它衡量的是从数据集中随机抽两个样本、类别不一致的概率,基尼指数越小,纯度越高。

三种生成算法对应两套标准,这个对应关系是选择题和简答题的交叉考点。ID3 用信息增益,C4.5 用信息增益率,CART 用基尼指数,CART 同时还能做回归树,这一点在比较三种算法时经常被拿来当区分点。资料里有一道题问「决策树生成有几种算法」,答案是 3,指的就是这三种,答题时把名字和对应标准一起写,比只写数字得分高。

4. 回归模型与评估指标:从线性回归到正则化家族

回归部分在资料里分散在多选题、名词解释、简答题和编程题里。它的结构比分类部分清晰:一条主线是从简单到复杂的模型家族,另一条主线是评估指标。两条线要分开记,混在一起就会出现在问「哪个是回归模型」的题里选了评估指标,或者在问「哪个是评估指标」的题里选了模型名字。

4.1 简单线性回归:一个特征、一条直线

名词解释里给的定义是:线性回归针对一个或多个特征与连续目标变量之间的关系建模,分为简单线性回归和多元线性回归。简答题进一步把简单线性回归的定义式写了出来:y = ω0 + ω1x,其中 ω0 是截距,ω1 是斜率,x 是单个解释变量,y 是连续响应值。多元线性回归就是把一个 x 扩展成一组特征,形式变成 y = ω0 + ω1x1 + ω2x2 + … + ωnxn。

编程题要求写出用简单线性回归做数据回归的步骤,只写步骤不写代码:导入库函数、导入数据集、建模、模型拟合、预测、模型评价。这六步是所有 sklearn 建模任务的通用骨架,换成分类、聚类、降维,步骤名基本不变,只是换掉实例化的类。所以这题表面考线性回归,实际考的是对 sklearn 工作流的整体把握。

from sklearn.linear_model import LinearRegression # sklearn 要求特征矩阵是二维的,即使只有一个特征也要写成 [[1], [2], ...] X = [[1], [2], [3], [4], [5]] # 目标值是连续数值,长度与 X 的行数一致 y = [3, 4, 6, 8, 9] # 建模:实例化一个线性回归对象 model = LinearRegression() # 拟合:这一步才真正求解 ω0 和 ω1 model.fit(X, y) # coef_ 是斜率 ω1,intercept_ 是截距 ω0 print(model.coef_, model.intercept_) # 预测:对新的特征值给出预测结果,同样要传二维 print(model.predict([[6]])) # 评价:回归任务默认返回 R²,不是准确率 print(model.score(X, y))

代码里最值得说的是X的形状。资料原文写的是X=[1,2,3,4,5],如果照抄进 sklearn,会直接报错,因为它要求的输入是二维数组,形状为(样本数,特征数)。只有一个特征时也必须写成嵌套列表或者用reshape(-1, 1)转换。这是从纸面题目到实际运行时最容易出错的地方,几乎每个初学者都会遇到一次。

model.score在回归任务里返回的是决定系数 R²,不是分类里的准确率。R² 的取值范围通常在 0 到 1 之间,越接近 1 说明模型解释的方差比例越高,但它是可以出现负值的,当模型预测效果比直接用均值预测还差时就会是负数。这一点在评估指标那一节还会展开。

4.2 正则化回归:岭回归、Lasso 与弹性网络

多项选择题里有一道问「正规化回归模型有」,正确选项是岭回归、最小绝对收缩与选择算子、弹性网络。这三个名字分别对应 L2 正则、L1 正则和两者的组合,作用都是在损失函数里加一个惩罚项,限制系数的大小,从而降低过拟合风险。

岭回归加的是系数平方和,它的特点是会把系数压缩到接近 0 但不会正好等于 0,所以所有特征都会被保留,适合特征之间高度相关的场景。Lasso 加的是系数绝对值之和,它能把一部分系数直接压成 0,相当于顺带做了特征选择,适合特征维度高、其中大量特征无关的场景。弹性网络把两者按比例混合,用两个超参数分别控制 L1 和 L2 的权重,在特征分组相关的情况下表现更稳。

这三个模型和简单线性回归的关系要理清:简单线性回归是基础形式,岭回归和 Lasso 是在它基础上加了约束的变体,弹性网络又是前两者的融合。它们都属于回归模型,都可以用同一套评估指标衡量。复习时把这四者排成一条线,比孤立地记三个名词要牢。

4.3 回归指标对照:MAE、MSE、RMSE 与 R²

评估指标这块是资料里前后表述不太一致的地方,也是复习时最容易混淆的地方。选择题里出现了两种问法:一次问「回归模型性能评估平均绝对误差」,答案是 MAE;一次问「回归模型性能评估均方差」,答案是 RMSE。两个问法指向不同指标,但选项是同一组,如果只看选项不看题干里的指标中文名,很容易选错。

指标全称计算方式特点
MAE平均绝对误差预测值与真实值差值的绝对值求平均单位与目标变量一致,对离群点不敏感
MSE均方误差差值平方后求平均放大大误差的影响,单位是目标变量的平方
RMSE均方根误差MSE 开平方单位与目标变量一致,同时保留对大误差的惩罚
R²决定系数1 减去残差平方和与总平方和之比无量纲,衡量模型解释了多少方差

选择哪个指标取决于你更在意什么。如果数据里离群点多,且不希望个别极端值主导评估结果,用 MAE;如果大误差的代价明显高于小误差,用 MSE 或 RMSE;如果要横向比较不同量纲的任务,用 R²。名词解释里对均方误差的定义是「反映估计量与被估计量之间差异程度的一种度量」,这个说法比较笼统,答题时可以补一句「差值平方的期望」,把计算方式带上会更完整。

分类任务的指标是另一套,名词解释里给出的性能评估包含准确率、查准率、查全率和综合评价指标。准确率的定义在另一处名词解释里写得更明确:分类正确的样本数除以总样本数。查准率关注「预测为正的样本里有多少真的是正」,查全率关注「真正的正样本里有多少被找出来」,两者此消彼长,综合评价指标 F1 是它们的调和平均。这四者的关系和回归指标那四个是平行的结构,对照着记效率更高。

5. 易错点盘点:选择题最容易踩的五个坑

把资料里的题目都做一遍,会发现错误分布很集中,不是知识点太难,而是几个固定的地方反复出错。下面这五条是从两套题目里交叉比对出来的高频失分点,每条都按「错在哪、为什么会错、怎么补」写,对照着自己的错题看一遍,能省下不少重复刷题的时间。

5.1 欠拟合与过拟合的处理措施张冠李戴

易漏点:选择题问「以下属于解决模型欠拟合的方法」,正确选项是增加训练过程的迭代次数,而增加训练数据量、对模型进行裁剪、正则化这三项常被误选。

为什么漏:这四个选项在教材里都出现过,只是分属不同问题的解决方案。增加数据量、模型裁剪、正则化都是用来抑制过拟合的手段,它们的方向是「让模型别太复杂」;而欠拟合的问题是模型太简单、没学到东西,解决办法应该是增加模型复杂度、增加迭代次数、增加有效特征。方向相反,一旦记混就会全线崩。

怎么补:记一条对照关系,过拟合对应「减复杂度」,欠拟合对应「加复杂度」。把名词解释里过拟合的定义「模型拟合过度、特征值选取过多」和欠拟合的「训练和预测精度均不高、未把握核心特征」放在一起读,一个精度太高、一个精度太低,处理方向自然就分开了。

5.2 评估指标的口径混淆

易漏点:同一组选项被用来回答两个不同的题干,问 MAE 时选 MAE,问均方差时选 RMSE,两个题干只差几个字。

为什么漏:平时记指标是按「MAE、MSE、RMSE、R²」这个顺序背的,没有把中文全称和英文缩写绑定。考场上看到选项里的英文缩写,凭位置印象选,很容易选到相邻的那一个。还有一个隐藏问题:均方差和均方误差在中文里经常被混用,有的教材把 MSE 叫均方误差,把 RMSE 叫均方根误差,题目里写「均方差」,实际指向的是开过方的那个。

怎么补:做一张中英文对照表,把每个指标的中文全称、英文全称、缩写、是否开方四列写全,考前只看这张表。遇到题干先翻译成中文全称,再去找对应的缩写,不靠位置记忆。

5.3 算法计数类题目靠猜

易漏点:决策树生成算法几种、聚类分析几种方法、SVM 常用核函数几种,三道题连着出,答案都是数字,非常容易连蒙带猜。

为什么漏:这三类题在教材里的表述往往是一句带过,复习时觉得不重要就跳过了,考场上只能凭「好像在哪见过 3」的印象选。实际上这三个 3 各有各的所指:决策树是 ID3、C4.5、CART;聚类常见的是划分式、层次式、密度式三类,代表算法分别是 K-Means、层次聚类、DBSCAN;核函数按最常见的口径是线性核、多项式核、高斯核。

怎么补:不要记数字,记名字。在草稿纸上把三个 3 各自对应的一组名字默写出来,能写全就说明记住了,写不全说明这个点没掌握。数字只是名字数量的自然结果,先记名字再数数,顺序反了就会变成死记。

5.4 sklearn 导入语句与参数写错

易漏点:选择题问「用 sklearn 线性回归算法需要导入函数库」,正确选项是from sklearn.linear_model import LinearRegression,干扰项里混着import numpy as np、import matplotlib.pyplot as plt、from math import sqrt。

为什么漏:这四个导入语句在完整的建模脚本里都会出现,平时写代码时是一起复制的,没有单独注意哪一行对应哪个功能。加上linear_model里的下划线和大小写,手写时容易写成linearmodel或者Linear_model。

怎么补:把常用的几个导入语句整理成一张小卡片,按「数据处理、绘图、建模、评估」四类分开:NumPy 管数组运算,Matplotlib 管绘图,sklearn 的 linear_model 和 neighbors 管子类,metrics 管评估。分类清楚之后,问「线性回归要导入什么」就不会串到 NumPy 上。同时注意 sklearn 的模块名统一用小写加下划线,类名用大驼峰,这是固定的命名规范。

5.5 编程题只建模不评估、数据形状写错

易漏点:编程题的评分点通常分四到五档,导入库、构造数据、建模、拟合、预测、评估各占一部分。只写fit不写score,或者把特征X写成一维列表,都会直接扣掉相应分数。

为什么漏:复习时看编程题的答案,目光集中在模型那一行,潜意识里觉得「建模」就是全部,忽略了前后的准备和收尾。数据形状的问题则是因为纸面题目给的X=[1,2,3,4,5]看起来完全合理,没人会想到 sklearn 会拒绝这个输入。

怎么补:把六步骨架背下来,导入、数据、建模、拟合、预测、评估,写代码时按顺序一行一行落实,缺哪步补哪步。数据形状单独记一条规则:sklearn 的一切fit和predict都要求二维输入,单特征也要包一层。写完代码后在脑子里过一遍每一行的输入输出形状,能过就基本不会出错。

6. 复习清单:三轮筛法把这份答案用透

剩下最后一周的时候,最忌讳的是把整份题目从头再做一遍。做过一遍的题,第二遍的正确率会虚高,因为记住的是选项位置,不是知识点。更有效的做法是把这份资料当成筛子,分三轮过,每一轮的目标不同。

轮次时间目标具体做法
第一轮2 天补概念空白只看名词解释和简答题,遮住答案自己默写,写不出来的标记出来
第二轮2 天修判断偏差做选择题和多选题,错题不抄答案,只写「错在哪个判断上」
第三轮1 天练输出流程两道编程题默写一遍,不看书,写完对照六步骨架自查

第一轮的判断标准很直接:能不能不看答案,把「过拟合」「数据清洗」「线性回归」「分类」「均方误差」这五个名词各用两句话写清楚。写的时候注意带上关键限定词,比如分类的目标变量 y 必须是离散的,线性回归的目标变量必须是连续的,这些限定词就是采分点。写完对照原文,缺哪个限定词就补哪个,不用整段重写。

第二轮的错题归因要落到具体判断上,不能只写「粗心」。比如把 KNN 选成无监督,归因应该写成「忽略了训练集带标签这个前提」;把欠拟合的措施选成增加数据量,归因应该写成「把过拟合的处理方向套到了欠拟合上」。归因写得越具体,第三轮复习时翻看的价值越高。

第三轮默写编程题时,把六步骨架写在草稿纸最上面当提示,然后一步步往下写。写完重点检查三处:X是不是二维、fit之后有没有predict和score、评估用的是准确率还是 R²。这三处是最常见的丢分位置,检查一遍就能避开大半。

我当时复习这门课,第一遍也是从第一题刷到最后一题,刷完感觉都会了,结果模拟考里连着错了三道指标题。后来才发现,问题不在题做得少,而在于每次都是顺着题目的问法走,没有自己主动把知识点拎出来过一遍。从那以后我每次复习这类题库型资料,都强制先做一轮名词默写,把概念从「眼熟」变成「能写出来」,再去刷选择题。希望这份梳理能帮到你,也祝你把这份答案用成一张地图,而不是一叠答案。

本文还有配套的精品资源,点击获取