要继续按照Deigo的回答行事,学习理论的标准样本复杂性边界告诉您,如果您对找到“近似正确”的程序感到满意,则根本不需要尝试太多。可以说我们是以二进制形式编码程序,因此只有程序的长度为d。还假设输入示例存在一些分布。也许您的目标是找到一个您肯定确定是正确的程序(“可能近似正确”,即在Valiants PAC学习模型中)。也就是说,要运行一个算法,将在一个小样本连同,并且将与概率至少 d X 〜d ˚F (X )(1 - δ )P ˚F (1 - ε )d2dDx∼Df(x)(1−δ)输出某些程序,其与一致上至少一个的从绘制输入分数。 Pf(1−ϵ)D
我们将简单地绘制示例,并输出与所有示例上的一致的,长度为任何程序(因为我们假设最多具有 Kolmogorov复杂度,所以保证存在一个)。X 〜d P ≤ d ˚F ˚F dmx∼DP≤dffd
什么是概率特定程序是不同意上一个多的例子分数是一致的,我们选择的例子吗?最多为。我们希望使该概率最大为以便我们可以对所有程序进行并集约束,并说概率至少为,没有“坏”程序是一致的与我们绘制的示例。通过求解,我们看到仅以
为例就足够了
。(即的Kolmogorov复杂度仅线性地˚F ε 米(1 - ε )米 δ / 2 d 2 d 1 - δ 米≥ 1Pfϵm(1−ϵ)mδ/2d2d1−δ
m≥1ϵ(d+log1/δ)
f...)
顺便说一句,类似这样的论点可以用来证明“奥卡姆剃刀”的合理性:给定一定数量的观察结果,在所有解释它们的理论中,您应该选择具有最低Kolmogorov复杂度的理论,因为过拟合的机会最少。
当然,如果您只想以这种方式检查单个固定程序,则只需要示例...O(log(1/δ)/ϵ)