Lo que Machine Learning puede y no puede resolver
Basta mirar las búsquedas en Google Trends de «inteligencia artificial», en Argentina y en el mundo, para confirmar que el tema está presente en muchas conversaciones diarias.
El mundo busca estos términos sistemáticamente más que Argentina, y la diferencia se agranda con «aprendizaje automático», un concepto al que suelen atribuírsele poderes casi mágicos para resolver problemas de negocio.
La inteligencia artificial (IA) busca que las máquinas imiten al ser humano e incluye al Machine Learning (ML) como una de sus dimensiones clave. Por eso es importante entender qué garantiza y qué no garantiza el ML cuando se usa para resolver problemas de negocio. Hay cuatro enfoques clásicos para definir la IA: una máquina puede actuar y pensar de forma humana y de forma racional.
Una de las capacidades básicas que necesita esa máquina para actuar y pensar es aprender. Para imitar al ser humano, primero debe interactuar con su entorno y, a partir de él, detectar y extrapolar patrones en los datos que recibe. De ahí el término aprendizaje automático.
¿Qué significa aprender en estos términos? Cada aspecto observable de la realidad es generado por una serie de causas instantáneas o retardadas, que se acumulan y se amplifican por umbrales de infinitas maneras. Los datos observables cambian de estado cuando todas o algunas de esas causas se ponen en movimiento. Si pudiéramos entender qué, cuándo, cómo y por qué cambian los aspectos que nos interesan, tendríamos la capacidad de influir en los eventos a voluntad.
En términos matemáticos, esto significa que todas las variables explicativas que causan un evento observable, al que llamaremos objetivo, se relacionan con él a través de una función desconocida.
El Machine Learning, en el caso supervisado, solo intenta encontrar esa función con las variables que se le ofrecen. Eso da lugar a tres situaciones muy comunes.
1. Datos basura
Si los datos son basura, el resultado es basura, aunque se use el algoritmo más complejo y potente disponible. En este caso el aprendizaje automático no puede aprender nada.
2. Objetivo totalmente especificado
Si el objetivo está completamente especificado (se incluyen todas las variables explicativas), el aprendizaje automático podría aprenderlo con un error mínimo, a pesar de la enorme complejidad que eso pueda implicar.
3. Objetivo parcialmente especificado
Es la situación más común: solo se pueden incluir algunas variables relevantes, aproximaciones de las necesarias u otras redundantes por su alta interacción con variables que no tienen una relación clara con el objetivo.
El aprendizaje automático solo garantiza eliminar el sesgo y minimizar el error, y lo que suele confundirse es esto último. Ese error es el error teórico que se puede alcanzar cuando las variables ofrecidas al algoritmo intentan aprender el objetivo. Este mínimo teórico no depende del Machine Learning, sino de las variables: el ML solo garantiza acercarse a ese valor, que aun así puede ser inaceptable. El sesgo, a su vez, representa la capacidad de memoria de la función al entrenarse. Memorizar implica aprender detalles no generalizables; así se produce el famoso sobreajuste, y el aprendizaje automático falla.
En resumen, dado un conjunto de variables explicativas y un objetivo, el Machine Learning solo garantiza que intentará aprender el objetivo con el menor error posible y generalizar ese aprendizaje a datos futuros. No promete aprender el objetivo a la perfección, aunque se usen modelos muy complejos: aprenderá mucho, algo o poco, según lo que permitan las variables incluidas. No hace magia ni encuentra en los datos patrones que no existen.
El aprendizaje automático es un proceso laborioso e interdisciplinario. Si un problema se resolvió simplemente cargando un conjunto de datos y corriendo un algoritmo, el problema era trivial. Y en general, no es el caso.