加州理工学院公开课:机器学习与数据挖掘_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.

软件工程中也有类似的名言:

Keep it simple, stupid(KISS)

在机器学习领域同样存在类似的名言:

The simplest model that fits the data is also the most plausible.     -Occam‘s Razor

既然保持事情简单是如此重要,那么

1)对于一个模型来说,怎样才算简单?

2)为什么简单的一般就是好的?

首先回答第一个问题:怎样才算简单?

在机器学习中,存在两种类型的复杂度:模型的复杂度和假设集的复杂度。

模型复杂度的评价标准有两条:MDL 及 模型的阶。MDL 是最小描述长度(minimum description length)的缩写。对于一个模型,如果描述它所需要的信息越少则越简单。比如现在有一个模型,其中第一个数是 2,第 i 个数是第 i-1 个数的2倍(等比数列),那么该模型的描述可以为:a[i] = 2^i;相比于模型:a[i] = ax^2 + bx + c 要简单。模型的阶是指最高项的阶,越小越简单,平方阶就比立方阶简单。

假设集的复杂度评价标准有:Entropy 及 VC dimension。Entropy 描述了一个假设集中个个模型的离散程度。VC dimension 则描述了该假设集的学习能力,VC 维越高越复杂。

有些模型看起来很复杂,但实际上并不复杂,比如 SVM。该模型仅仅由不多的支持向量组成,所以其 MDL 不大。

举例:

曾有这样一个故事:足球预测。

B 每周都收到一封邮件预测下一周的足球比赛结果,每次预测都准确。如果你是 B 你会花钱购买下一周的预测结果吗?

分析:对于 B 来说,假设集大小为 1.但其实:

A 给众多的人发信息预测足球结果,其中一半的预测是:主场胜利。另一半预测是:主场失败。显然肯定有一半预测准确。接着再向预测正确的那一半利用同样的技巧发送预测信息。如此多次,肯定会有部分幸运儿,每次发给他们的预测都是正确的。不巧,B 就是幸运儿之一。

对于那部分幸运儿来说,他们只看到发给他们的预测,所以他们只考虑运用在他们身上的模型的复杂度,因此他们认为准确率非常高:100%。但是事实上假设集是 2^n 次方,预测结果根本就没有意义。

这说明我们不但要考虑模型的复杂度,还要考虑与之相关的假设集的复杂度。假设越复杂,得出来的模型就越不可靠。

第二个问题:为什么简单的一般就是好的?

对于假设集来说,复杂的假设集比简单的假设集有更大的可能拟合训练数据(VC维),但是如果简单的模型能够拟合训练数据,那么其可信度就会提高。因为复杂模型可能做的太多了。

2、Sampling Bias.

If the data is sampled in a biased way, learning will produce a similarly biased outcome.

抽样偏差,这个问题主要是在进行数据抽样的时候忽略了数据的分布情况。导致抽样数据与实际数据的分布不一致。这样学习出来的模型的泛化能力就会很差。(因为没有考虑某一部分数据的分布情况)。可以利用分层抽样的方法避免。

除了上述情况外, 还有一种情况出现在真实测试的时候。假设现在训练好一个模型:信用贷款。如果现在有人要来贷款,可以通过该模型得出一个结果:拒绝或接受。如果结果为:接受。但是最后发现这个家伙并没有能力还贷。因此我们可以利用该数据修正我们的模型。然而,如果当初的结果是拒绝,那我们将没有办法知道“拒绝”是否是一个正确的选择,也就是说我们没有办法在实际得到关于结果为"拒绝"的数据的正确性。

上述情况也是抽样偏差的一种。那该如何解决?土豪专用方法:当模型的结果为:拒绝的时候,你接受那个人的贷款,同时记录下模型的预测。最后在判断你的模型是否正确。

3、Data Snooping.

如果数据影响了机器学习过程的每一步,则它的泛化能力就会被削弱。(?_?)

(if a data set has affected any step in the learning process,its ability to assess the outcome has been compromised.)

数据窥视的主要在以下方面:

1、直接查看数据,然后选择“合适”的模型进行训练。

2、多次使用同一数据集:不同模型利用同一个数据集进行学习。

为什么数据窥探会弱化模型的泛化能力?

针对第一种情况,在我们选择合适的模型的时候,我们也在进行"学习":根据训练数据的分布情况,选择模型。因此我们实际上是扩大了假设集的复杂度。根据 VC 维理论,我们需要更多的数据才能得到同样的泛化能力。

针对第二种情况,也存在同样的原因。我们也在无意中扩大了假设集的大小。

可以参考 雷蒙保罗MAPA泛化理论(第六课)

解决方法有两种:

1、避免数据窥探。-_-

2、避免不了就在计算泛化理论的时候把数据窥探考虑进来。比如说把认为增加的假设集复杂度考虑上,增大数据集等。

时间: 2024-10-10 13:20:23

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

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

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

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

课程简介: 在回顾了VC分析之后,本节课重点介绍了另一个理解泛化的理论:偏差与方差,并通过学习曲线的运用比较了VC分析和偏偏差方差权衡的不同用途. 课程大纲: 1.偏差与方差的权衡 2.学习曲线 1.偏差与方差的权衡 在上一节课:VC 维中,我们求出了 Eout 的边界,Eout < Ein + Ω.该公式描述了 Eout 的边界.现在让我们从不同的角度来分析 Eout. 我们把 Eout 分解为两部分: 1.假设集 H 近似 f 的能力(即 H 中与 f 距离最小的 G 与 f 的误差大小 )

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

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

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

这一课的主题是:误差分析与噪声处理. 该课时的主要内容如下: 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) 作者认为,如果要测试某个模型的可用性,做好就是用真实数据. 为了讲解线性模型如何应用,作者利用线性模型来解决邮局数据辨别问题: 由于不同的人有不同的书写习惯,对于同一个数字其书写形式可能各异,但是其基本

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

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

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

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

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

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

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

课程简介 继续上一课最后的问题,当数据是非线性可分的时候需要把数据转化到 Z 空间(线性可分)才可以利用 SVM ,因此需要知道 Z 空间是什么.这节课解决了不用知道具体的 Z 空间就可以利用 SVM 进行分类. 最后,该课程介绍了如何因对过拟化的问题.思想跟十一课介绍的相同,就是设置一个限制条件. 课程提纲: 1.the kernel trick. 2.Soft-margin SVM 1.The Kernel Trick 通过十四课可以知道,我们只需要Z空间提供两个数据点的内积,并不需要知道如