PAC learning 到底在做什么?
作者:互联网
PAC learning的全名:probably approximately correct learning。
- Probably的意思是:如果玩家1 可以无限次的玩这个游戏来报数字,玩家2 就能给出一个很好的区间预测。换句话说,玩家2 可以极大可能的猜对玩家1 假象的区间[a b]
- Approximately correct的意思是:在给定新的报数后,预测区间已经十分接近于玩家1 心中的假想区间了。并且这个预测区间的误差很小很小很小…………
PAC learning 到底在做什么?
sternlee 一个想成为视觉大佬的伪BME 弗拉基米尔 、 朱小强 等写这篇文章的时候正好是CMU 10601 machine learning的期中考试前,教授Matt花了两节课讲PAC learning(probably approximately correct), 然而我上课根本没听懂。其实听不懂的不是理论细节,而是我一直在好奇PAC learning为什么要存在。
复习过程中发现几乎没有中文版的PAC learning讲解,知乎上也没找到相关文章。无意间浏览到一篇Leslie Valiant的博文,浅显易懂,条理清晰。所以打算基于它的博文翻译加转述,
Probably Approximately Correct — a Formal Theory of Learningjeremykun.com希望对大家在理解上有所帮助。
全文分为五个部分:
- 引言
- Learning intervals(区间学习) (区间学习不是术语,我仅直译)
- Distribution and hypothesis(分布与假设)
- Concept classes()
- Probably approximately correct learning(可能近似正确学习)
- Intervals are PAC-learnable(区间学习是PAC-可学习的)
(术语的英译中很困难,望谅解)
一、引言
在处理机器学习的时候,我们总会遇到一些奇奇怪怪的哲学问题:“机器学习的学习是什么意思”,“计算机可以学习吗”,“为什么看起来简单的hypothesis可以很好地模拟现实问题”。机器学习理论的存在,就是为了通过数学推理和了论证更好地解答这样的哲学问题
二、Learning intervals(区间学习)
首先举一个简单的猜数游戏:
玩家1 心中默默假想一个区间[a b],同时随机地选取一个数字x。无论他怎么选择x,他都要告诉大家x是否在区间[a b]内(即a<x<b是否成立)。我们假设如果x在区间内为1,如果在区间外则为0。
玩家2 则通过玩家1 口中报出来的数字x和“1”、“0”来确定区间[a b]的值。因为玩家1 报数字的次数总归是有限(finite)的,所以很明显玩家2 几乎不可能完全的猜对a和b的值。但玩家2 可以根据玩家1 报出的新数据不断地更正自己的猜测。
极端的想象一下,如果玩家1 可以无限(infinte)次地去报数字,并且告诉大家这个数字x是否在区间内,我们就可以计算玩家 2 的区间所预测的错误结果的可能性。如果这个误差很小很小,那我们就可以说玩家2 “学习”了玩家1 的区间[a b]。也就是玩家2 猜对了!那么这个区间问题可以被称为PAC-learnable。
翻译过来不是很好理解,我举个例子:
玩家1 内心假想的区间是[4 10], 在四次报数并且告诉大家该数是否在区间的回答后:
1--->0 4--->1 7--->1 15----0(1 在区间内,0不在区间内)
玩家2 胆战心惊地告诉大家,他根据玩家1 报出的四组数字猜测的区间是[2 14]。接着,玩家1 又报出了新的数字:
3--->0(不符合猜测) 13--->0(不符合猜测) 17---0(符合猜测)
很明显,如果只根据前四组数据,玩家2 根本没有猜出来正确区间, 在给出新数据的情况下,他的猜测误差竟然高达66.6%!!!
第二次玩家1 又一连串报出了无限个(infinite)数字:
3.1--->0 3.5--->0 10.5--->0 9.5--->1 3.5--->1....................
玩家2 信心满满的告诉大家,他根据玩家1 报出的数据估计出来 的区间应该是 [3.9 10.1]。在第二次猜测以后,玩家1 用新数据来检测这个猜测的准确性,发现第二次的猜测 (99对,1错)。所以这次的区间预测结果误差很小,只有1%。此时我们就说玩家2 很可能“学习“到了玩家1 的区间。
讲完这个游戏,我们重新回顾一下PAC learning的全名:probably approximately correct learning。
Probably的意思是:如果玩家1 可以无限次的玩这个游戏来报数字,玩家2 就能给出一个很好的区间预测。换句话说,玩家2 可以极大可能的猜对玩家1 假象的区间[a b]
Approximately correct的意思是:在给定新的报数后,预测区间已经十分接近于玩家1 心中的假想区间了。并且这个预测区间的误差很小很小很小…………
三、Distribution and hypothesis(分布与假设)
发布于 2018-03-19 机器学习 卡内基梅隆大学 (Carnegie Mellon University)
文章被以下专栏收录
Computer vision学习交流推荐阅读
全球仅三人!循环智能杨植麟连续入选2017、2018机器学习NLP领域论文全球排行榜
循环智能CMU机器学习PhD: 去清华交换, 即使你在伯克利读本科 (杜少雷, 伯克利 + CMU) | 从零道一 #7
郑天意机器学习和深度学习资源汇总
之前写过一个机器学习入门的书单,这段时间又陆陆续续看了一些书,也接触到了深度学习等热门研究方向,因此将所有读过和没读过的书都列出来,供日后查阅。 网络公开课:麻省理工公开课 单变…
ocsponge五分钟明白Machine Learning是什么
王志明30 条评论
写下你的评论...-
batman2019-01-28
野生数据挖掘工作上碰到一个处理数据的难题,最终把难题指向了“到底什么样的数据能学好”以及“如何识别噪音数据”,找了好久终于找到相关领域关键词“PAC学习”
-
sternlee (作者) 回复batman2019-01-29
hhhh。。。太理论了这个,也就是research相关的人会关心这个吧?
-
dayhost回复batman2019-12-19
其实PAC关注的点是在给定某一个模型的parameter的数量之后,训练数据量和收敛概率之间的关系,而且这个关系其实也非常松散,可以作为理论依据,但是现实的问题其实很难用PAC说明。如果您的问题是 “怎样减少噪音对结果的干扰” 可以尝试加入regularization或者尝试如multi-task learning这种本身有利于generalize的学习方式。如果是为了识别噪音数据,可以考虑降维之后人工识别outlier。