多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

机器学习期末复习题全攻略:考点地图与题型刷法

机器学习期末复习题全攻略:考点地图与题型刷法 简介机器学习期末复习题及答案是一份面向高校机器学习课程期末备考的复习资料覆盖单选、多选、名词解释、简答题与编程题等常见题型旨在帮助学习者检验概念理解并强化核心算法知识。压缩包内含1个docx文档大小约20KB内容按题型模块组织检索方便。目前已有1767人学习下载适合机器学习初学者及考前冲刺学生使用。除了题目和参考答案各题还附有简要知识点解析涉及数据集划分、欠拟合应对、K近邻、朴素贝叶斯、支持向量机核函数、决策树生成算法、回归性能评估及神经网络基础等编程题部分给出建模步骤和K近邻分类实现便于动手巩固。整体内容精炼可作为期末复习、查漏补缺的简明手册。1. 机器学习期末复习题比反复翻书更有效的备考起点距离考试还有一周A同学已经翻了三遍教材PPT也从头到尾过了一遍但合上书做第一道综合题还是卡在第一步。这个场景在机器学习期末复习里太常见了不是没学而是学的时候是顺着别人的逻辑走做题时要自己走一遍发现路根本没铺过。机器学习期末复习题及答案的价值就在这里——它把模糊的「好像会了」变成具体的「不会哪一步」。复习题不是刷得越多越好。这门课的概念题、推导题、计算题、应用题四种题型复习方法完全不同埋头刷题容易变成「背题」而不是「会题」。这篇文章不讲玄学把复习题的来源、题型策略、答案核对方法和考前收尾顺序整理一遍适合正在为期末备考、想用有限时间拿稳定分数的学生也适合带新人的工程师快速补理论底子。2. 先建考点地图期末复习题到底在考什么直接刷题是低效的因为一张期末卷子只有二十来道题它不可能覆盖教材所有内容出题人只会挑「能区分谁真会、谁假会」的知识点。换句话说卷面上的题是考点的抽样而复习题是对抽样的模拟。如果不知道考点分布刷题就是盲人摸象。我的习惯是第一步先建考点地图把课程内容拆成若干知识块列出每个知识块的常考形式和优先级。这张地图决定了后面刷题的方向和投入比例也是核对答案之后回炉补漏的索引。2.1 按知识块拆考点把课程目录变成题目索引拿课程大纲或教材目录把整门课拆成五到八个知识块。别拆太碎否则复习时每个块只有一两个考点记不住也练不透。常见做法是拆成七块线性模型、概率与贝叶斯、树模型与集成、无监督学习、模型评估、优化算法、深度学习基础。拆完之后给每个知识块列高频考点并标注常见题型和优先级。下面是一个可以照着用的模板表知识块高频考点常见题型优先级线性模型线性回归闭式解、逻辑回归梯度、L1/L2正则化推导题、计算题高概率与贝叶斯极大似然估计、朴素贝叶斯、贝叶斯后验推导题、计算题高树模型与集成信息增益、决策树生成、随机森林、梯度提升计算题、应用题中高无监督学习K-Means、层次聚类、PCA降维计算题、概念题中模型评估交叉验证、混淆矩阵、AUC、偏差方差分解概念题、应用题高优化算法梯度下降、学习率、收敛条件推导题、概念题中深度学习基础反向传播、激活函数、Dropout推导题、概念题中建完这张表复习题就不再是一堆散题而是每个知识块下的若干条「题目索引」。做题时每做一道就在考点后记一笔一段时间后哪个考点练得多、哪个考点还空着一目了然。2.2 题型权重决定复习顺序推导题要提前启动机器学习试卷里的题目大致能分成四类它们对复习时间和得分率的影响完全不一样。先看题型权重再排顺序是避免考前手忙脚乱的关键。题型典型考法复习成本得分性价比概念题名词解释、判断正误、比较两个概念低靠记忆稳定背了就能拿推导题求梯度、推闭式解、证明性质最高需要反复盲写高分上限拉开差距计算题信息增益、梯度更新、贝叶斯后验、距离计算中套公式练手高步骤分好拿应用题给场景选模型、设计评估流程中靠框架综合区分度最高这四类里推导题必须最早启动。原因是计算题往往就是推导题的数值版——把公式里的符号换成具体数字应用题里的「为什么选这个模型」也需要推导给支撑。先把推导题啃下来后面三类会轻松不少。我一般建议的复习顺序是概念题扫盲放在最前用零碎时间过推导题立刻开始重刷每天两到三道计算题在推导题之后集中练两天应用题最后用框架套场景不用做太多。这个顺序按成本从高到低排确保最难的部分复习时间最充足。2.3 从作业题和模拟题反向提取高频考点很多人手里的题不少但不知道哪些是重点。有一个笨但可靠的方法把手头所有作业题、模拟题列出来每道题标一个考点标签然后统计每个考点出现的次数按频率排序。具体步骤我一般这样做准备一张空白表格列三列题目来源、考查知识点、题型。把做过的每一道题过一遍在「考查知识点」里填写规范名称比如「逻辑回归梯度下降更新」「朴素贝叶斯后验计算」。统计每个知识点出现的次数按从高到低排序取前十个。对照考点地图看这十个高频考点分布在哪些知识块把对应知识块的优先级调高。出现次数最多的五到八个考点基本就是出题人反复强调的内容。这类考点至少要准备三种不同问法的题目防止考试时换了个场景就认不出来。做完这步考点地图就更新成了「个人版复习重点」后面刷题和核对答案都按这张图来。3. 按题型拆解四类题复习题的正确刷法考点地图解决「考什么」接下来解决「怎么练」。同样一道题不同题型有不同的备考动作。这一章按题型给出复习方法和可对照的答题示例示例里的数字和推导是通用的教学型题目可以直接用手算复现。3.1 概念题用「一句话 一个例子」而不是背原文概念题的典型考法是名词解释、判断正误、比较两个概念。最常见的备考误区是照着教材原文背考场上稍微换个问法就不知道答什么。我的应对办法是给每个概念准备一个「一句话定义 一个反例或边界条件」。举例来说考「什么是过拟合」的参考答案结构答案模型在训练数据上表现好但在未见过的数据上表现差原因是模型容量过大或训练样本不足。典型表现是训练损失很低、验证损失偏高。解析这个答案里包含定义表现差异、触发条件容量大、数据少、判据训练验证损失差。判据是很多学生漏写的点但阅卷时往往是给分点。另一个高频考点是「判别模型和生成模型的区别」。一个合格的答案是生成模型拟合联合概率 P(x,y)判别模型拟合条件概率 P(y|x)朴素贝叶斯是生成模型逻辑回归是判别模型。一句话加两个代表模型概念题就稳了。自检方法很简单合上书对每个概念口头复述一遍如果中间出现「嗯…那个…」说明没有真正记住。每复述完一个标注「能讲清」或「讲不清」只对上一条「讲不清」的列表逐项突破。3.2 推导题把数学推导从看懂练成盲写推导题靠「看懂」是不行的。看推导的过程是顺着别人的逻辑走每一步都觉得合理合上书就断。准备推导题的正确动作是「盲写」从目标函数开始不看任何资料把每一步写到最终结果。以线性回归最小二乘为例要求推导出闭式解。盲写框架应该是写出目标函数J(w) ‖Xw − y‖²对 w 求梯度∇J(w) 2Xᵀ(Xw − y)令梯度等于零XᵀXw Xᵀy两边左乘 (XᵀX)⁻¹w (XᵀX)⁻¹Xᵀy补充前提XᵀX 可逆即特征矩阵列满秩盲写时如果哪一步卡住就在那一步打个标记。比如上面第 3 步忘记为什么梯度为零时对应最优解说明「凸函数极小值条件」没掌握回到教材单独补这一块。每次盲写后我建议用一小段代码做数值验证。用随机小规模数据计算解析梯度再用中心差分近似梯度两者应该非常接近。代码如下import numpy as np def loss(w, X, y): return np.mean((X w - y) ** 2) def grad_loss(w, X, y): return 2 * X.T (X w - y) / len(y) def numerical_grad(w, X, y, eps1e-6): grad np.zeros_like(w) for i in range(len(w)): wp w.copy() wp[i] eps wm w.copy() wm[i] - eps grad[i] (loss(wp, X, y) - loss(wm, X, y)) / (2 * eps) return grad np.random.seed(0) X np.random.randn(30, 3) y X np.array([1.0, -2.0, 0.5]) 0.05 * np.random.randn(30) w0 np.zeros(3) print(解析梯度:, grad_loss(w0, X, y)) print(数值梯度:, numerical_grad(w0, X, y)) print(结果一致:, np.allclose(grad_loss(w0, X, y), numerical_grad(w0, X, y), atol1e-5))参数说明eps 是中心差分的步长取 1e-6 是常用值太小会遇到浮点精度问题太大则近似误差变大数据规模取 30 行 3 列足够小到毫秒级跑完。代码的作用不是算答案而是验证盲写出来的梯度公式是否写对——哪一步符号或系数错了数值梯度一对比立刻暴露。3.3 计算题手算小样本把信息增益和梯度更新算到小数点后三位计算题的复习目标只有一个在 A4 纸上把每一步写清楚包括公式、代入、中间结果。阅卷看的是步骤分直接写最终答案的反而可能丢分。以信息增益计算为例。设某数据集中有 14 个样本类别正例 9 个、负例 5 个。特征 F 的取值为「有雨」和「无雨」有雨样本 4 个其中正例 1 个、负例 3 个无雨样本 10 个其中正例 8 个、负例 2 个。计算特征 F 的信息增益。第一步算经验熵H(D) −(9/14)log₂(9/14) − (5/14)log₂(5/14) ≈ 0.940第二步算条件熵H(D|F) (4/14) × [−(1/4)log₂(1/4) − (3/4)log₂(3/4)] (10/14) × [−(8/10)log₂(8/10) − (2/10)log₂(2/10)] ≈ 0.694第三步信息增益 H(D) − H(D|F) ≈ 0.940 − 0.694 0.246。计算时注意log₂(3)≈1.585log₂(5)≈2.322代入后四舍五入到三位小数。这类题不算难但代入分母时最容易算错。我的习惯是每一步写成分数形式不急着转小数最后统一保留三位能显著降低出错率。另一类高频计算题是梯度下降的一次更新。设损失函数 L(w) (w − 3)²初始 w₀ 0学习率 η 0.1算两次更新。损失函数对 w 的导数∇L(w) 2(w − 3)。第一次更新w₁ 0 − 0.1 × (−6) 0.6。第二次更新w₂ 0.6 − 0.1 × 2(0.6 − 3) 0.6 0.48 1.08。这个例子说明两个关键参数学习率 η 控制每一步跨多大η 0.1 时稳定但偏慢如果 η 1这一步就可能直接跨过最优点甚至发散。复习时把 η 分别改成 0.5、2.0、0.01 各算一遍观察收敛和震荡的区别比死记「学习率要小」有用得多。3.4 应用题一个四步答题框架覆盖所有「给场景选模型」题应用题是综合区分度最高的题型它不考单一知识点而是给一段业务场景让选择模型、设计流程、评估结果。很多学生栽在这里不是因为不会模型而是答得没有结构丢三落四。我总结的四个答题步骤基本能覆盖所有场景题描述数据情况样本量、特征类型、标签分布。明确目标是预测、排序还是解释。给出模型方案一个基线模型、一个进阶模型。说明评估与风险用什么指标注意什么问题。一个可以套的示例场景某平台要预测用户下月是否流失特征是近 30 天登录次数、消费金额、售后工单数样本 1 万条标签为是否流失。参考答案框架数据是数值特征、二分类标签样本量中等目标是预测概率并排序适合用小规模可解释模型基线选逻辑回归进阶选梯度提升树评估指标用 AUC 和召回率因为流失用户比例可能偏低只看准确率会被大多数样本都是不流失用户这一现象骗过去风险点是特征泄漏比如用「是否已提交退订申请」这种发生在标签时间之后的特征。平时复习时找三个经典场景各练一遍比如垃圾邮件分类、房价预测、用户流失每次都按四步框架写完整答案。考场上遇到新场景先写框架再补模型细节得分会比想到哪写到哪稳定得多。4. 设计可自测的复习题集从选题、分组到按得分点核对答案复习题不是越多越好手上题多的时候选题比做题更重要。一套能用于自测的题目集合至少要经过筛选、分组、标记三轮整理还要有一套和阅卷一致的评分标准。这一章讲我把散题整理成「可自测套卷」的方法。4.1 三遍选题法把「找题」变成「筛题」第一遍是筛选。把手头所有题过一遍删掉三类明显超纲的、和考点地图对不上的、重复到只有数字变化的。留下的题要满足「考到就值得」这个标准。第二遍是补充。对照考点地图里自己薄弱的知识块从资料里补题。怎么判断哪些知识块薄弱回看作业凡是卡壳超过十分钟的题对应的知识块都要补。哪怕补来的题只是把已知题型换了个数据也值得做一遍。第三遍是标记。给留下的每道题标注题型、难度、预计耗时。可以用星号分级一道题大概耗时的估算标准是概念题 2 分钟计算题 8 分钟推导题 15 分钟应用题 12 分钟。做完三轮筛选手头会剩下一张类似下面这样的题目清单编号题型考点难度预计耗时状态T01概念题偏差方差分解低2 分钟未做T02推导题逻辑回归梯度高15 分钟未做T03计算题信息增益中8 分钟未做T04应用题流失预测建模中12 分钟未做这张清单就是个人版复习题集。后续每完成一道在状态列打勾错题在难度列加一颗星表示需要二刷。4.2 一张评分表把主观题按得分点拆开核对答案核对答案最大的坑是「只比最终答案」。最终答案对了不代表过程没问题答案错了也可能只错在最后一步。正确做法是先拆得分点再逐条比对。我给每道题建一张评分表结构如下题目编号考点得分点 1得分点 2得分点 3总分自评分失分原因T02逻辑回归梯度写出似然函数求对数似然梯度整理成矩阵形式107最后一步少写了负号T03信息增益算对经验熵算对条件熵两者求差1010无拆得分点的依据是教材里推导过程的关键步骤。比如逻辑回归的梯度推导似然函数、对数变换、梯度符号、矩阵形式每一步都是一个得分点。自评时每满足一个得分点记分不满足的写清原因。「结果对但过程跳步」和「过程对但结果算错」要分开记录。前者说明思路会但表达不严谨后者说明计算粗心两者需要不同的考前补救方式。4.3 用一次模拟考定位薄弱知识块别只看总分题集整理完挑一个整块时间做一次完整模拟考。选一套覆盖考点地图里全部七个知识块的题时限两小时闭卷中间不翻书。做完后先别急着对答案休息十分钟再用评分表按得分点批改。批改完统计每类题的得分率判断标准我一般这样定整卷得分率高于 85%可以进入考前冲刺状态在 60% 到 85% 之间按得分率最低的知识块精确回炉只看对应章节的笔记和错题低于 60%建议回到考点地图按知识块顺序从头再过一遍暂时不要继续刷新题。模拟考还有一个附带收益检验选题清单的覆盖度。如果某道题做完发现它考查的考点没在清单里说明考点地图漏了把这个考点补进地图和清单。模拟考的价值不在分数而在暴露清单和真实考试要求之间的差距。5. 避坑刷复习题时最常见的 5 个翻车现场与排查方法复习题刷了不少考场上还是翻车问题通常不在题量而在刷题方式。这一章把反复出现的问题整理成现象、原因、解决的排查记录每一条都是真实的血泪经验。5.1 只看答案不写过程考场上笔不从心现象平时对答案觉得自己都会思路和参考答案一致但考试时写不到一半就卡住逻辑接不上。原因大脑在「看到答案」时产生了错觉把识别误当成了记忆。推导和计算是生成式任务看到答案时激活的是识别回路动笔时用的是生成回路两条回路没有直接关系。解决所有推导题和计算题一律闭卷盲写写完后才允许看答案。盲写不出来的部分正是需要回炉的点。这个过程中会发现很多自认为会的题实际动手时会卡在第一步。5.2 背题型而不是背原理题目一换参数就懵现象同一道题换了个数据集、换了个特征数量公式就套不进去甚至看不出是同一类题。原因复习时只记住了题目的表面模式比如「看到信息增益就套公式」但没有理解公式里的每一项在算什么。换参数后题目对理解的考查暴露了缺口。解决每做完一道题用一句话回答「这题在考什么定理」。比如信息增益计算题这句话是「用熵的下降量衡量特征对类别纯度的贡献」。写不出这句话说明只是会算没会原理。复习题应该定期回看把这句话写在题目旁边。5.3 忽略矩阵形状推导题算到一半符号对不上现象逻辑回归梯度推导到矩阵转置部分突然不知道哪一项该转置结果是符号倒置、维度不匹配。原因推导时只盯着代数符号没有给每个矩阵标注形状。矩阵乘法有维度约束X 是 n×d 时Xᵀ 是 d×nXᵀX 是 d×d如果中途出现一个 n×n 的中间项基本可以断定某一步写错了。解决盲写推导题的第一步就是在每个矩阵符号下面标形状。每一步矩阵乘法写完后检查结果形状是否符合预期。这个习惯能在推导过程中尽早拦截错误而不是等算到最终答案才发现对不上。5.4 抱着旧题集反复刷不核对当前考点分布现象考前做了大量题但模拟时发现很多考点不在考试重点里真正的重点却练得少。原因题集是别人整理的历史材料反映的是当时的知识点分布。课程重点可能会有调整作业和课堂反复强调的内容才是当前最可靠的依据。解决第 2 章的考点地图要定期更新。每次做完作业把新出现的考点补进地图每完成一次模拟考把暴露出的盲区加进清单。旧题集不是不能刷但要先过一遍筛选关把已经不属于重点的题剔掉再做。5.5 对答案只看对错不看过程忽略参考答案本身的缺口现象自测分数很高但考试压线复盘发现平时对答案时参考答案里跳过的步骤自己也没写以为不重要。原因很多简版答案省略了中间推导只给最终公式和结果。拿这种答案核对时如果只看最终对错就永远不知道自己缺的是哪一步。考试阅卷按步骤给分缺步骤就是丢分。解决核对答案时把参考解答拆成得分点参考解答里跳过的步骤必须自己补写完整再比对。比如答案直接给出 w (XᵀX)⁻¹Xᵀy就要补出「令梯度为零」「两边左乘逆矩阵」两步补不出来就说明这章没掌握。这也解释了为什么第 4 章要按得分点评分而不是按结果对错评分。6. 考前 48 小时用一页纸和盲写收尾不再开新题考前两天不适合再大规模刷题那时需要的是减负和查漏。两个工具最值钱一页纸考点速查表和闭卷盲写检查。它们负责把半年的内容压缩成考前能反复看的东西。先做一页纸。拿一张 A4 纸按知识块把核心公式和高频易错点压缩成表格格式可以照这样知识块核心公式高频易错点线性模型w (XᵀX)⁻¹Xᵀy忘记检查 XᵀX 是否可逆优化算法w ← w − η∇L学习率过大会震荡不收敛朴素贝叶斯P(yx) ∝ P(y)ΠP(xi决策树信息增益 H(D) − H(DF)模型评估AUC ROC 曲线下面积不平衡数据只看准确率会被骗深度学习δ 损失对输出求导逐层回传反向传播时忘记缓存前向中间值一页纸的作用是考前快速过目每一行复习时间不超过三十秒。制作过程本身也是一次压缩训练每行写不出来说明这个知识块还有缺口。然后做最后一次盲写。把 A4 纸折成四格每一格默写一个模型的完整套路损失函数、梯度、更新公式、一个使用前提。不需要写数值计算只看能不能连贯写出核心推导链。写不出来的格就是考前最后要补的地方。这个习惯我用了很多个学期每次都能在考前夜发现一两个被忽略的细节比如逻辑回归的负号、PCA 里协方差矩阵的归一化方式。考场上再遇到这些点心里是踏实的。希望帮到你。本文还有配套的精品资源点击获取
返回列表