PAC学习框架

PAC学习框架是机器学习的基础。它主要用来回答以下几个问题:

  1. 什么问题是可以高效学习的?
  2. 什么问题本质上就难以学习?
  3. 需要多少实例才能完成学习?
  4. 是否存在一个通用的学习模型?

PAC=probably approximately correct,很可能接近正确的

---------------------

什么问题能得到“可能接近正确”的结果呢?原文说的比较抽象,我把他翻译下:

说一个问题是PAC可学习的,需要定义m个sample组成S空间,其中每个sample服从D分布,并且互相独立;

如果存在一个算法A,在m(sample个数)有限的情况下,找到假设h;

使得对于任意两个数x,y,概率P(h对S中sample预测错误次数大于x) < y;

xy对应PAC学习框架 中两个奇怪的符号!注意上面说的是小于,截图中说的是相反事件的大于。其实是一回事。

那么该问题是PAC可学习的。

----

举个例子,在二维平面上去学习一个矩阵:

PAC学习框架

目标是找到R,R内部的点是蓝色的,外部的点是红色的。

为了证明上面的问题是PAC可学习的,我们需要找到一个算法A,并且证明只需要m个实例,就可以是的概率等式成立。

首先确定算法:

PAC学习框架

这个算法很简单,就是所有蓝色的点的最小矩形R。那么这个R能不能满足上面的概率等式呢?假设给定x和y。如果错误个数大于x的概率小于y,需要什么条件呢?

不好回答,因此我们需要做一个转换:

PAC学习框架

我们先沿着R的4条边,向内部扩展,画出4个小矩形:r1,2,3,4。每个r的概率x/4。

如果R’的错误个数大于x,那么R’必然与r1,2,3,4中的至少一个有交集。(否则错误个数必定小于x)

因此有不等式:

PAC学习框架

由于并集的概率小于各自概率的和:

PAC学习框架

由于S中的每个sample的独立分布的,并且落在r1中的概率为x/4,所以

PAC学习框架

由于我们要求错误个数大于x的概率小于y,所以可以定义如下的不等式。

PAC学习框架

推导出m的下限。

这就说明只需要有限个实例就能满足上面的概率不等式。

------------------------------------------------

这就说明了,上面这个平面图形中学习矩形的问题是PAC可学习的。

上一篇:Django Context对象 + 过滤器 + 标签


下一篇:idea+maven+springmvc+helloworld