返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、偏差方差分解

发布于 2023-07-17 23:38:26 字数 48402 浏览 0 评论 0 收藏 0

3.1 点估计

  1. 点估计:对参数θ$ \theta $ 的一个预测,记作θ^$ \hat\theta $ 。

    假设{x1,x2,,xm}$ \{x_1,x_2,\cdots,x_m\} $ 为独立同分布的数据点,该分布由参数θ$ \theta $ 决定。则参数θ$ \theta $ 的点估计为某个函数:

    θ^m=g(x1,x2,,xm)

    注意:点估计的定义并不要求g$ g $ 返回一个接近真实值θ$ \theta $ 。

  2. 根据频率学派的观点:

    • 真实参值θ$ \theta $ 是固定的,但是未知的。
    • θ^m$ \hat\theta_m $ 是数据点的函数。
    • 由于数据是随机采样的,因此θ^m$ \hat\theta_m $ 是个随机变量。

3.2 偏差

  1. 偏差定义为:bias(θ^m)=E(θ^m)θ$ bias(\hat\theta_m)=\mathbb E(\hat\theta_m)-\theta $ ,期望作用在所有数据上。

    • 如果bias(θ^m)=0$ bias(\hat\theta_m)=0 $ ,则称估计量θ^m$ \hat\theta_m $ 是无偏的。
    • 如果limmbias(θ^m)=0$ \lim_{m\rightarrow \infty}bias(\hat\theta_m)=0 $ ,则称估计量θ^m$ \hat\theta_m $ 是渐近无偏的。
  2. 无偏估计并不一定是最好的估计。

  3. 偏差的例子:

    • 一组服从均值为θ$ \theta $ 的伯努利分布的独立同分布样本{x1,x2,,xm}$ \{x_1,x_2,\cdots,x_m\} $ :θ^m=1mi=1mxi$ \hat\theta_m=\frac 1m\sum_{i=1}^{m}x_i $ 为θ$ \theta $ 的无偏估计。

    • 一组服从均值为μ$ \mu $ ,方差为σ2$ \sigma^{2} $ 的高斯分布的独立同分布样本{x1,x2,,xm}$ \{x_1,x_2,\cdots,x_m\} $ :

      • μ^m=1mi=1mxi$ \hat\mu_m=\frac 1m\sum_{i=1}^{m}x_i $ 为μ$ \mu $ 的无偏估计。
      • σ^m2=1mi=1m(xiμ^m)2$ \hat\sigma^{2}_m=\frac 1m\sum_{i=1}^{m}(x_i-\hat\mu_m)^{2} $ 为σ2$ \sigma^{2} $ 的有偏估计。因为E[σ^m2]=m1mσ2$ \mathbb E[\hat\sigma^{2}_m]=\frac{m-1}{m}\sigma^{2} $
      • σ~m2=1m1i=1m(xiμ^m)2$ \tilde\sigma^{2}_m=\frac {1}{m-1}\sum_{i=1}^{m}(x_i-\hat\mu_m)^{2} $ 为σ2$ \sigma^{2} $ 的无偏估计。

3.3 一致性

  1. 通常希望当数据集的大小m$ m $ 增加时,点估计会收敛到对应参数的真实值。即:

    plimmθ^m=θ

    plim$ \text{plim} $ 表示依概率收敛。即对于任意的ϵ>0$ \epsilon \gt 0 $ ,当m$ m\rightarrow \infty $ 时,有:P(|θ^mθ|)>ϵ0$ P(|\hat\theta_m -\theta|)\gt \epsilon \rightarrow 0 $

  2. 上述条件也称做一致性。它保证了估计偏差会随着样本数量的增加而减少。

  3. 渐近无偏不一定意味着一致性。

    如:在正态分布产生的数据集中,可以用μ^m=x1$ \hat\mu_m=x_1 $ 作为μ$ \mu $ 的一个估计。

    • 它是无偏的,因为E[x1]=μ$ \mathbb E[x_1]=\mu $ ,所以不论观测到多少个数据点,该估计都是无偏的
    • 但它不是一致的,因为他不满足plimmμ^m=μ$ \text{plim}_{m\rightarrow \infty}\hat\mu_m=\mu $

3.4 方差

  1. 估计量的方差记作Var(θ^)$ Var(\hat \theta) $ ,标准差记作SE(θ^)$ SE(\hat\theta) $ 。

    它们刻画的是:从潜在的数据分布中独立的获取样本集时,估计量的变化程度。

  2. 例:一组服从均值为θ$ \theta $ 的伯努利分布的独立同分布样本{x1,x2,,xm}$ \{x_1,x_2,\cdots,x_m\} $

    • θ^m=1mi=1mxi$ \hat\theta_m=\frac 1m\sum_{i=1}^{m}x_i $ 为θ$ \theta $ 的无偏估计。
    • Var(θ^m)=1mθ(1θ)$ Var(\hat\theta_m)=\frac 1m \theta(1-\theta) $ 。表明估计量的方差随m$ m $ 增加而下降。
  3. 估计量的方差随着样本数量的增加而下降,这是所有估计量的共性。

  4. 例:均值估计μ^m=1mi=1mxi$ \hat\mu_m=\frac 1m\sum_{i=1}^{m}x_i $ ,其标准差为:

    SE(μ^m)=Var[1mi=1mxi]=σm

    其中σ$ \sigma $ 是样本xi$ x_i $ 的真实标准差,但是这个量难以估计。实际上1mi=1m(xiμ^m)2$ \sqrt{\frac 1m\sum_{i=1}^{m}(x_i-\hat\mu_m)^{2}} $ 和1m1i=1m(xiμ^m)2$ \sqrt{\frac {1}{m-1}\sum_{i=1}^{m}(x_i-\hat\mu_m)^{2}} $ 都不是真实标准差σ$ \sigma $ 的无偏估计,这两种方法都倾向于低估真实的标准差。

    实际应用中,1m1i=1m(xiμ^m)2$ \sqrt{\frac {1}{m-1}\sum_{i=1}^{m}(x_i-\hat\mu_m)^{2}} $ 是一种比较合理的近似估计,尤其是当m$ m $ 较大的时候。

3.5 偏差方差分解

  1. 偏差和方差衡量的是估计量的两个不同误差来源:

    • 偏差衡量的是偏离真实值的误差的期望。
    • 方差衡量的是由于数据采样的随机性可能导致的估计值的波动。
  2. 通常希望的是:

    • 估计量的偏差比较小,即:估计量的期望值接近真实值。
    • 估计量的方差比较小,即:估计量的波动比较小。
  3. 假设:

    • 在训练集为D$ \mathbb D $ 上学习到的模型为fD(x;D)$ f_\mathbb D(\mathbf{\vec x};\mathbb D) $ 。

      不同的训练集训练得到不同的模型,因此模型与训练集D$ \mathbb D $ 相关。

    • 样本x$ \mathbf{\vec x} $ 的观测值为y~$ \tilde y $ ,其真实值为y$ y $ 。其中y~=y+ϵ$ \tilde y=y+\epsilon $ ,ϵ$ \epsilon $ 为观测误差。

      观测误差是由人工标注失误引起的。

    • 观察误差的期望为0:ED(ϵ)=0$ \mathbb E_{\mathbb D}(\epsilon)=0 $ 。

    • 观测误差ϵ$ \epsilon $ 与真实值y$ y $ 是相互独立的。即有:ED(yϵ)=ED(y)×ED(ϵ)=0$ \mathbb E_{\mathbb D}(y\epsilon) =\mathbb E_{\mathbb D}(y ) \times \mathbb E_{\mathbb D}(\epsilon) = 0 $ 。

    • 样本x$ \mathbf{\vec x} $ 的估计量为y^D=fD(x;D)$ \hat y_{\mathbb D}=f_\mathbb D(\mathbf{\vec x};\mathbb D) $ 。

    定义:

    • 损失函数为平方损失函数:L(y~,y^D)=(y~y^D)2$ L(\tilde y,\hat y_{\mathbb D})=(\tilde y-\hat y_{\mathbb D})^2 $ 。

    • 对未知样本x$ \mathbf{\vec x} $ :

      • 预测偏差为:bias=(ED(y^D)y)2$ bias =(\mathbb E_{\mathbb D}(\hat y_{\mathbb D}) - y)^2 $ 。它刻画了期望输出与真实值之间的差别。
      • 预测方差为:var=Var(y^D)=ED[(E(y^D)y^D)2]$ var =Var(\hat y_{\mathbb D})=\mathbb E_\mathbb D\left[(\mathbb E(\hat y_{\mathbb D})-\hat y_{\mathbb D})^{2}\right] $ 。它刻画了模型输出随着训练集D$ \mathbb D $ 的不同从而导致的波动。
      • 噪声方差为:noise=Var(ϵ)=ED[(y~y)2]$ noise=Var(\epsilon)=\mathbb E_\mathbb D\left[(\tilde y-y)^{2}\right] $ 。它刻画了不同训练集D$ \mathbb D $ 中的噪音波动。

    则未知样本x$ \mathbf{\vec x} $ 的泛化误差定义为损失函数的期望:Loss=ED[(y^y~)2]=ED[(fD(x;D)y~)2]$ Loss = \mathbb E_\mathbb D\left[(\hat y-\tilde y)^{2}\right]= \mathbb E_\mathbb D\left[(f_\mathbb D(\mathbf{\vec x};\mathbb D)-\tilde y)^{2}\right] $ 。其中使用观测值y~$ \tilde y $ 而不是真实值y$ y $ ,是因为观测值已知而真实值未知。

    则有:

    Loss=ED[(y^Dy~)2]=ED[(y^DED(y^D))2]+(ED(y^D)y)2+ED[(y~y)2]=var+bias+noise

    于是泛化误差可以分解为偏差、方差和噪声之和:

    • 偏差bias$ bias $ :度量了学习算法的期望预测与真实结果之间的偏离程度,刻画了学习算法本身的拟合能力。
    • 方差var$ var $ :度量了训练集的变动所导致的学习性能的变化,刻画了数据扰动造成的影响。
    • 噪声noise$ noise $ :度量了在当前任务上任何学习算法所能达到的期望泛化误差的下界,刻画了学习问题本身的难度。

    偏差-方差分解表明:泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度共同决定的。

  4. 偏差-方差分解中,噪声也可以称作最优误差或者贝叶斯误差。如:在图像识别的问题中,人眼识别的错误率可以视作最优误差。

    在工程实际中,通常会考察特征完全相同,但是标签不同 的那些样本的数量。这种样本越多,则代表必须犯的错误 越大。因此实际应用中可以将这个比例作为贝叶斯误差。

  5. 偏差、方差与模型容量有关。用MSE衡量泛化误差时,增加容量会增加方差、降低偏差。

    • 偏差降低,是因为随着容量的增大,模型的拟合能力越强:对给定的训练数据,它拟合的越准确。
    • 方差增加,是因为随着容量的增大,模型的随机性越强:对不同的训练集,它学得的模型可能差距较大。

    bias_var

  6. 一般来说,偏差和方差是由冲突的,这称作偏差-方差窘境bias-variance dilemma

    给定学习任务:

    • 在训练不足时模型的拟合能力不够强,训练数据的扰动不足以使模型产生显著变化,此时偏差主导了泛化误差。

    • 随着训练程度的加深模型的拟合能力逐渐增强,训练数据发生的扰动逐渐被模型学习到,方差逐渐主导了泛化误差。

    • 在训练充分后模型的拟合能力非常强,训练数据发生的轻微扰动都会导致模型发生显著变化。

      若训练数据自身的、非全局的特性被模型学到了,则将发生过拟合。

3.6 误差诊断

  1. 通常偏差方差反映了模型的过拟合与欠拟合。

    • 高偏差对应于模型的欠拟合:模型过于简单,以至于未能很好的学习训练集,从而使得训练误差过高。

      此时模型预测的方差较小,表示预测较稳定。但是模型预测的偏差会较大,表示预测不准确。

    • 高方差对应于模型的过拟合:模型过于复杂,以至于将训练集的细节都学到,将训练集的一些细节当做普遍的规律,从而使得测试集误差与训练集误差相距甚远。

      此时模型预测的偏差较小,表示预测较准确。但是模型预测的方差较大,表示预测较不稳定。

  2. 误差诊断:通过训练误差和测试误差来分析模型是否存在高方差、高偏差。

    • 如果训练误差较高:说明模型的偏差较大,模型出现了欠拟合。
    • 如果训练误差较低,而测试误差较高:说明模型的方差较大,出现了过拟合。
    • 如果训练误差较低,测试误差也较低:说明模型的偏差和方差都适中,是一个比较理想的模型。
    • 如果训练误差较高,且测试误差更高:说明模型的偏差和方差都较大。

    上述分析的前提是:训练集、测试集的数据来自于同一个分布,且最优误差较小。否则讨论更复杂。

3.7 误差缓解

  1. 高方差和高偏差是两种不同的情况。如果算法存在高偏差的问题,则准备更多训练数据其实没什么卵用。

    所以首先要清楚:问题是高偏差还是高方差还是二者兼有。

  2. 如果模型存在高偏差,则通过以下策略可以缓解:

    • 选择一个容量更大、更复杂的模型。
    • 使用更先进的最优化算法。该策略通常在神经网络中使用。
  3. 如果模型存在高方差,则通过以下策略可以缓解:

    • 增加更多的训练数据。它通过更多的训练样本来对模型参数增加约束,会降低模型容量。

      如果有更多的训练数据,则一定会降低方差。

    • 使用正则化。它通过正则化项来对模型参数增加约束,也会降低模型容量。

      有时候更多的训练数据难以获取,只能使用正则化策略。

  4. 通常优先解决高偏差的问题。这是最低标准,要反复尝试,直到训练误差降低到足够小。

    然后试图降低方差。

    总之就是不断重复尝试,直到找到一个低偏差、低方差的模型。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文