2637 字
13 分钟
高级统计方法 第一轮学习 Chapter 2

高级统计方法 第一轮学习 Chapter 2 统计学习#

什么是统计学习?#

1.1 基本假设#

统计学习#

对于任意任务,我们都可以假设模型:

Y=f(X)+ϵY = f(X) + \epsilon

其中:

ϵ\epsilon:随机误差项,与 XX 独立,服从均值为 0 的某种分布。

ff:固定但未知的目标函数,ff 表达了 XX 提供给 YY 的系统信息。

估计 ff 的主要目的:

  • 有一个好的 ff,可以在新点 X=xX = x 上预测 YY

  • 可以理解 X=(X1,X2,,Xp)X = (X_1, X_2, \ldots, X_p) 在解释 YY 时哪些是重要元素,而哪些是不相关的。(某种程度上由系数是否为零反映)

  • 根据 ff 的复杂性,能够理解 XX 的每个分量 XjX_j 如何影响 YY。(某种程度上由系数的正负和大小共同反映,也即“正向”、“反向”、“大小”的影响)

1.2 我们的假设成立么#

估计 ff#

我们可以认为误差源自 ϵ\epsilon存在理想f(x)f(x),且 f(x)=E(YX=x)f(x) = E(Y | X = x),称为回归函数

该理想的 f(x)f(x) 即为我们要拟合的目标函数。

换言之,在理想情况下:

f(x)=G(YX=x)f(x) = G(Y | X = x)

是使函数 gg 在所有 X=xX = x 点上的 E[(Yg(X))2X=x]E[(Y − g(X))^2|X = x] 最小化的函数。

  • 只有 g(x)g(x) 取均值的时候可以使得差值平方和最小

  • 证明:

    E[(Yg(X))2X=x]=E[Y2X=x]2g(x)E[YX=x]+g(x)2=E[Y2X=x](E[YX=x])2+(g(x)E[YX=x])2\begin{aligned} E[(Y - g(X))^2 | X = x] & = E[Y^2 | X = x] - 2g(x)E[Y | X = x] + g(x)^2 \\ & = E[Y^2 | X = x] - (E[Y | X = x])^2 + (g(x) - E[Y | X = x])^2 \end{aligned}

    上式中,E[Y2X=x](E[YX=x])2E[Y^2 | X = x] - (E[Y | X = x])^2g(x)g(x) 无关,因此当且仅当 g(x)=E[YX=x]g(x) = E[Y | X = x] 时,E[(Yg(X))2X=x]E[(Y - g(X))^2 | X = x] 取得最小值。

若某个点数值很多,那么取均值,作为准备拟合的数值;但若某个点周围的数据点很少或没有,怎么办?

我们可以放宽定义,设:f(x)=Ave(YXN(x))f(x) = Ave(Y | X \in \mathcal{N}(x)),其中 N(x)\mathcal{N}(x)xx 的某个邻域。

对于小的 pp,最近邻平均是非常好的,即 p4p \leq 4 和大的 NN。当 pp 很大时,最近邻方法可能很糟糕。(此处 pp 是指预测变量的个数,NN 是指样本量。) 在高维空间中,最近的邻居往往离我们很远。

  • 需要得到 yiy_iNN 值的一个合理的部分来取平均,以降低方差。
  • 高维中 10%10\% 的邻域不再是局部的,因此不能通过局部平均来估计 E(YX=X)E(Y|X = X)

实际情况是,我们并不知道 ff 的真实形式,因此需要通过数据来估计,估计的函数记为 f^\hat{f}

对于 f(x)f(x) 的任何估计 f^(x)\hat{f}(x),其预测值计算为 Y^=f^(X)\hat{Y} = \hat{f}(X)

此处我们不再考虑误差项 ϵ\epsilon 的影响,其误差为 E[YY^]2=E[f(x)+ϵf^(X)]2=[f(x)f^(X)]2+Var(ϵ)E[Y - \hat{Y}]^2 = E[f(x) + \epsilon - \hat{f}(X)] ^2 = [f(x) - \hat{f}(X)]^2 + Var(\epsilon)

其中,

  • [f(x)f^(X)][f(x) - \hat{f}(X)]:可约误差(reducible error)
  • Var(ϵ)Var(\epsilon):不可约误差(irreducible error)
  • E(YY^)2E(Y - \hat{Y})^2:代表预测量与真实量之间的均方误差(Mean Squared Error,MSE)
  • Var(ϵ)Var(\epsilon):表示误差项 ϵ\epsilon 的方差,源自数据中的随机噪声,无法通过任何模型来减少。因为在每个 X=xX = x 处,可能的 YY 值有一个分布,而不是一个确定的值。

不可约误差是精度的上限。

1.3 不同的模型#

如何估计?#

参数模型:把估计 ff 的问题简化到估计一组参数。对函数 ff 的形式(模型)进行假设,然后用训练数据去拟合/训练模型。这时,只需要估计参数,即可知道函数 ff

线性模型是参数模型的一个重要例子:fL(X)=β0+β1X1+β2X2+βpXpf _ { L } ( X ) = \beta _ { 0 } + \beta _ { 1 } X _ { 1 } + \beta _ { 2 } X _ { 2 } + \dots \beta _ { p } X _ { p } 线性模型用 p+1p + 1 个参数表示:β0,β1,,βp\beta _ { 0 }, \beta _ { 1 }, \dots, \beta _ { p }

非参数模型:不需要对函数 ff 的形式事先做出假设。追求的是接近数据点的估计,估计函数在去粗和光滑后尽可能与更多的数据点接近。非参数模型一般需要更多的训练数据。

非参数模型-薄板样条:使用光滑薄板样条的技术(第7章)拟合,有一个调节参数,又称光滑参数 λ\lambda f^S(education,seniority)\hat{f}_{S}(\mathtt{education, seniority})

1.4 预测精度与模型可解释性的权衡#

通常更喜欢包含更少变量的简单模型,而不是包含所有变量的黑箱预测器。根据任务,推断任务一般喜欢简单和可解释性强的模型(结构限定的模型);而预测任务时,虽然直觉上感觉光滑度高的“黑盒”可能预测效果更好,但真实情况是欠光滑的模型往往更好(抗“过拟合”)

想象你在调样条的平滑参数 λ\lambda

  • λ\lambda 很大:
    • 曲线接近直线,非常光滑;
    • 训练误差大,测试误差也偏大 \rightarrow 欠拟合。
  • λ\lambda 很小:
    • 曲线东扭西扭,每个点都几乎穿过;
    • 训练误差几乎 0,测试误差很大 \rightarrow 过拟合。
  • λ\lambda 在中间某个值:
    • 曲线有适度的弯曲,有些地方看起来“有点不那么光滑”;
    • 训练误差不算特别小,但测试误差最小。
    • 这就是那种“看起来没那么顺眼,但用起来最好”的欠光滑模型。

评价模型精度#

2.1 拟合效果检验#

拟合效果检验#

回归中最常用的评价准则:

均方误差(mean squared error,MSE)

薄板样条: thin-plate spline

为拟合薄板样条,一般指定一个 flexibility 水平

  1. 书中译文:光滑度水平

  2. 同义译文:柔性水平

  3. 正式术语:自由度 degree of freedom

  4. 柔性水平增加 = 光滑度水平增加 = 自由度增加

  5. 此时的光滑度,和直观上“直线/平面更光滑/平滑”不一样

  6. 建议统一使用“柔性水平”

  1. 统计学习的特征:模型光滑度/柔性水平增加时,训练均方误差单调递减,但测试均方误差呈现U型分布(程度不一);

  2. 当所建立的模型有较小的训练均方误差,但较大的测试均方误差时,称为“过拟合”;

  3. 不管直接,还是间接,训练的目标函数在某种程度上都会使得训练误差最小;

  4. 过拟合的一种特殊意义,暗示我们要降低柔性水平,以减小测试误差;

  5. 训练均方误差容易获取,但测试均方误差很难获得;

  6. 不同光滑度/柔性水平的模型的最小测试均方误差有很大不同。

2.2 偏差-方差均衡(MSE是多少)#

偏差-方差权衡#

假设我们使用某些训练数据 Tr 拟合了模型 f(x)f(x),得到 f^(x)\hat{f}(x),并让 (x0,y0)(x0, y0) 是从总体中提取的测试观察值。如果真正的模型是:

Y=f(X)+ϵ(with f(x)=E(YX=x))Y=f(X)+\epsilon(\mathrm{with} \space{} f(x)={E(Y|X=x)})

使用大量训练数据,多次重复估计 f(x)f(x),并得到多个 f^(x)\hat{f}(x);随后,代入给定的 x0x_0 后,得到多个 ,期望测试均方误差可以化简为:

E(y0f^(x0))2=Var(f^(x0))+[Bias(f^(x0))]2+Var(ϵ)E\left(y_{0}-\hat{f}(x_{0})\right)^{2}=\mathrm{Var}(\hat{f}(x_{0}))+[\mathrm{Bias}(\hat{f}(x_{0}))]^{2}+\mathrm{Var}(\epsilon)

其中,偏差(bias)为:

Bias(f^(x0))=E[f^(x0)]f(x0)\mathrm{Bias}(\hat{f}(x_{0}))=E[\hat{f}(x_{0})]-f(x_{0})

通常,随着 f^(x)\hat{f}(x) 灵活性的增加,其方差增加,偏差减少。因此,基于平均测试误差来选择灵活性就相当于一种偏差-方差权衡

什么是方差:

  1. 方差代表的是用不同的训练集训练 ff 时(在同一模型假设下),估计函数 f^(x)\hat{f}(x) 的改变量

  2. 因为训练数据是用来拟合模型的参数的,所以不同的训练数据集会得到不同的 f^(x)\hat{f}(x),但理想情况下,f^(x)\hat{f}(x) 不应该变化较大

  3. 如果训练集的微小变化导致 f^(x)\hat{f}(x) 变化很大,则表明模型 自身 有较大的方差,对训练数据太敏感,训练数据的微小变化会导致太大的改变

  4. 方差体现的是所设定的模型的 自身性质

  5. 一般来说,光滑度/柔性水平/自由度越高的统计模型有越高的方差

偏差 Bias 的出现往往是模型选择有问题,距离真实的函数较“远”:

  • 例如我们的要拟合的真实情况是二次函数,但是预测模型为一次函数,预测结果就会出现偏差

  • 更多体现的是待拟合模型与实际模型之间的本质差异

方差 var 一般体现在输入数据的一个细微扰动就会得到不同的拟合输出结果,即输出结果很“散”,不稳定:

  • 通俗的来说模型可能连输入数据里的噪声也一起学到了,所以测试数据与训练数据分布稍有不同,预测结果就会有较大差异

  • 体现的是模型自身的学习能力,细微的训练数据的不同,得到不同的拟合函数

  • 一般伴随着“过拟合”的疑虑

随着光滑度/柔性水平/自由度的增加,方差会增加,偏差会减少,但到底谁变化更快与实际模型有关

2.3 分类问题的拟合效果检验#

分类模型#

衡量分类器 C(x)C(x) 的性能:

ErrTe=AveiTeI[yiC^(xi)]\operatorname{Err}_{\mathsf{Te}}=\operatorname{Ave}_{i\in\mathsf{Te}}I[y_{i}\neq\hat{C}(x_{i})]

贝叶斯分类器的误差最小

贝叶斯分类器:把待判别的 xx 分配到 Pr(Y=jX=x)\Pr(Y=j|X=x)(条件概率)最大的那个类,也就是 jj 类上

贝叶斯分类器的分类结果(分类 xx)为:

C(x)=j if pj(x)=max{p1(x),p2(x),,pK(x)}C(x)=j{\text{ if }}p_{j}(x)=\operatorname*{max}\{ p_{1}(x),p_{2}(x),\dots, p_{K}(x)\}

贝叶斯分类器将产生最低的测试错误率,称为贝叶斯错误率,即:

ErrTe=EX[1maxjPr(Y=jX)]\operatorname{Err}_{\mathsf{Te}}^{*}=\operatorname{E}_{X}[1-\max_{j}\Pr(Y=j|X)]

类似于回归问题中的不可约误差,贝叶斯错误率是不可约的。

实际上问题中很难确定给定 XX 后的 YY 的分布;所以计算贝叶斯分类器多数情况下不可行,很多方法尝试给定 XX 后先估计 Pr(Y=jX=x)\Pr(Y=j|X=x),然后再进行分类。

一种典型的估计方法是:KK 最近邻(KNN, K-Nearest Neighbor)方法。

Pr(Y=jX=x0)=1KiN0I(yi=j)\operatorname*{Pr}(Y=j|X=x_{0})=\frac{1}{K}\sum_{i\in N_{0}} I(y_{i}=j)

其中 N0N_0 是代表最近邻的 KK 个值的集合。然后用贝叶斯规则进行分类,将观测值 x0x_0 分到概率最大的类中。

KNN 方法的灵活性由 KK 控制:K 越大,决策边界越平滑;K 越小,决策边界越复杂。

高级统计方法 第一轮学习 Chapter 2
https://blog.farewe1ll.top/posts/高级统计方法第一轮学习-chapter_2/
作者
Farewe1ll 山竹
发布于
2025-11-18
许可协议
CC BY-NC-SA 4.0