La palabra importante no es patrones. Es útiles. Un conjunto de datos contiene innumerables regularidades. Un sistema de aprendizaje automático necesita una tarea definida y una forma de evaluar qué regularidades ayudan con esa tarea.
La idea básica
Imagina que construyes un filtro de spam.
Con la programación ordinaria basada en reglas, podrías escribir instrucciones como «marcar un mensaje como spam si contiene esta frase y tiene más de tres enlaces». Los spammers cambian su forma de expresarse, los mensajes legítimos a veces coinciden con las reglas y la lista de reglas se vuelve difícil de mantener.
Con el aprendizaje automático, proporcionas ejemplos revisados de spam y de correos legítimos. También eliges un tipo de modelo y una medida para evaluar sus errores. Luego, un algoritmo de aprendizaje ajusta el modelo para que sus resultados coincidan mejor con los ejemplos revisados.
El resultado sigue siendo software. La diferencia está en el origen de parte de su comportamiento. Un programador escribe el procedimiento de aprendizaje y sus límites; el entrenamiento determina muchos de los parámetros dentro de esos límites.
Por eso la conocida frase «sin estar programado explícitamente» puede inducir a error. El sistema está programado, pero su regla completa de decisión no está escrita caso por caso.
Qué significa aprender
Una forma útil de reconocer un problema de aprendizaje automático es identificar cuatro componentes:
- Una tarea. ¿Qué debe hacer el sistema? Algunos ejemplos son clasificar un correo electrónico, estimar un tiempo de entrega, agrupar clientes similares o elegir una acción.
- Experiencia. ¿De qué información puede aprender? Pueden ser ejemplos etiquetados, observaciones sin etiquetar, interacciones anteriores o recompensas obtenidas mediante ensayo y error.
- Una medida de éxito. ¿Qué hace que un resultado sea mejor que otro? Puede ser el error de predicción, la calidad de una agrupación o la recompensa acumulada.
- Un modelo con componentes ajustables. ¿Qué conjunto de reglas posibles puede explorar el proceso de aprendizaje?
El aprendizaje ocurre cuando la experiencia modifica esos componentes ajustables de una forma que mejora la medida elegida. El resultado entrenado se denomina modelo. Usar ese modelo con un caso nuevo es distinto de aprenderlo.
Esta separación es importante. La mayoría de los modelos implementados no aprenden automáticamente de cada nueva solicitud. Sus parámetros aprendidos permanecen fijos hasta que alguien ejecuta otro proceso de entrenamiento o actualización.
Cómo funciona el aprendizaje automático
Los detalles varían, pero un proyecto típico sigue este ciclo:
- Definir la tarea y el resultado del mundo real que importa.
- Recopilar y preparar ejemplos que representen las condiciones en las que se usará el modelo.
- Elegir cómo se representarán las entradas y qué formas de modelo están permitidas.
- Definir un objetivo: una forma numérica de puntuar los modelos candidatos.
- Ejecutar un algoritmo de aprendizaje que busque parámetros con una mejor puntuación del objetivo.
- Usar datos separados para tomar decisiones y un conjunto de prueba intacto para estimar el rendimiento en casos nuevos.
- Implementar el modelo entrenado, supervisar su comportamiento y volver a entrenarlo o sustituirlo cuando cambien los datos o los requisitos.
Este es el flujo:
historical examples + a success measure
|
v
learning algorithm
adjusts model settings
|
v
trained model <----- held-out examples test generalization
|
new input
|
v
prediction, decision, or outputEl algoritmo de aprendizaje y el modelo entrenado no son lo mismo. El algoritmo es el proceso de ajuste. El modelo es el resultado ajustado que procesa nuevas entradas.
En muchos modelos supervisados, el ajuste consiste en correcciones repetidas. El modelo hace predicciones sobre ejemplos de entrenamiento. Una función de pérdida convierte sus errores en un número. Un método de optimización modifica los parámetros del modelo para reducir esa pérdida. Repetir este proceso puede mejorar el rendimiento en el entrenamiento.
Reducir la pérdida de entrenamiento no es el objetivo final. Un modelo puede memorizar detalles de sus ejemplos de entrenamiento y fallar con ejemplos nuevos. Esto es el sobreajuste. El aprendizaje automático tiene éxito cuando el modelo generaliza: funciona bien con casos nuevos y relevantes extraídos de las condiciones que debe gestionar.
Por eso los datos de evaluación deben mantenerse fuera del entrenamiento. Si los ejemplos de prueba influyen en la selección de características, el preprocesamiento o decisiones repetidas sobre el modelo, se ha filtrado información a través de la frontera. La puntuación resultante puede parecer mejor que el rendimiento real del modelo.
Ejemplo práctico: un filtro de spam
Supón que tienes 1.000 correos electrónicos revisados por personas: 500 spam y 500 legítimos.
Apartas 200 correos antes de tomar decisiones sobre el modelado. Ese es el conjunto de prueba. Los 800 restantes son material de entrenamiento. Para cada mensaje, el sistema puede representar señales como las palabras que contiene, el número de enlaces y si el remitente ha aparecido antes.
Al principio, los parámetros ajustables del modelo no son útiles. Durante el entrenamiento, el sistema de aprendizaje predice una etiqueta para cada ejemplo de entrenamiento, mide los errores y modifica los parámetros. Una frase asociada con muchos mensajes de spam podría ganar influencia. Un remitente conocido podría desplazar la puntuación hacia el correo legítimo. Estas son asociaciones aprendidas, no reglas universales.
Después del entrenamiento y de seleccionar el modelo, evalúas una sola vez el modelo final con los 200 mensajes intactos. Imagina que obtiene estos resultados:
- 90 mensajes de spam bloqueados correctamente
- 94 mensajes legítimos permitidos correctamente
- 10 mensajes de spam no detectados
- 6 mensajes legítimos bloqueados por error
Clasificó correctamente 184 de 200 mensajes, por lo que su exactitud en esta prueba ilustrativa es del 92 %.
Ese número no completa el análisis. Bloquear seis correos legítimos puede ser más costoso que dejar pasar diez mensajes de spam. Podrías cambiar el umbral de decisión para bloquear menos mensajes legítimos, aceptando que se escape más spam. La compensación adecuada depende de la tarea, no solo de los datos.
Ahora llega un correo nuevo y recibe una puntuación de spam de 0,82. Producir esa puntuación es usar el modelo entrenado. El modelo no necesariamente aprende del correo. Si las personas revisan posteriormente nuevos mensajes, esas revisiones pueden convertirse en experiencia para una futura ejecución del entrenamiento.
El resultado del 92 % también es condicional. Estima el rendimiento futuro solo si el conjunto de prueba es suficientemente grande y se parece a los correos futuros. Un cambio en el lenguaje, los remitentes o los ataques puede hacer que el modelo de ayer sea menos útil.
Principales formas en que los modelos reciben una señal de aprendizaje
Las categorías del aprendizaje automático se solapan, pero tres configuraciones amplias de aprendizaje resultan útiles:
- El aprendizaje supervisado usa ejemplos asociados con respuestas deseadas, como correos etiquetados como spam o legítimos.
- El aprendizaje no supervisado no tiene una respuesta proporcionada para cada ejemplo y, en su lugar, optimiza un objetivo que revela una estructura, como agrupar elementos similares.
- El aprendizaje por refuerzo usa recompensas o penalizaciones derivadas de acciones realizadas en un entorno, a menudo cuando una acción afecta a lo que ocurre después.
Otras etiquetas describen combinaciones u otras dimensiones. El aprendizaje sem supervisado combina ejemplos etiquetados y sin etiquetar. El aprendizaje autosupervisado construye objetivos de entrenamiento a partir de los propios datos. Los modelos generativos aprenden a producir muestras nuevas, pero pueden entrenarse con más de una configuración de aprendizaje.
Las categorías son herramientas para describir un sistema, no una división estricta que todas las fuentes utilicen de la misma manera.
Por qué importa el aprendizaje automático
El aprendizaje automático resulta útil cuando el comportamiento deseado es más fácil de demostrar o medir que de expresar como un conjunto completo de reglas.
Puedes etiquetar ejemplos de habla con más facilidad de la que puedes escribir todas las reglas que relacionan las ondas sonoras con las palabras. Puedes registrar tiempos de viaje con más facilidad de la que puedes codificar manualmente cada interacción entre el tráfico, el clima, las obras viales y la hora del día. Puedes recopilar ejemplos de transacciones fraudulentas y legítimas aunque ninguna lista breve de comprobación las separe claramente.
El aprendizaje no elimina el trabajo humano. Lo transforma. Las personas deciden qué predecir, qué datos están representados, qué errores importan y si el resultado es suficientemente seguro para usarlo. También mantienen el software circundante y supervisan lo que ocurre después de la implementación.
El aprendizaje automático no es adecuado cuando las reglas ordinarias son claras, estables y fáciles de verificar. Un cálculo de impuestos con reglas legales explícitas no debería convertirse en una estimación estadística simplemente porque el aprendizaje automático esté disponible.
Conceptos erróneos frecuentes
Un modelo aprende como una persona
«Aprender» describe un cambio medible derivado de la experiencia. No implica conciencia, comprensión ni un proceso de aprendizaje humano. Un modelo puede volverse más preciso en una tarea limitada sin saber qué significan sus entradas.
Los datos enseñan todo al modelo
Los datos por sí solos no eligen la tarea, el objetivo, la representación ni los errores aceptables. Todo sistema de aprendizaje contiene supuestos sobre qué patrones puede encontrar y preferir. Esas decisiones determinan el resultado.
Un buen rendimiento en el entrenamiento significa que el modelo funciona
Un modelo puede memorizar su material de entrenamiento. El rendimiento en datos representativos y separados correctamente es una prueba mejor de si aprendió algo reutilizable.
Más datos siempre solucionan el problema
Una mayor cantidad de datos relevantes y bien medidos puede ayudar. Más datos duplicados, sesgados, mal etiquetados, obsoletos o irrelevantes pueden reforzar el comportamiento equivocado. La cobertura y la calidad importan tanto como la cantidad.
Las predicciones explican las causas
Un modelo puede descubrir que dos señales varían conjuntamente y usar una para predecir la otra. Eso no demuestra que cambiar una provoque que la otra cambie. Las afirmaciones causales normalmente requieren supuestos más sólidos o experimentos controlados.
La IA y el aprendizaje automático son intercambiables
El aprendizaje automático es una forma importante de construir sistemas de IA, pero las reglas, la búsqueda, la planificación y otras técnicas también pueden producir comportamientos descritos como IA. Un producto moderno puede combinar modelos aprendidos con una cantidad considerable de software que no utiliza aprendizaje.
Cómo encaja el aprendizaje automático en un sistema de IA
El aprendizaje automático es el proceso que produce o actualiza un modelo aprendido. El modelo es un componente. Una aplicación añade a su alrededor recopilación de datos, interfaces, reglas de negocio, comprobaciones de seguridad, almacenamiento y supervisión.
Una red neuronal es un posible diseño de modelo, no otro nombre para el aprendizaje automático. El entrenamiento es la etapa en la que un proceso de aprendizaje ajusta un modelo. La inferencia es la etapa en la que el modelo entrenado procesa nuevas entradas. Mantener separadas estas piezas facilita evaluar las afirmaciones sobre el producto.
Qué leer después
Lee ¿Qué es una red neuronal? para conocer un tipo de modelo de aprendizaje automático muy utilizado. Después, lee ¿Qué es el entrenamiento en IA? para conocer el proceso de ajuste, y ¿Qué es la inferencia en IA? para saber qué ocurre cuando se utiliza un modelo entrenado.