机器学习期末考试复习:题型地图与计算题避坑全攻略

发布时间:2026/10/24 16:00:18

机器学习期末考试复习:题型地图与计算题避坑全攻略 简介这份复习资料面向电子科技大学机器学习课程期末考试系统梳理了梯度下降、模型评估与交叉验证、过拟合、线性回归、决策树、朴素贝叶斯、MP模型、K-means、PCA、SVM、CNN等核心考点并对概念定义、算法流程、优缺点与典型考题做了归纳适合考前集中复习、对照真题查漏补缺。资源为单个PDF文档约1008KB内容紧凑便于打印或导入阅读器。目前已有6460人学习使用覆盖简答题与计算题常见题型如互信息选择的目的与效果、防止过拟合的手段、SVM线性可分与不可分的优化目标、PCA信号重构与压缩、k-means流程及与EM算法差异等易考难点。对于需要快速把握考试重点、理清机器学习基础脉络的同学这份资料能显著提升冲刺阶段的复习效率。1. 机器学习期末考试一份把零散考点串成答题体系的复习笔记如果你正在为某高校《机器学习》期末考试发愁最头疼的往往不是题难而是知识点太散梯度下降、决策树、朴素贝叶斯、K-means、PCA、SVM、CNN、RNN……每个都能看懂一合上笔记就串不起来。这份复习资源最值钱的地方是把整门课拆成「概念题、计算题、推导题」三类题型地图标出每个考点在考试里以什么形式出现、需要掌握到什么程度。比如同样一个K-means概念题考你“和EM算法的不同”计算题却要你真刀真枪迭代三轮质心。我备考时靠这份地图把复习时间压缩了将近一半考前一周足够完整过两遍。适合人群平时学得还行但没系统梳理过的人以及基础薄弱、想短时间突击及格线的人。2. 先按题型重构复习地图概念题与计算题的边界在哪2.1 三种题型决定三种复习方式翻开这门课的历年真题你会发现考点高度重复只是考察形式换来换去。我把输入资料里的知识点按题型重新归类了一遍这比按章节顺序复习高效得多。概念题填空、选择、名词解释梯度下降特点、过拟合/欠拟合定义、K-means流程、PCA目的、CNN卷积与池化的作用、监督/无监督/强化学习区别、生成模型与判别模型、硬间隔与软间隔、支持向量定义。这类题考的是“你知不知道”不需要动笔算但要求你能用一两句话把定义说清楚。计算题大题决策树用互信息信息增益选特征、朴素贝叶斯分类概率计算、K-means迭代求簇心、PCA特征值分解降维、线性回归用最小二乘法求参数。这类题考的是“你会不会算”每一步都有固定套路把公式记牢、流程写全就能拿分。推导/简答题SVM线性可分时的优化目标和约束条件、线性不可分怎么办、PCA从信号重构角度推导、为什么互信息能用于特征选择、怎么防止过拟合。这类题是拉开差距的地方需要你把公式变形的逻辑讲清楚光背结论不够。建议复习时先按这个分类把资料里的知识点过一遍标注出自己会的和不会的再用计算题练手。很多同学栽在“看得懂但写不出”——概念题能选对一让写推导过程就卡壳本质上就是没把知识点重新输出过一遍。2.2 高频概念辨析这四组词年年考第一组是监督学习、无监督学习、强化学习。监督学习从有标注数据中学习预测模型典型代表线性回归、决策树、朴素贝叶斯、SVM、CNN无监督学习从无标注数据中学习模式典型代表K-means聚类和PCA降维强化学习是智能系统在与环境互动中学习最优行为策略。注意区分点是数据有没有标签、目标函数是什么。第二组是生成模型与判别模型。生成模型学习联合概率分布能生成新样本判别模型直接学习决策边界。朴素贝叶斯是典型的生成模型SVM和决策树是判别模型。考试常给一个算法让你判断归类。第三组是硬间隔与软间隔SVM。硬间隔要求所有样本都分类正确只适用于线性可分数据对异常值极敏感软间隔通过引入松弛变量允许部分样本不满足约束用参数C控制惩罚力度。资料里写的“软间隔是允许向量机在一些样本上不满足约束”就是这个意思。第四组是过拟合与欠拟合。过拟合是模型复杂、数据简单把训练样本自身的特点也学了进去导致训练集准确率100%但验证集只有70%欠拟合是模型简单、数据复杂连训练集的一般规律都没学到。考试特别喜欢给一个场景让你判断是哪一种——记住一个口诀训练差测试差是欠拟合训练好测试差是过拟合训练好测试好才是理想状态。3. 计算题攻坚四个必考题型的完整流程与手算套路3.1 决策树用互信息信息增益选特征的计算流程决策树计算题几乎每年必考核心是使用互信息信息增益决定先用哪个特征分裂。信息增益越大说明该特征越能区分样本越应该优先作为分裂节点。手算步骤固定分四步先算总熵再算每个特征的条件熵两者相减得到信息增益最后比较大小。下面这段代码可以把信息增益的计算变成可复现的流程考试手算时照着这个逻辑一步步写就行import math from collections import Counter def entropy(labels): 计算经验熵 H(D)输入是标签列表 total len(labels) counter Counter(labels) ent 0.0 for count in counter.values(): p count / total ent - p * math.log2(p) return ent def conditional_entropy(feature_values, labels): 计算条件熵 H(D|A)按特征取值分组 total len(labels) groups {} for f_val, label in zip(feature_values, labels): groups.setdefault(f_val, []).append(label) cond_ent 0.0 for f_val, group_labels in groups.items(): weight len(group_labels) / total cond_ent weight * entropy(group_labels) return cond_ent def info_gain(feature_values, labels): 信息增益 总熵 - 条件熵 return entropy(labels) - conditional_entropy(feature_values, labels)这段代码的逻辑分三层entropy函数计算经验熵衡量数据集的不确定程度conditional_entropy按特征取值把数据分桶分别计算每个桶的熵再加权求和info_gain把两者相减得到的就是互信息。参数说明labels必须是离散类别标签feature_values是某个特征在每个样本上的取值。考试手算时用对数底取2即可因为决策树分裂用的就是信息增益。一个特别容易踩的细节条件熵是按特征取值加权求和权重是该取值样本数占总样本数的比例千万不要直接把各子集熵相加。很多同学在考场上就是因为这一步少乘了权重导致信息增益全部算错。3.2 朴素贝叶斯条件独立假设下的概率乘积朴素贝叶斯的计算题核心就一个公式后验概率正比于先验概率乘以各特征条件概率的乘积。资料里说的“假设每个输入变量是独立的”是关键——正是这个条件独立假设才允许我们把联合条件概率拆成每个特征单独的概率相乘否则没法算。下面是模拟分类过程的代码from collections import Counter def naive_bayes_predict(data, labels, sample): data是训练特征列表labels是类别sample是待预测样本 class_counts Counter(labels) total len(labels) classes set(labels) posteriors [] for cls in classes: # 先验概率 P(类别) prior class_counts[cls] / total # 取出该类别的所有样本 cls_data [d for d, l in zip(data, labels) if l cls] # 条件概率连乘对连续特征假设正态分布 likelihood 1.0 for feat_idx, feat_val in enumerate(sample): values [d[feat_idx] for d in cls_data] mean sum(values) / len(values) variance sum((v - mean) ** 2 for v in values) / len(values) pdf (1 / ((2 * 3.14159 * variance) ** 0.5)) * \ (2.71828 ** (-((feat_val - mean) ** 2) / (2 * variance))) likelihood * pdf posteriors.append((cls, prior * likelihood)) # 选择后验概率最大的类别 return max(posteriors, keylambda x: x[1])[0]这里用的是高斯朴素贝叶斯连续特征假设服从正态分布用概率密度函数算条件概率。核心逻辑是先算每个类别的先验再对每个特征单独算条件概率并连乘最后比较后验概率大小。参数说明方差计算用到的是除以样本数而不是样本数减一考试手算时用无偏估计还是最大似然估计要看题目给的公式但大部分考题直接用最大似然形式。如果题目给的是离散特征就不用正态分布直接算频率即可。这个算法最大的坑在条件独立假设——如果特征之间高度相关比如两个特征是同一个信息的两种表达连乘会把某个概率放大或缩小很多导致分类结果异常。考试不会让你处理这种场景但理解这个假设的局限有助于回答“朴素贝叶斯有什么优缺点”这类简答题。3.3 K-means流程、目标函数与EM算法的关系K-means的计算题一般是给你几个点、指定K值让你迭代若干轮写出每一轮的簇心和聚类结果。流程背熟五步随机选K个初始质心→按距离欧氏距离分配样本到最近质心→重新计算每个簇的质心均值→再按新质心分配→重复直到质心不变。注意资料里那句“由于每次都要计算所有样本与每一个质心之间的相似度故在大规模数据集上收敛比较慢”——这是K-means的主要缺点也常考。def kmeans(X, k, max_iters100): X是样本列表k是簇数量返回最终的簇分配和质心 # 初始化随机选k个样本作为质心 import random centroids random.sample(X, k) for _ in range(max_iters): # 分配每个样本归到最近的质心 clusters [[] for _ in range(k)] for x in X: distances [sum((x[i] - c[i]) ** 2 for i in range(len(x))) for c in centroids] nearest distances.index(min(distances)) clusters[nearest].append(x) # 更新重新计算每个簇的均值作为新质心 new_centroids [] for cluster in clusters: if cluster: mean [sum(p[i] for p in cluster) / len(cluster) for i in range(len(cluster[0]))] new_centroids.append(mean) else: new_centroids.append(centroids[clusters.index(cluster)]) # 空簇保留旧质心 # 收敛判断质心不再变化就停止 if new_centroids centroids: break centroids new_centroids return clusters, centroids代码逻辑对应资料里的五步流程random.sample完成随机初始化距离用欧氏距离的平方省去开方不影响排序更新质心用簇内均值。参数说明空聚类处理是常被忽略的细节——如果某个簇没有样本常见做法是保留旧质心或重新随机初始化。目标函数是最小化所有样本到所属质心的距离平方和SSE每个样本只归到最近质心这就保证了每次迭代SSE单调不增。考试还会问“K-means和EM算法的区别”答法K-means是EM的特例其中E步是硬分配每个样本只属于一个簇M步是重新计算均值而标准EM的E步是软分配每个样本以概率形式属于每个簇。3.4 PCA从信号重构角度理解降维与压缩PCA计算题的核心是特征值分解先算协方差矩阵再求特征值和特征向量把特征值从大到小排序取前k个特征向量构成投影矩阵。资料里那句“主成分各个特征维度的含义具有一定模糊性不如原始样本特征解释性强”是PCA最常考的缺点用来回答简答题。import numpy as np def pca(X, k): X是样本矩阵每行一个样本k是保留的主成分数 # 中心化每个特征减均值 mean np.mean(X, axis0) X_centered X - mean # 协方差矩阵 cov_matrix np.cov(X_centered, rowvarFalse) # 特征值分解 eigenvalues, eigenvectors np.linalg.eigh(cov_matrix) # 按特征值降序排列 idx np.argsort(eigenvalues)[::-1] eigenvalues eigenvalues[idx] eigenvectors eigenvectors[:, idx] # 取前k个特征向量做投影 projection eigenvectors[:, :k] return X_centered projection, eigenvalues[:k] # 使用例子6个样本2个特征降成1维 X np.array([[2.5, 2.4], [0.5, 0.7], [2.2, 2.9], [1.9, 2.2], [3.1, 3.0], [2.3, 2.7]]) Y, evals pca(X, 1) print(降维结果:, Y) print(保留的特征值:, evals)代码逻辑分四步先中心化让每个特征的均值为0再算协方差矩阵然后做特征值分解最后取前k个特征向量完成投影。参数说明np.linalg.eigh是专门做对称矩阵特征值分解的函数比np.linalg.eig数值更稳定。关于信号重构的推导角度PCA要找一个低维表示使得从低维重建回高维的误差最小。用数学说就是最小化重构误差而误差的大小恰好由被丢弃的特征值决定——保留最大的k个特征值丢掉的都是对数据方差贡献最小的方向这就是“信号压缩”的本质。考试如果让你证明这个结论套路是把原始样本写成主成分的线性组合重构时只保留前k项误差就是被丢掉的成分的方差之和。因此选择k的常见依据是累计方差贡献率比如要求保留90%以上的方差而不是固定死k等于多少。4. 计算题避坑指南四个亲手踩过的血泪坑4.1 信息增益算出来全是零对数的底和权重的坑现象手算决策树信息增益发现每个特征的信息增益都接近0选不出区分度最高的特征。 原因一是条件熵计算时忘了按特征取值分组后加权求和直接把各子集熵相加这会让结果异常偏大或偏小二是熵的对数底不统一有的地方用ln有的地方用log2导致数值不在可比范围内。 解决先回到定义强制自己按“总熵→各特征取值分组的比例→加权条件熵→相减”四步走一遍对数底统一用2。坊间有个土办法——算完随便取一个特征验算如果信息增益是0.1到1之间说明大概率对了如果出现负值或超过总熵必是某一步算错了。4.2 K-means每次跑出来的结果都不一样现象同一份数据、同一个K值代码跑十次得到十个不同的聚类结果。 原因初始质心是随机选的K-means对初始点极其敏感。资料里明确写了“随机选定初始点为质心”并不保证收敛到全局最优只保证收敛到局部最优。 解决考试手算时题目会给定初始质心跟着题目走做实验时固定随机种子或者用K-means初始化更稳的姿势是跑多次取SSE最小的一次。从那以后我每次做聚类实验都强制先固定random_state再谈结果。4.3 PCA降维后重构的图像模糊现象用PCA把图像数据从784维降到2维再重建回去图像糊成一团完全看不清数字。 原因只保留了前2个主成分丢弃了剩余782个维度的方差。资料里写了“主成分各个特征维度的含义具有一定的模糊性”但在降维这一步更容易忽略“方差小的非主成分也可能含有重要信息”这一句。 解决不要拍脑袋定k按累计方差贡献率来选例如保留能解释95%方差的k。如果画出来图像糊看看是不是把丢弃维度的重构误差忽略了——PCA本来就有损压缩k越小误差越大这不是bug而是预期行为。4.4 SVM的核函数选了半天交叉验证分数忽高忽低现象同一个SVM模型换了核函数参数后训练集准确率和验证集准确率波动极大有时候训练100%验证70%典型的过拟合症状。 原因SVM的三个自由度没调好——核函数类型、核函数参数、软间隔参数C。资料里写得很清楚“性能影响因素核函数、核参数、C”。C太大惩罚过强近乎硬间隔对异常值过拟合C太小允许过多误分类欠拟合。 解决用网格搜索把C和核参数一起扫一遍不要单独调。考试中SVM线性不可分的答题模板是“把原始样本通过核函数映射到高维空间让样本在高维特征空间中线性可分再使用线性分类器”——语法上记住“核函数的作用是隐式升维”就够了具体选RBF还是多项式考试一般不会为难你。5. 简答题与推导题的答题模板把公式说成人话5.1 过拟合与欠拟合本质都是模型复杂度与数据量不匹配先说定义过拟合是训练误差很小、测试误差很大原因是模型容量太大把训练样本特有的属性也学习了进去欠拟合是训练误差和测试误差都大原因是模型太简单。必须强调“无法彻底避免过拟合只能缓解”——这是资料里的原话也是考试简答题喜欢设的陷阱。缓解过拟合的标准答法按顺序写一是正则化在损失函数后加L1或L2惩罚项限制模型参数大小二是交叉验证用k折交叉验证评估模型稳定性三是剪枝决策树预剪枝在训练前规定深度上限后剪枝先建完整树再删除贡献小的分支四是早停训练中验证集误差不再下降就停止五是加数据或数据增强。注意答题时每个方法都要说明“为什么有效”比如L2正则化本质是让权重变小降低模型对个别特征的敏感性。5.2 SVM三层递进线性可分、线性不可分、核函数第一层线性可分目标是通过间隔最大化找到一个最优分离超平面。优化目标的形式是最大化间隔等价于最小化||w||的平方约束条件是每个样本都被正确分类且函数间隔至少为1。决策边界只由支持向量决定支持向量就是“最靠近决策表面的数据点”——这解释了为什么SVM对远离边界的样本不敏感。第二层线性不可分引入软间隔允许部分样本不满足约束。软间隔SVM在优化目标里加上惩罚项C乘以松弛变量之和C越大惩罚越重越接近硬间隔C越小容忍误差越多模型偏差越大。答题时记得说“硬间隔只允许极小误差软间隔允许向量机在一些样本上不满足约束”。第三层核函数把原始样本映射到高维空间让非线性可分的数据在高维线性可分。常用核函数有三个线性核其实就是不升维、多项式核、RBF径向基核。考试爱问“线性不可分咋整”标准答法是用核函数将原样本映射到高维特征空间在高维空间用线性分类器处理核函数省去了显式计算高维内积的开销。答题不要展开太多把这条主线说清楚就够了。5.3 PCA从信号重构角度推导为什么保留下来的就是主要信息这道推导题资料里明确考过解题逻辑分三步假设原始样本是中心化后的向量x用一组正交基去投影得到系数y重构时用前k个基乘以系数再加回来得到近似样本重构误差等于被丢弃的投影分量的平方和而这些分量的平方和正比于对应特征值。所以为了让重构误差最小必须保留最大的k个特征值对应的特征向量。这里的“信号压缩”就体现出来了一副图像本来要784个数值表示投影到前k个主成分后只用k个系数重建时损失的信息恰好等于被丢弃特征值之和。如果特征值衰减很快比如前几个占了总方差的90%以上那么用很小的k就能得到很好的压缩效果。答题时把“特征值越大→方差越大→信息越多→越值得保留”这条主线串起来推导题基本能拿全分。5.4 非线性回归如何变成线性回归特征变换是核心资料里明确问“非线性回归怎么变成线性回归”这个问题的标准解法是特征变换。比如数据呈指数趋势可以取对数让指数关系变成线性关系数据呈二次曲线可以构造多项式特征x、x²、x³做线性回归。更一般的做法是把原始特征经过映射函数提升到高维空间在高维空间里拟合线性模型。常见的具体做法是多项式回归先手动构造多项式特征再用最小二乘法求解线性回归系数。最小二乘法的原理是“通过最小化误差的平方和寻找数据的最佳函数匹配”所以不管是线性回归还是多项式回归最终都落到求解正规方程或梯度下降上。答题时把这四步写清楚看数据分布选特征变换形式构造新特征矩阵调用线性回归求参数。这套模板对“线性回归实验一”那道差分题尤其适用。6. 考前冲刺与自测验证用一晚上的时间把知识网织完6.1 考前最后一晚的时间分配表时间有限时不要把时间平均花在每个知识点上。按照题型分值占比来分配效率最高我给当时的备考小组列过一张表反馈都说不错时间段复习内容目标前1小时过一遍概念题清单每个名词能用一句话说出定义和典型算法中间2小时手算四道计算题决策树、朴素贝叶斯、K-means、PCA各完整算一遍后1.5小时背推导题答题模板SVM优化目标、PCA重构误差、过拟合缓解方法最后0.5小时自测随机抽三个知识点不看笔记默写答题思路这四段之间不要穿插每段专注一件事情。很多同学最后时间不够是因为在概念题上反复纠结“记没记住”结果计算题根本没练一遍。血泪教训计算题光看例题绝对不行必须自己动手算算错的地方才是考场上最容易失分的地方。6.2 一张A4纸的自测法验证你是否真的能输出我的习惯是考前把所有高频简答题和推导题题干写在A4纸的左边右边留白。自测时遮住右边随机指一道题花3分钟在草稿纸上写答题要点写不出来就打一个标记。一张纸测完那些打标记的题就是你的盲区赶紧回头翻资料补上。这种输出式自测远比重新阅读有效。阅读会给你“我都掌握了”的错觉而实际考试是纯输出。课程里那些概念比如“梯度的方向就是函数变化最快的方向”“主成分之间正交可消除原始数据成分间的相互影响”看起来平淡无奇真让你默写时才发现用词不准。测完一遍心里就有底了知道哪个知识点是看一遍就忘的软肋。希望这个备考思路能帮到你也祝复习顺利考场上下笔不慌。本文还有配套的精品资源点击获取
延伸阅读

更多相关文章

2026/10/24 16:00:18

DeepSeek-R1提示词攻略:场景化、术语破解与风格迁移

简介:这份《DeepSeek最强使用攻略》面向希望快速上手DeepSeek-R1的AI新手与内容创作者,聚焦推理模型与传统通用模型在提问方式上的差异,帮助读者摆脱结构化提示词束缚,建立更高效的开放式提问思路。压缩包内共1个docx文档&#xf…

2026/10/24 15:55:17

7025页IEEE 802.3以太网标准:MAC/PHY分层与链路排查

简介:IEEE 802.3-2022 以太网标准正式版全文面向网络设备研发工程师、协议栈开发者、测试认证人员及高校网络方向师生,用于查阅从 1Mb/s 到 400Gb/s 各速率的 MAC、MII、PHY 与 CSMA/CD 规范,支持产品设计选型、协议实现对照与标准符合性验证…

2026/10/24 15:55:17

ChatGPT技术全景解析:从大模型原理到RLHF对齐的工程实践

简介:这份资源是哈尔滨工业大学自然语言处理研究所于2023年3月6日发布的ChatGPT调研报告,共94页,面向希望系统了解大模型技术原理、应用与风险的AI从业者、研究人员及高年级学生。报告由车万翔等多位老师与同学共同撰写,分七章展开…

2026/10/24 19:00:47

C类地址201.222.5.0/24切20个子网:/29掩码推导与工具对账

简介:这份实验报告面向计算机网络课程学习者与任课教师,围绕子网划分这一核心技能展开,可用于课堂实验、上机作业参考或期末复习。报告以C类地址201.222.5.0划分20个子网、每个子网约5台主机为具体案例,完整记录了实验目的与要求、…

2026/10/24 18:55:47

VOS3000操作手册精讲:费率套餐配置与话单报表避坑指南

简介:VOS3000操作手册是面向虚拟运营支撑系统客户端使用者的中文指导文档,适合刚接触VOS3000的运维人员、运营管理者及需要配置计费业务的从业者,帮助其快速掌握系统登录、费率与套餐配置、账户计费等核心操作。资源包内共1个doc文件&#xf…

2026/10/24 18:50:47

AI原生SDLC六阶段重构:intent.md与持续评测驱动研发闭环

1. 从"能跑就行"到"意图驱动":AI原生SDLC到底在重构什么过去两年,我参与过好几个把大模型塞进研发流程的项目,绝大多数都卡在同一个地方:Demo阶段惊艳,一进真实迭代就崩。原因不复杂——我们习惯性…

2026/10/24 18:50:46

Yarn资源管理机制与AM卡住问题解决方案

1. Yarn资源管理机制与AM卡住现象解析在大规模数据处理场景中,Yarn作为Hadoop生态系统的核心资源调度器,其资源分配机制直接决定了作业执行效率。当出现"ApplicationMaster资源不足导致作业卡住"的情况时,本质上反映了集群资源供需…

2026/10/23 22:56:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/24 0:02:40

MATLAB缩进快捷键与批量格式化实战指南

1. 被自动缩进折磨的那些年如果你写过MATLAB代码,大概率经历过这种场景:从某个文档、网页或者聊天记录里复制了一段代码,粘贴进编辑器之后,每一行前面都带着莫名其妙的空格,有的行首是四个空格,有的是一个T…

2026/10/24 0:02:40

用Poco实现Qt风格信号与槽的跨平台C++方案

简介:本资源是一份面向C中级开发者的技术实践工程,聚焦于在非Qt框架环境下模拟实现Qt核心通信机制——信号与槽,借助Poco网络库的事件系统完成解耦式对象通信。适用于需在跨平台C项目中引入松耦合回调机制、但受限于无法集成Qt依赖的开发场景…

2026/10/24 0:02:40

ESXi裸机虚拟化安装指南:从硬件兼容到虚拟机部署

1. 为什么还要折腾ESXi:从一台闲置机器说起手里攒了几台淘汰下来的迷你主机,配置不算差,i5加16G内存,扔了可惜,装个桌面系统又觉得浪费。这种场景下,ESXi就成了一个绕不开的选择。它是一套裸机虚拟化平台&a…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑