Para continuar en la línea de la respuesta de Deigo, los límites de complejidad de la muestra estándar de la teoría del aprendizaje le dicen que si está satisfecho con encontrar un programa que sea "aproximadamente correcto", no necesita probar muchos puntos. Digamos que estamos codificando programas en binario, por lo que solo hay programas d de longitud d. Lets Supongamos también que hay una cierta distribución sobre ejemplos de entrada D . Quizás su objetivo es encontrar un programa que esté bastante seguro de que es casi correcto ("Probablemente aproximadamente correcto", es decir, como en el modelo de aprendizaje Valiants PAC). Es decir, desea ejecutar un algoritmo que tomará una pequeña cantidad de muestras x ∼ D junto con f ( x )2dDx∼Df(x), Y la voluntad con una probabilidad de al menos de salida de un programa P que está de acuerdo con f sobre al menos una ( 1 - ε ) fracción de entradas procedentes de D . (1−δ)Pf(1−ϵ)D
Simplemente dibujaremos ejemplos x ∼ D , y sacaremos cualquier programa P de longitud ≤ d que coincida con f en todos los ejemplos. (Se garantiza que existe uno dado que suponemos que f tiene complejidad de Kolmogorov como máximo d ) ...mx∼DP≤dffd
¿Cuál es la probabilidad de que un programa particular que no está de acuerdo con f en más de una fracción ϵ de ejemplos sea consistente con los m ejemplos que seleccionamos? Es como máximo ( 1 - ϵ ) m . Nos gustaría considerar que esta probabilidad es como máximo δ / 2 d para que podamos tomar una unión unida a todos los programas 2 d y decir que con una probabilidad de al menos 1 - δ , ningún programa "malo" es consistente con nuestros ejemplos dibujados . Resolviendo, vemos que es suficiente tomar solo
m ≥ 1Pfϵm(1−ϵ)mδ/2d2d1−δ
ejemplos. (es decir, solo linealmente muchos en la complejidad de Kolmogorov def...)
metro≥1ϵ(d+log1 /δ)
F
Por cierto, argumentos como este se pueden usar para justificar "Navaja de Occam": dado un número fijo de observaciones, entre todas las teorías que las explican, debe elegir la que tenga la menor complejidad de Kolmogorov, porque hay menos posibilidades de sobreajuste.
Por supuesto, si solo desea verificar un solo programa fijo de esta manera, solo necesita ejemplos ...O ( log( 1 / δ) / ϵ )