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

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

为什么要学习PAC学习理论?

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

什么是PAC学习理论?

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

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

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

  • 可能正确

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

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

    什么条件能满足PAC可学习?

     先介绍下Hoeffding不等式

    Hoeffding不等式:给定m个取值[0,1][0,1]之间的独立随机变量x1,x2,…,xnx_1, x_2, \ldots ,x_n,对任意ϵ>0\epsilon\gt0有如下等式成立:
    P(|1m∑i=1mxi−1m∑i=1mE(xi)|≥ϵ)≤2e−2mϵ2\displaystyle P(\vert\frac1m\sum_{i=1}^mx_i-\frac1m\sum_{i=1}^mE(x_i)\vert\ge\epsilon)\le{2e^{-2m\epsilon^2}}

     由泛化误差E(h)E(h)与经验误差Ê (h)\hat{E}(h)的定义易知E(Ê (h))=E(h)E(\hat{E}(h))=E(h),因此可推出公式(1):

    ∀h∈P(|E(h)−Ê (h)|≥ϵ)≤2e−2mϵ2公式(1)

    \begin{matrix}\forall h \in \mathcal{H}&P(\vert{E(h)-\hat{E}(h)}\vert\ge\epsilon)\le{2e^{-2m\epsilon^2}}&\text{公式(1)}\end{matrix}\\
     根据不等式(1)可推出公式(2):

    ∀h∈P(|E(h)−Ê (h)|≤ϵ)≥1−2||e−2mϵ2公式(2)

    \begin{matrix}\forall h \in \mathcal{H}&P(\vert{E(h)-\hat{E}(h)}\vert\le\epsilon)\ge{1-2\vert{\mathcal{H}}\vert{e^{-2m\epsilon^2}}}&\text{公式(2)}\end{matrix}\\

    证明过程如下(看不懂也没关系,不会影响你对理论的理解,直觉比证明过程更重要):

    P(∀h∈:|E(h)−Ê (h)|≤ϵ)=1−P(∃h∈:|E(h)−Ê (h)|≥ϵ)=1−P((|E(h1)−Ê (h1)|≥ϵ)∨(|E(h2)−Ê (h2)|≥ϵ)∨⋯∨(|E(h||)−Ê (h||)|≥ϵ))≥1−∑i=1||P(|E(hi)−Ê (hi)|≥ϵ)≥1−2||e−2mϵ2

    \begin{align} P(\forall {h} \in \mathcal{H}:\vert{E(h)-\hat{E}(h)}\vert\le\epsilon) &= 1-P(\exists{h}\in\mathcal{H}:\vert{E(h)-\hat{E}(h)}\vert\ge\epsilon) \\ &= 1-P((\vert{E(h_1)-\hat{E}(h_1)}\vert\ge\epsilon)\lor(\vert{E(h_2)-\hat{E}(h_2)}\vert\ge\epsilon)\lor\cdots\lor(\vert{E(h_{\vert\mathcal{H}\vert})-\hat{E}(h_{\vert\mathcal{H}\vert})}\vert\ge\epsilon))\\ &\ge 1-\sum_{i=1}^{\vert\mathcal{H}\vert}P(\vert{E(h_i)-\hat{E}(h_i)}\vert\ge\epsilon)\\ &\ge {1-2\vert{\mathcal{H}}\vert{e^{-2m\epsilon^2}}} \end{align}

     公式(2)说明了什么?说明了对于任意ϵ\epsilon,只要样本数量mm足够大,|E(h)−Ê (h)|≤ϵ\vert{E(h)-\hat{E}(h)}\vert\le\epsilon发生的可能性就非常大,此时我们可以用经验误差近似泛化误差。回到一开始我们提出的那两个问题:
     1. 为什么在训练样本上学习得到的假设会在真实样本上有效?公式(2)很好的说明了这一问题。只要样本数量mm足够大或者假设空间的大小||\vert\mathcal{H}\vert足够小,公式(2)就能保证学到的假设h′h^{'}的泛化误差E(h′)E(h^{'})与经验误差Ê (h′)\hat{E}(h^{'})足够接近。h′h^{'}在训练样本上的表现与在真实样本上一致。
     2. 为什么少量样本能用CNN/RNN等复杂模型会导致过拟合?还是看公式(2)。样本数量m太小的话|E(h′)−Ê (h′)|≤ϵ\vert{E(h^{'})-\hat{E}(h^{'})}\vert\le\epsilon发生的可能性变小。即学到的h′h^{'}在训练样本上的表现与在真实样本上不一致,这是过拟合直接的表现形式。

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

     现在开始解决我们本小节提出的问题。什么条件才能满足PAC可学习?还是看公式(2),另δ=2||e−2mϵ2\delta=2\vert{\mathcal{H}}\vert{e^{-2m\epsilon^2}},即:

    m=M=ln2||δ2ϵ2公式(3)

    \begin{matrix}m=M=\frac{\ln^{\frac{2\vert\mathcal{H}\vert}{\delta}}}{2\epsilon^2}&\text{公式(3)}\end{matrix}
     本小节结论:只要样本数量mm大于公式(3)中的MM,就能保证模型在当前条件下是PAC可学习的。

    VC维理论:更紧的条件

    先说一下什么是。简单的讲,紧的意思就是恰好满足条件。

     为了保证PAC可学习,根据公式(3),需要样本数量大于等于MM。MM此值越小,PAC条件越有可能达到。那么有没有比M<script type="math/tex" id="MathJax-Element-55">M</script>更紧也就是更小的值呢?这就引出了VC维理论。
     欲知VC维理论为何物,且听下篇文章分解。

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

  1. 6-1 停车场收费问题 (20分) 在停车场收费系统中,收费者会根据车型的不同按不同的单价和计费方式收取不同的停车费,其中: 轿车Car:每小时8元,超过30分钟按一小时计算,未超过30分钟不收费

    作者徐婉珍单位广东东软学院代码长度限制16 KB时间限制400 ms内存限制64 M 作者:TOPKK **在停车场收费系统中,收费者会根据车型的不同按不同的单价和计费方式收取不同的停车费,其中: 轿 ...

  2. 机器学习基础(五):计算学习理论(PAC学习、有限假设空间、VC维、Rademacher复杂度、稳定性)

    5.计算学习理论 计算学习理论computational learning theory:研究关于机器学习的基础理论 几个常用不等式: 5.1 PAC学习 概率近似正确(PAC)Probably Ap ...

  3. 独家 | 计算学习理论简介(附资源推荐)

    作者:Jason Brownlee 翻译:陈超 校对:王琦 本文长度为3600字,建议阅读10+分钟 本文为大家介绍了如何使用计算学习理论研究机器学习任务和方法,并对其中比较重要的子领域PAC学习以及 ...

  4. 机器学习:计算学习理论

    计算学习理论介绍 关键词: 鲁棒性 关键词: [机器学习基础]理解为什么机器可以学习1--PAC学习模型--简书 关键词:存在必要性:从机器学习角度出发 PAC学习理论:机器学习那些事 关键词:不错的 ...

  5. 机器学习笔记(十二)计算学习理论

    12.计算学习理论 12.1基础知识 计算学习理论(computationallearning theory)研究的是关于通过计算来进行学习的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难 ...

  6. 笔记 | 《机器学习》中计算学习理论(下)

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 大家好,我是王博(Kings) 本次 ...

  7. 笔记 | 《机器学习》中计算学习理论(上)

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 大家好,我是王博(Kings) 本次 ...

  8. 计算学习理论、统计学习基础理论

    computational learning theory:计算学习理论: 支持向量机是建立在统计学习理论 VC 维理论和结构风险最小化原理基础上的机器学习方法. 统计学习的基础就是统计推理(stat ...

  9. 机器学习(西瓜书)注解:第12章 计算学习理论

    机器学习(西瓜书)注解:第12章 计算学习理论 本次更新第12章,计算学习理论.针对该章注解有任何问题欢迎在此留言~ 相信本章是很多读者望而却步的一章,相信本章是很多以本书为教材的老师在讲课时会直接跳 ...

  10. 阿里智力题之——烧绳法计算15分钟、30分钟、45分钟、75分钟

    一.简单概述 在各位面试的时候,阿里.字节跳动等一些公司喜欢在进行C++开发面试的时候出一些智力题来考验大家的逻辑思路.烧一根不规则的绳子,计算时间就是其中的一道经典题目. 二.烧绳子问题介绍 燃烧一 ...

最新文章

  1. 46 jQuery属性操作
  2. 网站能拿到其他网站的cookie_在网站推广中企业网站能发挥哪些作用?(一)
  3. 菜鸟裹裹升级退换货:全程可见让商家物流纠纷率降半
  4. 毕业论文范文计算机,计算机毕业论文范文参考
  5. Qt中QTableView应用
  6. 基于UDP的文件传输软件 (C#)
  7. Matlab中持久变量(persistent)在Python中的理解
  8. 如何让计算机恢复显示电量,win10系统右下角电池图标不见了看不到剩余电量的还原步骤...
  9. Vue的渐进式怎么理解
  10. RK3588平台开发系列讲解(USB篇)USB 外设 CONFIG
  11. ROS-学习资料参考
  12. 传感器和变送器的区别
  13. php laravel lumen 快速接入网易云信 im
  14. Mysql-Innodb配置优化
  15. 未知参数休哈特matlab,未知异常诊断,Unknown exception diagnosis,音标,读音,翻译,英文例句,英语词典...
  16. osg学习(三十一)osg、Qt的image
  17. Centos7磁盘爆满排查
  18. 微软 地平线5 无法加入线上模式处理办法
  19. oracle java培训机构
  20. parallels desktop 18 虚拟机下载和Win11下载

热门文章

  1. phpspreadsheet文件下载
  2. kaka启动出现:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000c00000, 1073,0)
  3. 螃蟹辞职 大数据冲击网络社交 魔兽世界如何前进
  4. 计算机夏令营英语面试,保研经验 | 夏令营面试那些事儿(内含视频)
  5. 2018 ICPC SouthEastern European 【Fishermen】
  6. JAVA自学-day16-List的子类、泛型、增强for循环、静态导入、可变参数
  7. 简信CRM:CRM科学服务体系,促进企业销售增长
  8. 最简单、最傻瓜化的虚拟主机管理软件-LuManager主机管理系统
  9. Duplicate showFileChooser result
  10. 吉他演奏中的速度与节拍