偏置方差分解Bias-variance Decomposition

http://blog.csdn.net/pipisorry/article/details/50638749

偏置-方差分解(Bias-Variance Decomposition)

偏置-方差分解(Bias-Variance Decomposition)是统计学派看待模型复杂度的观点。Bias-variance 分解是机器学习中一种重要的分析技术。给定学习目标和训练集规模,它可以把一种学习算法的期望误差分解为三个非负项的和,即本真噪音noise、bias和 variance。

noise 本真噪音是任何学习算法在该学习目标上的期望误差的下界;( 任何方法都克服不了的误差)。噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度;
bias 度量了某种学习算法的平均估计结果所能逼近学习目标的程度;(独立于训练样本的误差,刻画了匹配的准确性和质量:一个高的偏置意味着一个坏的匹配)。偏差度量了学习算法期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;
variance 则度量了在面对同样规模的不同训练集时,学习算法的估计结果发生变动的程度。(相关于观测样本的误差,刻画了一个学习算法的精确性和特定性:一个高的方差意味着一个弱的匹配)。方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;

泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小。-周志华《机器学习》

期望误差

整的来说,误差可以分为3个部分

  假设我们有K个数据集,每个数据集都是从一个分布p(t,x)中独立的抽取出来的(t代表要预测的变量,x代表特征变量)。对于每个数据集D,我们都可以在其基础上根据学习算法来训练出一个模型y(x;D)来。在不同的数据集上进行训练可以得到不同的模型。学习算法的性能是根据在这K个数据集上训练得到的K个模型的平均性能来衡量的,亦即:

其中的h(x)代表生成数据的真实函数,亦即t=h(x)。

  我们可以看到,给定学习算法在多个数据集上学到的模型的和真实函数h(x)之间的误差,是由偏置(Bias)和方差(Variance)两部分构成的。

        偏置描述的是学到的多个模型和真实的函数之间的平均误差,刻画的是构建的模型和真实模型之间的差异;而方差描述的是学到的某个模型和多个模型的平均之间的平均误差(PRML上的原话是variance measures the extent to which the solutions for individual data sets vary around their average)。

        例如数据集所反映的真实模型为二次模型,但是构建的是线性模型,则该模型的结果总是和真实值结果直接存在差异,这种差异是有构建的模型的不准确所导致的,即为偏置bias;如图中的下面两个图,真实的模型是红心,但是构建的模型是偏离红心的。方差刻画的是构建的模型自身的稳定性。例如数据集本身是二次模型,但是构建的是三次模型,对于多个不同的训练集,可以得到多个不同的三次模型,那么对于一个固定的测试点,这多个不同的三次模型得到多个估计值,这些估计值之间的差异即为模型的方差;如图中的上侧两图,不论构建的模型是否是瞄准红心,每个模型的多次结果之间存在较大的差异。

偏置-方差分解解释2

如果我们使用由参数向量 w 控制的函数 y(x, w) 对 h(x) 建模,那么从贝叶斯的观点来看,我们模型的不确定性是通过 w 的后验概率分布来表示的。

频率学家的方法涉及到根据数据集 D 对 w 进行点估计,然后试着通过下面的思想实验来表示估计的不确定性。假设我们有许多数据集,每个数据集的大小为 N ,并且每个数据集都独立地从分布 p(t, x) 中抽取。对于任意给定的数据集 D ,我们可以运行我们的学习算法,得到一个预测函数 y(x; D) 。不同的数据集会给出不同的函数,从而给出不同的平方损失的值。这样,特定的学习算法的表现就可以通过取各个数据集上的表现的平均值来进行评估。

考虑公式(3.37)的第一项的被积函数,对于一个特定的数据集 D ,它的形式为

(现在只考虑单一输入变量x的情形,即不考虑外面的积分)

这个量与特定的数据集 D 相关,因此我们对所有的数据集取平均。但是首先我们在括号内加上然后减去 E D [y(x; D)] ,然后展开,最后一项等于零,得

第一项,被称为平方偏置( bias ),表示所有数据集的平均预测与预期的回归函数之间的差异。

第二项,被称为方差( variance ),度量了对于单独的数据集,模型所给出的解在平均值附近波动的情况,因此也就度量了函数 y(x; D) 对于特定的数据集的选择的敏感程度。

考虑整个输入变量的外部积分得

[prml]

偏置和方差之间的权衡和折中

在偏置和方差之间有一个折中,有着最优预测能力的模型时在偏置和方差之间取得最优的平衡的模型。

偏置较小,方差较大:灵活的模型(如次数比较高的多项式的复杂模型)会有比较低的偏置和比较高的方差(对于各个数据集里的噪声的拟合效果非常好,导致了较大的方差);

偏置较大,方差较小:比较严格(相对固定)的模型(如一次线性回归的简单模型)就会得到比较高的偏置和比较低的方差。

示例:

训练正弦数据集100个数据集合,每个集合都包含 N = 25 个数据点,都是独立地从正弦曲线 h(x) = sin (2πx) [图中的绿线]抽取的。数据集的编号为 l = 1, . . . , L ,其中 L = 100 ,并且对于每个数据集 D (l) ,通过最小化正则化的误差函数拟合一个带有24个高斯基函数的模型,然后给出了预测函数 y ^(l) (x) 。

参数λ控制模型的灵活性(复杂度),λ越大,模型越简单(严格),反之越复杂(灵活)。

图第一行对应着较大的正则化系数 λ ,这样的模型的方差很小,但是偏置很大(因为右侧图中的两条曲线看起来相当不同)。相反最后一行正则化系数 λ 很小,模型的方差较大偏置很小。小的 λ 使得模型变复杂,对于各个数据集里的噪声的拟合效果非常好,导致了较大的方差。大的 λ 把权值参数拉向零,导致了较大的偏置。

  注意,把 M = 25 这种复杂模型的多个解进行平均,会产生对于回归函数非常好的拟合,这表明求平均是一个很好的步骤。事实上,将多个解加权平均是贝叶斯方法的核心,虽然这种求平均针对的是参数的后验分布,而不是针对多个数据集。

偏置方差分解评价

虽然偏置-方差分解能够从频率学家的角度对模型的复杂度提供一些有趣的认识,但是它的实用价值很有限。这是因为偏置-方差分解依赖于对所有的数据集求平均,而在实际应用中我们只有一个观测数据集。如果我们有大量的已知规模的独立的训练数据集,那么我们最好的方法是把它们组合成一个大的训练集,这显然会降低给定复杂度的模型的过拟合程度。

  造成偏置和方差的原因除了学习方法的不同和参数的不同(比如λ)之外,数据集本身也会对其造成影响。如果训练数据集和新数据集的分布是不同的,会增大偏置。如果训练数据集过少,会增大方差。

应用

Bagging方法:Bagging是一种再抽样方法(resampling),对训练数据进行有放回的抽样K次(行抽样和列抽样,抽样独立),生成K份新的训练数据,在这K个新的训练数据上训练得到K个模型,然后使用K个模型的平均来作为新的模型。如:随机森林。

并行,更小var, data和features大小可以很大。

Boosting方法:误判抽样(抽样依赖)。如Adaboost, GBDT。串行,更小的bias( high var, overfit)。但是加数据可以减小high var。

推导

推导1

期望损失

回归问题中,损失函数的一个通常的选择是平方损失

最优解h(x):条件均值

变分法求解

当然,其实我们可以不严谨地直接假设解是条件均值,直接变成bias--var + 噪声从最小化只与第一项相关看出解是对的。

损失分解

暂时叫这个名字吧,就是将期望损失分解成bias--var + 噪声

Bias-variance decomposition推导2

Note:ED是对所有数据集D求期望,而不是对x或者y。

[word文档下载]

from:偏置方差分解Bias-variance Decomposition_皮皮blog-CSDN博客_偏置 方差

ref:Bishop. PRML(Pattern Recognization and Machine Learning). p11-16

Understanding the Bias-Variance Decomposition.

模式识别与机器学习:Bias-Variance分解

偏置方差分解Bias-variance Decomposition

偏置-方差分解(Bias-Variance Decomposition)*

Bias and Variance 偏置和方差*

Andrew NG. CS229 Lecture Note1: Supervised Learning, Discrimitive Algorithms

  • 11
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值