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

课程简介:

本讲通过回顾上一讲内容,引出了VC维的定义,它是由统计学习理论定义的有关函数集学习性能的一个重要指标。并通过例子证明函数集的VC维就是它能打散的最大样本数目。课程最后介绍VC维的应用,指出它反映了函数集的学习能力,VC维越大则学习机器越复杂

课程大纲:

1、定义(The definition)

2、感知器的 VC 维(VC dimension of perceptrons)

3、VC 维的解释(Interpreting the VC dimension)

4、边界的泛化(Generalization bounds)

1、定义

dvc(H) = the most points H can shatter。模型(H)能够打散的最多的点。在这里打散是指能够把所有的点任意分类。对于二分类,打散 N 个点表示可以产生 2^N 种的可能分类

如果我们清楚断点(k)的概念,那很容易得知 dvc(H) = k - 1.(为了方便,可能会用 d 代替 dvc(H))

VC 维与学习的关系:

如果 dvc(H) 是有限的,则 g ∈H 将会得到泛化(在第六课已经从理论上证明了)。

注:在机器学习中的泛化是指通过样本得到的规律适用于样本外的数据的能力,即 Ein 与 Eout 的差距

上述声明具有以下性质:

1、与学习算法无关。无论如何,我们都有办法得到泛化的 g。

2、与输入数据的分布无关。因为我们已经考虑了所有的情况,该声明适用于所有的情况。

3、与目标函数无关。我们根本就不关心目标函数。我们只关心样本数据和测试数据。

4、g 只跟样本数据和假设集 H 有关。假设集决定了 g  的取值范围。样本数据决定了 g 的值

2、感知器的 VC 维

公式:dvc(H) = d + 1.

其中 H 是感知器模型,d 是感知器的维度。(对于二分类)

证明:

为了证明 dvc = d + 1.我们先证明 dvc >= d+1 ,然后证明:dvc <= d + 1.

1) 证明 dvc >= d + 1:

根据定义,我们必须有:当点的个数为 d+1 的时候,我们可以打散所有的点。假设 Y 是 d+1 个点的所有可能分类结果(2^N),则对于任何一种结果 y ∈Y ,我们均要找到一组参数 W 使得 XW = y。如果 X 可逆,则 W = (X^-1) * y。因此只要我们能够找到一组数据集,其可逆,则证明成立。我们现在找到如下一组X ,共 d+1 个点,每个点都是 d+1 维的,其中包括常数部分。其取值如下所示,该矩阵是可逆的,证明完毕。

2) 证明 dvc <= d +1

为了证明 dvc <= d +1 我们只需要证明对于任何 d+2 个点,我们无法打散他们。

即我们只需要找到一组该感知器模型不能对其进行分类的数据即可。

像证明 1) 一样,我们构造一个 X ,但是该 X 具有 d+2 个向量,每个向量的维度依然是 d+1,则根据线性代数的知识我们知道,当向量的个数大于维数的时候,该组向量是
线性相关的。即存在一个向量 Xj 使得:。由于每个向量的第一维是 1 (Why?)所以 ai 不全为 0。我们现在找出如下一组分类:

yi = sign(ai) 其中 ai 不等于 0(我们忽略等于 0 的 ai )且 yj = -1。下面将证明该感知器模型不能产生该分类。

令上述等式左右两边同时乘上 W(参数),则 yi = sign(WXi),又 yi = sign(ai),因此 sign(WXi) * sign(ai) > 0。所以我们有上述等式的右边乘上W必定大于 0,因此WXj 也
必定大于0,所以 yj = sign(Wxj)= +1 ,没办法产生 yj = -1 的分类,所以我们可以证明 dvc <= d+1

综上,我们有 dvc = d+1,证毕。

对于感知器模型来说,VC 维正好就是参数的个数,VC 维越大,参数越多,模型越复杂。那么对于其它的感知器,这一结论是否适合?这就是我们接下来要讲的内容。

3、VC 维的解释

这一小节主要解决两个问题:

1、VC 维的意义是什么?

2、如何利用 VC 维指导机器学习?

3.1 VC 维的意义

对于一个模型,如果其参数越多,则其自由度往往越大,正如第上一小节讲述的一样,如果感应器的维数越大,参数越多,越复杂,即越自由。那么我们是否可以根据模型的参数来确定该模型的自由度呢?

先看几个例子:

1) 正射线模型,dvc = 1,参数等于 1,自由度 1

2) 线段区间模型,dvc = 2,参数等于 2,自由度 2

乍一看,好像是参数可以决定一个模型的自由度似得。然而,我们应该可以找到反例,看下面的例子:

下面的图表示的是一个线性模型,该线性模型由四个简单的线性模型组成,每个圆代表一个简单的线性模型,每个简单的线性模型有两个参数,因此整个模型的参数是 8 。那是否说明该模型的自由度是 8 呢?不然,因为存在冗余。实际上除了第一个简单模型外,其它模型的输入均受限,要么 +1,要么 -1.因此参数个数不能代表自由度。然而如果我们利用 VC 维的话,我们并不需要知道该模型的组成,我们只关心能够被打散的最大点的个数。因此,用 VC 维能够更好地表示一个模型的自由度,这就是
VC 维的意义所在,其代表了一个模型的自由度,而不受模型的组成的影响。

3.2 如何利用 VC 维指导机器学习?

如果我们知道了 VC 维,我们需要多少个数据才能更好地指导学习?

考察下面的公式:

当我们给定了 ε 和 λ(不等式的右边),我们正真想要知道的是,需要多少个点才能满足。为了更好地考察该不等式,我们对不等式的右边进行简化,如下:

y = N^d * e ^ (-N),其中 d 便是 VC 维,我们通过考察跟上述不等式右边的表达式相似的表达式来推测原表达式。这样一来可以简化分析过程,二来又不失一般性。

令 y 等于一个很小的值(这是我们想要的),则对于不同的 d 我们有如下图:图中的水平线便是我们想要的值,我们希望 y 小于等于该值,其对应的 x 坐标就是需要的点
数:N 的大小。


由于当 d 不断增大的时候,函数的极值会上升的非常快,因此我们对 y 值求对数以便我们可以更好地进行观察。

其中第一条线 d = 5,以后每条线对应的 d 均是前一条线 + 5。通过观察我们可以大概知道,d 与 N 大概成正比增长。

我们观察到如下现象:VC 维越大,N 越大,而且大致成线性关系,该现象没有数学证明,是通过实践观察到的,但是其指导意义很大。

当我们给定了  ε 和 λ 后,只能得到N 与 VC 维的大致的比例,而不是确却比例。然而在大多数情况下,该大致比例都成立,通过大范围的观察,我们有如下经验公式:

N >= dvc * 10.(对于大多数问题,大多数模型,大多数数据集均成立)

4、边界的泛化

对于以下公式,我们进行化简,用 δ 表示不等式的右边,并且用  δ 表示 ε

于是我们有:

之前我们研究的是坏事件的出现概率,现在我们来看看好事件的出现概率:

P[|Ein(g)-Eout(g)|<=ε ] >= 1-δ

用  Ω(N,H,δ)代替
ε 得到我们想要的好事件定义为:|Eout-Ein| <=
 Ω(N,H,δ)

Ω 与 N,δ 成正向关系,与 H 或 VC 维成反向关系

我们现在先忽略掉
Ω 的参数,于是有:|Eout-Ein| <=
 Ω。

在大多数情况下,都有 Eout 比 Ein 大,因为我们是在样本内进行学习的,所以一般情况下我们所学习得到的具体模型会更偏向于我们的样本,当然不排除一些例外情况,
因此我们再次进行简化,去掉绝对值有:

Eout-Ein <=
 Ω

移项得到:

Eout <= Ein +
Ω

这里涉及到机器学习中一个很重要的技巧:正则化。 Eout 不单单与 Ein 有关,而且与 Ω 也有关。因此当我们增大假设集数量的时候,虽然能够减少 Ein 但是却增大了
Ω ,
这中间应该有一个权衡的值,使得 Ein + Ω 最小化,这个便是正则化处理的问题。

结论:

本节主要讲述了什么是 VC 维及 VC 维的意义。通过 VC 维,我们可以描述一个模型的自由度,知道进行有效学习需要的数据量等信息。很多情况下,需要的数据量只是一个经验值,没办法得到一个准确的值,但是这个值对于指导我们进行机器学习的分析是很有帮助的。最后通过对原始公式的化简,对模型边界进行泛化处理。我们得出假设集的数量并不是越多越好,因为
Eout 同时受到 Ein 和 Ω 的影响。

时间: 2024-12-15 01:32:54

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

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

课程简介 本节课主要介绍了关于机器学习中的过拟化问题.作者指出,区别一个专业级玩家和业余爱好者的方法之一就是他们如何处理过拟化问题.通过该课程,我们可以知道样本数据的拟合并不是越高越好,因为噪声的存在将使得过拟化问题的出现.最后简介了处理过拟合的两种方法. 课程大纲 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 的误差大小 )

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

这一课的主题是:误差分析与噪声处理. 该课时的主要内容如下: 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.从训练

加州理工学院公开课:机器学习与数据挖掘_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.机器学习的地图 有关机器学习的方法.模型等非常多,简直令人目不暇接.比如下图列出来的.然而不建议一一学习这些方法.模型,否则容易迷失在这些方法里无法自拔.如果我们对于机器学习的框架认识的足够深刻,那么我们才能驾驭众多的方法. 下面列举了

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

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