30分钟了解PAC学习理论——计算学习理论第一讲

马瘦毛长蹄子肥, 
搞机器学习的谁也不服谁, 
自从二狗学了PAC, 
见谁都拿拳往别人小胸胸上捶。 
啪!今天给大家说一段PAC理论

 先放PAC学习相关理论的一个总结:同等条件下,模型越复杂泛化误差越大。同一模型在样本满足一定条件的情况下,其数量越大,模型泛化误差越小,因此还可以说模型越复杂越吃样本。本文旨在让大家快速了解这句话的含义。您只需要提前了解假设空间、泛化误差、经验误差的概念(不明白的百度20分钟)及任何一本概率论教材前两章内容就能看懂这篇文章。

为什么要学习PAC学习理论?
 此理论可以帮助我们更深入的了解机器学习的学习机制。 
 已经入门或者从事过一段时间机器学习相关工作的你有没有想过为什么在训练样本上学习了一个假设(函数?模型?下文统一叫假设)就能保证这个假设在训练样本之外的数据上有效?看完这篇文章你就会明白有效性是有严谨的理论保证的。 
 几千条样本数据就敢用CNN/RNN?你心也够大的。如果你非要这么做,老司机会语重心长的教育你:“数据太少,会导致过拟合”。看完这篇文章就会明白为什么了。 
 如果看完这篇文章后你能回答这两个问题,那么恭喜你,你已经对PAC学习理论有了大致的了解了。

什么是PAC学习理论?
 先说一下机器学习。机器学习有两个元素:模型与数据。其中模型又包含两部分:优化算法与假设空间。所谓机器学习就是用优化算法从假设空间中选择一个假设,使此假设能符合给定的数据描述。因此优化算法通俗的讲就是假设选择算法。 
 而PAC学习理论不关心假设选择算法,他关心的是能否从假设空间HH中学习一个好的假设hh。看到能否二字了没?此理论不关心怎样在假设空间中寻找好的假设,只关心能不能找得到。现在我们在来看一下什么叫“好假设”?只要满足两个条件(PAC辨识条件)即可

近似正确:泛化误差E(h)E(h)足够小

E(h)E(h)越小越好,最好泛化误差能能于0,但一般是不可能的。那我们就把E(h)E(h)限定在一个很小的数ϵϵ之内,即只要假设hh满足E(h)≤ϵE(h)≤ϵ,我们就认为hh是正确的。

可能正确

不指望选择的假设hh百分之百是近似正确的(按上段所述,即E(h)≤ϵE(h)≤ϵ),只要很可能是近似正确的就可以,即我们给定一个值δδ,假设hh满足P(h近似正确)≥1−δP(h近似正确)≥1−δ。

 综上两点,就得到了PAC(可能近似正确,probably approximate correct)可学习的定义。简单的讲就是模型在短时间内利用少量的(多项式级别)样本能够找到一个假设h′h′,使其满足P(E(h)≤ϵ)≥1−δ0<ϵ,δ<1P(E(h)≤ϵ)≥1−δ0<ϵ,δ<1。

什么条件能满足PAC可学习?
 先介绍下Hoeffding不等式

Hoeffding不等式:给定m个取值[0,1][0,1]之间的独立随机变量x1,x2,…,xnx1,x2,…,xn,对任意ϵ>0ϵ>0有如下等式成立: 
P(|1m∑i=1mxi−1m∑i=1mE(xi)|≥ϵ)≤2e−2mϵ2P(|1m∑i=1mxi−1m∑i=1mE(xi)|≥ϵ)≤2e−2mϵ2
 由泛化误差E(h)E(h)与经验误差E^(h)E^(h)的定义易知E(E^(h))=E(h)E(E^(h))=E(h),因此可推出公式(1): 
∀h∈HP(|E(h)−E^(h)|≥ϵ)≤2e−2mϵ2公式(1)
∀h∈HP(|E(h)−E^(h)|≥ϵ)≤2e−2mϵ2公式(1)

 根据不等式(1)可推出公式(2): 
∀h∈HP(|E(h)−E^(h)|≤ϵ)≥1−2|H|e−2mϵ2公式(2)
∀h∈HP(|E(h)−E^(h)|≤ϵ)≥1−2|H|e−2mϵ2公式(2)
证明过程如下(看不懂也没关系,不会影响你对理论的理解,直觉比证明过程更重要): 
P(∀h∈H:|E(h)−E^(h)|≤ϵ)=1−P(∃h∈H:|E(h)−E^(h)|≥ϵ)=1−P((|E(h1)−E^(h1)|≥ϵ)∨(|E(h2)−E^(h2)|≥ϵ)∨⋯∨(|E(h|H|)−E^(h|H|)|≥ϵ))≥1−∑i=1|H|P(|E(hi)−E^(hi)|≥ϵ)≥1−2|H|e−2mϵ2
P(∀h∈H:|E(h)−E^(h)|≤ϵ)=1−P(∃h∈H:|E(h)−E^(h)|≥ϵ)=1−P((|E(h1)−E^(h1)|≥ϵ)∨(|E(h2)−E^(h2)|≥ϵ)∨⋯∨(|E(h|H|)−E^(h|H|)|≥ϵ))≥1−∑i=1|H|P(|E(hi)−E^(hi)|≥ϵ)≥1−2|H|e−2mϵ2
 公式(2)说明了什么?说明了对于任意ϵϵ,只要样本数量mm足够大,|E(h)−E^(h)|≤ϵ|E(h)−E^(h)|≤ϵ发生的可能性就非常大,此时我们可以用经验误差近似泛化误差。回到一开始我们提出的那两个问题: 
 1. 为什么在训练样本上学习得到的假设会在真实样本上有效?公式(2)很好的说明了这一问题。只要样本数量mm足够大或者假设空间的大小|H||H|足够小,公式(2)就能保证学到的假设h′h′的泛化误差E(h′)E(h′)与经验误差E^(h′)E^(h′)足够接近。h′h′在训练样本上的表现与在真实样本上一致。 
 2. 为什么少量样本能用CNN/RNN等复杂模型会导致过拟合?还是看公式(2)。样本数量m太小的话|E(h′)−E^(h′)|≤ϵ|E(h′)−E^(h′)|≤ϵ发生的可能性变小。即学到的h′h′在训练样本上的表现与在真实样本上不一致,这是过拟合直接的表现形式。

对以上两点的解释没有考虑|H||H|为无穷大情况,但不影响大家理解。实际上如果|H||H|为无穷大,下一节的VC维照样可以给出类似解释。

 现在开始解决我们本小节提出的问题。什么条件才能满足PAC可学习?还是看公式(2),另δ=2|H|e−2mϵ2δ=2|H|e−2mϵ2,即: 
m=M=ln2|H|δ2ϵ2公式(3)
m=M=ln2|H|δ2ϵ2公式(3)

 本小节结论:只要样本数量mm大于公式(3)中的MM,就能保证模型在当前条件下是PAC可学习的。
VC维理论:更紧的条件
先说一下什么是紧。简单的讲,紧的意思就是恰好满足条件。

 为了保证PAC可学习,根据公式(3),需要样本数量大于等于MM。MM此值越小,PAC条件越有可能达到。那么有没有比MM更紧也就是更小的值呢?这就引出了VC维理论。 
 欲知VC维理论为何物,且听下篇文章分解。
--------------------- 
作者:wangjianguobj 
来源:CSDN 
原文:https://blog.csdn.net/wangjianguobj/article/details/57413819 
版权声明:本文为博主原创文章,转载请附上博文链接!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值