Introducción al aprendizaje automático

Entiende qué es Machine Learning, sus conceptos básicos y cuándo conviene no usarlo. Una introducción práctica y sin hype.

Introducción al aprendizaje automático

Machine Learning se ha convertido en sinónimo de «inteligencia», «futuro» y un montón de palabras bonitas que no explican nada. En el fondo, la idea es mucho más sencilla de lo que sugiere el hype, y saber cuándo NO usar ML vale tanto como saber usarlo.

Abrir el artículo para desmitificar ML: contraste visual entre la magia que la gente imagina y la realidad de los datos y las funciones.
Abrir el artículo para desmitificar ML: contraste visual entre la magia que la gente imagina y la realidad de los datos y las funciones.

Qué es Machine Learning (y qué no es)

En el código tradicional, escribes las reglas: if edad > 18 entonces mayor_de_edad. En Machine Learning, haces lo contrario: das ejemplos a la computadora y dejas que descubra las reglas por sí sola.

Eso es todo. Nada de conciencia, nada de magia. Un modelo de ML es básicamente una función que recibe datos de entrada y devuelve una predicción, ajustada a partir de miles de ejemplos que le mostraste antes. Si los ejemplos son malos, la predicción será mala. Basura entra, basura sale, solo que ahora con una capa de matemáticas por encima.

Supervisado vs. no supervisado

Diferencia entre aprendizaje supervisado y no supervisado: datos etiquetados frente a datos agrupados sin etiquetas.
Diferencia entre aprendizaje supervisado y no supervisado: datos etiquetados frente a datos agrupados sin etiquetas.

La división más básica de ML depende de una pregunta: ¿tienes las respuestas correctas o no?

En el aprendizaje supervisado, las tienes. Cada ejemplo viene con una etiqueta: esta foto es de un gato, este correo electrónico es spam, esta casa se vendió por 400.000 R$. El modelo aprende a asignar una entrada a una respuesta. Es, con diferencia, el tipo más utilizado en el día a día.

En el aprendizaje no supervisado, no tienes etiquetas. Proporcionas los datos y pides al algoritmo que encuentre patrones: agrupar clientes parecidos, por ejemplo, sin indicarle antes qué grupos existen. Es útil para explorar, pero más difícil de evaluar, porque no hay una respuesta correcta con la que comparar.

Features y labels: el vocabulario que importa

Hay dos términos que aparecen todo el tiempo. Las features son las entradas, las características que utilizas para predecir algo: el tamaño de la casa, el barrio, el número de habitaciones. El label es la respuesta que quieres predecir: el precio.

La parte que nadie cuenta: elegir y preparar buenas features suele dar mejores resultados que cambiar de algoritmo. Un modelo sencillo con features bien pensadas supera a un modelo sofisticado alimentado con basura. La mayor parte del trabajo real de ML consiste precisamente en eso: cuidar los datos, no jugar con redes neuronales.

Entrenamiento, validación y prueba: por qué dividir los datos

División visual de los datos en entrenamiento, validación y prueba, con el conjunto de prueba guardado hasta el final.
División visual de los datos en entrenamiento, validación y prueba, con el conjunto de prueba guardado hasta el final.

Si entrenas y pruebas el modelo con los mismos datos, parecerá un genio y te engañará. Memorizar no es aprender.

Por eso los datos se dividen en tres partes. El conjunto de entrenamiento es donde el modelo aprende. El de validación sirve para ajustar la configuración y comparar opciones sin contaminar el resultado final. Y el de prueba permanece guardado hasta el final y se utiliza una sola vez, para medir cómo se comporta el modelo con datos que nunca ha visto. Es lo más cerca que puedes estar de simular el mundo real antes de ponerlo en producción.

Overfitting: cuando el modelo memoriza en lugar de aprender

El overfitting es la pesadilla clásica. El modelo aprende tan bien los ejemplos de entrenamiento, incluidos los ruidos y las coincidencias, que funciona de maravilla durante el entrenamiento y mal con cualquier dato nuevo.

Piensa en el estudiante que memoriza la lista de ejercicios en lugar de entender la materia: saca un diez en la lista repetida y se bloquea ante un examen diferente. La solución es ese conjunto de prueba separado, que denuncia el problema, y utilizar modelos más sencillos, que tienen menos espacio para memorizar. Si dudas entre un modelo sencillo y uno complejo con un rendimiento parecido, quédate con el sencillo.

Cuándo NO usar Machine Learning

Esta es la parte que el hype oculta. ML no es la respuesta predeterminada; muchas veces es la opción más cara y frágil.

Si las reglas del problema son conocidas y estables, escribe las reglas. Un if de tres líneas es más rápido, más barato e infinitamente más fácil de depurar que un modelo que nadie entiende. ML tampoco ayuda cuando tienes pocos datos, cuando los datos son de baja calidad o cuando necesitas explicar cada decisión con claridad jurídica.

La pregunta honesta antes de cualquier proyecto de ML es: ¿se puede resolver esto sin ML? Si se puede, resuélvelo sin ML. Reserva el Machine Learning para los problemas cuyas reglas son demasiado complejas o cambian demasiado como para escribirlas a mano: reconocer imágenes, predecir la demanda o filtrar spam que se reinventa cada semana. Ahí sí brilla.

Machine Learning es una herramienta poderosa y, como toda herramienta poderosa, resulta peligrosa en manos de quien la utiliza por moda. Aprende los conceptos, respeta los datos y, sobre todo, ten el valor de elegir el if/else cuando sea la respuesta correcta.

Te gusto el articulo?

Compartelo con tus amigos y ayuda a difundir conocimiento!