Чтобы продолжить в соответствии с ответом Дейго, стандартные границы сложности выборки из теории обучения говорят вам, что если вы удовлетворены тем, что нашли программу, которая «приблизительно верна», вам не нужно пытаться использовать очень много пунктов вообще. Допустим , мы кодирующая программы в двоичном виде , так что есть только программы длины д. Давайте предположим также , что существует некоторое распределение по входных примеров D . Возможно, ваша цель состоит в том, чтобы найти программу, в которой вы почти уверены, что она почти правильная («Вероятно, приблизительно правильная», то есть, как в модели обучения PAC Valiants). То есть вы хотите запустить алгоритм, который будет принимать небольшое количество выборок x ∼ D вместе с f ( x )2dDx∼Df(x)И будет с вероятностью , по меньшей мере выходной какая - то программа P , которая совпадает с F , по меньшей мере, ( 1 - е ) доли входов , взятых из D . (1−δ)Pf(1−ϵ)D
Мы просто нарисуем примеров x ∼ D и выведем любую программу P длины ≤ d, которая согласуется с f на всех примерах. (Одно гарантированно существует, так как мы предполагаем, что f имеет колмогоровскую сложность не более d ) ...mx∼DP≤dffd
Какова вероятность того, что конкретная программа которая не согласна с f на более чем 1/3 части примеров, согласуется с m выбранными нами примерами? Это самое большее ( 1 - ϵ ) м . Мы бы хотели, чтобы эта вероятность была не более δ / 2 d, чтобы мы могли взять объединение, связанное со всеми 2 d программами, и сказать, что с вероятностью не менее 1 - δ ни одна «плохая» программа не согласуется с нашими нарисованными примерами. , Решая, мы видим, что достаточно взять только
m ≥ 1Pfϵm(1−ϵ)mδ/2d2d1−δ
примеры. (то есть только линейно много в колмогоровской сложностиf...)
m≥1ϵ(d+log1/δ)
f
Кстати, подобные аргументы можно использовать для оправдания «бритвы Оккама»: учитывая фиксированное количество наблюдений, среди всех теорий, которые их объясняют, вы должны выбрать ту, которая имеет наименьшую колмогоровскую сложность, поскольку вероятность переобучения минимальна.
Конечно, если вы хотите проверить только одну фиксированную программу таким образом, вам нужны только примеры ...O(log(1/δ)/ϵ)