资讯详情

机器学习期末复习题全解析:从贝叶斯到SVM与聚类避坑指南

📅 2026/10/11 20:02:00 | 华诺云谱 👁 阅读
机器学习期末复习题全解析:从贝叶斯到SVM与聚类避坑指南
简介机器学习期末复习题以PDF文档形式呈现是一份面向高校机器学习课程期末备考的题库资料适合需要系统巩固算法原理、概念辨析与典型题型训练的本科生或自学者。内容覆盖监督学习与无监督学习、概率分布与共轭先验、朴素贝叶斯分类器、线性分类方法、支持向量机、集成学习、决策树及过拟合规避等核心模块题型以单选题为主部分题目附有简要解析可帮助读者快速定位知识薄弱点。压缩包内包含1个PDF文件大小约4.83MB文件体积小巧便于下载后在电脑或移动设备上随时翻阅。目前已有13521人学习使用题目设置贴近常见考点可用于考前冲刺、自测评估和查漏补缺尤其适合考前一周集中刷题使用。1. 机器学习期末复习题这份题单解决的不只是期末很多人把机器学习期末复习题当成考前抱佛脚的题库刷完对完答案就扔。实际上这份带答案的复习题作用远不止考试它是把「听懂了」变成「能选对」「能算对」的校验场。整套题覆盖了监督与无监督的划分、概率分布与共轭先验、贝叶斯分类器、线性模型、SVM、决策树、集成学习、聚类、降维、概率图模型、神经网络和正则化正好对应一门机器学习课程的主干线。适合三类人期末冲刺的在校生、准备算法岗初面的从业者以及想快速查漏补缺的工程师。接下来的每一章我会按「概念怎么记、手算怎么做、坑在哪」的顺序逐块拆解。2. 从概念到决策面贝叶斯、线性模型与 SVM 的高频考点拆解2.1 监督与无监督的划分用题号把认知边界钉死单选题第1、2题是典型的送分题但也是很多人第一次翻车的地方。贝叶斯分类器、支持向量机、Logistic回归、决策树都属于监督学习因为它们需要带标签的数据来训练K-Means、层次聚类、高斯混合聚类属于无监督学习因为它们只对数据本身的结构建模。PCA也经常被误归到无监督这一类它不是聚类而是降维方法这一点在多选题里会反复出现——第37题问PCA优先选取什么特征答案是「中心化样本的协方差矩阵的最大特征值对应特征向量」这本质上是特征提取而不是分类。多选题第1题问范数距离有哪些给出的四个选项里包含绝对值形式、最大值形式、二次型和带协方差矩阵的形式。这类题考验的是对距离度量的理解闵可夫斯基距离是一族p1是曼哈顿距离p2是欧氏距离p趋于无穷是切比雪夫距离。带协方差矩阵的Mahalanobis距离不属于范数距离它引入了特征间的相关性这在KNN和聚类里都会影响结果。判断题里还有一道容易错的概念题第6题问「没有考虑先验分布的是哪个」答案是最大似然估计。最大后验估计的目标函数里有先验项贝叶斯分类器和贝叶斯学习天然就以先验为核心只有最大似然估计只依赖数据似然。换个角度记MLE是把参数当作固定未知量MAP把参数当作随机变量并引入先验这就是两者最根本的分野。2.2 共轭分布与先验Beta、Dirichlet 的出处不用背二项式分布的共轭分布是Beta分布多项式分布的共轭分布是Dirichlet分布这两个结论在单选题第3、4题里直接考。很多同学靠死记硬背但共轭分布的意义在于先验和后验保持同一分布族迭代更新时只需要更新参数。用Beta分布做先验观测到k次成功、n-k次失败后后验还是Beta参数从(a,b)变成(ak, bn-k)。Dirichlet是Beta的多维推广对应多项式分布。我一般会建议把这几件事放一起记贝叶斯决策的核心是后验概率最大决策函数可能是线性的也可能不是朴素贝叶斯假设各维属性独立第5题考的正是这一点它不是假设样本服从某个特定分布而是假设特征之间条件独立KL散度第33题考的是基于类概率密度构造的可分性判据不是几何距离也不是后验概率。这些概念串起来之后再去做贝叶斯相关的多选题第3题可用于贝叶斯决策的函数你就能看出来哪些是后验形式、哪些是先验与似然的组合。题目里还有一个容易踩的细节第42、43题对比最大熵分布。有限支撑集上熵最大的是均匀分布已知均值和方差时熵最大的是高斯分布。这两个结论来自最大熵原理第7题简答直接考了后者。解题的直觉是均匀分布最「无偏好」但一旦限制了均值和方差高斯分布能在同样约束下达到最大熵。2.3 SVM 决策面手算从最大间隔到线性方程SVM相关题目的核心就一句话找最大间隔分类面。第13题考原理答案是最大间隔分类第15题考对偶问题答案是凸二次优化第16题考支撑向量答案是最大间隔支撑面上的向量第14题考性能影响因素核函数、核参数、软间隔C全都影响。这四题连起来就是SVM的完整骨架。第65题是整套题里值得动手算的一道两个样本点正样本特征向量为(0,-1)负样本为(2,3)求线性SVM分类面方程。最优分类面必须满足两个条件两类样本到分类面的几何距离相等且最大。两点连线方向是(2,3)-(-0,-1)(2,4)法向量与连线方向垂直所以法向量方向是(1,2)分类面过两点的中点(1,1)因此分类面是x2y3。可以再用约束条件验证一遍import numpy as np # 两个训练样本 X np.array([[0, -1], [2, 3]], dtypefloat) y np.array([1, -1], dtypefloat) # 标准SVM约束y_i(w·x_i b) 1 # 解析求解两个样本均为支持向量得到 w (-0.2, -0.4), b 0.6 # 分类面为 -0.2x - 0.4y 0.6 0即 x 2y 3 w np.array([-0.2, -0.4]) b 0.6 for xi, yi in zip(X, y): func_margin yi * (np.dot(w, xi) b) geo_margin func_margin / np.linalg.norm(w) print(f样本 {xi} 函数间隔{func_margin:.4f}, 几何间隔{geo_margin:.4f}) print(f分类面方程x 2y 3)运行结果是两个样本的函数间隔都为1.0几何间隔都为√5。参数说明w是法向量b是偏置几何间隔等于函数间隔除以w的范数。SVM的优化目标就是最大化几何间隔等价于最小化0.5||w||²。第26、27题考软间隔CC很小时允许误分类C趋于无穷时只要最优超平面存在就会强制全部正确分类。调参时C越大越容易过拟合C越小越容忍噪声这是后面调参章节的基础。3. 树模型与集成学习从划分指标到 Bagging 与 Boosting 的差异3.1 决策树划分指标的选择逻辑决策树节点划分第19题给了四个指标类别非纯度、信息增益、信息增益率、基尼指数。正确答案是信息增益越大越好。很多人只记住了「熵越小越纯」但决策树选属性时看的是「分裂后不确定性减少的量」所以信息增益要取最大对应熵的减少量最大基尼指数则相反取最小。第20题问决策树的策略答案是最大信息增益。信息增益偏好的问题是多取值属性。C4.5用信息增益率来校正增益率对取值较少的属性有偏好实际使用时会先选出信息增益高于平均水平的属性再在其中选增益率最大的。第83题给了一个计算熵的具体场景7个样本中4个为1、3个为0算熵。直接用公式import math p1 4 / 7 p0 3 / 7 H -(p1 * math.log(p1) p0 * math.log(p0)) print(f熵 {H:.3f})输出0.683与备选答案吻合。注意math.log是自然对数题目给出的log3/7和log4/7也是自然对数值。算熵的目的是评估划分前后的信息增益分裂前的熵减去分裂后各子节点熵的加权和差值越大说明这个属性划分越有效。3.2 Bagging 和 Boosting 的本质区别集成学习里最容易混淆的就是Bagging和Boosting。第23题考Bagging构造训练集时用Bootstrap方式有放回抽样每一轮训练时样本权重相同分类器可以并行训练预测时各分类器比重相同。第24题考Boosting每一轮训练时样本权重不同分类器必须按顺序训练预测时分类器比重不同。第68题考Bootstrap的定义有放回地从总共N个样本中抽样n个样本。一张表把差异说清楚维度BaggingBoosting样本采样有放回抽样每轮调整样本权重训练方式可并行必须串行基学习器权重等权重投票按错误率分配权重主要降低方差偏差典型代表随机森林AdaBoost、GBDT第22题问基分类器正确率最低要求答案是50%以上。这个门槛意味着每个弱分类器只要比随机猜测好一点集成后就能通过投票把错误率压下去。第72题用三个分类器在三个样本上的预测结果演示了投票法h1预测(1,1,0)h2预测(0,1,1)h3预测(1,0,1)按多数投票得到每个样本最终都是1三个样本原本只有h1和h2同时正确? 实际逐个样本看x1三票分别是1、0、1多数为1正确x2是1、1、0多数为1正确x3是0、1、1多数为1而真实? 最终结论是集成提高了性能。AdaBoost在第70题里被明确为前向分步算法模型是加法模型损失函数是指数损失它不是同时独立学习多个弱分类器而是串行地聚焦上一轮分错的样本。3.3 随机森林为什么更快简答题第12题直接问随机森林为什么比决策树Bagging训练速度更快。核心原因是属性选择的差异。Bagging里的基决策树在划分节点时要考察结点的所有属性选最优划分随机森林只需随机考察一个属性子集在这个子集里选最优划分。属性少了每次划分的计算量就小训练自然更快。这也是随机森林名字的由来——不仅是样本随机特征也随机。代价是单棵树的性能可能略低于完整的决策树但多棵树集成后多样性增加整体泛化能力反而更强。第53题问哪些超参数可能导致随机森林过拟合答案是决策树的深度不是决策树的数量。增加树的深度会让每棵树学得更细更容易过拟合增加树的数量通常不会导致过拟合因为平均化会抑制方差。学习率在随机森林里不存在那是Boosting类模型的超参数。4. 聚类、降维与概率图模型K-Means 手算与马尔可夫毯的重灾区4.1 K-Means 手算题的完整推演简答题第3题是K-Means的经典手算8个点聚成3簇初始中心选A1(2,10)、B1(5,8)、C1(1,2)距离用欧氏距离。第一轮分配的逻辑是逐点算到三个中心的距离归属最近簇。我先把过程跑出来import numpy as np points { A1: (2, 10), A2: (2, 5), A3: (8, 4), B1: (5, 8), B2: (7, 5), B3: (6, 4), C1: (1, 2), C2: (4, 9) } centers {A1: (2, 10), B1: (5, 8), C1: (1, 2)} def assign(points, centers): clusters {k: [] for k in centers} for name, coord in points.items(): dists {c: np.linalg.norm(np.array(coord) - np.array(cpos)) for c, cpos in centers.items()} nearest min(dists, keydists.get) clusters[nearest].append(name) return clusters clusters assign(points, centers) for c, members in clusters.items(): print(f{c}: {members}) def update_centers(clusters): new_centers {} for c, members in clusters.items(): coords [points[m] for m in members] new_centers[c] tuple(round(v, 2) for v in np.mean(coords, axis0)) return new_centers print(第一轮更新后的中心:, update_centers(clusters))分配结果是A1簇只有A1自己中心仍为(2,10)B1簇包含B1、A3、B2、B3、C2共5个点中心为(6,6)C1簇包含C1和A2共2个点中心为(1.5,3.5)。这个结果和答案完全一致。继续迭代到中心不再变化最终三簇分别是{A1,B1,C2}、{A3,B2,B3}、{C1,A2}。第82题是同款套路两个种子点A(-1,1)和B(2,1)其余6个点的坐标分别是(0,0)、(0,2)、(1,1)、(3,2)、(6,0)、(6,2)。手推一遍会发现种子点A先吸收(0,0)、(0,2)中心移到(-0.5? 实际要算)经过两轮后中心稳定A点簇包含3个点B点簇包含3个点答案选A2,2,3,3。K-Means的结果依赖初始中心第58题明确说「初始值不同最终结果可能不同」这就是为什么工程上要用K-Means或多次随机初始化。4.2 PCA 与 LDA 的降维方向选择第36题问PCA是什么方法答案是降维方法。第37题问PCA优先选取哪些特征答案是中心化样本的协方差矩阵最大特征值对应的特征向量。这里要理解PCA的物理意义它找的是数据方差最大的方向投影后信息保留最多。第25题多选题里有一项说「必须在使用PCA前规范化数据」这个说法在大多数教材里是对的——如果不归一化量纲大的特征会主导协方差矩阵主成分会被数值大的变量带偏。LDA和PCA经常对着考。第12题问线性鉴别分析找一个投影方向使得什么答案是类内距离最小、类间距离最大。这两者的区别是PCA是无监督的只看数据本身的方差LDA是监督的用类别标签找最利于区分的投影方向。第63题问哪种方法不能用于特征降维答案是Monte Carlo方法LDA、PCA、SVD都可以降维蒙特卡洛是随机模拟方法不属于降维。4.3 马尔可夫毯、极大团与最大熵概率图模型是很多人的重灾区。马尔可夫毯的定义是一个节点的马尔可夫毯由它的父节点、子节点以及子节点的其他父节点组成给定马尔可夫毯后该节点与图中其他所有节点条件独立。第39题的有向图里节点G的马尔可夫毯是{D,E,F,H,I,J}注意包含了子节点的其他父节点第40题的无向图里G的马尔可夫毯就是它的直接邻居{D,E,I,J}。有向和无向的差别就在「共父节点」这一项上。无向图的团与极大团第15、16题一起看{A}、{A,B}、{A,B,C}都是团但{A,B,C,D}不是团因为D与A不相连极大团是{ B,C,D }和{A,B,C}。判断极大团的关键是看它是否被更大的团包含如果某个团无法再扩充进相邻节点它就是极大团。贝叶斯网络的多选题里隐马尔可夫模型和朴素贝叶斯分类器都属于贝叶斯网络马尔可夫随机场和条件随机场属于无向图模型第14题考的正是这个区分。HMM相关的三题也要串起来已知观察序列和状态序列时直接参数估计用极大似然估计已知观察序列但不知道状态序列时参数估计用Baum-Welch算法它本质上是EM算法的特例已知模型参数求最可能的状态序列用维特比算法计算观察序列概率用前向后向算法。第75、77题对应的就是这个链条把「数据完整度」和「要解决的问题类型」对上就能选出正确算法。5. 避坑与排查题库里最容易翻车的五个知识点5.1 训练准确率100%不等于模型好现象第17题里二阶核SVM在训练集和测试集上准确率都是100%盲目增加核函数阶数后模型性能反而下降。明明准确率已经到极限为什么还会出问题原因两个准确率都100%只能说明当前复杂度的模型恰好拟合住了数据。继续增加复杂度模型开始记住训练数据中的噪声测试集表现会变差。第59题把过拟合讲得很直白训练误差小测试误差大。关键在于泛化能力不在训练集上的表现。解决训练完成后必须留验证集观察训练误差和验证误差的曲线。训练误差持续下降、验证误差开始回升的那个点就是该停的位置。把测试集当作一次性的最终评判不要在调参过程中反复用它。5.2 对树模型强行做归一化白费功夫现象用逻辑回归、SVM、神经网络之前先做标准化或归一化。轮到随机森林和决策树时也顺手做了结果发现准确率几乎没变化甚至有时候还略降。原因树模型的划分是按特征阈值切分数据被线性缩放后每个特征的切分点等比变化划分结果不变。归一化影响的是一类基于距离或梯度的模型线性模型的特征尺度影响正则化路径和收敛速度SVM的间隔计算依赖范数神经网络的输入尺度影响梯度更新。第9题和第71题都考了这一点决策树不受数据归一化影响。解决归一化之前先判断模型类型。距离类、梯度类模型——KNN、SVM、逻辑回归、神经网络做归一化树模型——决策树、随机森林、GBDT不需要。特征之间存在量纲差异很大时树模型顶多影响特征重要性解释不会影响预测结构。5.3 把梯度消失归咎于学习率过大现象深层网络训练时loss降得很慢以为是学习率太大造成震荡把学习率调小之后速度更慢了甚至几乎不更新。原因梯度消失的根源不是学习率而是反向传播中的梯度连乘。网络的层数多、激活函数落在饱和区比如sigmoid或tanh输出接近±1导数趋近于0前层的梯度被连乘效应压制。第52题问哪种激活函数会导致梯度消失答案是Tanh。第10题简答给了解决方案用ReLU替换sigmoidReLU在正半轴梯度恒为1不会随输入增大而衰减。解决换用ReLU或Leaky ReLU作为隐藏层激活函数。Leaky ReLU在负半轴保留一个小的斜率避免神经元死掉。如果一定要用sigmoid/tanh配合批归一化和残差连接能缓解。梯度裁剪解决的是梯度爆炸跟消失是两回事第80题考的正是这个区别。5.4 手算K-Means时中心更新算错现象K-Means手算题第一轮分配完成后直接拿初始中心当新一轮的中心继续算导致最终簇的归属和标准答案对不上。原因每一轮迭代后中心要重新计算为簇内所有点的均值而不是沿用上一轮的中心。第3题简答题第一轮更新后B1簇的中心从(5,8)变成(6,6)很多人漏了这一步后面全错。解决做题时严格按「分配→更新中心→再分配→再更新中心」的循环走直到中心不再变化。第82题要求数中心移动次数这种题尤其要注意中心被重新计算但位置没变也算移动次数里的轮次概念别把「更新」和「移动」混为一谈。5.5 正则化参数方向搞反现象调岭回归的λ把λ调大以为正则化越强训练误差越低结果训练误差涨了报告上写着「偏差增大、方差减小」还觉得自己对了。原因第48题考的就是这个结论。λ增大意味着对权重的惩罚加重模型变得更简单拟合能力下降所以偏差增大同时模型对训练数据波动的敏感度降低所以方差减小。λ减小则相反偏差减小、方差增大。解决调正则化参数时看验证集误差曲线。λ从0开始逐渐增大验证误差先降后升选最低点对应的λ。L1正则化会产生稀疏解系数为0的特征相当于被自动剔除第56题考的就是L0和L1都能产生稀疏解L2不会。6. 一个熟手的刷题技巧把错题重组成概念对照表刷完这份题库最有价值的产出不是对完答案的分数而是一张属于自己的「模型对照表」。我会把每道错题涉及的方法提取出来按几个关键维度填进去是否监督学习、是否需要归一化、是否用梯度下降、对应损失函数、能否被神经网络构造、常见误用场景。这张表做完考试题怎么变都能应对。模型监督/无监督是否需要归一化是否用梯度下降损失函数可被神经网络构造线性回归监督建议可选均方误差可以Logistic回归监督是是交叉熵可以SVM监督是对偶求解Hinge Loss不太直接决策树监督否否不适用可以近似K-Means无监督是否簇内距离和可以变体朴素贝叶斯监督否否对数似然不适用PCA无监督是否重构误差可以用自编码器近似填表的规则很简单每错一道题就去查这个模型在表中的对应行补上缺的维度。比如第52题错了就把Tanh激活函数导致梯度消失的原因写在「常见误用」列第26题错了就在SVM行里补一句「C小则容忍误分类」。二轮复习不刷题只看这张表三轮复习只看表里标红的格子。错题本身不重要重要的是错题暴露出的概念连接断裂点。生成这张表的过程比你想象的花时间但很值。我给某个学弟做考前辅导时他刷完85道单选、40道多选之后说「都看懂了」一填表发现PCA的归一化条件和K-Means的初始中心问题全是一知半解。后来他花了一个晚上把表补完整模拟考直接提了一截。从那以后我每次复习机器学习都强制自己先做一遍概念对照表再去做题。希望帮到你。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑