machine-learning - PAC 学习中的大 O 表示法

标签 machine-learning big-o complexity-theory theory

这可能是一个非常基本的问题,但我目前正在经历 Andrew Ng's CS229 notes on Learning Theory (特别是 PAC 学习)。我看到的是,给定假设的误差小于或等于最佳假设+大 O 表示法中的表达式的误差:

E(h-hat)<=E(h*)+O(sqrt((d/m)log(m/d)+(1/m)log(1/delta))

根据我的理解,大O表示法与某些函数的收敛有关。我该如何解释这个大 O 符号?作为一个没有深厚数学背景的人,我不知道是否应该允许所有变量 d、m 和 delta 接近无穷大,或者只是在那里插入值并忽略 O

最佳答案

您需要更多信息来回答这个问题,但看看我们的注释:

  • h^:从域 H 得出的具体假设
  • h*:域 H 中的最佳假设
  • d:用于定义h^h*的参数数量
  • m:用于学习h^的样本数量
  • delta:不等式成立的概率界限

基本上,该方程表示,通过概率 1 - delta,您可以保证从给定假设域得出的假设的预测误差均匀地受到 m 的增长,该领域的>最佳假设。

有趣的是,它允许您围绕想要实现的泛化错误保证类型来规划数据收集。因此,如果您想知道由 10 个参数参数化的算法的错误概率在 99% 以内,具体取决于您拥有的数据样本数量,您可以设置 delta = 0.01,d = 10,然后将 m 从 1 增加到您认为的数据样本数,计算 O(...) 中的部分合理的。随着 m 的变化绘制图表是确定合理的数据样本数的一种方法,并相应地规划数据收集。

关于machine-learning - PAC 学习中的大 O 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51715191/

相关文章:

machine-learning - 如何计算生成问题的系统的精确度和召回率?

java - 为什么我的位图排序没有比我的归并排序快无限?

algorithm - 实现需要最少内存的算法

algorithm - 时间复杂度和空间复杂度的区别?

java - 查找 1 个字符串中的每个字符是否存在于另一个字符串中,比 O(n^2) 更快

python - 如何在 PyTorch 中使用 double 作为 float 的默认类型

python - 定义自定义 PyMC 发行版

python - 检测图片中表格的模型

apache-spark - Apache Spark RDD sortByKey 算法和时间复杂度

algorithm - 查找/计算方法的复杂性