- 设 为一个数,使得
- 表示任何元素 的计算成本至多为
- 记 为 的计算表示的最大成本。
- 例如, 可能是 中的一个向量,对于该向量,基于数组的表示成本将在 内。
- 设 表示算法 在接收到标记样本 后返回的假设。
- 为了简化记号,不显式指出 对 的依赖性。
PAC学习
一个概念类 称为 PAC 可学习的, 如果存在
- 一个算法
- 一个多项式函数 poly
使得对于任何
- 在 上的分布
- 任何目标概念
以下对于任何大小 的样本都成立:
有效 PAC 学习
如果 进一步在多项式时间 内运行,则称 为 有效 (efficiently) PAC可学习的。 当存在这样的算法 时,它被称为 的 PAC学习算法 (PAC-learning algorithm) 。
PAC 学习的理解
- 一个概念类 是 PAC 可学习的,
- 如果算法在观察到的点的数量为 和 的多项式时
- 返回的假设大致正确(错误至多 ),并且以高概率(至少 )成立。
- 参数 用于定义置信度 和精度 。
- 如果算法的运行时间是 和 的多项式,那么如果算法接收到全部样本,样本大小 也必须是多项式级别的。
Remark
PAC 定义的几个关键点值得强调。
- PAC 框架是一个无分布模型:
- 对于从哪个分布 中抽取示例没有任何特定假设。
- 其次,用于定义错误的训练样本和测试示例是根据相同的分布 抽取的。
- 这是在一般情况下实现泛化所必需的自然且必要的假设。
- 它可以放宽以包括有利的领域适应问题。
- 最后,PAC 框架处理的是概念类 的可学习性问题,而不是特定概念。
- 算法知道概念类 ,但目标概念 是未知的。
- 在许多情况下,特别是当概念的计算表示没有明确讨论或者很简单时,我们可以在 PAC 定义中
- 省略对 和 的多项式依赖,
- 只关注样本复杂性。