说明:本卷继续采用本学院往年卷常见的章节题风格,重点放在统计学习三要素、CART、SVM 对偶、GMM/EM 一轮计算、集成学习和更完整的 BP 数值推导。内容与前三份模拟卷不同。


模拟试卷

一、选择题(每题 2 分,共 12 分)

  1. 统计学习方法三要素通常指( )

    A. 数据、标签、测试集
    B. 模型、策略、算法
    C. 分类、回归、聚类
    D. 偏差、方差、噪声

  2. 结构风险最小化相比经验风险最小化,额外强调( )

    A. 增加模型复杂度
    B. 加入模型复杂度惩罚以改善泛化
    C. 不使用训练数据
    D. 只最小化测试误差

  3. CART 分类树常用的划分指标是( )

    A. 欧氏距离
    B. 基尼指数
    C. AUC
    D. 似然函数

  4. EM 算法中,E 步主要做的是( )

    A. 固定隐藏变量后验,更新模型参数
    B. 在当前参数下估计隐藏变量的后验分布
    C. 删除异常样本
    D. 计算 PCA 特征向量

  5. AdaBoost 中被上一轮错误分类的样本,下一轮通常会( )

    A. 权重增大
    B. 权重变为 0
    C. 被永久删除
    D. 不再参与训练

  6. 若神经网络使用平方损失和 Sigmoid 输出,反向传播中输出层误差项包含的因子是( )

    A. $\hat{y}(1-\hat{y})$
    B. $x^Tx$
    C. $1/|\mathbf{w}|$
    D. $\log_2p$


二、大题(共 88 分)

1. 统计学习、过拟合与偏差-方差(14 分)

  1. 解释统计学习方法的模型、策略、算法三要素。(4 分)
  2. 区分经验风险和期望风险。为什么期望风险通常无法直接计算?(4 分)
  3. 说明经验风险最小化和结构风险最小化的区别。(3 分)
  4. 用偏差-方差分解解释欠拟合和过拟合。(3 分)

2. CART 与基尼指数(14 分)

给定数据集:

编号 $A$ $B$ 类别
1 0 0 +
2 0 1 +
3 0 1 -
4 1 0 -
5 1 0 -
6 1 1 -
  1. 写出基尼值 $Gini(D)$ 的公式,并计算整个数据集的基尼值。(4 分)
  2. 分别计算按属性 $A$ 和 $B$ 划分后的基尼指数。(6 分)
  3. CART 应选择哪个属性划分?(2 分)
  4. 比较基尼指数和信息熵的直观含义。(2 分)

3. SVM 对偶与 KKT 理解(16 分)

  1. 写出硬间隔 SVM 原始问题。(3 分)
  2. 写出对应的拉格朗日函数。(4 分)
  3. 由拉格朗日函数对 $\mathbf{w}$ 和 $b$ 求偏导,写出对偶问题的关键约束。(4 分)
  4. 解释 KKT 条件中 $\alpha_i[y_i(\mathbf{w}^T\mathbf{x}_i+b)-1]=0$ 的含义。(3 分)
  5. 为什么非支持向量通常对应 $\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 $$

  1. 写出责任度 $\gamma_{jk}$ 的计算公式。(3 分)
  2. 计算每个样本属于两个成分的责任度,保留 3 位小数。(6 分)
  3. 完成一次 M 步,更新 $\alpha_1,\alpha_2,\mu_1,\mu_2$。(5 分)
  4. 说明 EM 为什么不能保证全局最优。(2 分)

5. 集成学习与随机森林(12 分)

  1. 从 bias-variance 角度解释为什么 Bagging 能提升不稳定基学习器的泛化能力。(4 分)
  2. 说明 Random Forest 中“样本随机”和“特征随机”的作用。(4 分)
  3. 比较 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 $$

  1. 计算前向传播中的 $a,h,z,\hat{y},L$。(4 分)
  2. 计算输出层误差项 $\delta_o=\partial L/\partial z$。(3 分)
  3. 计算隐藏层误差项 $\delta_h=\partial L/\partial a$。(3 分)
  4. 计算所有参数梯度。(4 分)
  5. 用一句话说明 BP 算法的核心思想。(2 分)

参考答案与解析

一、选择题答案

  1. B。统计学习方法三要素为模型、策略、算法。
  2. B。结构风险在经验风险基础上加入模型复杂度惩罚。
  3. B。CART 分类树常用基尼指数。
  4. B。E 步在当前参数下计算隐藏变量后验。
  5. A。AdaBoost 会提高错分样本权重。
  6. A。Sigmoid 的导数为 $\hat{y}(1-\hat{y})$。

二、大题答案

1. 统计学习、过拟合与偏差-方差

  1. 模型指假设空间,即可被学习的函数或条件概率分布集合。策略指选择最优模型的准则,如经验风险最小化或结构风险最小化。算法指求解最优模型的具体计算方法,如梯度下降、牛顿法、SMO 等。

  2. 经验风险是模型在训练集上的平均损失:

    $$ R_{emp}(f)=\frac1m\sum_{i=1}^mL(y_i,f(x_i)) $$

    期望风险是模型在真实数据分布上的平均损失:

    $$ R_{exp}(f)=\mathbb{E}_{(X,Y)}[L(Y,f(X))] $$

    期望风险依赖真实数据分布,而真实分布通常未知,因此无法直接计算,只能用训练集或测试集近似估计。

  3. 经验风险最小化只追求训练集损失小,模型复杂时容易过拟合。结构风险最小化在经验风险上加入复杂度惩罚:

    $$ \min_f R_{emp}(f)+\lambda J(f) $$

    它在拟合训练数据和控制模型复杂度之间折中,更关注泛化。

  4. 欠拟合通常表现为高偏差、低方差,模型太简单,训练误差和测试误差都较高。过拟合通常表现为低偏差、高方差,模型过度适应训练集,训练误差低但测试误差高。泛化误差可理解为偏差平方、方差和噪声的组合。

2. CART 与基尼指数

  1. 基尼值:

    $$ 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 $$

  2. 按 $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 $$

  3. CART 选择划分后基尼指数最小的属性,因此选择 $A$。

  4. 信息熵衡量类别分布的不确定性,越混杂熵越大。基尼值可理解为随机抽取两个样本类别不一致的概率,越混杂基尼值越大。两者都用于衡量不纯度,只是计算形式不同。

3. SVM 对偶与 KKT 理解

  1. 硬间隔 SVM 原始问题:

    $$ \min_{\mathbf{w},b}\frac12|\mathbf{w}|^2 $$

    $$ s.t.\quad y_i(\mathbf{w}^T\mathbf{x}_i+b)\ge1 $$

  2. 拉格朗日函数为:

    $$ 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$。

  3. 对 $\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$。

  4. KKT 互补条件:

    $$ \alpha_i[y_i(\mathbf{w}^T\mathbf{x}_i+b)-1]=0 $$

    表示对每个样本,要么 $\alpha_i=0$,该样本不影响最终超平面;要么约束取等号,即样本落在间隔边界上,是支持向量。

  5. 非支持向量通常在间隔边界外,满足 $y_i(\mathbf{w}^T\mathbf{x}_i+b)>1$。此时约束不紧,由互补条件可得 $\alpha_i=0$,因此它们不直接决定超平面。

4. GMM 与 EM 一轮计算

  1. 责任度公式:

    $$ \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)} $$

  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 $$

  3. 有效样本数:

    $$ 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 $$

  4. EM 每轮通常不会降低似然,但目标函数可能非凸,且对初始化敏感,因此可能收敛到局部最优而不是全局最优。

5. 集成学习与随机森林

  1. 单棵决策树这类不稳定学习器对训练数据扰动敏感,方差较高。Bagging 通过自助采样训练多棵差异化的树,再对预测取平均或投票,可以抵消单个模型的波动,因此主要降低方差。

  2. 样本随机指每棵树使用 bootstrap 样本训练,使训练集不同。特征随机指每个结点只在随机抽取的一部分特征中选择最优划分。二者都增加树之间差异,降低相关性,使集成更有效。

  3. AdaBoost 是串行训练,后一轮关注前一轮错分样本,并进行加权投票,主要降低偏差。Random Forest 是并行训练多棵随机树,通过投票聚合,主要降低方差。

6. 神经网络 BP 数值推导

  1. 前向传播:

    $$ 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 $$

  2. 输出层误差项:

    $$ \delta_o=(\hat{y}-y)\hat{y}(1-\hat{y}) $$

    $$ \delta_o=0.495\times0.495\times0.505\approx0.124 $$

  3. 隐藏层误差项:

    $$ \delta_h=\delta_o v h(1-h) $$

    $$ \delta_h=0.124\times(-0.4)\times0.550\times0.450\approx-0.012 $$

  4. 参数梯度:

    $$ \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 $$

  5. BP 的核心思想是利用链式法则从输出层向前逐层传递误差信号,高效计算各层参数对损失函数的梯度。