加州理工学院公开课:机器学习与数据挖掘_偏差与方差权衡(第八课)

课程简介:

在回顾了VC分析之后,本节课重点介绍了另一个理解泛化的理论:偏差与方差,并通过学习曲线的运用比较了VC分析和偏偏差方差权衡的不同用途.

课程大纲:

1、偏差与方差的权衡

2、学习曲线

1、偏差与方差的权衡

在上一节课:VC 维中,我们求出了 Eout 的边界,Eout < Ein + Ω。该公式描述了
Eout 的边界。现在让我们从不同的角度来分析 Eout。

我们把 Eout 分解为两部分:

1、假设集 H 近似 f 的能力(即 H 中与 f 距离最小的 G 与 f 的误差大小 )

2、我们在 H 中找到该 G 的能力。(即 我们从 H 中找到的 g 与 G 的误差大小 )

衡量误差的时候我们使用了平方误差法

上述的 1、2 两点通常来说是冲突的。要使 H 更好地近似 f 则要求 H 更复杂,包含跟多的假设,这样 H 就越有可能接近甚至包含 f(此时 G 就是 f )。然而,如果随着 H 复杂度的提高,找到的 g 就越有可能远离 G。因为我们要在一个更大的范围里面找到 G ,所以会变得困难。当数据不好的时候,g 可能会远离 G。偏差与方差就是为了描述这两种情况且找到一个平衡点,使得
Eout 与 Ein 足够接近且 Eout 足够小。

因为我们得到的 g 是与特定假设集有关的,所以规定:gD(x) 表示在特定的数据集 D 下得到的函数在 x 对应的输出。因此有:Eout(gD(x))= Ex[ (gD(x)-f(x))^2)]。为了研究一般性的问题(与特定 D 无关),我们需要去掉 D。方法是求Eout关于 D 数学期望,所以我们有:

Ed[Eout(gD(x))]

=  Ed[Ex[ (gD(x)-f(x))^2)]]

= Ex[Ed[ (gD(x)-f(x))^2)]]

现在,先处理 Ed[ (gD(x)-f(x))^2)]。

定义 ~g(x) 表示 g(x) 的数学期望并且假设 ~g(x)便是H中最接近 f 的假设。则 ~g(x) = Ed[gD(x)](本来是在g(x) 头山加一横表示平均的,不过还是这样算啦)

Ed[ (gD(x)-f(x))^2)]

为什么会不见了最后一项?因为

Ed[2(gD(x)-~g(x)(~g(x)-f(x)))]

= 2(~g(x)-f(x))Ed(gD(x)-~g(x))

= 2(~g(x)-f(x))(Ed(gD(x)]-Ed[~g(x)]) )

= 2(~g(x)-f(x))(Ed(gD(x)]-~g(x)) )

= 2(~g(x)-f(x))(~g(x)-~g(x)) )

= 0

其中 Ed[gD(x)-~g(x)^2] 表示方差。(~g(x)-f(x))^2 表示偏差

因此方差是指我们找到的假设与最后的假设之间的平均距离,而偏差是指最好的假设与真实值之间的距离

对于一个简单的假设集比如:H = ax,一般方差都会比较小,而偏差则会很大。相反,如果是一个很复杂的模型如 H = ax^100+bx^99...+zx^1,则一般方差会变大,而偏差会较小。而我们是希望能够在这里找到一个平衡点。因此我们应该根据数据的多少而选择不同的模型。如果我们只有很少的数据,那就应该选择较简单的模型,否则方差可能会很大。而当我们有大量数据时,我们就应当选择较复杂的模型,因为大量的数据会减少方差,而复杂的模型会较少偏差。

2、学习曲线:

所谓学习曲线就是 Eout 与 Ein 与 样本数量的关系曲线。

下面让我们观察两个模型的学习曲线图:

左图对应的是简单模型的,右边的是复杂模型。

显然,当一个模型比较简单的时候,无论 Eout 还是 Ein 都很大,随着 N 的增大,Eout 与 Ein 的距离变得很小。相反,当一个模型很复杂的时候,Ein 在一开始的时候甚至可以为0(想象 VC 的情况,当N 小于 VC 维是,我们可以完全的分离样本内的数据,不会产生误差),但是当 N比较小的时候,Eout 变得非常大, 那是因为小 N 不足以应付复杂的复杂的模型。当N
不断增大的时候,Eout 与 Ein 靠拢,但是 Eout 与 Ein 的距离却比简单模型的要到。但是因为我们的目的的得到小的 Eout,而当我们有大量数据的时候复杂模型的 Eout 比简单模型的 Eout 要小,所以应该优先选择复杂的模型。

下面把 VC 维和 方差偏差放在学习曲线中进行比较:

可以看到:对于 VC 维来说,蓝色点表示的是样本内误差:Ein ,粉红色点表示的是  Ω(或者说 Ω至少大于粉红色的点)。对于偏差方差来说,蓝色点表示的是偏差,而粉红色点
- 蓝色点表示的是方差。

对于偏差方差来说,为什么蓝色点表示偏差?即为什么偏差不会随着 N 而改变?根据定义,偏差是相同大小的不同数据集下得到的最好的,最接近 f 的假设与 f 的距离。虽然可能 10 个点的数据集比2个点的数据集能够得到更好的近似,但是当我们非常多的数据集的时候,那么他们的数学期望应该是相近的而且接近 f,所以在上图中就表现为一条平行于 x 轴的水平线了。

下面我们举一个关于学习曲线的例子:

请看下面的线性模型:

为什么要加上 noise ?那是认为的干扰,目的混淆视听,测试在该干扰下,机器学习到的模型与 y = Wx 线性的近似程度。当机器学习得到的模型是:y = Wx 时,认为是最好的情况,因此有下面的结论:


其中 d+1 是线性模型的自由度,有点类似 VC 维。在作用上可以说是一致的。

至于为什么是 (d+1/N),作者没说,我也不清楚了...

感觉对后面部分的理解不是十分好...

为什么需要对偏差与方差进行分析?目的是为了给出一个指导方针,在 H、D、学习算法的取舍下得到一个平衡。

时间: 2024-10-29 19:06:51

加州理工学院公开课:机器学习与数据挖掘_偏差与方差权衡(第八课)的相关文章

加州理工学院公开课:机器学习与数据挖掘_过拟化(第十一课)

课程简介 本节课主要介绍了关于机器学习中的过拟化问题.作者指出,区别一个专业级玩家和业余爱好者的方法之一就是他们如何处理过拟化问题.通过该课程,我们可以知道样本数据的拟合并不是越高越好,因为噪声的存在将使得过拟化问题的出现.最后简介了处理过拟合的两种方法. 课程大纲 1.什么是过拟化?(what is overfitting?) 2.过拟化中的噪声.(The role of noise) 3.确定性噪声.(Deterministic noise) 4.如何处理过拟化问题.(Dealing wit

加州理工学院公开课:机器学习与数据挖掘_误差和噪声(第四课)

这一课的主题是:误差分析与噪声处理. 该课时的主要内容如下: 1.Nonlinear Transformation(Continue)(非线性转换(续)) 2.Error Measure (误差度量)(重点) 3.Noisy Targets(噪声指标)(重点) 4.Preamble to the Theory(理论热身) 1.Nonlinear Transformation: 在上一节课的最后,作者举了一个关于非线性转换的例子.通过该例子我们可以直观的看到非线性的数据可以被转化成线性的数据并且利

加州理工学院公开课:机器学习与数据挖掘_线性模型

这一课时主要是讲述了线性模型的一些处理. 包括: 1.输入数据的表示(Input Representation) 2.线性分类(Linear Classification) 3.线性回归(Linear Regression) 4.非线性模型转换(Nonlinear Transformation) 作者认为,如果要测试某个模型的可用性,做好就是用真实数据. 为了讲解线性模型如何应用,作者利用线性模型来解决邮局数据辨别问题: 由于不同的人有不同的书写习惯,对于同一个数字其书写形式可能各异,但是其基本

加州理工学院公开课:机器学习与数据挖掘_训练与测试(第五课)

课程简介: 本视频为机器学习系列课程第5章.主要定量研究训练与测试之间的关系,并引入学习模型中的一个重要概念--断点.课程深入浅出,从正射线.正区间和凸集三个具体例子入手,寻找突破点,从而得出训练集与测试集的关系. 课程大纲(Outline): 1.从训练到测试(From Training to Testing) 2.举例说明(Illustrative Examples ) 3.关键概念---- 断点(Key Notion --- Break Point ) 4.难题(Puzzle) 1.从训练

加州理工学院公开课:机器学习与数据挖掘_神经网络(第十课)

课程简介: 本节课主要介绍人工神经网络.通过介绍评定模型,随机梯度下降法,生物启发和感知器系统,讲师用视图和数学解析式详细地讲解了神经网络的运行过程以及原理. 课程大纲: 1.Stochastic Gradient Descent ( 随机梯度下降法 ) 2.Neural Network Model ( 神经网络模型 ) 3.Backpropagation Algorithm ( 反向传播算法 ) 4.Summarize 1.Stochastic Gradient Descent 在上一节课里,

加州理工学院公开课:机器学习与数据挖掘_Three Learning Principles(第十七课)

课程简介 : 这一节课主要讲述机器学习中应该注意的事项,包括:Occam's Razor.Sampling Bias.Data Snooping. 课程提纲 : 1.Occam's Razor. 2.Sampling Bias. 3.Data Snooping. 1.Occam's Razor. 爱因斯坦曾经说过一句话: An explanation of the data should be made as simple as possible, but no simpler. 软件工程中也有

加州理工学院公开课:机器学习与数据挖掘_Epilogue(第十八课-终结篇)

课程简介 : 这是该课程的最后一课,作者首先总结了有关机器学习的理论.方法.模型.范式等.最后介绍了贝叶斯理论和Aggregation(聚合)方法在机器学习中的应用. 课程提纲 : 1.机器学习的地图. 2.贝叶斯理论. 3.Aggregation(聚合). 1.机器学习的地图 有关机器学习的方法.模型等非常多,简直令人目不暇接.比如下图列出来的.然而不建议一一学习这些方法.模型,否则容易迷失在这些方法里无法自拔.如果我们对于机器学习的框架认识的足够深刻,那么我们才能驾驭众多的方法. 下面列举了

加州理工学院公开课:机器学习与数据挖掘_VC 维(第七课)

课程简介: 本讲通过回顾上一讲内容,引出了VC维的定义,它是由统计学习理论定义的有关函数集学习性能的一个重要指标.并通过例子证明函数集的VC维就是它能打散的最大样本数目.课程最后介绍VC维的应用,指出它反映了函数集的学习能力,VC维越大则学习机器越复杂 课程大纲: 1.定义(The definition) 2.感知器的 VC 维(VC dimension of perceptrons) 3.VC 维的解释(Interpreting the VC dimension) 4.边界的泛化(Genera

加州理工学院公开课:机器学习与数据挖掘_Regularization(第十二课)

课程简单介绍: 接上一节课,这一节课的主题是怎样利用 Regularization 避免 Overfitting.通过给如果集设定一些限制条件从而避免  Overfitting,可是如果限制条件设置的不恰当就会造成 Underfitting. 最后讲述了选择 Regularization 的一些启示式方法. 课程大纲: 1.Regularization 2.Weight decay 3.Choosing a regularizer 1.Regularization R 有两种方法: 1) Mat