高统

高统简答题

1. 什么情况下需要进行估计 f ?

在统计学习中,我们将输入 X 和输出 Y 的关系假设为 $Y = f(X) + \epsilon$。我们需要估计 f 通常出于以下两个主要目的:

  • 预测 (Prediction):当我们可以很容易获得输入 X,但很难获得输出 Y 时。我们希望通过$ \hat{Y} = \hat{f}(X)$ 来预测结果,此时我们只关心预测的准确性,而不太关心 $\hat{f}$ 的具体形式(它可以是一个黑盒)。

  • 推断 (Inference):当我们想理解 X 是如何影响 Y 时。我们需要确切知道 f 的形式,比如哪些特征最重要?它们与 Y 是正相关还是负相关?此时我们不能把 f 当作黑盒。

2. Y 作为预测,其精确度依赖于哪些量?

预测的精确度(通常用 $E(Y - \hat{Y})^2$ 衡量)依赖于两部分误差:

  1. 可约误差 (Reducible Error):来自于 $\hat{f}$ 对真实 f 的估计不完美。通过改进模型算法可以减少这部分误差。

  2. 不可约误差 (Irreducible Error):来自于 $\epsilon$(误差项)。因为 Y 本身包含无法通过 X 解释的变异,即使我们完美估计了 f,这部分误差依然存在。

3. 如何区分推断和预测?

这是 ISLR 的核心思想之一:

  • 预测关注的是:给一个新的 $X$,$\hat{Y}$ 能有多准? 我们不在乎模型内部看起来是什么样(哪怕它是复杂的神经网络)。

  • 推断关注的是:X 和 Y 之间的关系是什么? 我们需要模型具有可解释性 (Interpretability)。通常,线性模型适合推断,而非线性模型(如 Boosting、SVM)适合预测。

4. 推断中常用的基本问题有哪些?

在进行推断时,我们通常问以下三个问题:

  1. 哪些预测变量(predictors, X)与响应变量(response, Y)相关?(特征选择问题)

  2. 预测变量与响应变量之间的关系是什么?(正相关还是负相关?)

  3. 这种关系能够用线性方程总结吗,还是更复杂的非线性关系?

5. 如何利用均方误差 (MSE) 计算可约误差和不可约误差?

数学期望形式的分解如下(这是第二章最重要的公式):

$E(Y - \hat{Y})^2 = [f(X) - \hat{f}(X)]^2 + Var(\epsilon)$

  • $[f(X) - \hat{f}(X)]^2$:这是可约误差(即偏差和方差的组合)。

  • $Var(\epsilon)$:这是不可约误差(数据的固有噪声)。

6. 估计 f 的方法有哪些?

主要分为两大类:

  • 参数方法 (Parametric Methods)

    1. 假设 f 的函数形状(例如:假设它是线性的)。

    2. 利用训练数据拟合参数(例如:最小二乘法)。

  • 优点:简化问题,需要的样本量较少。

  • 缺点:如果假设的形状错误,偏差很大。

  • 非参数方法 (Non-parametric Methods)

    • 不假设 f 的明确形状,而是追求尽可能接近数据点(例如:样条、KNN)。

    • 优点:可以适应各种形状的 f。

    • 缺点:需要大量的观测数据,且容易过拟合。

7. 半指导学习 (Semi-supervised Learning) 的适用的数据模型为哪些?

ISLR 对此提及较少,但其定义是:

适用于只有少量数据有标签 (Y),但有大量数据只有输入 (X) 而没有标签的情况。这介于监督学习和无监督学习之间。

8. 模型的拟合效果如何评价(针对回归类模型)?

最常用的指标是 均方误差 (MSE, Mean Squared Error):

                                                    $MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{f}(x_i))^2$

  • 我们更关注测试 MSE (Test MSE) 而非训练 MSE,因为我们希望模型在未见数据上表现良好。

9. 描述曲线光滑度 (Smoothness) 的量是什么?

在统计学习语境下,这通常指的是灵活性 (Flexibility)自由度 (Degrees of Freedom)

  • 低自由度(如线性回归):曲线非常“硬”,是一条直线,不光滑(或者说极其平滑以至于没有波动)。

  • 高自由度(如 KNN 当 K=1 时):曲线非常“摆动 (wiggly)”,紧贴每个数据点。

  • (注:在平滑样条中,有一个专门的惩罚参数 $\lambda$ 控制光滑度,\lambda 越大越光滑/平直)

10. 光滑度 (Flexibility) 和偏差、方差的关系?

这是经典的 偏差-方差权衡 (Bias-Variance Trade-off)

  • 光滑度/灵活性 增加(模型变复杂):

    • 偏差 (Bias) 降低(模型能更好地拟合真实关系)。

    • 方差 (Variance) 升高(模型对训练数据的微小变化非常敏感)。

  • 光滑度/灵活性 降低(模型变简单):

    • 偏差 升高。

    • 方差 降低。

  • 目标:找到一个中间点,使 $Bias^2 + Variance$最小。

11. 分类模型最常用的估计精度的方法是什么?

错误率 (Error Rate) 或 误分类率 (Misclassification Rate):

                                    $\frac{1}{n} \sum_{i=1}^{n} I(y_i \neq \hat{y}_i)$

即:分类错误的样本数占总样本数的比例。

12. 贝叶斯错误率 (Bayes Error Rate) 如何计算?

贝叶斯错误率是理论上最低的可能错误率(类似于回归中的不可约误差)。

  • 策略:对于给定的 x,将样本分到 Pr(Y=j|X=x) 最大的那一类。

  • 计算:$1 - E(\max_j Pr(Y=j|X))$。

    • 意思是:1 减去我们在每个点上做出最佳选择时的平均概率。

13. KNN (K-最近邻) 算法的实现步骤?

KNN 是一种非参数方法:

  1. 选定 K 值(例如 K=3)。

  2. 对于一个新的观测点 x_0,在训练数据中找到距离它最近的 K 个点(通常使用欧氏距离)。

  3. 分类决策:这 K 个点中,哪个类别的占比最高(投票),就将 x_0 归为哪一类。

    • (注:对于概率,$Pr(Y=j|X=x_0) = \frac{1}{K} \sum_{i \in N_0} I(y_i = j))$

第一部分:核心推断与评估 (Inference & Evaluation)

1. 估计参数测量接近程度的常用方法是什么?

  • 标准误 (Standard Error, SE)

  • 它衡量了我们的估计值 \hat{\beta} 与真实值 \beta 之间的平均偏离程度。

  1. 总体均值的标准误 vs 残差的标准误?

这是一个易混淆点:

  • 总体均值 \hat{\mu} 的标准误:$SE(\hat{\mu}) = \frac{\sigma}{\sqrt{n}}$。衡量的是样本均值估计总体的准确度。

  • 残差标准误 (RSE, Residual Standard Error):RSE = $\sqrt{\frac{RSS}{n-2}}$。衡量的是模型预测值偏离真实数据点的平均距离(即 \epsilon 的标准差估计)。

3. 置信区间 (Confidence Interval) 如何计算?(95%, 99%)

  • 通式:$\hat{\beta}1 \pm t{\alpha/2, n-2} \times SE(\hat{\beta}_1)$。

  • 95% 置信区间:大约是 $\hat{\beta}_1 \pm 2 \cdot SE(\hat{\beta}_1)$。

  • 这意味着:如果我们重复取样并计算区间,95% 的区间会包含真实的 \beta_1。

4. 如何判断预测变量和响应变量之间存在相关性?

  • p 值 (p-value)。如果 p < 0.05(通常标准),则拒绝原假设 ($H_0: \beta_1 = 0$),认为存在相关性。
  1. 判断线性回归拟合质量的标准?

两个核心指标:

  1. RSE (残差标准误):越小越好。衡量绝对误差。

  2. $R^2$ (决定系数):越接近 1 越好。衡量模型解释了数据变异的百分比 $(1 - RSS/TSS)$。

6. 为什么有些变量在简单回归中显著,在多元回归中变得不显著?

  • 这是因为预测变量之间存在相关性 (Collinearity)

  • 在简单回归中,X_1 可能只是代理了 X_2 的作用(因为它们相关)。

  • 在多元回归中,我们控制了 X_2,此时 X_1 纯粹的、额外的贡献可能就为零了。


第二部分:多元回归与模型选择 (Multiple Regression)

7. 如何判断多个响应变量和预测变量之间有关系?(多元分析)

  • 这里通常指判断整体模型是否显著,使用 F-统计量 (F-statistic)

  • 即使所有单个变量的 p 值都不显著,F 统计量依然可能显著(对抗多重检验问题)。

8. 如何选择重要的变量?(变量选择方法)

  1. 向前选择 (Forward Selection):从零开始,逐个加显著变量。

  2. 向后选择 (Backward Selection):先包含所有变量,逐个剔除不显著的(p值最大)。

  3. 混合选择 (Mixed Selection):结合上述两者。

9. 拒绝向后选择 (Backward Selection) 的条件有哪些?

  • 硬性条件:当样本量 n 小于变量数 p 时 (n < p),无法使用向后选择(因为无法拟合包含所有变量的初始模型)。此时只能用向前选择。

第三部分:定性变量与模型假设 (Categorical & Assumptions)

10. 哑变量 (Dummy Variables) 和水平数 (Levels) 的关系?什么是基准水平?

  • 如果一个定性变量有 K 个水平(Level),我们需要创建 K-1 个哑变量。

  • 基准水平 (Baseline):就是那个没有对应哑变量的水平。所有的系数 \beta 都是相对于这个基准水平的差异。

11. 线性模型的假设有哪些?(经典考题)

  1. 线性 (Linearity):X 和 Y 是线性关系。

  2. 独立性 (Independence):误差项 \epsilon_i 之间互不相关(针对时间序列数据很重要)。

  3. 正态性 (Normality):误差项服从正态分布。

  4. 同方差性 (Homoscedasticity):误差项的方差 \sigma^2 是常数,不随 X 变化。

12. 线性模型存在的问题?(诊断)

  1. 数据的非线性 (Non-linearity)。

  2. 误差项自相关 (Correlation of error terms)。

  3. 异方差性 (Non-constant variance of error terms)。

  4. 异常值 (Outliers)。

  5. 高杠杆点 (High Leverage points)。

  6. 共线性 (Collinearity)。

13. 如何去除可加性假设?什么是实验分层原则 (Hierarchy Principle)?

  • 去除可加性:引入 交互项 (Interaction Term),例如 $X_1 \times X_2$。这意味着 X_1 对 Y 的影响取决于 X_2 的取值。

  • 分层原则 (Hierarchy Principle):如果模型中包含了交互项$X_1 \times X_2$,那么必须同时也包含主效应 X_1 和 X_2,即使它们的主效应 p 值不显著。

14. 如何去除线性假设?

  • 引入 多项式回归 (Polynomial Regression),例如加入 X^2, X^3。

第四部分:预测与 KNN (Prediction & KNN)

15. 如何精确地估计某一个预测变量对响应变量的影响?

  • 使用 置信区间 (Confidence Interval)。它告诉我们 \hat{f}(x) 的平均值在哪里。

16. 如何判断未来的预测精度呢?

  • 使用 预测区间 (Prediction Interval)

  • 注意:预测区间总是比置信区间,因为它不仅要考虑参数估计的不确定性(可约误差),还要包含单个点的随机误差 \epsilon(不可约误差)。

17. KNN 回归和分类的具体区别?

  • KNN 分类:输出是邻居类别的众数 (Majority Vote)

  • KNN 回归:输出是邻居 Y 值的平均数 (Average)

第一部分:逻辑回归 (Logistic Regression)

  1. 为什么定性变量的回归问题不能使用线性回归?

主要有两个原因:

  1. 编码没有自然顺序:如果响应变量 Y 有三个类别(如:狗、猫、鸟),编码为 1, 2, 3。线性回归会假设 1 < 2 < 3 且 (2-1) = (3-2),这意味着“狗和猫的差距”等于“猫和鸟的差距”,这在逻辑上通常是不成立的。

  2. 概率越界:如果是二分类问题(编码 0 和 1),线性回归预测的 Y 值可能小于 0 或大于 1,这作为“概率”是没有意义的。

2. 逻辑斯蒂函数表达式以及对数发生比 (Log-odds) 的构造?其含义?

  • Logistic 函数(确保输出在 [0,1] 之间):

    $p(X) = \frac{e^{\beta_0 + \beta_1 X}}{1 + e^{\beta_0 + \beta_1 X}}$

  • 对数发生比 $(Log-odds / Logit)$:

    $\log\left(\frac{p(X)}{1-p(X)}\right) = \beta_0 + \beta_1 X$

  • 含义:X 每增加一个单位,对数发生比增加 \beta_1。注意:p(X) 与 X 的关系是非线性的,所以不能简单说概率增加了 \beta_1。

3. 估计系数的基本方法?

  • 最大似然估计 (Maximum Likelihood Estimation, MLE)

  • 我们寻找一组 \beta,使得观测到的数据出现的概率(似然函数)最大化。与之相对,线性回归使用的是最小二乘法 (Least Squares)。


第二部分:线性判别分析 (LDA) 与 QDA

  1. 不使用逻辑斯蒂回归的原因?(即:什么时候 LDA 优于 Logistic?)

这是 ISLR 的经典考点,LDA 在以下情况更好:

  1. 类与类分得特别开:逻辑回归的参数估计会不稳定,而 LDA 很稳定。

  2. 样本量 n 较小 且 X 近似正态分布:LDA 比逻辑回归更稳健。

  3. 多分类问题 (K > 2):LDA 处理多分类更自然。

  4. 线性判别分析实现的“基本步骤”?

LDA 的核心是贝叶斯定理:

  1. 假设每一类观测值 f_k(x) 服从正态分布 (Gaussian)

  2. 假设所有类别的方差 (或协方差矩阵) 相等 ($\sigma_1^2 = \dots = \sigma_k^2 = \sigma^2$)。

  3. 利用贝叶斯公式计算后验概率 Pr(Y=k|X=x)。

  4. 将观测分给后验概率(或线性判别分数 \delta_k(x))最大的一类。

6. 贝叶斯分类器的分类结果如何表达?

  • 它将观测点 x_0 分配给使得 Pr(Y=j|X=x_0) 最大 的那个类别 j。

  • 这也是理论上错误率最低的分类器。

7. 为什么 LDA 的灵敏度 (Sensitivity) 这么低?

  • LDA 默认使用 0.5 (50%) 作为后验概率的阈值进行分类。

  • 如果样本严重不平衡(例如:欺诈交易只占 1%),为了最大化整体准确率 (Accuracy),模型会倾向于把所有人都预测为“正常”。这导致整体准确率很高(99%),但几乎没抓到一个坏人,所以灵敏度 (Sensitivity) 极低。

  • 解决方法:降低阈值(例如,只要 P(Default|X) > 0.2 就判为违约)。

8. QDA 在实现过程中和 LDA 存在哪些不同?

  • 假设不同:LDA 假设所有类别的协方差矩阵相同 (\Sigma_k = \Sigma);QDA 假设每一类有自己的协方差矩阵 (\Sigma_k)

  • 边界形状:LDA 是线性的 (Linear);QDA 是二次的 (Quadratic),曲线更弯曲。

  • 权衡:QDA 灵活性更高(低偏差),但需要估计更多参数(高方差),需要更多的数据。


第三部分:模型评估 (Evaluation)

  1. 灵敏度、特异度、召回率和精确度的计算?

假设:Positive (P) 是我们要检测的关注类(如患病),Negative (N) 是正常类。

  • 灵敏度 (Sensitivity) / 召回率 (Recall):$\frac{TP}{TP + FN}$ (所有真病人中,抓出来多少?)

  • 特异度 (Specificity):$\frac{TN}{TN + FP}$ (所有健康人中,排除了多少?)

  • 精确度 (Precision):$\frac{TP}{TP + FP}$ (我预测为有病的人里,多少是真的有病?)

10. 第一类错误和第二类错误的区分?

  • 第一类错误 (Type I Error):假阳性 (False Positive)。没病说有病(拒真)。

  • 第二类错误 (Type II Error):假阴性 (False Negative)。有病说没病(取伪)。

11. ROC 图像的基本使用?

  • 横轴:1 - 特异度 (False Positive Rate)。

  • 纵轴:灵敏度 (True Positive Rate)。

  • 用法:ROC 曲线展示了在所有可能的阈值下模型的表现。

  • AUC (Area Under Curve):曲线下的面积。AUC 越大(接近 1),模型越好。AUC = 0.5 相当于瞎猜。


第四部分:KNN

12. K 近邻算法需要输入的多组参数有哪些?K 值对分类的影响?

  • 输入参数

    1. 训练数据 X 和标签 Y。

    2. 测试点 x_0。

    3. K 值 (邻居数量)。

  • K 的影响

    • K 很小 (e.g., K=1):决策边界非常扭曲、复杂,低偏差,高方差(容易过拟合)。

    • K 很大:决策边界接近线性,非常平滑,高偏差,低方差

这张图片涉及 ISLR 第五章:重抽样方法 (Resampling Methods)

这一章非常重要,因为它是现代统计学习中模型选择 (Model Selection)模型评估 (Model Assessment) 的基石。如果没有交叉验证,我们就无法客观地选择最优模型。

作为统计学大师,我将为你逐一解答这些问题,重点解释 LOOCV 与 k-fold 的偏差-方差权衡,这是考试必考的难点。


第一部分:验证集方法 (The Validation Set Approach)

1. 交叉验证常用的误差估计方法?

  • 对于回归问题:均方误差 (MSE)

  • 对于分类问题:误分类率 (Error Rate)

  1. 验证集方法存在的问题有哪些?

这是最原始的方法(将数据随机分为 50% 训练,50% 测试),主要有两个大缺陷:

  1. 高方差 (High Variability):测试误差的估计非常依赖于你是如何分割数据的。换一个随机种子,切分结果不同,评估结果可能波动很大。

  2. 高偏差 (Overestimation of Error):因为你只用了原本数据的一半 (n/2) 来训练模型。我们知道数据越少模型越差,所以这个方法会高估模型在完整数据集上的错误率。


第二部分:留一交叉验证 (LOOCV)

3. 留一交叉验证 (LOOCV) 的测试误差估计的均值如何计算?

  • 步骤:

    1. 总共有 n 个样本。

    2. 拿出第 1 个样本作为测试集,用剩余 n-1 个训练,算 MSE_1。

    3. 拿出第 2 个样本作为测试集,用剩余 n-1 个训练,算 MSE_2。

    4. …重复 n 次。

  • 计算:

    $CV_{(n)} = \frac{1}{n} \sum_{i=1}^{n} MSE_i$

  • 大师提示(图里提到的那个线性回归特例):在线性回归中,LOOCV 其实不需要训练 n 次,只要训练一次就可以算出来:$CV_{(n)} = \frac{1}{n} \sum (\frac{y_i - \hat{y}_i}{1-h_i})^2$,其中 h_i 是杠杆值。

4. 留一交叉验证和验证集方法的比较?

  • 偏差 (Bias):LOOCV 更低。因为它用了 n-1 个数据训练(几乎是全部),非常接近在这个数据集上能达到的最好效果。

  • 随机性:LOOCV 没有随机性(总是切那一个),结果是确定的;验证集方法有随机性。


第三部分:k 折交叉验证 (k-fold CV) —— 核心考点

5. 使用交叉验证的目的是什么?是对 MSE 的真值感兴趣吗?

  • 目的

    1. 模型评估 (Model Assessment):估计模型在未知数据上的表现。

    2. 模型选择 (Model Selection):在多个模型(不同灵活性)中选最好的那个。

  • 关于真值:我们通常不是特别关心 MSE 的绝对真值是多少,而是关心哪个模型的 MSE 最小。我们需要的是 MSE 曲线的最小值位置(用于确定模型复杂度,如 KNN 的 K 值或 Lasso 的 \lambda)。

  1. LOOCV 方法和 k 折方法的异同点?如何进行偏差-方差的均衡?(重点!)

这是 ISLR 第五章最深刻的理论部分:

  • 计算成本:LOOCV 极其昂贵(跑 n 次);k-fold 便宜(通常 k=5 或 10,只跑 5 或 10 次)。

  • 偏差 (Bias)LOOCV 偏差更低。因为它用的训练数据 (n-1) 比 k-fold (n - n/k) 更多,更接近真实分布。

  • 方差 (Variance)k-fold 方差更低(这是反直觉的,请仔细看):

    • LOOCV 的 n 个模型是在几乎完全相同的数据上训练的(重叠度极高),导致这 n 个预测结果高度相关。对高度相关的量取平均,方差减少得很少。

    • k-fold 的 k 个模型之间重叠度较低,相关性较低。

  • 结论:k-fold (k=5 or 10) 通常是偏差-方差权衡的最佳选择。它既不会像验证集那样高偏差,也不会像 LOOCV 那样高方差。

7. 对于分类问题,交叉验证的评判标准是什么?

  • 依然是 误分类率 (Error Rate):

    $CV_k = \frac{1}{k} \sum_{i=1}^{k} Err_i$

    其中 Err_i 是第 i 折里的错误比例。


第四部分:实际应用与自助法 (Bootstrap)

8. 使用 KNN 分类器时,使用训练错误率还是交叉验证错误率对 K 值进行选择?为什么?

  • 必须使用交叉验证错误率 (CV Error)

  • 原因

    • 训练错误率具有误导性。随着 K 变小(模型变复杂),训练错误率会单调下降直到 0。但这并不代表模型好,而是过拟合

    • CV 错误率会呈现 U 型曲线。它能捕捉到过拟合,帮助我们找到偏差和方差平衡的那个最优 K。

9. 自助法 (Bootstrap) 适用的条件?

  • 适用场景:当我们想衡量估计量的不确定性(如标准误 SE、置信区间)时,特别是当这些估计量的理论公式很复杂或不存在时(比如中位数的中位数,或者非线性模型的参数)。

  • 核心思想:从原始数据集中有放回地 (with replacement) 重复采样,生成多个“假”的数据集,计算参数,然后看这些参数的分布。

  • 注意:Bootstrap 一般不用于评估模型的预测精度(因为有放回采样导致某些样本出现多次,某些不出现,会造成训练集和测试集重叠,严重低估误差)。

第一部分:最小二乘法的问题与扩展 (OLS Issues & Extensions)

1. p 和 n 的大小会对最小二乘 (OLS) 的结果产生怎样的影响?最小二乘是如何减小计量方差的?

  • 影响

    • 当 $n \gg p$ 时:OLS 表现良好,具有低方差和低偏差。

    • 当 p 接近 n 时:OLS 容易过拟合,方差 (Variance) 剧增

    • 当 p > n 时:OLS 无法通过唯一解(方程数少于未知数),方差无穷大。

  • 如何减小方差

    • 通过 约束 (Constraining)收缩 (Shrinking) 估计系数(如 Ridge/Lasso)。

    • 这会引入少量偏差 (Bias),但能大幅降低方差,从而降低整体 MSE。

  1. 对线性回归模型的拓展方法有哪些?基本原理是什么?

主要有三类:

  1. 子集选择 (Subset Selection):挑出一部分最好的变量来拟合。

  2. 收缩方法 (Shrinkage/Regularization):保留所有变量,但把系数往 0 压缩(Ridge, Lasso)。

  3. 降维方法 (Dimension Reduction):将 p 个变量组合成 M 个新变量 (M < p),然后进行回归(PCR, PLS)。


第二部分:子集选择 (Subset Selection)

3. 最优子集方法 (Best Subset Selection) 的构建过程是怎样的?

  • 这是一个穷举过程:

    1. 拟合 M_0 (零模型)。

    2. 对于 $k=1, 2, \dots, p$:拟合所有可能的 C_p^k 个模型,挑出 RSS 最小(或 R^2 最大)的那个作为 M_k。

    3. 最后在 $M_0, \dots, M_p$ 中,利用交叉验证、AIC 或 BIC 选出唯一的最优模型。

4. 子集选择方法结果的评判标准是什么?

  • 训练误差不足以作为标准(因为变量越多,训练 RSS 必然越小)。

  • 间接估算:C_p, AIC, BIC, 调整 R^2 (Adjusted R^2)。这些指标会对变量数量 d 进行惩罚。

  • 直接估算:验证集误差 (Validation Set Error) 或 交叉验证误差 (Cross-Validation Error)

5. 逐步选择 (Stepwise) 相较于最优子集的优点?

  • 计算效率:最优子集需要拟合 2^p 个模型,当 p>20 时计算量爆炸。逐步选择只需拟合约 p^2 个模型。

  • 统计稳定性:当 p 很大时,最优子集搜索空间太大,容易在训练数据上过拟合(找到纯粹由噪声构成的“好”模型)。逐步选择搜索空间小,方差更低。

6. 向前选择和向后选择实现过程?

  • 向前选择 (Forward):从空模型开始,每次加一个能使 RSS 下降最多的变量,直到加满。

  • 向后选择 (Backward):从全模型开始,每次剔除一个 p 值最大(最不重要)的变量,直到为空。

7. 为什么向后选择在 n < p 的情况下不成立?

  • 因为向后选择的第一步是拟合包含所有变量的全模型

  • 当 n < p 时,全模型无法拟合(自由度不够,矩阵不可逆),所以无法启动。

  • 注:向前选择在 n < p 时依然可用。

8. 最优模型选择的方法有哪些?

  • $C_p, AIC, BIC$(偏向选简单模型), Adjusted R^2。

  • 一倍标准误准则 (One-Standard-Error Rule):在交叉验证中,不一定选误差最小的点,而是选在最小误差的一个标准误范围内,模型最简单(变量最少)的那个点


第三部分:正则化/收缩方法 (Ridge & Lasso) —— 核心重难点

9. 岭回归 (Ridge) 中为什么不对 \beta_0 进行惩罚?

  • \beta_0 是截距项,代表当所有 X=0 时 Y 的平均值。

  • 如果惩罚 \beta_0,就会强制回归线经过原点(或接近原点),但这取决于数据的测量单位和位置,没有实际物理意义。我们只希望压缩变量的影响力,不希望改变数据的基准水平。

10. 为什么在使用岭回归之前需要对数据进行标准化处理?标准化公式?

  • 原因:岭回归的惩罚项$\lambda \sum \beta_j^2$ 对变量的尺度 (Scale) 非常敏感。如果 X_1 是“米”,X_2 是“毫米”,X_1 的系数会很大,受到更多惩罚。标准化让所有变量处于公平的起跑线。

  • 公式:$\tilde{x}{ij} = \frac{x{ij}}{\sqrt{\frac{1}{n} \sum (x_{ij} - \bar{x}_j)^2}}$(即除以标准差,使其方差为1)。

11. 为什么岭回归优化了最小二乘的结果?

  • 偏差-方差权衡 (Bias-Variance Trade-off)

  • 随着 \lambda 增大,岭回归系数减小(偏离真实值),偏差略微增加

  • 但同时,模型对训练数据的噪声不再那么敏感,方差大幅下降

  • 只要方差下降的幅度超过偏差上升的幅度,整体 MSE 就会下降。

12. 为什么提出 Lasso 回归?(Lasso vs Ridge)

  • Ridge 的缺点是:最终模型包含所有 p 个变量(系数趋向于 0 但不等于 0)。这使得模型难以解释

  • Lasso 的优点是:它可以将部分系数完全压缩为 0,从而实现变量选择 (Variable Selection),得到稀疏模型。

13. 为什么 Lasso 可以将系数估计完全缩为 0?(几何解释)

  • 几何解释:Lasso 的约束区域是菱形$(Diamond, | \beta_1 | + | \beta_2 | \leq s)$,有尖角。RSS 的等高线很容易在尖角处(即坐标轴上)与约束区域相切。在坐标轴上意味着某个 \beta = 0。

  • Ridge 的约束区域是圆形 $(\beta_1^2 + \beta_2^2 \leq s)$,没有尖角,切点几乎不可能刚好在坐标轴上。

14. 岭回归和 Lasso 回归的不同适用条件?

  • Lasso:适用于只有少数几个变量真正起作用,其他变量都是噪声的情况(稀疏信号)。

  • Ridge:适用于大部分变量都对 Y 有贡献,且贡献度差不多大的情况(密集信号)。

15. 岭回归的贝叶斯解释中对应的密度函数是什么?Lasso 呢?

  • Ridge:假设系数 \beta 的先验分布服从 高斯分布 (Normal/Gaussian Distribution)

  • Lasso:假设系数 \beta 的先验分布服从 拉普拉斯分布 (Laplace / Double-Exponential Distribution)(这种分布在 0 处有尖峰)。


第四部分:降维方法 (Dimension Reduction)

16. 降维方法是如何实现的呢?

  • 我们不直接用 X_1, \dots, X_p 回归。

  • 而是构造 Z_1, \dots, Z_M (M < p),其中每个 Z_m 都是原始 X 的线性组合 (\sum \phi_{jm} X_j)。

  • 然后用 Y 对 Z 进行最小二乘回归。

17. 降维常用的方法有哪些?

  • 主成分回归 (PCR, Principal Components Regression):无监督地构造 Z,只看 X 的方差,不看 Y。

  • 偏最小二乘 (PLS, Partial Least Squares):有监督地构造 Z,同时利用 X 和 Y 的信息,寻找既能解释 X 变异又能解释 Y 的方向。

18. 主成分分析法需要进行标准化处理吗?偏最小二乘呢?

  • 必须标准化

  • 如果不标准化,方差大的变量(单位大的变量)会主导主成分的构造,导致降维结果偏向于单位大的变量,而非真正重要的结构。

第一部分:基础非线性模型 (Polynomials & Step Functions)

  1. 非线性回归有哪些类型?

ISLR 第七章主要介绍了以下几种:

  1. 多项式回归 (Polynomial Regression):引入 X^2, X^3 等。

  2. 阶梯函数 (Step Functions):将 X 切分为不同的区间,每个区间拟合一个常数。

  3. 回归样条 (Regression Splines):分段多项式 + 节点约束。

  4. 光滑样条 (Smoothing Splines):RSS + 平滑惩罚项。

  5. 局部回归 (Local Regression):只利用邻近点进行加权拟合。

  6. 广义可加模型 (GAMs):将上述方法扩展到多个预测变量。

2. 多项式回归最高阶数?为什么这样设置?

  • 最高阶数:通常不超过 3 或 4 (d=3, 4)。

  • 原因

    • 尾部震荡:高阶多项式在数据的边界(头部和尾部)会产生剧烈的震荡(Runge现象),导致极高的方差。

    • 解释性差:很难解释 X^8 到底代表什么物理意义。


第二部分:样条 (Splines) —— 核心考点

3. 三次样条 (Cubic Splines) 的自由度是多少?

  • 公式:df = 4 + K。

  • 解释

    • 一个没有任何约束的三次多项式有 4 个参数 (\beta_0, \beta_1, \beta_2, \beta_3)。

    • 每增加一个节点 (Knot),为了保持平滑(连续、一阶导连续、二阶导连续),我们实际上增加了一个自由度(或者说截断幂基函数)。

    • 所以如果有 K 个节点,自由度就是 4+K。

    • 注意:如果不加截距项,有时会被记为 3+K+1 或直接说用了 K+4 个基函数。

  1. 三次样条函数的基本形式是什么?

使用截断幂基 (Truncated Power Basis) 表示:

$y_i = \beta_0 + \beta_1 x_i + \beta_2 x_i^2 + \beta_3 x_i^3 + \sum_{k=1}^K \beta_{k+3} h(x_i, \xi_k) + \epsilon_i$

其中 h(x, \xi) 是截断函数:当 x > \xi 时为 (x - \xi)^3,否则为 0。这一项确保了在节点 \xi_k 处的平滑连接。

5. 为什么使用自然样条 (Natural Spline)?

  • 问题:普通的三次样条在边界区域(第一个节点之前和最后一个节点之后)方差非常大,预测很不稳定。

  • 解决:自然样条强制要求函数在边界区域是线性的(二阶导为0)。

  • 结果:牺牲了一点点偏差,换取了边界区域方差的大幅降低,预测更稳定。

6. 拟合样条的节点位置如何确定?节点的数量如何确定呢?

  • 位置 (Location)

    • 简单方法:等距分布。

    • 常用方法:根据分位数分布。数据密集的地方节点多,数据稀疏的地方节点少。

  • 数量 (Number)

    • 使用 交叉验证 (Cross-Validation)。尝试不同的节点数 K,画出 CV 误差曲线,选误差最小的那个。
  1. 相较于多项式回归,样条拟合的优点在哪?

这是一个经典的对比题:

  • 多项式回归全局的:为了适应局部的一个弯曲,整个函数(包括远处)都会受到影响并剧烈波动。要增加灵活性必须增加次数 d,导致全局不稳定。

  • 样条局部的:它可以保持低阶数(比如 3 阶),通过增加节点 K 来增加灵活性。增加一个节点只会影响该节点附近的拟合,不会导致整个曲线乱动。样条更稳健。


第三部分:光滑样条 (Smoothing Splines)

  1. 如何理解光滑样条中的惩罚项?

目标函数:

$\sum_{i=1}^{n} (y_i - g(x_i))^2 + \lambda \int g’’(t)^2 dt$

  • 第一项:拟合程度(RSS)。使曲线靠近数据点。

  • 第二项 (惩罚项):光滑程度。g’’(t) 衡量曲线的曲率(弯曲程度)。

  • \lambda 的作用

    • \lambda = 0:完全不惩罚,曲线会穿过所有点(过拟合)。

    • \lambda \to \infty:惩罚无限大,不允许任何弯曲,结果变成一条直线(最小二乘回归)。

9. 为什么光滑样条更加注重有效自由度 (df_\lambda)?

  • 在光滑样条中,我们不选“节点数量”(实际上它在每个数据点都设了节点,有 n 个节点)。

  • 我们调节的是 \lambda。但 \lambda 是个抽象的数字(比如 0.005),很难直观理解模型的复杂度。

  • 所以我们将 \lambda 转换为 有效自由度 (Effective Degrees of Freedom)。比如 df_\lambda = 8 意味着这个平滑样条的灵活性相当于一个有 8 个参数的多项式。这让我们能直观地量化模型复杂度。


第四部分:局部回归与 GAM

10. 局部回归 (Local Regression) 的实现步骤?

  1. 选点:对于要预测的目标点 x_0。

  2. 找邻居:找到离 x_0 最近的 k 个点(占据总数据的比例 s)。

  3. 赋权重:离 x_0 越近的点权重越大,远的权重小。

  4. 拟合:利用这些加权的点,拟合一个加权最小二乘回归(通常是线性的)。

  5. 预测:根据拟合出的线计算 \hat{f}(x_0)。

  6. GAM 模型 (Generalized Additive Models) 的优缺点?

GAM 允许我们把非线性结合到多元回归中:Y = \beta_0 + f_1(X_1) + f_2(X_2) + \dots + \epsilon。

  • 优点

    1. 非线性:能自动拟合每个变量的非线性关系。

    2. 可加性/可解释性:因为是相加关系,我们可以单独把 f_1(X_1) 画出来,观察 X_1 如何独立影响 Y(控制其他变量不变)。

  • 缺点

    1. 忽略交互作用:默认假设变量之间没有交互。如果 X_1 和 X_2 有交互效应,GAM 会漏掉(除非你手动加入交互项 f(X_1, X_2))。

第一部分:基础决策树 (Decision Trees)

1. 回归树的建立过程?

  • 采用 自上而下、贪婪 (Greedy) 的递归二叉分裂 (Recursive Binary Splitting)

  • 自上而下:从包含所有观测的根节点开始。

  • 贪婪:在每一步,只考虑当前最好的分裂,不考虑这一步对未来分裂的影响。

  • 过程:遍历所有预测变量 X_j 和所有可能的切分点 s,找到能使产生的两个区域的 RSS (残差平方和) 最小 的那个切分 (j, s)。

2. 为什么要引入树的剪枝 (Pruning)?本书采用的哪一种剪枝方式?

  • 原因:如果不剪枝,树会长得非常茂盛(每个叶子节点甚至只有一个样本),导致过拟合,模型极其复杂,方差极高。

  • 方法代价复杂性剪枝 (Cost Complexity Pruning),也叫最弱连接剪枝$(Weakest Link Pruning)$。

  • 原理:我们在最小化 RSS 的同时,对树的终端节点数量 |T| 进行惩罚。

    $\text{Minimize } \sum_{m=1}^{|T|} \sum_{i \in R_m} (y_i - \hat{y}_{R_m})^2 + \alpha |T|$

3. 代价复杂度剪枝是如何实现的?相关的系数 \alpha 如何求解?

  • \alpha 是一个调节参数,控制树的复杂度与拟合优度之间的权衡。

  • 求解 \alpha:我们无法直接算出最优的 \alpha,而是使用 K 折交叉验证 (K-fold Cross-Validation)。选取使交叉验证误差最小的那个 \alpha 值,然后返回对应的那棵子树。

4. 回归树终端节点的判断条件是什么?

  • 对于回归树,终端节点(叶子)的预测值是该区域内所有训练观测值的平均值 (Mean)

  • 分裂停止条件通常是:节点包含的观测数少于某个阈值(如 5 个),或者 RSS 下降幅度不再显著。

5. 分类树和回归树的评价标准是什么?

  • 回归树RSS (残差平方和)。

  • 分类树基尼系数 (Gini Index)交叉熵 (Cross-Entropy)。也可以用分类错误率,但它对树的生长不够敏感。

6. 基尼系数的大小对分类树的影响?互熵呢?

  • 这两个指标都是衡量节点纯度 (Node Purity) 的。

  • 值越小,纯度越高。如果一个节点里的样本全属于同一类,基尼系数和熵都为 0。

  • 在构建树时,我们总是寻找能让基尼系数或熵下降最多的分裂点。


第二部分:树的优缺点与对比

7. 线性回归和决策树的适用情况?

  • 线性回归:适用于真实边界是线性的(Linear)。

  • 决策树:适用于真实关系高度非线性或复杂的(Complex/Non-linear)。

  • (考试技巧:如果问哪个更好,答案永远是“取决于数据特征”。)

8. 树方法相较于传统方法的优点?

  1. 易于解释:可视化效果好,甚至比线性回归更直观(像人类做决策的过程)。

  2. 处理定性变量:不需要像线性回归那样先生成哑变量 (Dummy Variables)。

  3. 可视化:可以画出漂亮的树图。

9. 树方法相较于其他回归和分类方法的缺点是什么?

  1. 预测准确性较低:单棵树通常打不过线性回归或样条。

  2. 方差高 (High Variance):这是最大的痛点。数据稍微改动一点点,生成的树可能完全不同。


第三部分:装袋法 (Bagging) 与 随机森林 (Random Forest)

10. 装袋法实现的基本原理?定性变量如何处理呢?

  • 原理Bootstrap Aggregation。利用 Bootstrap 从原数据集中有放回地抽取 B 个样本集,训练 B 棵树(不剪枝),然后取平均。

  • 降低方差:平均化多个独立(虽然不是完全独立)的模型可以降低方差。

  • 定性变量(分类问题):对于分类,装袋法采用多数投票 (Majority Vote)——所有树中预测最多的那个类别作为最终结果。

11. 随机森林方法的实现过程?

  • 随机森林是装袋法的升级版,目的是降低树之间的相关性 (Decorrelate the trees)

  • 过程:在构建树的每一步分裂时,只允许从随机抽取的 m 个预测变量中选择(而不是所有 p 个)。

  • 通常选择$m \approx \sqrt{p}$。

  • 这强制让树彼此长得不一样,从而进一步降低方差。


第四部分:提升法 (Boosting)

12. 应用提升法的回归树的构建过程?

  • Boosting 是串行 (Sequential) 的,不是并行的。

  • 步骤

    1. 先初始化 f(x) = 0, r_i = y_i。

    2. 拟合一棵树 $\hat{f}^1$ 到残差 r 上(而不是 Y 上)。

    3. 更新模型:$\hat{f} \leftarrow \hat{f} + \lambda \hat{f}^1。$

    4. 更新残差:$r \leftarrow r - \lambda \hat{f}^1。$

    5. 重复 B 次。

  • 核心思想:每棵新树都在修补上一棵树犯的错。

13. 提升法的三个重要的调整参数?

  1. 树的数量 (B):Boosting 会过拟合(不像 Bagging),所以 B 不能无限大,需要通过交叉验证选择。

  2. 收缩参数 (\lambda, Shrinkage/Learning Rate):控制学习速度。通常很小(0.01 或 0.001)。这意味着我们需要很多棵树来逐步逼近。

  3. 树的深度 (d, Interaction Depth):控制每棵树的复杂度(交互作用)。通常 d 很小(1 到 4)。如果 d=1,称为树桩 (Stump)。

14. 提升法应用的函数是什么?

  • 它应用的是慢速学习 (Slow Learning) 的概念。

  • 通过将每一步的学习结果乘以 \lambda,让模型一点一点地从残差中提取信息,而不是一次性拟合所有数据。这使得模型在预测时更稳健。

第一部分:基础概念与最大间隔分类器 (MMC)

1. 超平面 (Hyperplane) 是如何定义的?

  • 在 $p$ 维空间中,超平面是一个 $p-1$ 维 的平坦仿射子空间。

  • 数学定义:满足以下方程的点 $X = (X_1, \dots, X_p)^T$ 的集合:

    $$ \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \dots + \beta_p X_p = 0 $$

    $$

2. 对于分隔超平面,其具有哪些性质?

  • 它将空间一分为二。

  • 符号性质

    • 如果观测点 $x_i$ 属于第一类 ($y_i = 1$),则 $f(x_i) > 0$。

    • 如果观测点 $x_i$ 属于第二类 ($y_i = -1$),则 $f(x_i) < 0$。

    • 即 $y_i \cdot (\beta_0 + \beta_1 x_{i1} + \dots) > 0$ 对所有观测成立。

3. 如何构造最大分类器 (Maximal Margin Classifier)?即它的约束条件有哪些?

  • 目标:寻找一个超平面,使得数据点到平面的最小距离(间隔 Margin, $M$)最大化

  • 优化问题

    1. 最大化 $M$。

    2. 约束 1 (单位向量):$\sum_{j=1}^{p} \beta_j^2 = 1$(为了确定系数的尺度)。

    3. 约束 2 (正确分类且在间隔外):$y_i(\beta_0 + \beta_1 x_{i1} + \dots + \beta_p x_{ip}) \ge M$。

  • 这意味着所有点不仅要在正确的一侧,而且距离超平面的距离至少为 $M$。


第二部分:软间隔与支持向量分类器 (SVC)

4. 什么是软间隔 (Soft Margin)?

  • 背景:现实数据通常是线性不可分的,或者即使分开,受个别噪声点影响,最大间隔会很窄且不稳定。

  • 定义:我们允许部分观测点违反间隔限制(即落在间隔内部,甚至落在错误的一侧)。这被称为“软”间隔。

  • 引入松弛变量 (Slack Variables, $\epsilon_i$) 来量化这种违反程度。

5. 最大分类器和支持向量分类器 (Support Vector Classifier) 的支持向量相同吗?为什么?

  • 不相同

  • 最大间隔分类器:支持向量是那些正好落在间隔边界上的点(数量通常很少)。

  • 支持向量分类器:支持向量包括:

    1. 正好在间隔边界上的点。

    2. 违反间隔的点(落在间隔内部或错误一侧的点)。

  • 为什么:因为 SVC 的超平面位置是由这些“难分类”的点决定的,所有违反间隔的点都会对超平面产生影响,所以它们也是支持向量。

  1. 如何区分最大间隔分类器、支持向量分类器以及支持向量机?(核心考点)

这是一个层层递进的关系:

  1. 最大间隔分类器 (MMC)

    • 线性边界。

    • 硬间隔 (Hard Margin):不允许任何错误,要求数据线性可分。

  2. 支持向量分类器 (SVC)

    • 线性边界。

    • 软间隔 (Soft Margin):允许部分错误,适用于线性不可分或有噪声的数据。

  3. 支持向量机 (SVM)

    • 非线性边界。

    • 通过核函数 (Kernel) 扩展了 SVC。


第三部分:支持向量机 (SVM) 与 核函数

7. 对于非线性分类情况,如何利用支持向量机进行分类?

  • 利用 核技巧 (Kernel Trick)

  • 我们不直接在原始空间计算,而是将特征空间升维(例如引入 $X^2, X^3$),在高维空间中寻找线性超平面。

  • 在计算时,我们不需要真的算出高维坐标,只需计算样本间的内积 $K(x_i, x_i’)$。

  • 常用核函数:多项式核 (Polynomial Kernel)径向基核 (Radial Kernel / RBF)


第四部分:多分类与参数 (Multi-class & Cost)

  1. 支持向量机如何处理多分类问题?

SVM 本质上是二分类器。处理多分类 ($K>2$) 主要有两种策略:

  1. 一对一 (One-versus-One, OVO)

  2. 一对多 (One-versus-All, OVA)

9. 一对一、一对多分别需要多少模型参与?具体的实现过程是怎样的呢?

  • 一对一 (One-versus-One)

    • 模型数量:$\binom{K}{2} = \frac{K(K-1)}{2}$ 个(两两组合)。

    • 过程:比如有 3 类,我们训练“1 vs 2”、“1 vs 3”、“2 vs 3”。

    • 预测:将新数据放入所有模型,看哪个类别得票最多。

  • 一对多 (One-versus-All)

    • 模型数量:$K$ 个。

    • 过程:训练“第 1 类 vs 其他”、“第 2 类 vs 其他”…

    • 预测:将新数据放入 $K$ 个模型,计算 $f(x)$ 的值,选取值最大(即距离超平面最远且为正)的那个类别。

Licensed under CC BY-NC-SA 4.0