• 为一个数,使得
    • 表示任何元素 的计算成本至多为
  • 的计算表示的最大成本。
    • 例如, 可能是 中的一个向量,对于该向量,基于数组的表示成本将在 内。
  • 表示算法 在接收到标记样本 后返回的假设。
    • 为了简化记号,不显式指出 的依赖性。

PAC学习

一个概念类 称为 PAC 可学习的, 如果存在

  • 一个算法
  • 一个多项式函数 poly

使得对于任何

  • 上的分布
  • 任何目标概念

以下对于任何大小 的样本都成立:

有效 PAC 学习

如果 进一步在多项式时间 内运行,则称 有效 (efficiently) PAC可学习的。 当存在这样的算法 时,它被称为 PAC学习算法 (PAC-learning algorithm)

PAC 学习的理解

  • 一个概念类 是 PAC 可学习的,
    • 如果算法在观察到的点的数量为 的多项式时
    • 返回的假设大致正确(错误至多 ),并且以高概率(至少 )成立。
  • 参数 用于定义置信度 和精度
  • 如果算法的运行时间是 的多项式,那么如果算法接收到全部样本,样本大小 也必须是多项式级别的。

Remark

PAC 定义的几个关键点值得强调。

  1. PAC 框架是一个无分布模型:
  • 对于从哪个分布 中抽取示例没有任何特定假设。
  1. 其次,用于定义错误的训练样本和测试示例是根据相同的分布 抽取的。
  • 这是在一般情况下实现泛化所必需的自然且必要的假设。
  • 它可以放宽以包括有利的领域适应问题。
  1. 最后,PAC 框架处理的是概念类 的可学习性问题,而不是特定概念。
  • 算法知道概念类 ,但目标概念 是未知的。
  • 在许多情况下,特别是当概念的计算表示没有明确讨论或者很简单时,我们可以在 PAC 定义中
    • 省略对 的多项式依赖,
    • 只关注样本复杂性。