Learning theory 机器学习原理

Introduction

年前刚刚完成了一门台大的机器学习基石课程,最后得到了complete with distinction的证书,话说真是有点小惊喜啊,为什么惊喜呢?因为第二次作业做得实在是烂,刚破及格线,这第二章讲的什么呢?为什么机器能够学习,机器学习的理论基础,经过三思,决定好好回顾一下机器学习的理论基础。

评价一个机器学习算法的generalization性能的方法就是看它在测试数据上的表现。所以评价这样的性能在现实的机器学习应用中十分重要,因为它影响了我们对于模型的选择,最终影响的是整个学习器的性能表现.

当我们选择模型的时候,我们时常会纠结于选择较为简单的模型还是较为复杂的模型。例如在做linear regression的时候,选择了以下的几个模型:


如果选择最左边的模型,那么我们在训练数据上的表现会比较糟糕(较高的in sample error),当选择最右边的模型,我们欣然发现in sample error为零!但是回过神来仔细一想这样的模型真的能在更广阔的数据上表现得很好吗?答案是否,这样的模型虽然bias很低,但是variance高了。它的generalize的水平很低。

Bias:模型在训练数据集上差的表现。

Variance:模型在训练数据集和测试数据集上表现的差异。

在现实的应用中,会有很多bias和variance权衡的时候,如果我们选择了一个较为简单的模型,很有可能会遇到bias较高,而variance较低,反之如果选择了一个较为复杂的模型,将会出现的是variance较高,而bias较低。那么我们接下来看看这样的结论背后的理论依据是什么。

Generalization theory

在训练数据集上的表现是否等同于在更广的数据上的表现?要回答这个问题,我们把所有的数据抽象为一个罐子中所有的不同颜色的球。现在问题转化为这样:通过抽取瓶中的一部分球,我们能否推测出罐子中不同颜色球的比例?

假设总体的比例为橘色的球出现的比例为U,绿色的球出现的比例为1-U,我们抽取的样本中橘色的球的比例V,绿色的球出现的比例为1-V,样本中的比例与总体的比例之间是否存在着某种关联呢?

根据霍夫丁定律


这个定律说明了什么?

1:当N很大的时候,即抽取的样本量很大的时候,不等式右边会很小,说明不等式左边的V与U相差一定数值的几率会变得渺茫,这个时候就能从样本中推测总体的分布了☺。

2:当差异ε增大时,右边不等式也会变小,这样的几率会下降。即U和V差很大的概率很小。

所以当我们有足够的样本,从已知去推测未知成为可能。

将罐球模型推广至机器学习

未知的总体橙球比例——》target f (x)

罐中的球——》总体数据

橙色的球——》假设h(x)在数据集上错误的表现h(x) 不等于 f (x)

绿色的球——》假设h(x)在数据集上正确的表现h(x) 等于 f (x)

从总体中抽出的样本——》在有限的数据集上h(x)的表现。

为了描述整个过程,考虑以下问题:

我们把注意力集中在二元的分类,目标值y ∈ {0,1},假设给定了数据集S ={(x(i),y(i));i =1,...,m},数据量为m,训练数据是通过一定的概率分布D抽取的。对于一个假设h,定义这个h的in sample error为:


即为错误标记的个数比上样本的总数。因为是在样本上的表现,所以定义为总体的error定义为:


它表示的是如果我们现在从分布D中抽取样例(x,y),那么我们错分它的概率为ε(h)。

重要的假设:我们的训练数据是测试数据取自同样的分布D。

通过霍夫丁定律,能够得出以下不等式:


是总体的错误,是模型在样本上犯的错误,这个不等式解释为以下:当样本数据的量m大到一定程度时,模型在样本数据上犯的错误与在总体数据上犯的错误的差别将会很小。

但是我们并不想只对一个h,以很高的概率逼近。我们想要证明的是对于假设空间H中所有的假设h都会是这样的情况:对于所有的h in H,以很高的概率逼近

Union bound

令A1,A2,  A3, Ak为k个事件,根据概率论的知识:那么k个事件发生任意一个的概率小于等于他们概率的和。

P(A1 ∪···∪Ak)≤P(A1)+...+P(Ak).

将该定理用于学习理论的推导:



-表示取反,最终的不等式说明了:对于所有的h in H,相差γ的几率有一个下界。

这里的union bound的上界是一个高估的值,发生于所有的bound完全独立的情形,但是现实是他们可能有一定的交集,如下图所示:


形象化的表示如下,假设有m个罐子,每个罐子橙色球的比例为E in()。那么我们可以得出所有罐子总橙色球的比例是小于一定上界的。


接着,令不等式右边等于:1 – δ,δ = 2k * exp(−2γ2m),解出m:


这个不等式告诉了我们要达到之前的不等式成立,我们需要的最少的样本数量是多少。为了达到一定的学习性能所需的样本量被成为样本复杂度

同时我们注意到的是k(所有的假设)出现在了log的后面,说明所需要的样本复杂度是随着k的log变化的,这个变化是非常慢的,我们的学习好像可行了!

k同时也说明了另外一件事儿:

当k很大时,假设集很大,这样不等式右边的量变大,会造成我们的出现较大的偏差,但是因为更多假设的存在,我们能够随意的挑选,更有可能选到一个在样本集上表现令我们满意的假设,使足够的小。这里的理论对应至bias和variance,即当假设集很大时,说明我们的模型复杂度较大,这样能够更好的拟合我们的训练数据(bias较小),但是在测试数据上的表现可能差强人意(variance较大)。

当k较小时,假设集很小,不等式右边的值较低,说明接近的概率很大,但是因为假设集有限,那么我们挑选到一个称心如意的假设的可能性就变小了,对应至bias和variance即为:bias较大,但是variance较小。

到此我们已经解决了一个问题:用假设在样本上的表现有很大的几率推测出它在总体上的表现

接下来我们要考虑的是在样本上表现得很好的假设会不会在总体上也表现的不错呢?

good E(in) ?= good E(out)

接下来再把不等式换一下,令m和δ不变,解出γ的值,

回顾一下两个量:

:假设h在样本数据集上的表现:错误,越小说明越好。

:假设h在总体数据上的表现。

现在新引入两个量:

:在样本数据集中表现最好的假设,用公式表示为:


:在总体数据集中表现最好的假设,用公式表示为:


那么现在我们想要做的是证明反应了

推导过程如下:


第一个不等式是根据 得到的。
第二个不等式根据: ,所以对于所有的h: ,那么对于 也不例外:

所以最后我们得出了:在样本数据集上最佳的假设在总体上的表现与总体数据的最佳假设相差2 γ

很高兴我们成功了!

最后,将所有的公式结合起来,得到:


这又再一次的展现了bias/variance的权衡:当假设集增大,模型变得复杂时,即k增大,那么整个γ增大了,即variance增大。但是min ε(h)减小了,即bias减小。反之亦然。

另外对于样本个数m有:


VC bound

对于假设集为无穷的情况,如果直接将k带入公式,那么我们的概率上限将变为无穷大,似乎这个公式就不在有用了,我们有没有什么办法还能用之前的结论呢?

对于一个二维平面一个点的分类问题:


用一条直线来划分这个点,使这个点属于不同的类别。在这个二维的平面中存在无限条直线,对应着无限的假设H空间,但是我们可以想办法将其分为不同种类的直线:


对于这样一个分类问题,我们找出了两类假设,如上图所示,这两个假设很好的概括了所有的假设。

那么当点的数量达到两个呢?有多少种假设呢?


我们发现总共有4种直线把两个点完全的分成4类。

当在增加一个点呢?有8种分割方式。


最后再增加一个点:4个点:


这时我们发现,即使列出了所有的直线,无论我们怎么在二维平面上排列4个点,它们都不能完全的被分成16种情形。

所以按照之前的理论:N个点,有两种tag,那么最多有2的N次方种分法,当N趋近于无穷大时,整个假设分类方法趋近于无穷大,那么我们就无法得到一个好的概率上限了。但是现在我们似乎看到了一线曙光,当N增大到某个点时,假设的类别(有效的分类方式)开始小于2的N次方了。我们把这样的开始出现不能被完全分类(shatter)的点成为breaking point。

对于shatter的定义:

Given a set S = {x(i),. . . , x(d)}(no relation to the training set) of points x(i) ∈ X,we say that H shatters S if H can realize any labeling on S. I.e., if for anyset of labels {y(1),. . . , y(d)},there exists some h ∈ H so that h(x(i)) = y(i) for all i= 1,...d.


同时引出了VC dimension的定义:Given a hypothesis class H, we then define its Vapnik-Chervonenkis dimension, writtenVC(H), to be the size of the largest set that is shattered by H. (If H can shatter arbitrarily large sets, then VC(H) = ∞.)

所以我们上面提到的二维平面点分类的问题的VC维是3.即最大可以被线性完整分类的点数。这里需要注意的是只要有一种情况N个点可以被shatter,即认为合格,不管在N个点中有其他不能被shatter的情况,如下图所示:


对于假设集无穷的情况,有下面的情况:(推导略去)


所以,当一个假设类存在有限VC维的时候(无限的VC维例如convex set,任何数量的点进来,都能被shatter),当m一定,那么这样的一个上界就存在了!

最后我们得出一个结论:我们需要的样本数量与H中的参数的数量(模型复杂度)成线性的关系。

最后晒下证书^_^




Reference

machine Learning CS229    http://cs229.stanford.edu/

machine learning foundation https://class.coursera.org/ntumlone-001

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值