Skip to content

我直接按“章节 → 必背概念/公式 → 通透理解 → 可能怎么考”给你整理一份总复习提纲,你可以一章一章对着课件+这份笔记刷。下面只覆盖你现在给我的 5 份课件:绪论 + 线性模型 + KNN + 决策树 + 朴素贝叶斯/概率图模型。


总体复习思路(先看这个)

  1. 三层目标:
    • 会背:定义、公式、概念之间的区别。
    • 会算:简单推导/手算题(例如:信息熵、线性回归、KNN 距离、贝叶斯分类)。
    • 会说:能用大白话说清“为什么这么做”(比如:为什么要正则化,为什么要剪枝)。
  2. 本门课大框架(期末常考“总论题”):
    • 机器学习概述(定义、范式、基本过程、过拟合等)
    • 参数化有监督学习:线性模型(回归+正则+优化)
    • 非参数有监督学习: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. 名词解释:经验风险最小化 / 结构风险最小化
  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 核心思想 & 算法流程

“近朱者赤,近墨者黑”

算法步骤(分类):

  1. 给定训练集 ({(x_i,y_i)}_{i=1}^n),一个测试样本 x。
  2. 计算 x 与所有训练样本之间的距离 (d(x, x_i))。
  3. 选出距离最近的 K 个邻居。
  4. 统计这 K 个邻居中各类别的个数,用“少数服从多数”投票决定类别。

3.2 KNN 三要素(必背)

  1. 距离度量
    • 欧式距离(最常考)
    • 曼哈顿距离
    • 余弦相似度(更适合高维文本)
  2. K 值的选择
    • K 太小:容易受噪声影响 → 过拟合。
    • K 太大:边界过于平滑 → 欠拟合。
    • 实际上靠交叉验证选 K。
  3. 分类决策规则
    • 最简单:少数服从多数。
    • 也可以加距离加权(越近权重越大)。

3.3 KNN 优缺点(背下来就有分)

  • 优点:
    • 思路简单,易实现
    • 训练几乎“不要钱”(只是存数据)
    • 对异常值不太敏感
  • 缺点:
    • 推理慢(要算很多距离)
    • 占内存(要存全部训练样本)
    • 对高维数据不友好(“维度灾难”)
    • 可解释性弱

可能考:给你一组数据,让你手算一个点的 KNN 分类结果(比如 K=3)。


第 4 章 决策树

4.1 定义与基本结构

  • 基于树结构的非参数有监督学习方法,可以做分类也可以做回归
  • 内部结点:特征判断(例如“纹理=清晰?”)
  • 边:特征的取值
  • 叶结点:类标/回归值

学习目标:生成“泛化能力强”的树 → 既能拟合训练数据,又不严重过拟合。


4.2 三大步骤:特征选择、树构建、剪枝

  1. 特征选择(选哪个特征来分裂?)
  2. 决策树构建(递归“分而治之”)
  3. 剪枝(预剪枝 & 后剪枝)控制复杂度

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 朴素贝叶斯优缺点

  • 优点:
    • 思路非常简单,容易实现。
    • 训练和预测都快(只要统计频率)。
    • 对高维稀疏特征尤其友好(典型:文本分类、垃圾邮件过滤)。
  • 缺点:
    • “朴素”假设太强:特征条件独立在现实中很难满足。
    • 当特征相关性很强时,性能会下降。

高频考题:

  1. 给一个小表格,要求你:
    • 统计频率,估计 (P(c))、(P(x_i|c))
    • 对一个新样本,算出两类的后验概率,决定类别。
  2. 问你:为什么叫“朴素”?假设是什么?有什么问题?

最后:你可以这样复习

  1. 第一轮(通读 + 标记重点)
    • 对着每章 PPT,把我上面列的“关键名词 & 公式”在课件上找到,打星标。
    • 不会推导的地方,看懂思路即可(比如最小二乘的推导、梯度下降的来龙去脉)。
  2. 第二轮(动手算 & 画)
    • 自己找小例子算:
      • KNN 距离 + 投票
      • 决策树的信息熵 & 信息增益
      • 朴素贝叶斯后验概率
      • 线性回归简单数据的拟合直线
    • 画出:
      • 欠拟合 vs 过拟合示意图
      • 模型复杂度 vs 训练/测试误差
      • 决策树的结构示意
  3. 第三轮(模拟考试)
    • 尝试自己写:
      • “什么是机器学习?用 Tom Mitchell 的定义说明”
      • “解释 ERM、SRM 的区别,并说明 SRM 如何缓解过拟合”
      • “说明 KNN 三要素以及 K 值大小对模型的影响”
      • “分别写出 Ent(D)、Gain(D,a)、Gini(D) 的公式,并解释含义”
      • “给出朴素贝叶斯判别准则,并说明拉普拉斯平滑的作用”

如果你愿意,下一步我可以按考试题型帮你整理一套“模拟题 + 参考答案”(选择/填空/简答/计算/综合题)专门针对这几章,直接用来刷分。