PAC学习框架是机器学习的基础。它主要用来回答以下几个问题:
- 什么问题是可以高效学习的?
- 什么问题本质上就难以学习?
- 需要多少实例才能完成学习?
- 是否存在一个通用的学习模型?
PAC=probably approximately correct,很可能接近正确的
---------------------
什么问题能得到“可能接近正确”的结果呢?原文说的比较抽象,我把他翻译下:
说一个问题是PAC可学习的,需要定义m个sample组成S空间,其中每个sample服从D分布,并且互相独立;
如果存在一个算法A,在m(sample个数)有限的情况下,找到假设h;
使得对于任意两个数x,y,概率P(h对S中sample预测错误次数大于x) < y;
xy对应 中两个奇怪的符号!注意上面说的是小于,截图中说的是相反事件的大于。其实是一回事。
那么该问题是PAC可学习的。
----
举个例子,在二维平面上去学习一个矩阵:
目标是找到R,R内部的点是蓝色的,外部的点是红色的。
为了证明上面的问题是PAC可学习的,我们需要找到一个算法A,并且证明只需要m个实例,就可以是的概率等式成立。
首先确定算法:
这个算法很简单,就是所有蓝色的点的最小矩形R。那么这个R能不能满足上面的概率等式呢?假设给定x和y。如果错误个数大于x的概率小于y,需要什么条件呢?
不好回答,因此我们需要做一个转换:
我们先沿着R的4条边,向内部扩展,画出4个小矩形:r1,2,3,4。每个r的概率x/4。
如果R’的错误个数大于x,那么R’必然与r1,2,3,4中的至少一个有交集。(否则错误个数必定小于x)
因此有不等式:
由于并集的概率小于各自概率的和:
由于S中的每个sample的独立分布的,并且落在r1中的概率为x/4,所以
由于我们要求错误个数大于x的概率小于y,所以可以定义如下的不等式。
推导出m的下限。
这就说明只需要有限个实例就能满足上面的概率不等式。
------------------------------------------------
这就说明了,上面这个平面图形中学习矩形的问题是PAC可学习的。