Learning From Data Lecture 8 偏倚和偏差的权衡

Segment 1 偏倚和偏差(Bias and Variances)

权衡的定量化:

由VC理论知:Eout<=Ein

Ein是Eout的一个近似,是针对训练数据拟合的h的样本内误差。

加上一般化误差Ω,这个式子告诉我们由样本内推广到样本外会如何。

偏倚和偏差分析是另一种途径,尝试将误差分解为两个部分,即:

  1. 假说集合H在多大程度上能近似目标函数f
    忽略样本,假设已知f和H,分析H中与f最接近的h与f之间的差距
  2. 能够从假说集合中找到这个h的可能性
    假设已知H中与f最近的f,根据已有的数据,有多大可能选择出这个h

下面的讨论中,将采用实值的目标函数,并用平方误差作为误差测量。

从Eout开始:

通过给定的训练数据集D,挑选出的最终假说g的样本外误差表达式为:

  • Eout(g(D))= EX[(g(D)(x)−f(x))2]

明显地,样本外误差的值依赖于所给定的训练数据集D。

假设现在只限定训练数据集D的样本数量为N,允许生成多个这样的训练数据集,则针对这些不同的训练数据集,可以获得不同的最终假说以及相应的样本外误差。

想要了解与某一给定训练数据集D无关的一般化的样本外误差,在等式两边都加上样本的期望:

  • ED[Eout(g(D))]=ED[EX[(g(D)(x)−f(x))2]]

根据期望迭代定律有:

  • ED[Eout(g(D))]=EX[ED[(g(D)(x)−f(x))2]]

下面主要讨论右边里面只与数据集D有关的这一项:

ED[(g(D)(x)−f(x))2]

平均假说(average hypothesis):

平均假说的定义:

对于一个特定的假说集合H,定义平均假说g(x)为:

g(x)=ED[(g(D)(x)]

g(D)(x)中x是一个给定的数据点,g(D)()是针对不同的训练数据集D挑选出的最终假说,g(D)(x)合起来是这些挑选而出的最终假说在这个给定的数据点X上的函数值ED[(g(D)(x)]是这些函数值的平均值。

如果训练数据集D的数量非常大,那么这个平均期望可能可以非常接近f。

QQ截图20131231153043

下面对ED[(g(D)(x)−f(x))2]进行展开:

ED[(g(D)(x)−f(x))2]=ED[(g(D)(x)−g(x)+g(x)-f(x))2]

=ED[(g(D)(x)−g(x))2+((g(x)-f(x))2+2(g(D)(x)−g(x))((g(x)-f(x))]

考虑到所求的是针对D的期望:

g(x)-f(x)为常数,交叉相乘项的关键在于ED[(g(D)(x)−g(x))]

由差的期望等于期望的差知:

  • ED[(g(D)(x)−g(x))]=ED[g(D)(x)]-ED[g(x)],其中ED[g(D)(x)]=g(x)为常数ED[g(x)]=g(x),两项消除为0

因此得到:

  • ED[(g(D)(x)−f(x))2]=ED[(g(D)(x)−g(x))2]+((g(x)-f(x))2

尝试理解这个式子:

ED[(g(D)(x)−f(x))2]告诉我们的是针对训练数据集D,我们从假说集合H中挑选出的最终假说g与目标函数f之间的差距

我们将其分解为两个部分:

  1. ED[(g(D)(x)−g(x))2]告诉我们的是,我们从假说集合H中挑选出的最终假说g与可能最好的平均假说g之间的差距
  2. ((g(x)-f(x))2是这个可能最佳的平均假说g与目标函数f之间的差距。

偏倚和偏差分别对应于这两者:

  1. 偏差为(var(X)):ED[(g(D)(x)−g(x))2]:是根据训练数据集D选出的最终假说g与平均假说g之间的距离,揭示的是给训练数据集D的影响
  2. 偏倚(bias(X))为:((g(x)-f(x))2: 是假说集合中最好的情况与目标函数之间针对某一个数据点的差距,揭示的是假说集合本身的影响

因此简化最一开始提出的样本外误差表达式:

Eout(g(D))= EX[(g(D)(x)−f(x))2]  = EX[bias(X)+var(X)]

偏差和偏倚权衡:

  • 偏倚:EX[bias(X)]=EX[((g(x)-f(x))2]
  • 偏差:EX[var(X)]=EX[ED[(g(D)(x)−g(x))2]]

以两张图来尝试说明偏倚和偏差之间的权衡

QQ截图20131231154811

上图代表假说集合H的复杂程度较低,假说集合中最好的情况离目标函数的距离可能较大,但是偏差可能较小。

QQ截图20131231154819

上图代表假说集合H的复杂程度较高,假说集合中最好的情况离目标函数的距离可能较小(甚至包含在其内),但是偏差可能较大。

告诉我们:

随着假说集合H的复杂度上升,偏倚减小,偏差增大。

举例说明:

假设目标函数是 f:[-1,+1] –> R, f(x)=sin(πx).

假设我们的训练数据集只含两个数据N=2, D={(x1,y1),(x2,y2)}

假设我们有两个假说集合:

H0为常数,h(x)=b

H1为线性一次函数,h(x)=ax+b

对于H0,挑选g(x)=(y1+y2)/2可以是Ein最小

QQ截图20131231155842

对于H1中挑选g(x)=(y1+y2)/(x1-x2)x+(x1y2-x2y1)/(x1-x2)可以使Ein最小

QQ截图20131231155852

现在要比较这两个假说集合的样本外误差Eout

就相当于是看获得的直线与目标函数对应的曲线之间区域的面积:

QQ截图20131231160801

下面考虑两个假说集合中平均假说分别是什么:

对于H0

下图左边表示的是反复抽取2个数据构成训练数据集D并拟合出的g()的分布情况,右边的绿色直线表示的是这些假说的平均,即g(x)。

g(x)是我们希望能选为最终假说的输出结果,但不一定能够选到它,这依赖于给定的数据集D。

下图右边的阴影部分是正负一个标准差的范围,因此:

蓝色曲线与绿色直线之间的差别代表偏倚,而阴影部分代表偏差。

QQ截图20131231212436

对于H1

下图左边表示的是反复抽取2个数据构成训练数据集D并拟合出的g()的分布情况,右边的红色直线表示的是这些假说的平均,即g(x)。

g(x)是我们希望能选为最终假说的输出结果,但不一定能够选到它,这依赖于给定的数据集D。

下图右边的阴影部分是正负一个标准差的范围,因此:

蓝色曲线与红色直线之间的差别代表偏倚,而阴影部分代表偏差。

QQ截图20131231213519

比较这两个假说集合,可以知道:

H0与H1相比,偏差较小,偏倚较大,下面是两者的具体数值。

QQ截图20131231213917

因此,在给定一个只含两个数据点的训练数据集D的情况下,赢家是H0

给我们的教训:

在机器学习问题中,我们是在模型复杂程度与训练数据集之间做匹配,而非在模型复杂程度与目标函数复杂程度之间做匹配。


Segment 2 学习曲线(Learning Curve)

学习曲线是在一张图表上同时绘制出样本内误差和样本外误差。

下图揭示的是简单模型和复杂模型的学习曲线。

QQ截图20131231214451

对于简单的模型,样本内外误差之间的差距较小,随着训练数据集样本量的增加,最终能达到的样本内误差不低,误差趋近于收敛的速度较快。

对于复杂的模型,样本内外误差之间的差距较大,随着训练数据集样本量的增加,最终能达到的样本内误差较低,误差趋近于收敛的速度较慢。

解读复杂模型的学习曲线:对于样本量较少的情况,复杂的模型是“记忆”住了样本,因此对样本外数据的误差大,只有在样本量足够大的时候,才能打破这个“偏见”而得以能够推广到样本外。

偏倚、偏差分析与VC分析告诉我们的结果是类似的。

QQ截图20131231215404

上图左边是基于VC理论的分析:

  • 蓝色区域代表样本内误差
  • 对于给定的N,做一条垂线,其在两条曲线上交点值之间的距离与一般化误差Ω成正比

上图右边是基于偏倚和偏差的分析:

  • 蓝色区域代表的是偏倚,即g(x)与f(X轴)之间的差距
  • 红色区域代表的是偏差

两种分析都考虑了样本内外误差,区别在于:

基于VC理论的分析中样本内外误差都随着样本量而改变

基于偏倚、偏差的分析中偏倚是常数,由假说集合决定,而偏差则由假说集合以及样本量共同决定

比较容易能理解为什么基于偏倚、偏差的分析的学习曲线的结构,下面举例解释基于VC理论的学习曲线结构。

最后以线性回归做示例:

假设我们尝试去学习的是一个有噪声的线性目标函数:y=wTX+noise

训练数据集为:D = {(x1,y1),…,(xn,yn)}

利用线性回归的正规方程解法,最终假说g中 w=(XTX)-1XTy

样本内误差Ein=Xw-y

对于同样的数据X,利用不同的noise生成y’用于估计样本外误差Eout=Xw-y’

QQ截图20131231221533

由此获得的学习曲线如上图所示。

其中:

  • σ2是样本外误差所能达到的最佳误差情况
  • 样本内误差的期望为:σ2(1-(d+1)/N)
  • 样本外误差的期望为:σ2(1+(d+1)/N)
  • 一般化误差的期望为:2σ2((d+1)/N)

d是假说集合的自由度。

一般化误差的期望值表达式也是上节中对曲线解读的来源。

课程地址:

http://work.caltech.edu/telecourse.html

Leave a Reply

Your email address will not be published. Required fields are marked *