¿El teorema de no almuerzo gratis no es una contradicción al descubrimiento del algoritmo maestro?

Por supuesto, Pedro Domingos sería la persona más calificada para responder esto, pero intentaré una explicación:

Hay un malentendido fundamental sobre el teorema de la NFL. Lo que dice el teorema es que dos algoritmos son promediados equivalentes sobre todos los posibles problemas . Esto a menudo se cita erróneamente como “para un problema dado, cualquier algoritmo puede ser el correcto”. Puede estar pensando, bueno, esto es correcto, pero la clave es que no estamos tratando con todo el espacio de todos los posibles problemas de optimización, ¡los problemas de aprendizaje automático no son aleatorios!

Podemos demostrar que la mayoría de los problemas aleatorios no tienen sentido, solo nos importan los problemas que tienen sentido y son solo un muy, muy pequeño subespacio de la enorme cosa conocida como “todos los problemas posibles”.

De hecho, la mayoría de los problemas son aleatorios, piense en esto: crea un programa de Python para producir aleatoriamente un conjunto de entrenamiento y prueba. Eventualmente, ese programa “inventará” MNIST, pero eso no sucederá en billones de años, todos los problemas que creará el programa serán simplemente tonterías aleatorias. Esto es exactamente lo mismo que el problema de los monos y las máquinas de escribir.

Para esos problemas aleatorios hay un algoritmo que funciona mejor que cualquier otro, pero simplemente no estamos interesados ​​en encontrarlo. Solo queremos que el algoritmo maestro sea el mejor para los problemas del mundo real.

Permíteme darte un ejemplo tonto: construyo un algoritmo para predecir si te gustará una película basada en cómo te gustaron 3 películas similares, este es un alumno muy tonto, pero sígueme. Este es mi conjunto de entrenamiento:

(0,0,0) -> 0

(0,1,0) -> 0

(0,1,1) -> 1

(1,0,0) -> 0

(1,0,1) -> 1

(1,1,1) -> 1

Ok, hagámoslo rápido, si te gustan 2 o 3 películas, entonces te gustará. Si te gusta 1 o ninguno, entonces no te gustará. Nuestro conjunto de prueba contiene los dos casos invisibles:

(0,0,1) -> 0

(1,1,0) -> 1

Ahora digamos que nuestro algoritmo predice correctamente 0 y 1. Puedo voltear el conjunto de prueba para que:

(0,0,1) -> 1

(1,1,0) -> 0

Y nuestro algoritmo tendrá 0% de precisión. El truco es, y ahora sigue con mucho cuidado: el problema no tiene ningún sentido. ¡Convertí un problema del mundo real en un problema aleatorio!

Estoy diciendo el algoritmo: entrena para aprender que si nos gustan las películas anteriores, nos gustará la próxima y predeciremos lo contrario. ¿Es este un problema que puedes encontrar en el mundo real? No lo creo.

Por lo tanto, la NFL no contradice el algoritmo maestro porque el algoritmo maestro solo funcionará sobre el subconjunto de problemas que tienen sentido en el mundo real. Esa es, en mi opinión, la clave.


Luis