我直接按“章节 → 必背概念/公式 → 通透理解 → 可能怎么考”给你整理一份总复习提纲,你可以一章一章对着课件+这份笔记刷。下面只覆盖你现在给我的 5 份课件:绪论 + 线性模型 + KNN + 决策树 + 朴素贝叶斯/概率图模型。
总体复习思路(先看这个)
- 三层目标:
- 会背:定义、公式、概念之间的区别。
- 会算:简单推导/手算题(例如:信息熵、线性回归、KNN 距离、贝叶斯分类)。
- 会说:能用大白话说清“为什么这么做”(比如:为什么要正则化,为什么要剪枝)。
- 本门课大框架(期末常考“总论题”):
- 机器学习概述(定义、范式、基本过程、过拟合等)
- 参数化有监督学习:线性模型(回归+正则+优化)
- 非参数有监督学习:KNN、决策树
- 概率方法:朴素贝叶斯(概率图模型入门)
- 模型评估与选择、学习理论(期望风险/经验风险/结构风险)
第 1 章 绪论(必考概念题)
1.1 机器学习的定义(Tom Mitchell 三元组)
Tom Mitchell 定义:
机器学习研究的是:在某个任务 (T) 上,通过经验 (E),使性能 (P) 提升的算法(在不显式编程的情况下)。
考试怎么写:
- 写清楚:任务 T、经验 E、性能度量 P 三者。
- 举个例子(下棋、垃圾邮件分类等),比如:
- T:识别垃圾邮件
- E:大量带“垃圾/正常”标签的历史邮件
- P:分类准确率、召回率等
1.2 基本术语(输入空间 / 特征空间 / 假设空间 / 版本空间 / 归纳偏好)
- 输入空间 X:所有可能的输入(例如所有图片、所有病人的检查数据)。
- 输出空间 Y:所有可能的输出(类别 / 实数等)。
- 特征空间:每个样本由特征向量表示,所有特征向量构成特征空间。
- 假设空间 H:所有“候选模型”的集合,比如所有线性函数 (f(x)=w^Tx+b)。
- 版本空间:在当前训练集上完全分类正确的那一批假设(H 的子集)。
- 归纳偏好(Inductive Bias):学习算法“偏爱”的假设类型,比如
- 决策树偏好“简单、浅的树”
- CNN 偏好“局部平移不变”的结构
考点:
- 解释“假设空间、版本空间”的区别;
- 用一句话说明什么是归纳偏好,并举 CNN/决策树 的例子。
1.3 学习准则:期望风险 / 经验风险 / 结构风险
- 损失函数 (L(y, f(x))):单个样本预测误差。
- 期望风险 (R(f)): [ R(f) = \mathbb{E}_{(x,y)\sim P}[L(y, f(x))] ] 真正想最小化的,但分布 P 不可见。
- 经验风险 (R_{\text{emp}}(f)):训练集上的平均损失(经验风险最小化 ERM)。
- 结构风险:经验风险 + 正则项(模型复杂度惩罚): [ R_{\text{struct}}(f) = R_{\text{emp}}(f) + \lambda J(\theta) ]
- (J(\theta)):常用 (L_1/L_2) 范数。
关键词:
- 过拟合:训练误差很小,测试误差很大。
- 欠拟合:训练误差都很大,说明模型太简单。
考题形态:
- 名词解释:经验风险最小化 / 结构风险最小化
- 简答:为什么要引入正则化?——为了限制模型复杂度,缓解过拟合,在经验风险和模型复杂度之间做权衡。
1.4 泛化误差、训练/测试误差、过拟合与欠拟合
- 训练误差:在训练集上的误差。
- 测试误差:在测试集上的误差。
- 泛化误差:在“未来未见样本”的误差(理论上)。
- 欠拟合:模型太简单;训练误差也高。
- 过拟合:模型太复杂;训练误差很低,但测试误差高。
高频问法:画出“模型复杂度 vs 训练/测试误差”的 U 型示意图,指出最佳模型复杂度大概在 U 形谷底附近。
1.5 机器学习范式(四大类)
- 监督学习:有标签 (x,y)
- 回归:输出连续值(PM2.5 预测)。
- 分类:输出离散类别(垃圾邮件、猫狗识别)。
- 无监督学习:
- 聚类(k-means)、降维(PCA、自编码器)。
- 强化学习:智能体与环境交互,通过“奖励”学习策略。 -(课件还提到半监督学习、迁移学习、自监督等,考试多为“选择/简答题带过”。)
1.6 其他理论点:No Free Lunch & 奥卡姆剃刀
- NFL 定理(没有免费的午餐): 不存在在所有数据分布上都最好的算法;某算法在一类问题上好,在另一类上就会差。
- 奥卡姆剃刀:在解释能力相当时,优先选择更简单模型(有利于泛化)。
常见问法:
- “为什么不能只谈‘哪个算法最好’?”→ 引 NFL。
- “奥卡姆剃刀和正则化有什么关系?”→ 正则化就是在偏好“简单”的模型。
第 2 章 线性模型
2.1 线性模型的统一形式
- 给定特征向量 (x = (x_1,...,x_m)): [ f(x) = w^T x + b ]
- 可用于:
- 回归(预测连续值)
- 分类(通过阈值或 sigmoid/softmax)
要记住的家族:
- 线性回归(最小二乘)
- 加上 L2 正则 → 岭回归
- 加上 L1 正则 → Lasso 回归
2.2 简单线性回归 & 多元线性回归(MSE + 最小二乘)
模型假设: [ y = w^T x + b + \varepsilon,\quad \varepsilon \sim \mathcal{N}(0,\sigma^2) ]
损失函数(均方误差 MSE): [ L(w,b) = \frac{1}{2n}\sum_{i=1}^n (y_i - w^T x_i - b)^2 ]
- 最小化 MSE ⇔ 极大化高斯噪声下的对数似然(MLE)。
多元线性回归矩阵形式:
- (X\in \mathbb{R}^{n\times d},\ y\in\mathbb{R}^n)
- 闭式解(正规方程): [ w^* = (X^T X)^{-1} X^T y ] (需要 (X^T X) 可逆)
常见计算题:给你 2–3 个点,让你写出 MSE、对 w,b 求偏导,求出闭式解(哪怕只要你写出推导过程、不是完全算对,也有分)。
2.3 凸函数、凸优化(理解层面)
凸集:任意两点连线都在集合内部。
凸函数:图像上任意两点连线在函数图像上方。
核心性质:
对凸函数,任意局部极小值都是全局极小值。
线性回归的 MSE 是凸函数 → 最小二乘问题是凸优化问题,所以求到的极小值是全局最优。
2.4 梯度下降(BGD / SGD / Mini-batch)
基本思想: [ \theta^{(t+1)} = \theta^{(t)} - \eta \nabla_\theta L(\theta^{(t)}) ]
- BGD:每次用全部样本计算梯度
- SGD:每次只用 1 个样本
- Mini-batch:每次用一小批(比如 32/64 个)
关键超参数:学习率 (\eta):
- 太大:震荡甚至发散
- 太小:收敛很慢
- 常见技巧:学习率衰减、warm-up、自适应学习率(Adam, RMSProp)
可能考:
- 写出梯度下降更新公式;
- 解释 BGD / SGD / mini-batch 的区别和利弊;
- 解释为什么小 batch 一般泛化更好(“噪声更新 → 更偏向 flat minima”)。
2.5 正则化:岭回归 & Lasso(高频考点)
L2 正则化(岭回归): [ \min_w \frac{1}{2n}\sum_{i}(y_i - w^T x_i)^2 + \lambda |w|_2^2 ]
- 闭式解: [ w^* = (X^T X + \lambda I)^{-1} X^T y ]
- 作用:让 w 更小更“平滑”,防止过拟合,但不产生稀疏。
L1 正则化(Lasso): [ \min_w \frac{1}{2n}\sum_{i}(y_i - w^T x_i)^2 + \lambda |w|_1 ]
- 没有简单闭式解(要用优化算法)。
- 作用:鼓励稀疏(很多参数变成 0),可做特征选择。
高频问:对比 Lasso 和 Ridge:
- 谁产生稀疏?(L1)
- 谁有闭式解?(Ridge 有)
- 两者都在做什么?(控制模型复杂度,防止过拟合)
第 3 章 K 近邻算法(KNN)
3.1 核心思想 & 算法流程
“近朱者赤,近墨者黑”
算法步骤(分类):
- 给定训练集 ({(x_i,y_i)}_{i=1}^n),一个测试样本 x。
- 计算 x 与所有训练样本之间的距离 (d(x, x_i))。
- 选出距离最近的 K 个邻居。
- 统计这 K 个邻居中各类别的个数,用“少数服从多数”投票决定类别。
3.2 KNN 三要素(必背)
- 距离度量:
- 欧式距离(最常考)
- 曼哈顿距离
- 余弦相似度(更适合高维文本)
- K 值的选择:
- K 太小:容易受噪声影响 → 过拟合。
- K 太大:边界过于平滑 → 欠拟合。
- 实际上靠交叉验证选 K。
- 分类决策规则:
- 最简单:少数服从多数。
- 也可以加距离加权(越近权重越大)。
3.3 KNN 优缺点(背下来就有分)
- 优点:
- 思路简单,易实现
- 训练几乎“不要钱”(只是存数据)
- 对异常值不太敏感
- 缺点:
- 推理慢(要算很多距离)
- 占内存(要存全部训练样本)
- 对高维数据不友好(“维度灾难”)
- 可解释性弱
可能考:给你一组数据,让你手算一个点的 KNN 分类结果(比如 K=3)。
第 4 章 决策树
4.1 定义与基本结构
- 基于树结构的非参数有监督学习方法,可以做分类也可以做回归。
- 内部结点:特征判断(例如“纹理=清晰?”)
- 边:特征的取值
- 叶结点:类标/回归值
学习目标:生成“泛化能力强”的树 → 既能拟合训练数据,又不严重过拟合。
4.2 三大步骤:特征选择、树构建、剪枝
- 特征选择(选哪个特征来分裂?)
- 决策树构建(递归“分而治之”)
- 剪枝(预剪枝 & 后剪枝)控制复杂度
4.3 信息熵、信息增益、信息增益率、基尼指数
(1) 熵(entropy)——衡量不确定性/混乱程度
- 对分类问题,样本集 D 中第 k 类比例为 (p_k),其熵: [ Ent(D) = -\sum_k p_k \log_2 p_k ]
- 熵越大:越杂乱(不纯)
- 熵为 0:全是同一类(最纯)
(2) 信息增益(ID3)
- 属性 a 划分前后熵的变化: [ Gain(D,a) = Ent(D) - \sum_v \frac{|D_v|}{|D|} Ent(D_v) ]
- 含义:用 a 划分后,“纯度提升”了多少。
- ID3:每次选信息增益最大的属性划分。
(3) 信息增益率(C4.5)
- 为修正信息增益偏向“取值多的属性”的问题,引入: [ GainRatio(D,a) = \frac{Gain(D,a)}{IV(a)} ] (IV(a)) 是属性 a 的固有值(类似“分裂本身的信息量”)。
- C4.5:先筛选信息增益高于平均的,再从中选增益率最大的。
(4) 基尼指数(CART)
- 样本集 D 的基尼: [ Gini(D) = 1 - \sum_k p_k^2 ]
- 属性 a 划分后的基尼: [ Gini(D,a) = \sum_v \frac{|D_v|}{|D|} Gini(D_v) ]
- CART:选使 Gini(D,a) 最小的属性。
高频考点:
- 写出 Ent(D)、Gain(D,a)、Gini(D) 的公式;
- 给小数据集,手算信息熵、信息增益,问用哪个特征做根节点。
4.4 剪枝:预剪枝 vs 后剪枝
- 过拟合来源:一味追求训练集上分类正确,树会越长越复杂。
- 预剪枝(pre-pruning):
- 在节点划分之前就评估:如果划分后在验证集上准确率没提升,就不划分。
- 优点:训练快,树简单。
- 缺点:太“保守”,容易欠拟合。
- 后剪枝(post-pruning):
- 先长一棵大树,再自底向上尝试合并子树,看验证集性能是否提升,提升则剪掉。
- 泛化性能通常更好,但训练开销大。
第 5 章 概率图模型入门 & 朴素贝叶斯
这里课件主要讲的是贝叶斯分类 + 朴素贝叶斯,概率图模型(更复杂的贝叶斯网络/马尔可夫随机场)只做铺垫。
5.1 概率、似然、贝叶斯公式(必备数学工具)
- 联合概率 (P(X_1,...,X_n))
- 条件概率 (P(A|B)):已知 B 发生,A 发生的概率。
- 贝叶斯公式: [ P(A|B) = \frac{P(B|A)P(A)}{P(B)} ]
- 先验(prior):(P(A))
- 似然(likelihood):(P(B|A))
- 后验(posterior):(P(A|B))
考试基本都会让你写出贝叶斯公式,或者解释“概率 vs 似然”的区别。
5.2 贝叶斯分类器 & 朴素贝叶斯假设
对分类问题:
- 类别:(c\in{1,...,K})
- 特征向量:(x=(x_1,...,x_n))
贝叶斯决策准则: [ c^* = \arg\max_c P(c|x) = \arg\max_c P(x|c)P(c) ]
困难:直接估计 (P(x|c)) 需要对所有特征的联合分布建模 → 维度爆炸。
朴素贝叶斯假设(naïve assumption):
- 条件独立: [ P(x|c) = \prod_{i=1}^n P(x_i|c) ]
- 所以: [ P(c|x) \propto P(c)\prod_i P(x_i|c) ]
判别准则: [ c^* = \arg\max_c P(c)\prod_i P(x_i|c) ]
5.3 参数估计 & 拉普拉斯平滑
假设训练集 D 中有很多样本:
- 先验 (P(c)): [ P(c) \approx \frac{|D_c|}{|D|} ]
- 条件概率 (P(x_i|c)): 对离散属性(比如单词出现/不出现): [ P(x_i = v | c) \approx \frac{|D_{c, x_i=v}|}{|D_c|} ]
问题:如果训练集中某个取值在某类中从没出现过 → 概率为 0 → 整个乘积为 0。
解决:拉普拉斯平滑(+1 平滑): [ P(x_i=v|c) \approx \frac{|D_{c, x_i=v}| + 1}{|D_c| + V} ]
- V:该属性可能取值个数。
连续属性:
- 通常假设是高斯分布,估计该类下的均值 μ、方差 σ²,用高斯密度公式计算 (P(x_i|c))。
5.4 朴素贝叶斯优缺点
- 优点:
- 思路非常简单,容易实现。
- 训练和预测都快(只要统计频率)。
- 对高维稀疏特征尤其友好(典型:文本分类、垃圾邮件过滤)。
- 缺点:
- “朴素”假设太强:特征条件独立在现实中很难满足。
- 当特征相关性很强时,性能会下降。
高频考题:
- 给一个小表格,要求你:
- 统计频率,估计 (P(c))、(P(x_i|c))
- 对一个新样本,算出两类的后验概率,决定类别。
- 问你:为什么叫“朴素”?假设是什么?有什么问题?
最后:你可以这样复习
- 第一轮(通读 + 标记重点)
- 对着每章 PPT,把我上面列的“关键名词 & 公式”在课件上找到,打星标。
- 不会推导的地方,看懂思路即可(比如最小二乘的推导、梯度下降的来龙去脉)。
- 第二轮(动手算 & 画)
- 自己找小例子算:
- KNN 距离 + 投票
- 决策树的信息熵 & 信息增益
- 朴素贝叶斯后验概率
- 线性回归简单数据的拟合直线
- 画出:
- 欠拟合 vs 过拟合示意图
- 模型复杂度 vs 训练/测试误差
- 决策树的结构示意
- 自己找小例子算:
- 第三轮(模拟考试)
- 尝试自己写:
- “什么是机器学习?用 Tom Mitchell 的定义说明”
- “解释 ERM、SRM 的区别,并说明 SRM 如何缓解过拟合”
- “说明 KNN 三要素以及 K 值大小对模型的影响”
- “分别写出 Ent(D)、Gain(D,a)、Gini(D) 的公式,并解释含义”
- “给出朴素贝叶斯判别准则,并说明拉普拉斯平滑的作用”
- 尝试自己写:
如果你愿意,下一步我可以按考试题型帮你整理一套“模拟题 + 参考答案”(选择/填空/简答/计算/综合题)专门针对这几章,直接用来刷分。