machine learning学习笔记——学习理论(Learning Theory)

本笔记主要内容来自斯坦福大学机器学习课程讲义,也有来自其他文献的资料和一些个人理解,初学者难免出错,欢迎纠正。PS:当时上到这课的时候不明觉厉的就这样半懂不懂地混过去了,在后面又学了几个模型后才回头过来认真学习这篇,果然指导性理论还是很有用啊,不然遇到识别率很低的情况时都不知道该改变特征数量还是要增加样本数量。

  1. 偏差(bias)/方差(variance) 权衡

    先来考虑线性回归的问题。给定一组数据(比如一定时期内房价与面积的数据),用何种模型(比如说用几次多项式)来拟合这组模型是个必须考虑的问题。可以用"简单"的模型,比如使用一次多项式,也可以使用"复杂"的模型,比如五次多项式

    但我们可以从图中看到,最右边使用的"复杂"模型拟合出来的曲线的并不是一个理想房价模型,它尽管在训练集内能将训练样本拟合地很好,但我们并不认为这个模型对房价能做一个有效的预测。换句话说,这样的模型从训练集推广到新的样本的能力,即泛化能力,过差。

    在此定义一个假设函数(hypothesis)的泛化误差(generalization error)为这个假设函数对一个不一定在训练集中的样本的预测误差。泛化误差包括两部分:偏差(bias)与方差(variance)。

    在上图中最左边与最右边的模型都有着较大的泛化误差,但对于这两个模型,导致这个问题的原因却并不相同。

    设想数据中x和y的关系并非线性,即使我们用庞大的数据去训练一次多项式模型,其仍然难以进行较为精准的预测。

    在此非正式的定义偏差(bias):使用大量(趋近无线)的数据去训练模型后,该模型的泛化误差。对于使用一次多项式作为模型,就有着较大的偏差,对数据存在欠拟合(underfiting)。

    而上图最右的模型则过度适应训练集中的样本,无法体现出特征间真正的关系,训练集中的数据稍有波动,其对训练集外样本的预测就有巨大的变化,我们便认为这样的模型存在较大的方差(variance),对数据存在的过拟合(overfiting)。

    在文献《A Few Useful Thingsto Know about Machine Learning》中这样定义偏差(bias)与方差(variance):

    Bias: a learner's tendency to consistently learn the same wrong thing,即度量了某种学习算法的平均估计结果所能逼近学习目标(目标输出)的程度。

    Variance:the tendency to learn random things irrespective of the real signal,即度量了在面对同样规模的不同训练集时,学习算法的估计结果发生变动的程度。比如在同一现象所产生的不同训练数据上学习的决策树往往差异巨大,而实际上它们应当是相同的。

    我们可以从图形直观的感受偏差(bias)与方差(variance)的区别:

    靶心为某个能完美预测的模型,离靶心越远,则准确率随之降低。靶上的点代表某次对某个数据集上学习某个模型。纵向上,高低的bias:高的Bias表示离目标较远,低bias表示离靶心越近;横向上,高低的variance,高的variance表示多次的"学习过程"越分散,反之越集中。

    bias和variance共同组成泛化误差generalization error,其各自与模型复杂度的关系可以由下图清晰地看到:

    可见复杂的模型有较大的方差而较小的偏差,简单的模型则反之。

  2. 初步准备与引理

    首先我们提出几个问题:

    1. 我们能否将偏差与方差的权衡正式地定义出来?这样就可以来指导我们选择模型,比如实现自动选择用几次多项式去拟合数据。
    2. 我们能否建立模型在训练集上的误差与其真实泛化误差的关系?
    3. 保证我们的学习算法能良好工作的条件是什么?

    我们先从两条引理开始

    引理1

    为k个随机事件(不一定独立),则

    引理2 (hoeffding不等式)

    为m个服从伯努利分布的独立同分布随机变量,也就是说,而。令,则

这条引理亦被称为切诺夫界(Chernoff Bound),他说明了在m足够大的时候,m个服从伯努利的随机变量的均值可以来估计我们的参数而不引起较大的误差。

为简化说明,这里只考虑二项分类问题,在这里得出的结论也可推广到回归、多分类问题中去。

假设函数我们有一个有m个样本的训练集,其中每个样本都由某分布D独立生成。对一假设函数h,我们定义训练误差(training error)(或称为经验风险(empirical risk or empirical error))为

上式即假设函数h的误判次数除以总样本个数。为了表示训练误差是与训练集S相关,我们也把训练误差记为

我们也定义下泛化误差(generalization error)

即由分布D新生成一个样本时,假设函数h对其出现误判的概率。

回忆下线性分类器,我们用何种方法来确定参数呢?一种方法就是将训练误差最小化:

我们称之为经验风险最小化(empirical risk minimization, ERM),我们认为ERM是最基础的学习算法,我们曾学的logistic回归等都可看做经验风险最小化的一种近似。

我们定义假设函数集(hypothesis class)为我们所讨论的所有假设函数的一个集合。对于线性分类器则就表示了将样本点映射到标签集的所有的线性分类器。

经验风险最小就可以看做在假设函数集中寻找一个假设函数h,使得经验风险最小。

  1. 假设函数集 为有限的情况

让我们来考虑假设函数集中共有k个映射到标签集的假设函数。并在k个假设函数中挑选出假设函数使得经验风险最小。

对于给定假设函数h,我们将对泛化误差做出估计,为此我们将分两步走:

第一步:首先证明对于所有的h,都可以对做出良好的估计。

第二步:作出泛化误差的一个上界。

考虑给定一个假设函数,并考虑一个有着如下分布的伯努利随机变量Z:假设我们的样本,则令。也就是说,Z表示了假设函数是否将样本误判。类似的,我们定义。因为我们的训练集中数据由独立同分布的形式由分布D生成,随机变量Z和将有着相同的分布。

这样我们的训练误差可以写成

因此实际上是m个随机变量的均值,而随机变量则是由以为均值的伯努利分布生成。因此,我们可以应用引理2:hoeffding不等式,从而得到

上式表面了,假如样本数量m足够大,对于特定假设函数,训练误差会以很大的概率接近泛化误差。

而我们真正想证明的在假设函数集中的所有假设函数h是否也满足这一点。假设事件代表了事件,则上面已经证明了对于特定为真。则有

用1减去上式左右两边,得到

也就是说,我们有至少的概率使得在所有的上下之内。这被称为一致收敛(uniform convergence),因为它是对所有假设函数都成立的一个下界。

对此我们还能这样提问,给定和我们所能容忍出现的概率,我们的输入样本m需要多大才能使得?很简单,令后我们便得到

这个式子告诉了我们为了使对所有的有至少的概率,我们至少需要m个输入样本,这个样本数量m称为算法的样本复杂度(sample complexity)。从上面式子中可以看出影响样本复杂度的参数k(假设类中假设函数的数量)在log函数中,对m的影响比较有限。

类似的,假如我们固定m和而去求解的话,我们则可以得到在1-的概率下对于所有有下式成立

在知道的一个很好的替代之后,我们还得考虑以为目标函数优化所得的假设函数h与真正的最优假设函数到底有多大的差距呢?在此我们假设一致收敛成立,也就是说对所有成立。并定义,即在中使得训练误差最小的那个假设函数;,即在中使得泛化误差最小的的那个假设函数。我们可以得到如下关系:

第一行的推导中用到我们的一致收敛假设,即;第二行则是因为我们定义为使最小的h,故;第三行则是在此用到了再次用到一致收敛假设,。从上式中我们得到的结论是,假如发生了一致收敛,那么相比真正最优的假设函数,其泛化误差最差也只高了而已!

我们将以上讨论总结为一个定理

定理

假设类中有k个假设函数,并给定m与,在至少1-的概率下,有

如果令等于上式中根号部分的话,就得到我们上面的结论。这也给我们之前所讨论的偏差/方差权衡做了一个模型上的解释:如果我们在假设类中新增假设函数的话,原本的只会变得更小或不变,因此,我们增加模型复杂度的话,"偏差"只能减小;而新增假设函数后,k增大,导致上式右边根号项增大,体现会"方差"的增大。

像我们以前那样固定来求解m,就能得到以下推论

推论

令假设类中有k个假设函数,并固定。若要使在至少1-的概率下成立,则应使样本数量m满足

  1. 假设函数集 为无限的情况

我们虽然已经从有限假设函数集中推导出了一些有用的结论,但实际上很多算法都以实数作为参数,我们的假设类是无限的,我们能否推导出类似的结论呢?

先从一个不太严谨的例子中切入这个问题,虽然这个例子中的假设类并非无限,但有助于我们直观地理解这个问题。

设我们的假设类中的假设函数由d个实数参数控制,在计算机中用双精度浮点数来表示实数,每个实数消耗64个位。因此,我们的假设类中的假设数量最多为个。由上一节的结论,为保证至少在的概率下有,样本数量m需满足(最后那项的下角标表示O与隐性相关)。因此从中可以看出训练集样本数大致与模型的参数数量成正比。

我们从基于浮点数得到在这个结尽管并不严谨但大致上是正确的:假如我们要去最小化训练误差并使用带有d个参数的假设函数,为使模型工作地更好,我们需要与参数个数d成线性关系数量级的输入样本m。

(需要注意的是,这个结论对所有使用经验风险最小化的算法成立,因此尽管样本复杂度与参数数量大致成正比这个结论对大多数使用最小化训练误差或使用类似最小化训练误差的方法的判断学习算法都成立,但对某些判断学习算法却并不成立。给出使用非经验风险最小化的判断学习算法的相关理论仍是最新的研究课题。)

我们以上的讨论在无限假设函数的情况下确实存在一些不适用的地方,这是因为我们的结论依赖于假设函数的参数数量。比如,从,共n+1个参数;而假如我们再例举一个假设函数,从,共2n+2个参数。但事实上这两个假设函数是一样的,都是n维的线性分类器。

为了引出更多有用的结论,我们先再多定义一些东西。

给出一个样本集(与训练集无关),若能识别出S中样本点的任意一种标签,则称能打散(shatter)S。也就是说,对于任何标签集中都至少存在一个假设函数使得

有了打散的定义后,给定假设函数集,我们定义它的VC维(Vapnik-Chervonenkis Dimension),记为,为这个假设函数集所能打散的样本集的最大尺寸。(若能打散任意大小的样本集S,则的VC为无限。)

下面举一个例子,考虑样本集中有3个样本点,见下图:

假设我们的假设函数集为二维的线性分类器,假设函数集能否打散上图所示的样本集?答案是肯定的。从下图中我们可以看到尺寸为3的样本集总共种不同的标签方式,而我们的假设函数集中对每一种标签方式都有着可以实现"0训练误差"的假设函数存在:

且很容易可以知道,假如样本集尺寸变为4后,我们的假设函数集便无法将之打散了。所以我们的假设函数集所能打散的样本集的最大尺寸为3,故

同时我们注意到的假设函数集仍然有无法打散的尺寸为3的样本集存在。比如3个样本点在同一直线上,像下图那样的标签方式,我们的线性分类器就无能为力了。

换句话说,在VC维的定义中,我们为了保证至少为d,就必须证明至少有一个尺寸为d样本集能被打散。

以下的定理由Vapnik提出,可能可以算是学习理论中最重要的定理。

定理

给定假设函数集,并令。在至少1-的概率下,以下不等式对所有成立

因此,在至少1-的概率下,我们有

换句话说,假如我们的假设函数集的VC维是有限的,那当m很大的时候,一致收敛将会发生。就像之前我们所讨论的那样,这条定理让我们用给出了的上界。有如下推论:

推论

在至少1-的概率下对所有成立,至少需要的样本数量m需满足

也就是说,为了使假设函数能得到"良好"的学习,需要的样本数m大致上与VC维d呈线性关系。

转载于:https://www.cnblogs.com/Kazusa/p/3500890.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值