查看偏差方差权衡的源代码

来自集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织
13944556914讨论 | 贡献2024年5月21日 (二) 11:25的版本 →‎引用
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

统计学机器学习中,偏差方差分析是一组预测性模型的特性,意味着参数估计偏差较小的模型在样本间的参数估计有较高的方差,反之亦然。偏差方差困境是不能同时最小化这两个误差来源的冲突问题,这两个误差来源让有监督学习算法不能在训练集上很好地进行泛化。

  • 偏差(bias)来自于学习算法中错误假设造成的误差。高偏差会导致算法不能将特征与目标输出很好地关联起来。(欠拟合)
  • 方差(variance)来自于算法对训练集中小波动敏感性造成的误差。高方差会导致算法对训练集中的随机噪声进行建模而不是目标输出。(过拟合

这种权衡适用于所有的有监督学习模型:分类,回归(函数拟合),[1][2]结构化输出学习。它也被用来解释启发式学习在人类学习中的有效性。[3]

偏差方差困境是在特定问题下,分析学习算法泛化预期误差的一种方式,泛化误差来自于三个部分:偏差,方差,以及一个称之为“不可避免误差”的量,这个误差一般是问题本身的噪音产生的。


动机

方差偏差分析是有监督学习的一个核心问题。理想情况下,人们希望选择一种模型,这种模型既能准确捕获训练数据规律性,又能很好的概括未知数据。不幸的是,通常是不可能同时做到这两点的。高方差的学习方法可能能够很好的表达它的数据集但,但是可能过度拟合噪声或不具备代表性的训练数据。相比之下,低方差的算法通常会生成一个更简单的模型,这种模型不会过拟合,但是会导致在训练数据上欠拟合,无法捕捉到重要的规律。 低偏差的模型通常比较复杂(如高阶回归多项式),这使得它们能够更准确的表达训练集。然而,在这个过程中,它们也可能表示了训练集中的一个巨大的噪声的一部分,尽管复杂性增加了,也使得它们的预测变得不是那么的准确。相比之下,具有较高偏差的模型往往相对较简单(低阶甚至是线性的回归多项式),但是在训练集之外应用时可能会产生较低方差的预测。

偏差与方差的平方分解

假设我们有一个训练集包含一个点集 [math]\displaystyle{ x_1, \cdots , x_n }[/math] 以及与[math]\displaystyle{ x_i }[/math]相关的实值[math]\displaystyle{ y_i }[/math]。我们假定一个有噪声的函数[math]\displaystyle{ y=f(x)+\varepsilon }[/math],其中[math]\displaystyle{ \varepsilon }[/math]是有着0均值和[math]\displaystyle{ \sigma^2 }[/math]方差的噪声。

我们想要通过学习算法找到一个函数[math]\displaystyle{ \hat{f}(x) }[/math]使其尽量拟合真实的函数[math]\displaystyle{ f(x) }[/math]。我们所谓的“尽可能”是使用[math]\displaystyle{ \hat{f}(x) }[/math][math]\displaystyle{ y }[/math]之间的均方误差来表达的,即我们想要[math]\displaystyle{ (y - \hat{f}(x))^2 }[/math]对于[math]\displaystyle{ x_1, \cdots , x_n }[/math]和样本外的点都最小。当然,我们不可能完美做到这一点,因为[math]\displaystyle{ y_i }[/math]必定会包含噪声[math]\displaystyle{ \varepsilon }[/math],这意味对于我们得到的所有函数,我们都要接受其中存在这不可避免的误差。 任意一个有监督机器学习算法,都可以使得[math]\displaystyle{ \hat{f}(x) }[/math]对训练集之外的点进行泛化。结果就是,无论我们选择了哪个[math]\displaystyle{ \hat{f}(x) }[/math]函数,我们可以使用一个样本外的任意[math]\displaystyle{ x }[/math]分解期望误差:

[math]\displaystyle{ \mathrm { E } \left[ ( y - \hat { f } ( x ) ) ^ { 2 } \right] = ( \operatorname { Bias } [ \hat { f } ( x ) ] ) ^ { 2 } + \mathrm { Var } [ \hat { f } ( x ) ] + \sigma ^ { 2 } }[/math]

其中:


[math]\displaystyle{ \text { Bias } [ \hat { f } ( x ) ] = \mathrm { E } [ \hat { f } ( x ) - f ( x ) ] }[/math]以及:
[math]\displaystyle{ \begin{align}\operatorname{Var}\big[\hat{f}(x)\big] = \operatorname{E}[\hat{f}(x)^2] - \Big(\operatorname{E}[{\hat{f}}(x)]\Big)^2\end{align} }[/math]

期望包括了不同训练集的选择,这些样本都来自于同样的联合分布P(x,y),这三个项分别表示:

  • 学习方法偏差的平方可以视作因为简化假设导致的误差。比如,当我们想要拟合一个非线性的函数[math]\displaystyle{ f(x) }[/math]却使用了一个线性的模型,于是估计[math]\displaystyle{ \hat{f}(x) }[/math]就会存在存在误差。
  • 学习方法的方差或者直观地来说就是学习方法[math]\displaystyle{ \hat{f}(x) }[/math]多大程度上偏离了其均值。
  • 不可约误差[math]\displaystyle{ \sigma^2 }[/math]。因为这三项都是非负的,这三项组成了训练集外样本的期望误差的下界。

[math]\displaystyle{ \hat{f}(x) }[/math]的模型越复杂,那么它就可以拟合越多的数据点,偏差也就会越低。然而,复杂度会使得模型更加“偏向于”拟合数据点,因此方差就会变大。

推导

偏差方差平方分解的推导过程如下。[4][5]为了记号上的方便,引入两个缩写[math]\displaystyle{ f = f(x) }[/math] 以及 [math]\displaystyle{ \hat{f} = \hat{f}(x) }[/math]。首先,回忆一下,通过定义对于任意的随机变量[math]\displaystyle{ X }[/math],我们有:

[math]\displaystyle{ \begin{align}\operatorname{Var}[X] = \operatorname{E}[X^2] - \Big(\operatorname{E}[X]\Big)^2\end{align} }[/math]

整理得到:

[math]\displaystyle{ \begin{align}\operatorname{E}[X^2] = \operatorname{Var}[X] + \Big(\operatorname{E}[X]\Big)^2\end{align} }[/math]

因为 [math]\displaystyle{ f }[/math]确定的

[math]\displaystyle{ \begin{align}\operatorname{E}[f] = f\end{align} }[/math].

这里, 给定 [math]\displaystyle{ y = f + \epsilon }[/math] and [math]\displaystyle{ \operatorname{E}[\epsilon] = 0 }[/math], 令 [math]\displaystyle{ \operatorname{E}[y] = \operatorname{E}[f + \epsilon] = \operatorname{E}[f] = f }[/math]. 同理因为 [math]\displaystyle{ \operatorname{Var}[\varepsilon] = \sigma^2, }[/math] 于是, 因为 [math]\displaystyle{ \epsilon }[/math][math]\displaystyle{ \hat{f} }[/math] 是独立的,我们可以写成:

[math]\displaystyle{ \begin{align}\operatorname{E}\big[(y - \hat{f})^2\big] & = \operatorname{E}[y^2 + \hat{f}^2 - 2 y\hat{f}] \\ & = \operatorname{E}[y^2] + \operatorname{E}[\hat{f}^2] - \operatorname{E}[2y\hat{f}] \\ & = \operatorname{Var}[y] + \operatorname{E}[y]^2 + \operatorname{Var}[\hat{f}] + \Big(\operatorname{E}[\hat{f}]\Big)^2 - 2f\operatorname{E}[\hat{f}] \\ & = \operatorname{Var}[y] + \operatorname{Var}[\hat{f}] + \Big(f^2 - 2f\operatorname{E}[\hat{f}] + (\operatorname{E}[\hat{f}])^2\Big) \\ & = \operatorname{Var}[y] + \operatorname{Var}[\hat{f}] + (f - \operatorname{E}[\hat{f}])^2 \\ & = \sigma^2 + \operatorname{Var}[\hat{f}] + \operatorname{Bias}[\hat{f}]^2\end{align} }[/math]

回归应用

偏差方差分解回归正则化方法的基础,比如 Lassoridge 回归。正则化方法将偏置项引入了回归的解,这样可以大大减少相对与一般的最小平方(OLS)的解法的方差。虽然OLS的解法提供了非偏置回顾估计,但正则化技术产生的较低的方差提供了优越的MSE的性能。

分类应用

偏差方差分解最初是为最小二乘法回归提出的。对于在0-1损失(错误分类率)下的分类,可能会发现类似的分解。[6][7] 或者,如果分类问题可以被称为概率分类,那么对于真实概率的预期平方误差可以像之前一样地分解。[8]

方法

降维特征选择可以通过简化模型来减少方差。同样,一个更大的训练集也会减少方差。[9]增加特征(预测器)倾向于减少偏差,而不是引入额外的方差。学习算法通常有一些控制偏差和方差的可调整参数。列如:


  • 广义的)线性模型可以被正则化来减小方差但是代价是增大偏差。
  • 人工神经网络中,随着隐层数量的增加,方差增大但是偏差减小。像GLMs,通常会使用正则化方法。
  • k邻近模型中,一个很大的k值会导致很大的偏差和很低的偏差(如下)。
  • 实例学习中,正则化可以通过改变不同的原型和范例的组合来实现。[10]
  • 在[decision trees 决策树]中,树的深度决定了方差。决策树通常会剪枝来控制方差。一种解决这种权衡的方法是使用混合模型和集成学习。.[11][12]比如,boosting算法组合很多“弱”(高偏差)模型来集成出一个低方差且独立的模型,而bagging算法用一种方式组合了“强”学习器来减小他们的方差。

k邻近

k邻近回归的情况下,参数k的偏差方差分解的闭式表达是存在的::[math]\displaystyle{ \operatorname{E}[(y - \hat{f}(x))^2\mid X=x] = \left( f(x) - \frac{1}{k}\sum_{i=1}^k f(N_i(x)) \right)^2 + \frac{\sigma^2}{k} + \sigma^2 }[/math]其中[math]\displaystyle{ N_1(x), \dots, N_k(x) }[/math]是x的k个训练集中的邻近。偏差(第一项)是k的单调递增函数,然而偏差(第二项)是k的递减函数。实际上,在可行的假设下,最邻近估计器的偏差会完全消失当训练集趋向于无穷大的时候。


人类学习中的应用

虽然我们在机器学习的背景下广泛讨论了这个问题,但在人类认知方面,尤其是 Gerd Gigerenzer 和他同事在启发式学习背景下,对偏差方差困境进行了研究。他们认为(见参考),人类大脑通过采用高偏差/低方差的启发式学习方法,在典型的稀疏、缺乏特点的训练集中,人类大脑解决了这种困境。这反映了这样一个事实,零偏差方法对新情况的泛化性较差,而且不合理的假定准确推测了世界的真实状况。由此尝试的启发式学习方法相对简单,但是在更广泛的情况下会有更好的推论。[ https://en.wikipedia.org/wiki/Stuart_Geman Geman]等人认为,偏差方差困境意味着一般性的物体识别这样的能力是无法从零开始学习的,而是需要一定的“硬编码”,再根据经验来调整。这是因为无模型的推理方法需要不切实际的大型训练集,才能避免高方差。

参考

引用

  1. Geman, Stuart; E. Bienenstock; R. Doursat (1992). "Neural networks and the bias/variance dilemma" (PDF). Neural Computation. 4: 1–58. doi:10.1162/neco.1992.4.1.1.
  2. Bias–variance decomposition, In Encyclopedia of Machine Learning. Eds. Claude Sammut, Geoffrey I. Webb. Springer 2011. pp. 100-101
  3. Gigerenzer, Gerd; Brighton, Henry (2009). "Homo Heuristicus: Why Biased Minds Make Better Inferences". Topics in Cognitive Science. 1: 107–143. doi:10.1111/j.1756-8765.2008.01006.x. PMID 25164802.
  4. Vijayakumar, Sethu (2007). "The Bias–Variance Tradeoff" (PDF). University Edinburgh. Retrieved 19 August 2014.
  5. Shakhnarovich, Greg (2011). "Notes on derivation of bias-variance decomposition in linear regression" (PDF). Archived from the original (PDF) on 21 August 2014. Retrieved 20 August 2014.
  6. Domingos, Pedro (2000). A unified bias-variance decomposition (PDF). ICML.
  7. Valentini, Giorgio; Dietterich, Thomas G. (2004). "Bias–variance analysis of support vector machines for the development of SVM-based ensemble methods". JMLR. 5: 725–775.
  8. Manning, Christopher D.; Raghavan, Prabhakar; Schütze, Hinrich (2008). Introduction to Information Retrieval. Cambridge University Press. pp. 308–314. http://nlp.stanford.edu/IR-book/. 
  9. Belsley, David (1991). Conditioning diagnostics : collinearity and weak data in regression. New York: Wiley. ISBN 978-0471528890. 
  10. Gagliardi, F (2011). "Instance-based classifiers applied to medical databases: diagnosis and knowledge extraction". Artificial Intelligence in Medicine. 52 (3): 123–139. doi:10.1016/j.artmed.2011.04.002.
  11. Jo-Anne Ting, Sethu Vijaykumar, Stefan Schaal, Locally Weighted Regression for Control. In Encyclopedia of Machine Learning. Eds. Claude Sammut, Geoffrey I. Webb. Springer 2011. p. 615
  12. Scott Fortmann-Roe. Understanding the Bias–Variance Tradeoff. 2012. http://scott.fortmann-roe.com/docs/BiasVariance.html