说明:本卷延续“6 个选择题 + 6 个章节大题 + 详细解答”的风格,重点覆盖模型评估、多分类拆解、朴素贝叶斯、决策树、SVM、PCA 与神经网络 BP。题目与第一份模拟卷错开,适合第二轮限时练习。
模拟试卷
一、选择题(每题 2 分,共 12 分)
关于测试集的使用,下列说法正确的是( )
A. 测试集可以反复用于选择超参数
B. 测试集应只用于最终泛化性能评估
C. 测试集和训练集可以有重叠样本
D. 测试集越小,评估结果越稳定若有 $N$ 个类别,则 OvO 方法需要训练的二分类器个数为( )
A. $N$
B. $N-1$
C. $N(N-1)/2$
D. $2N$朴素贝叶斯分类器被称为“朴素”,主要是因为它假设( )
A. 各类别先验概率相同
B. 所有样本独立同分布
C. 给定类别后,各属性条件独立
D. 所有属性服从高斯分布决策树 ID3 算法选择划分属性时主要依据( )
A. 信息增益最大
B. 基尼指数最大
C. 参数范数最小
D. 间隔最大下列关于支持向量的说法正确的是( )
A. 所有训练样本都是支持向量
B. 支持向量通常是离分类边界较远的样本
C. 支持向量决定了 SVM 的分类超平面
D. 删除任意非支持向量一定会改变分类边界Batch Normalization 与 Layer Normalization 的主要区别在于( )
A. 是否使用激活函数
B. 是否使用反向传播
C. 归一化时统计均值和方差的范围不同
D. 是否只能用于卷积层
二、大题(共 88 分)
1. 模型评估与性能度量(14 分)
某二分类模型在测试集上的混淆矩阵如下:
| 预测正类 | 预测反类 | |
|---|---|---|
| 真实正类 | 45 | 10 |
| 真实反类 | 15 | 30 |
- 写出 TP、FP、FN、TN 的值。(2 分)
- 计算 Accuracy、Precision、Recall、F1 和 FPR。(6 分)
- 如果该任务是疾病筛查,Recall 和 Precision 哪个通常更重要?说明理由。(3 分)
- 简述宏平均和微平均的区别。(3 分)
2. 多分类学习与类别不平衡(12 分)
考虑一个 $N=4$ 类分类任务,总样本数 $m=1200$,各类别样本数相同。某二分类算法在 $n$ 个样本上的训练复杂度为 $O(n^2)$。
- 分别计算 OvO 和 OvR 的二分类器数量。(3 分)
- 估计 OvO 和 OvR 的总体训练复杂度,并比较二者训练开销。(4 分)
- 比较 OvO 与 OvR 的优缺点。(3 分)
- 类别不平衡时,为什么不能只看准确率?给出两种处理方法。(2 分)
3. 朴素贝叶斯与拉普拉斯修正(16 分)
给定训练集:
| 编号 | 色泽 | 根蒂 | 声音 | 类别 |
|---|---|---|---|---|
| 1 | 青绿 | 蜷缩 | 浊响 | 好 |
| 2 | 青绿 | 蜷缩 | 清脆 | 好 |
| 3 | 乌黑 | 蜷缩 | 浊响 | 好 |
| 4 | 浅白 | 硬挺 | 清脆 | 坏 |
| 5 | 青绿 | 硬挺 | 浊响 | 坏 |
| 6 | 乌黑 | 硬挺 | 清脆 | 坏 |
其中色泽有 3 种取值,根蒂有 2 种取值,声音有 2 种取值。现在要分类样本 $x=$(青绿,蜷缩,浊响)。
- 写出朴素贝叶斯分类公式。(3 分)
- 不使用拉普拉斯修正,计算两个类别的未归一化后验得分。(4 分)
- 使用拉普拉斯修正,计算两个类别的未归一化后验得分,并判断类别。(6 分)
- 说明为什么需要拉普拉斯修正。(3 分)
4. 决策树信息增益(16 分)
给定数据集:
| 编号 | 天气 | 温度 | 有风 | 打球 |
|---|---|---|---|---|
| 1 | 晴 | 热 | 否 | 否 |
| 2 | 晴 | 热 | 是 | 否 |
| 3 | 阴 | 热 | 否 | 是 |
| 4 | 雨 | 温 | 否 | 是 |
| 5 | 雨 | 冷 | 否 | 是 |
| 6 | 雨 | 冷 | 是 | 否 |
| 7 | 阴 | 冷 | 是 | 是 |
| 8 | 晴 | 温 | 否 | 否 |
- 计算数据集的信息熵 $Ent(D)$。(3 分)
- 分别计算属性“天气”“温度”“有风”的信息增益。(7 分)
- ID3 会选择哪个属性作为根结点?给出原因。(2 分)
- 说明 ID3、C4.5、CART 三种算法划分指标的区别。(4 分)
5. 支持向量机与核函数(14 分)
- 写出硬间隔 SVM 原始优化问题,并解释“最大间隔”的含义。(4 分)
- 写出软间隔 SVM 原始优化问题,解释 $C$ 增大和减小时模型倾向的变化。(4 分)
- 为什么 SVM 的对偶形式适合使用核函数?(3 分)
- 若数据呈环形分布,线性核、多项式核、RBF 核中通常优先考虑哪一种?为什么?(3 分)
6. PCA、卷积与 BP 推导(16 分)
- 已知 PCA 的特征值为 $\lambda_1=10,\lambda_2=5,\lambda_3=3,\lambda_4=2$。计算贡献率和累计贡献率;若累计贡献率至少为 85%,保留几维?(4 分)
- 输入为 $3\times128\times128$ 图像,卷积层有 32 个 $3\times3$ 卷积核,padding=1,stride=1。求输出形状和参数量(含偏置)。(4 分)
- 一个单神经元模型为 $z=w_1x_1+w_2x_2+b$,$\hat{y}=\sigma(z)$,损失 $L=\frac12(\hat{y}-y)^2$。给定 $x=(2,1)$,$y=1$,$w_1=0.3,w_2=-0.1,b=0$。计算一次前向传播,并求 $\partial L/\partial w_1,\partial L/\partial w_2,\partial L/\partial b$。(6 分)
- 写出 Sigmoid 激活函数在反向传播中可能导致梯度消失的原因。(2 分)
参考答案与解析
一、选择题答案
- B。测试集只应在模型和超参数确定后用于最终评估。
- C。OvO 对每两个类别训练一个分类器,共 $N(N-1)/2$ 个。
- C。朴素贝叶斯的核心假设是给定类别后属性条件独立。
- A。ID3 使用信息增益选择划分属性。
- C。SVM 的最终超平面由支持向量决定。
- C。BN 和 LN 都可参与反向传播,主要区别是归一化统计范围不同。
二、大题答案
1. 模型评估与性能度量
$TP=45, FN=10, FP=15, TN=30$。
总样本数为 $100$:
$$ Accuracy=\frac{TP+TN}{TP+FP+FN+TN}=\frac{45+30}{100}=0.75 $$
$$ Precision=\frac{TP}{TP+FP}=\frac{45}{45+15}=0.75 $$
$$ Recall=\frac{TP}{TP+FN}=\frac{45}{45+10}\approx0.818 $$
$$ F1=\frac{2PR}{P+R}\approx\frac{2\times0.75\times0.818}{0.75+0.818}\approx0.783 $$
$$ FPR=\frac{FP}{FP+TN}=\frac{15}{15+30}=0.333 $$
疾病筛查通常更重视 Recall,因为漏诊正例会带来更严重后果。Precision 也重要,但初筛阶段往往宁可多报一些疑似病例,再通过后续检查确认。
宏平均先分别计算每个类别的指标,再对类别取平均,各类别权重相同,更关注小类别。微平均先汇总所有类别的 TP、FP、FN,再整体计算指标,样本量大的类别影响更大。
2. 多分类学习与类别不平衡
OvO 需要:
$$ \frac{N(N-1)}2=\frac{4\times3}{2}=6 $$
个分类器。OvR 需要 $N=4$ 个分类器。
每类 $300$ 个样本。OvO 每个分类器只使用两个类别,样本数为 $600$,所以总体复杂度约为:
$$ 6\times O(600^2)=O(2160000) $$
OvR 每个分类器使用全部 $1200$ 个样本,所以总体复杂度约为:
$$ 4\times O(1200^2)=O(5760000) $$
在该设定下,OvO 分类器数量更多,但单个分类器训练样本更少,总体训练开销小于 OvR。
OvO 的优点是每次只处理两个类别,训练样本少,类别不平衡相对较轻;缺点是分类器数量多,预测时投票成本较高。OvR 的优点是分类器数量少,结构简单;缺点是每个分类器都要使用全体样本,并且正负样本容易严重不平衡。
类别不平衡时,多数类占比很高,模型即使总预测多数类也可能得到很高准确率,但对少数类几乎无识别能力。常用方法包括过采样少数类、欠采样多数类、阈值移动、使用代价敏感学习等。
3. 朴素贝叶斯与拉普拉斯修正
朴素贝叶斯分类公式为:
$$ h(\mathbf{x})=\arg\max_c P(c)\prod_{j=1}^dP(x_j|c) $$
其中条件独立性假设为:
$$ P(x_1,\dots,x_d|c)=\prod_{j=1}^dP(x_j|c) $$
不使用拉普拉斯修正:
$$ P(好)=P(坏)=\frac36=\frac12 $$
对好瓜:
$$ P(青绿|好)=\frac23,\quad P(蜷缩|好)=1,\quad P(浊响|好)=\frac23 $$
$$ Score(好)=\frac12\times\frac23\times1\times\frac23=\frac29\approx0.222 $$
对坏瓜:
$$ P(青绿|坏)=\frac13,\quad P(蜷缩|坏)=0,\quad P(浊响|坏)=\frac13 $$
$$ Score(坏)=\frac12\times\frac13\times0\times\frac13=0 $$
使用拉普拉斯修正。类别先验:
$$ P(好)=P(坏)=\frac{3+1}{6+2}=\frac12 $$
对好瓜:
$$ P(青绿|好)=\frac{2+1}{3+3}=\frac12 $$
$$ P(蜷缩|好)=\frac{3+1}{3+2}=\frac45 $$
$$ P(浊响|好)=\frac{2+1}{3+2}=\frac35 $$
$$ Score(好)=\frac12\times\frac12\times\frac45\times\frac35=0.12 $$
对坏瓜:
$$ P(青绿|坏)=\frac{1+1}{3+3}=\frac13 $$
$$ P(蜷缩|坏)=\frac{0+1}{3+2}=\frac15 $$
$$ P(浊响|坏)=\frac{1+1}{3+2}=\frac25 $$
$$ Score(坏)=\frac12\times\frac13\times\frac15\times\frac25\approx0.0133 $$
因为 $Score(好)>Score(坏)$,所以判为好瓜。若归一化,属于好瓜的后验约为:
$$ \frac{0.12}{0.12+0.0133}\approx0.90 $$
需要拉普拉斯修正是因为训练集中某些属性值可能没有在某类别下出现,导致条件概率为 0,进而让整个类别得分变为 0。拉普拉斯修正用加一平滑避免零概率,使其他属性的信息仍能发挥作用。
4. 决策树信息增益
数据中“是”4 个,“否”4 个,因此:
$$ Ent(D)=-\frac12\log_2\frac12-\frac12\log_2\frac12=1 $$
天气:
- 晴:3 个,全为否,熵为 0。
- 阴:2 个,全为是,熵为 0。
- 雨:3 个,2 是 1 否,熵为 $-\frac23\log_2\frac23-\frac13\log_2\frac13\approx0.918$。
$$ Gain(D,天气)=1-\frac38\times0-\frac28\times0-\frac38\times0.918\approx0.656 $$
温度:
- 热:2 否 1 是,熵约 0.918。
- 温:1 是 1 否,熵为 1。
- 冷:2 是 1 否,熵约 0.918。
$$ Gain(D,温度)=1-\frac38\times0.918-\frac28\times1-\frac38\times0.918\approx0.061 $$
有风:
- 否:3 是 2 否,熵约 0.971。
- 是:1 是 2 否,熵约 0.918。
$$ Gain(D,有风)=1-\frac58\times0.971-\frac38\times0.918\approx0.049 $$
ID3 选择信息增益最大的属性,因此选择“天气”作为根结点。
ID3 使用信息增益,倾向选择使熵下降最多的属性,但偏好取值数多的属性。C4.5 使用增益率,用信息增益除以固有值以缓解多取值偏好。CART 使用基尼指数,选择划分后基尼指数最小的属性,并常构造二叉树。
5. 支持向量机与核函数
硬间隔 SVM:
$$ \min_{\mathbf{w},b}\frac12|\mathbf{w}|^2 $$
$$ s.t.\quad y_i(\mathbf{w}^T\mathbf{x}_i+b)\ge1 $$
最大间隔指在正确分类样本的所有超平面中,选择离两类最近样本距离最大的超平面。这样通常能提高泛化能力。
软间隔 SVM:
$$ \min_{\mathbf{w},b,\xi}\frac12|\mathbf{w}|^2+C\sum_i\xi_i $$
$$ s.t.\quad y_i(\mathbf{w}^T\mathbf{x}_i+b)\ge1-\xi_i,\quad \xi_i\ge0 $$
$C$ 越大,对违反间隔惩罚越强,模型更倾向于减少训练错误,可能过拟合。$C$ 越小,模型更能容忍违反间隔,间隔可能更大,但可能欠拟合。
SVM 的对偶问题和预测函数只通过样本内积 $\mathbf{x}_i^T\mathbf{x}_j$ 表达。核函数可以直接计算高维映射后的内积 $K(\mathbf{x}_i,\mathbf{x}_j)=\phi(\mathbf{x}_i)^T\phi(\mathbf{x}_j)$,避免显式构造高维特征。
环形分布通常优先考虑 RBF 核,因为 RBF 核具有局部响应能力,可以形成灵活的非线性边界。线性核只能得到直线/超平面边界,多项式核可表达一定非线性,但环形结构下通常不如 RBF 自然。
6. PCA、卷积与 BP 推导
总方差为 $10+5+3+2=20$。贡献率为:
$$ 0.50,\quad0.25,\quad0.15,\quad0.10 $$
累计贡献率为:
$$ 0.50,\quad0.75,\quad0.90,\quad1.00 $$
要达到 85%,至少保留 3 维。
输出高宽:
$$ \left\lfloor\frac{128+2\times1-3}{1}\right\rfloor+1=128 $$
输出形状为:
$$ 32\times128\times128 $$
参数量:
$$ (3\times3\times3+1)\times32=28\times32=896 $$
前向传播:
$$ z=0.3\times2+(-0.1)\times1+0=0.5 $$
$$ \hat{y}=\sigma(0.5)\approx0.6225 $$
$$ L=\frac12(0.6225-1)^2\approx0.0713 $$
反向传播:
$$ \frac{\partial L}{\partial z}=(\hat{y}-y)\hat{y}(1-\hat{y}) $$
$$ \frac{\partial L}{\partial z}=(0.6225-1)\times0.6225\times0.3775\approx-0.0887 $$
因此:
$$ \frac{\partial L}{\partial w_1}=\frac{\partial L}{\partial z}x_1\approx-0.1774 $$
$$ \frac{\partial L}{\partial w_2}=\frac{\partial L}{\partial z}x_2\approx-0.0887 $$
$$ \frac{\partial L}{\partial b}=\frac{\partial L}{\partial z}\approx-0.0887 $$
Sigmoid 的导数为 $\sigma(t)(1-\sigma(t))$,最大也只有 0.25。当输入很大或很小时,Sigmoid 接近 1 或 0,导数接近 0。多层网络中这些小梯度连续相乘,容易导致靠前层参数几乎无法更新,即梯度消失。