说明:本卷继续采用本学院往年卷常见的章节题风格,重点放在统计学习三要素、CART、SVM 对偶、GMM/EM 一轮计算、集成学习和更完整的 BP 数值推导。内容与前三份模拟卷不同。
模拟试卷
一、选择题(每题 2 分,共 12 分)
统计学习方法三要素通常指( )
A. 数据、标签、测试集
B. 模型、策略、算法
C. 分类、回归、聚类
D. 偏差、方差、噪声结构风险最小化相比经验风险最小化,额外强调( )
A. 增加模型复杂度
B. 加入模型复杂度惩罚以改善泛化
C. 不使用训练数据
D. 只最小化测试误差CART 分类树常用的划分指标是( )
A. 欧氏距离
B. 基尼指数
C. AUC
D. 似然函数EM 算法中,E 步主要做的是( )
A. 固定隐藏变量后验,更新模型参数
B. 在当前参数下估计隐藏变量的后验分布
C. 删除异常样本
D. 计算 PCA 特征向量AdaBoost 中被上一轮错误分类的样本,下一轮通常会( )
A. 权重增大
B. 权重变为 0
C. 被永久删除
D. 不再参与训练若神经网络使用平方损失和 Sigmoid 输出,反向传播中输出层误差项包含的因子是( )
A. $\hat{y}(1-\hat{y})$
B. $x^Tx$
C. $1/|\mathbf{w}|$
D. $\log_2p$
二、大题(共 88 分)
1. 统计学习、过拟合与偏差-方差(14 分)
- 解释统计学习方法的模型、策略、算法三要素。(4 分)
- 区分经验风险和期望风险。为什么期望风险通常无法直接计算?(4 分)
- 说明经验风险最小化和结构风险最小化的区别。(3 分)
- 用偏差-方差分解解释欠拟合和过拟合。(3 分)
2. CART 与基尼指数(14 分)
给定数据集:
| 编号 | $A$ | $B$ | 类别 |
|---|---|---|---|
| 1 | 0 | 0 | + |
| 2 | 0 | 1 | + |
| 3 | 0 | 1 | - |
| 4 | 1 | 0 | - |
| 5 | 1 | 0 | - |
| 6 | 1 | 1 | - |
- 写出基尼值 $Gini(D)$ 的公式,并计算整个数据集的基尼值。(4 分)
- 分别计算按属性 $A$ 和 $B$ 划分后的基尼指数。(6 分)
- CART 应选择哪个属性划分?(2 分)
- 比较基尼指数和信息熵的直观含义。(2 分)
3. SVM 对偶与 KKT 理解(16 分)
- 写出硬间隔 SVM 原始问题。(3 分)
- 写出对应的拉格朗日函数。(4 分)
- 由拉格朗日函数对 $\mathbf{w}$ 和 $b$ 求偏导,写出对偶问题的关键约束。(4 分)
- 解释 KKT 条件中 $\alpha_i[y_i(\mathbf{w}^T\mathbf{x}_i+b)-1]=0$ 的含义。(3 分)
- 为什么非支持向量通常对应 $\alpha_i=0$?(2 分)
4. GMM 与 EM 一轮计算(16 分)
一维 GMM 有两个成分,固定方差均为 1。样本为 $x_1=0,x_2=1,x_3=4$。初始参数为:
$$ \alpha_1=\alpha_2=0.5,\quad \mu_1=0,\quad \mu_2=3 $$
- 写出责任度 $\gamma_{jk}$ 的计算公式。(3 分)
- 计算每个样本属于两个成分的责任度,保留 3 位小数。(6 分)
- 完成一次 M 步,更新 $\alpha_1,\alpha_2,\mu_1,\mu_2$。(5 分)
- 说明 EM 为什么不能保证全局最优。(2 分)
5. 集成学习与随机森林(12 分)
- 从 bias-variance 角度解释为什么 Bagging 能提升不稳定基学习器的泛化能力。(4 分)
- 说明 Random Forest 中“样本随机”和“特征随机”的作用。(4 分)
- 比较 AdaBoost 与 Random Forest 的训练方式差异。(4 分)
6. 神经网络 BP 数值推导(16 分)
考虑一个 2 输入、1 隐藏神经元、1 输出神经元的网络:
$$ a=w_1x_1+w_2x_2+b_h,\quad h=\sigma(a) $$
$$ z=vh+b_o,\quad \hat{y}=\sigma(z),\quad L=\frac12(\hat{y}-y)^2 $$
给定:
$$ x_1=1,\quad x_2=-1,\quad y=0 $$
$$ w_1=0.3,\quad w_2=0.2,\quad b_h=0.1,\quad v=-0.4,\quad b_o=0.2 $$
- 计算前向传播中的 $a,h,z,\hat{y},L$。(4 分)
- 计算输出层误差项 $\delta_o=\partial L/\partial z$。(3 分)
- 计算隐藏层误差项 $\delta_h=\partial L/\partial a$。(3 分)
- 计算所有参数梯度。(4 分)
- 用一句话说明 BP 算法的核心思想。(2 分)
参考答案与解析
一、选择题答案
- B。统计学习方法三要素为模型、策略、算法。
- B。结构风险在经验风险基础上加入模型复杂度惩罚。
- B。CART 分类树常用基尼指数。
- B。E 步在当前参数下计算隐藏变量后验。
- A。AdaBoost 会提高错分样本权重。
- A。Sigmoid 的导数为 $\hat{y}(1-\hat{y})$。
二、大题答案
1. 统计学习、过拟合与偏差-方差
模型指假设空间,即可被学习的函数或条件概率分布集合。策略指选择最优模型的准则,如经验风险最小化或结构风险最小化。算法指求解最优模型的具体计算方法,如梯度下降、牛顿法、SMO 等。
经验风险是模型在训练集上的平均损失:
$$ R_{emp}(f)=\frac1m\sum_{i=1}^mL(y_i,f(x_i)) $$
期望风险是模型在真实数据分布上的平均损失:
$$ R_{exp}(f)=\mathbb{E}_{(X,Y)}[L(Y,f(X))] $$
期望风险依赖真实数据分布,而真实分布通常未知,因此无法直接计算,只能用训练集或测试集近似估计。
经验风险最小化只追求训练集损失小,模型复杂时容易过拟合。结构风险最小化在经验风险上加入复杂度惩罚:
$$ \min_f R_{emp}(f)+\lambda J(f) $$
它在拟合训练数据和控制模型复杂度之间折中,更关注泛化。
欠拟合通常表现为高偏差、低方差,模型太简单,训练误差和测试误差都较高。过拟合通常表现为低偏差、高方差,模型过度适应训练集,训练误差低但测试误差高。泛化误差可理解为偏差平方、方差和噪声的组合。
2. CART 与基尼指数
基尼值:
$$ Gini(D)=1-\sum_{k}p_k^2 $$
数据中正例 2 个,反例 4 个:
$$ Gini(D)=1-\left(\frac26\right)^2-\left(\frac46\right)^2 =1-\frac19-\frac49=\frac49\approx0.444 $$
按 $A$ 划分:
- $A=0$:2 正 1 反,$Gini=1-(2/3)^2-(1/3)^2=4/9$。
- $A=1$:0 正 3 反,$Gini=0$。
$$ Gini_index(D,A)=\frac36\times\frac49+\frac36\times0=\frac29\approx0.222 $$
按 $B$ 划分:
- $B=0$:1 正 2 反,$Gini=4/9$。
- $B=1$:1 正 2 反,$Gini=4/9$。
$$ Gini_index(D,B)=\frac36\times\frac49+\frac36\times\frac49=\frac49\approx0.444 $$
CART 选择划分后基尼指数最小的属性,因此选择 $A$。
信息熵衡量类别分布的不确定性,越混杂熵越大。基尼值可理解为随机抽取两个样本类别不一致的概率,越混杂基尼值越大。两者都用于衡量不纯度,只是计算形式不同。
3. SVM 对偶与 KKT 理解
硬间隔 SVM 原始问题:
$$ \min_{\mathbf{w},b}\frac12|\mathbf{w}|^2 $$
$$ s.t.\quad y_i(\mathbf{w}^T\mathbf{x}_i+b)\ge1 $$
拉格朗日函数为:
$$ L(\mathbf{w},b,\alpha)= \frac12|\mathbf{w}|^2 -\sum_{i=1}^m\alpha_i[y_i(\mathbf{w}^T\mathbf{x}_i+b)-1] $$
其中 $\alpha_i\ge0$。
对 $\mathbf{w}$ 求偏导并令 0:
$$ \frac{\partial L}{\partial \mathbf{w}} =\mathbf{w}-\sum_i\alpha_iy_i\mathbf{x}_i=0 $$
所以:
$$ \mathbf{w}=\sum_i\alpha_iy_i\mathbf{x}_i $$
对 $b$ 求偏导并令 0:
$$ \frac{\partial L}{\partial b}=-\sum_i\alpha_iy_i=0 $$
所以:
$$ \sum_i\alpha_iy_i=0 $$
对偶目标为:
$$ \max_{\alpha}\sum_i\alpha_i-\frac12\sum_i\sum_j\alpha_i\alpha_jy_iy_j\mathbf{x}_i^T\mathbf{x}_j $$
约束为 $\alpha_i\ge0$ 和 $\sum_i\alpha_iy_i=0$。
KKT 互补条件:
$$ \alpha_i[y_i(\mathbf{w}^T\mathbf{x}_i+b)-1]=0 $$
表示对每个样本,要么 $\alpha_i=0$,该样本不影响最终超平面;要么约束取等号,即样本落在间隔边界上,是支持向量。
非支持向量通常在间隔边界外,满足 $y_i(\mathbf{w}^T\mathbf{x}_i+b)>1$。此时约束不紧,由互补条件可得 $\alpha_i=0$,因此它们不直接决定超平面。
4. GMM 与 EM 一轮计算
责任度公式:
$$ \gamma_{jk}= \frac{\alpha_k\mathcal{N}(x_j;\mu_k,\sigma_k^2)} {\sum_{\ell=1}^{K}\alpha_\ell\mathcal{N}(x_j;\mu_\ell,\sigma_\ell^2)} $$
在初始参数下,责任度约为:
样本 $\gamma_{j1}$ $\gamma_{j2}$ $x=0$ 0.989 0.011 $x=1$ 0.818 0.182 $x=4$ 0.001 0.999 例如 $x=1$ 时:
$$ \gamma_{12}= \frac{0.5\mathcal{N}(1;3,1)} {0.5\mathcal{N}(1;0,1)+0.5\mathcal{N}(1;3,1)} \approx0.182 $$
有效样本数:
$$ N_1=0.989+0.818+0.001\approx1.807 $$
$$ N_2=0.011+0.182+0.999\approx1.193 $$
更新混合系数:
$$ \alpha_1'=\frac{1.807}{3}\approx0.602,\quad \alpha_2'=\frac{1.193}{3}\approx0.398 $$
更新均值:
$$ \mu_1'=\frac{0.989\times0+0.818\times1+0.001\times4}{1.807}\approx0.454 $$
$$ \mu_2'=\frac{0.011\times0+0.182\times1+0.999\times4}{1.193}\approx3.504 $$
EM 每轮通常不会降低似然,但目标函数可能非凸,且对初始化敏感,因此可能收敛到局部最优而不是全局最优。
5. 集成学习与随机森林
单棵决策树这类不稳定学习器对训练数据扰动敏感,方差较高。Bagging 通过自助采样训练多棵差异化的树,再对预测取平均或投票,可以抵消单个模型的波动,因此主要降低方差。
样本随机指每棵树使用 bootstrap 样本训练,使训练集不同。特征随机指每个结点只在随机抽取的一部分特征中选择最优划分。二者都增加树之间差异,降低相关性,使集成更有效。
AdaBoost 是串行训练,后一轮关注前一轮错分样本,并进行加权投票,主要降低偏差。Random Forest 是并行训练多棵随机树,通过投票聚合,主要降低方差。
6. 神经网络 BP 数值推导
前向传播:
$$ a=0.3\times1+0.2\times(-1)+0.1=0.2 $$
$$ h=\sigma(0.2)\approx0.550 $$
$$ z=-0.4\times0.550+0.2\approx-0.020 $$
$$ \hat{y}=\sigma(-0.020)\approx0.495 $$
$$ L=\frac12(0.495-0)^2\approx0.123 $$
输出层误差项:
$$ \delta_o=(\hat{y}-y)\hat{y}(1-\hat{y}) $$
$$ \delta_o=0.495\times0.495\times0.505\approx0.124 $$
隐藏层误差项:
$$ \delta_h=\delta_o v h(1-h) $$
$$ \delta_h=0.124\times(-0.4)\times0.550\times0.450\approx-0.012 $$
参数梯度:
$$ \frac{\partial L}{\partial v}=\delta_oh\approx0.124\times0.550=0.068 $$
$$ \frac{\partial L}{\partial b_o}=\delta_o\approx0.124 $$
$$ \frac{\partial L}{\partial w_1}=\delta_hx_1\approx-0.012 $$
$$ \frac{\partial L}{\partial w_2}=\delta_hx_2\approx0.012 $$
$$ \frac{\partial L}{\partial b_h}=\delta_h\approx-0.012 $$
BP 的核心思想是利用链式法则从输出层向前逐层传递误差信号,高效计算各层参数对损失函数的梯度。