¿Cuál es la capacidad del aprendizaje automático? Quiero decir, ¿cuánto puede ‘aprender’ una máquina?

“¡Cualquier truco usado más de dos veces se convierte en una técnica!”

Machine Learning (ML) funciona mediante el uso de una técnica estadística y / o algorítmica para “encontrar” un “patrón” en un conjunto de datos de formación (TS). Muchas veces, parece mágico, pero como con cualquier magia, ¡hay que pagar un precio!

  • No hay almuerzo gratis en búsqueda y optimización: Wikipedia dice que no hay un mejor algoritmo de ML que funcione mejor todo el tiempo. Puede que tenga que probar muchos.
  • Muchas técnicas de ML vienen con muchos parámetros para ajustar.
  • Sobreajuste – Wikipedia – ML podría “encontrar” patrones que realmente no existen
  • Algunas técnicas de ML son más lentas que otras
  • Algunas técnicas de ML no funcionan bien con valores categóricos
  • Algunas técnicas de ML utilizan la aleatorización y no son exactamente reproducibles
  • Los resultados son tan buenos como sus datos (y, a veces, peores).
    • Datos etiquetados incorrectamente en TS
    • TS que tiene cobertura incompleta
    • TS que no están balanceadas
    • Las características sin procesar son insuficientes para que un ML extraiga significado de
    • No sabe qué características deben estar en el TS. Tal vez no fueron recogidos y es demasiado tarde para volver …
    • Demasiadas características en comparación con los elementos del conjunto de entrenamiento.
    • Faltan algunas características o son incorrectas o se recopilan de manera inconsistente
    • Algunas funciones son redundantes
    • Falta de comprensión de los datos.
    • Algunas características deben ser “normalizadas” (reescaladas para ejecutarse, digamos -1 a 1) para algunas técnicas de ML
    • Recopilar datos de alta calidad es costoso y requiere mucho tiempo. Los datos baratos y malos pueden llevar a modelos pobres.
    • No hay suficientes datos
    • Demasiados datos para almacenar y manipular convenientemente
    • Los datos cambian con el tiempo
    • Los datos dependen del tiempo (por ejemplo, hora del día, día de la semana, estacional)
    • Algunos valores categóricos se registran por error como numéricos cuando no hay un pedido significativo. (por ejemplo, 1 para dulce, 2 para agrio, etc.)
    • Etc
  • Algunos modelos de ML son tan oscuros y complicados que es difícil entender por qué o cómo funcionan: falta de interpretabilidad
  • Realmente debe dejar de lado los datos de prueba y validación, pero a menudo estos apartados son pequeños
  • Algunos modelos son inestables: pequeños cambios dan como resultado modelos muy diferentes
  • Algunas técnicas de ML utilizan técnicas de aproximación numérica que están mal configuradas pueden dar lugar a resultados incorrectos o a ningún resultado (desbordamiento o desbordamiento)
  • Dependiendo de la aplicación, los modelos deben ser reentrenados
  • Para algunas técnicas de ML, la teoría subyacente es complicada o poco entendida
  • La técnica de ML puede encontrar un máximo local
  • La técnica de ML podría no ser capaz de encontrar la forma del límite que existe
  • Como cada característica es una dimensión, es difícil visualizar los datos ya que es altamente dimensional
  • En una situación de confrontación, los modelos finalmente se descompondrán y se volverán inútiles.

Lo peor de todo: puedes terminar creyendo que tus modelos son realidad.

Como dijo George Box:

Todos los modelos están equivocados, pero algunos son útiles.

¿Cuánto puede almacenar en un disco duro? ¿Cuánto puedes escribir en un cuaderno? Simplemente depende de qué tan grande sea. Si construye una red neuronal con un millón de parámetros, puede aprender (más o menos) un millón de “cosas”. Si construyes uno con mil millones, puede aprender mil millones.

No es mágico 🙂

Pero puede aprender casi cualquier cosa si le das la información correcta.

Echa un vistazo a este parque infantil: Tensorflow – Neural Network Playground

¡Y este MarI / O – Machine Learning para videojuegos es casi la misma idea aplicada para los videojuegos!

Como puede ver, un concepto “simple” puede conducir a varias aplicaciones.

El significado de “aprendizaje” no depende de la capacidad. Puede crear un buen modelo sin terabytes de memoria. La memoria que necesita para aprender depende de la complejidad de su modelo.

Por otro lado, el “aprendizaje” tiene límites como * sobreajuste * y * falta de adaptación *. Pero estos problemas dependen mucho más de los conjuntos de datos que está utilizando para el ajuste del modelo que de los algoritmos ML.