为什么机器能够学习——PAC Learnability

机器学习中,我们根据训练集训练一个模型,来对测试数据进行预测。通常我们并不关心模型在训练集上的好坏(即训练误差,in sample error),因为即使一个模型在训练集上表现的再好也未必具有举一反三的能力,因此我们更着重于其在从未见过的数据(测试集)上的正确率(即泛化误 差,generalization error、out sample error)。因为泛化误差从整体上告诉我们 模型表现的好坏,这是我们事先不知道的一个参数, 正是由于不知道,所以我们才要估计它, 这也是机器学习的核心任务。初看起来,这个问题有点无从下手, 因为我们没办法知道输入空间的分布,因此也没办法估计泛化误差。不过,别忘了我们手头上有一笔训练数据,我们要根据这笔资料从假设集中挑一个假设出来,对 测试数据进行分类。一个很自然的想法是,我们可以挑训练误差最小的那个假设,这点很容易理解,训练误差小的假设泛化误差也应该比较小,也就是说我们挑出来 的假设和真实的target function比较接近。那么这个想法是正确的吗? 一定意义上来说,是对的。不然也不会有经验风险最小化(ERM)算法了。ERM是说从假设集中挑一个使得训练误差最小的那个假设h。数学上定义如下:

\[ \min \frac{1}{m}\sum_{i=1}^m I[h(x^{(i)}\neq y^{(i)}]\]

其中,m为训练样例的个数。

面说明为什么这个方法可行。统计学里,大数定理家族有个著名的不等式——Hoeffding‘s
equality。这个不等式的背景是,假设有一组独立同分布的随机变量$Z_1,\ldots,Z_m$,它们都服从Bernoulli分布,
即$P(Z_i=1)=\phi,
P(Z_i=0)=1-\phi$。我们想通过这组变量的均值$\hat{\phi}\frac{1}{m}\sum_{i=1}^m
Z_i$来估计参数$\phi$的值。Hoeffding不等式从概率意义上刻画了估计值和参数值的接近程度:
\[ P(|\hat{\phi}-\phi|<\epsilon)\leq 2\exp{-2\epsilon^2 m} \]

中,$\epsilon>0$是一个误差限,$m$是训练集中的样例个数。这个不等式告诉我们,我们的估计和真实值得差距相差很大的概率很小,也就
是说二者接近的概率很大。因此我们可以说,$\hat{\phi}=\phi$是PAC(probably approximate
correct,可能近似正确)的。PAC这个术语很有意思,他不能打包票说二者一定是等的,他只能保证大多数情况下是这样;而这个“等”只是越等,即相
差很近但不一定完全一样,例如我投一百次硬币,最后的频率可能是0.51或者是0.49,接近0.5但不会相等。有了Hoeffding不等式的理论基
础,我们想把这个刻画参数估计和真实值接近程度的方法套用到学习问题上去。
为了能够套用Hoeffding不等式到学习问题上,我们需要做出一些
假设:
给定一个假设h,我们认为h在一个样例x上与类标号y是否一致是一个服从Bernoulli分布的随机变量,也记为Z,即$Z=I[h(x)\neq
y]=\mu$,这里$\mu$可以认为是泛化误差。我们进一步假设训练集的样本是独立同分布采样的,那么$Z_1,Z_2,...,Z_m$是一组
iid且服从Bernoulli分布的随机变量,它们的平均即训练误差(记为$\nu$)实际上就是对泛化误差$\mu$的一个估计。
根据Hoeffding不等式有:
\[P(|\nu-\mu|<\epsilon)\leq 2\exp{-2\epsilon^2 m} \]

据PAC理论,$\nu$和$\mu$离得很近,而且随着样本数的增加,它们的距离会越来越靠近,
如果此时训练误差$\nu$很小,那么我们可以说泛化误差$\mu$也很小是一个PAC的事件,泛化误差很小说明什么?说明我们的假设h和目标函数f真的
长得很像($h= f$ is PAC)。
至此,我们就证明了ERM确实是可行的, 那么我们就能高枕无忧了吗?今天我们选取一个假设,它的训练误差很低甚至接近于0,就能说它的泛化误差一定很低吗? 答案是否定的。 如果这个命题成立,也不会有所谓的overfitting了。
Hoeffding
不等式只告诉我们,我们抽一个样本,有很大概率抽到一个好的样本(这里好的样本指的是
训练误差和泛化误差很接近);而抽到一个坏的样本(两个误差相差很远,特指过拟合的情况,训练误差很小而泛化误差很大)的概率有一个上限且很小,
但并不等于说抽到一个bad sample就是不可能的(实际上有可能,只是概率非常小),如果不幸抽到了bad sample,
那么恭喜你,你可以去买彩票了。那么如何避免这种overfitting的产生呢?
其中一个选择是增加样例数,随着样例数的增加,Hoeffding不等式右侧的上限值会越来越小, 于是乎我们抽到bad sample的概率也就越来越小了,我们更有把握说我们的模型不容易过拟合了。

面说到的bad sample是相对于一个hypothesis而言的,对于每个不同的hypothesis,可能的bad sample都不同。
那么给定一个训练集,我们在假设空间中的选择是有限制的,因为我们不知道哪个假设在这个数据集上会overfit,因此在选择假设的过程可能会踩到雷。有
的时候,踩到雷是不可避免的,因为我们没有选择数据集的权利。但我们可以做的事情是 估计踩到雷的概率上限是多少。这里我们只假设
假设空间有限,且大小为K。“踩到雷”这件事从集合论的角度来讲就是 至少存在一个假设$h_i\in
\mathcal{H}$,使得$|\nu_{h_i}-\mu|>\epsilon$发生。我们记事件$A_i=|\nu_{h_i}-
\mu|>\epsilon$。利用联合界定理,我们可以推导其概率上限为
\[ P(\exists h\in
\mathcal{H},|\nu_h-\mu|>\epsilon) = P(\bigcup_{i=1}^{K} A_i) \leq
\sum_{i=1}^K P(A_i)\leq 2K\exp(-2\epsilon^2 m) \]
在假设空间有限的情况下,通过增加样本集大小m,就能减少我们在假设集上踩到雷的几率,从而估计的失真度,减少过拟合现象。

总结一下:这篇文章中我们证明了在加上一些统计学假设(训练集是独立同分布抽样) 且 假设空间是有限的情况下, PAC理论保证了学习是可行的。对于假设空间是无限的情况(比如线性分类器),需要用到VC-dimension来证明其可行性。

时间: 2024-10-13 16:20:37

为什么机器能够学习——PAC Learnability的相关文章

【机器学习基础】理解为什么机器可以学习2——Hoeffding不等式

引入 在上一小节"理解为什么机器可以学习--PAC学习模型"中,我们主要讨论了假设的错误率问题和如何说一个学习器是可学习的,并给出了PAC学习理论.这一小节,我们将沿着这个方向,讨论一下,有限假设空间的样本复杂度,并用Hoeffding不等式来界定概率边界. 假设空间的样本复杂度 PAC可学习性很大程度上由所需的训练样本数量决定.随着问题规模的增长所带来的所需训练样本的增长称为学习问题的样本复杂度(sample complexity).在多数实际问题中,最限制学习器成功的因素是有限的可

【机器学习基础】理解为什么机器可以学习1——PAC学习模型

引言 自从下定决心认真学习机器学习理论开始,接触到很多基本问题,但其实都不是很理解,比如损失函数.风险函数.经验结构最小化.结构风险最小化.学习方法的泛化能力.VC维等,这些概念在学习中都纯属空泛的概念存在,我都不理解这些概念存在的意义. 为什么会存在这样的问题呢?我自己想了一下,有几个原因:首先,很多相关的书籍在讲授这些概念的时候,很少说这些为什么会有这样的概念问题,为解决什么问题引入的这些概念:然后,还有一些书,在简单表述了这些概念之后就立马挨个介绍算法了,遇到这样的书也会忽视这些基础问题的

【机器学习基础】理解为什么机器可以学习3——VC理论

引入 上一小节中,"理解为什么机器可以学习--Hoeffding不等式"中,我们介绍了有限假设空间中的概率边界.在这篇文章中,我们将推广至无限假设空间中,进而引入VC理论. 面临待解决的问题 上一节,我们证明了PAC学习的样本复杂度随假设空间对数增长,但是以假设空间的个数|H|来刻画样本复制度存在缺点: 对于|H|很大的情形,会使一个很弱的边界,即出现错误的概率很大 对于无限假设空间的情形无法应用 所以,我们要考虑H的复杂度的另一种度量方式,称为H的Vapnik-Chervonenki

机器学习基石笔记5——为什么机器可以学习(1)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记6——为什么机器可以学习(2)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记7——为什么机器可以学习(3)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记8——为什么机器可以学习(4)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器不学习:如何处理数据中的「类别不平衡」?

机器不学习 jqbxx.com -机器学习好网站 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class skew).以常见的二分类问题为例,我们希望预测病人是否得了某种罕见疾病.但在历史数据中,阳性的比例可能很低(如百分之0.1).在这种情况下,学习出好的分类器是很难的,而且在这种情况下得到结论往往也是很具迷惑性的. 以上面提到的场景来说,如果我们的分类器总是预测一个人未患病,即预测为反例,那么我们依然有高达99.9%的预测准确率.然而这种结果是没有意

java 机器深度学习网站

http://deeplearning4j.org/ 它是第一个商业应用级的开元,分布式深度学习框架,最主要的是java写的,并且也可以用scala. 它和hadoop , spark都能整合, DL4J是为商业环境而设计的东东,也支持CUDA编程. 前些日子用theano, 总是感觉不成熟,各种bug不断.