Lección 0.3 – Tipos de aprendizaje automático: guía con ejemplos
Lección 0.3 – Tipos de aprendizaje automático: guía con ejemplos
Curso de inteligencia artificial desde cero
Bloque 0: Fundamentos de inteligencia artificial
Lección 0.3 · Lección 3 de 5 del bloque
Nivel: iniciación · Sin conocimientos previos
Los tipos de aprendizaje automático se distinguen, principalmente, por la información que utiliza un sistema para aprender y por el objetivo que intenta resolver.
En unos casos proporcionamos ejemplos con respuestas conocidas. En otros buscamos estructuras sin indicar categorías. También podemos construir objetivos a partir de los propios datos o aprender a tomar decisiones mediante recompensas.
En esta lección conocerás cuatro enfoques fundamentales:
- Aprendizaje supervisado.
- Aprendizaje no supervisado.
- Aprendizaje autosupervisado.
- Aprendizaje por refuerzo.
Veremos sus diferencias, ejemplos de uso y pequeños fragmentos de Python. No necesitas dominar todavía el lenguaje: el objetivo es comprender las ideas.
Qué diferencia a los tipos de aprendizaje automático
En la lección anterior estudiamos los datos, el modelo, la función de pérdida y la evaluación.
Ahora añadiremos una pregunta:
¿De dónde sale la información que permite al sistema mejorar?
Esa información suele llamarse señal de aprendizaje.
Puede proceder de una etiqueta conocida, de la estructura de los datos, de una parte del ejemplo que hemos ocultado o de una recompensa asociada a una acción.
Las categorías no son compartimentos completamente separados. Un mismo sistema puede combinar varios enfoques durante su desarrollo.
1. Aprendizaje supervisado: aprender con respuestas conocidas
En el aprendizaje supervisado, el entrenamiento utiliza ejemplos acompañados de sus resultados esperados.
Por ejemplo:
| Entrada | Respuesta conocida |
|---|---|
| Fotografía de un perro | Perro |
| Fotografía de un gato | Gato |
| Mensaje publicitario fraudulento | Spam |
| Distancia de una entrega | Tiempo real que tardó |
El modelo produce una predicción, se compara con la respuesta conocida y se ajusta para reducir el error.
La palabra «supervisado» no significa que una persona vigile cada operación. Significa que disponemos de una referencia para los ejemplos de entrenamiento.
Las etiquetas pueden proceder de personas, mediciones, registros históricos u otros procesos. Su calidad debe revisarse.
Clasificación: predecir categorías
La clasificación consiste en asignar una categoría o varias categorías a una entrada.
Algunos ejemplos son:
- Spam o no spam.
- Perro, gato o caballo.
- Documento administrativo, factura o contrato.
En una clasificación binaria hay dos categorías. En una clasificación multiclase hay más de dos.
También existe la clasificación multietiqueta: una fotografía podría recibir simultáneamente las etiquetas «playa», «personas» y «atardecer».
Muchos clasificadores calculan puntuaciones o estimaciones de probabilidad antes de producir una decisión. Esos valores no deben interpretarse automáticamente como niveles de confianza perfectamente fiables.
Regresión: predecir cantidades
La regresión busca estimar una cantidad numérica, como:
- La temperatura de mañana.
- El tiempo de una entrega.
- El consumo eléctrico de un edificio.
El ejemplo de la lección anterior era una regresión: a partir de una distancia estimábamos un tiempo.
Que las etiquetas estén representadas mediante números no convierte una tarea en regresión. Si 0 significa «gato» y 1 significa «perro», seguimos trabajando con categorías.
Ejemplo de clasificación supervisada en Python
Imagina que clasificamos paquetes como ligeros o pesados utilizando su peso.
Podemos construir un clasificador sencillo calculando el peso medio de los ejemplos de cada categoría:
pesos_ligeros = [1, 2, 3]
pesos_pesados = [6, 7, 8]
centro_ligeros = sum(pesos_ligeros) / len(pesos_ligeros)
centro_pesados = sum(pesos_pesados) / len(pesos_pesados)
def clasificar_paquete(peso):
distancia_ligeros = abs(peso - centro_ligeros)
distancia_pesados = abs(peso - centro_pesados)
if distancia_ligeros <= distancia_pesados:
return "ligero"
return "pesado"
print("Centro de ligeros:", centro_ligeros)
print("Centro de pesados:", centro_pesados)
print("Paquete de 4 kg:", clasificar_paquete(4))
print("Paquete de 6 kg:", clasificar_paquete(6))
Resultado esperado:
Centro de ligeros: 2.0 Centro de pesados: 7.0 Paquete de 4 kg: ligero Paquete de 6 kg: pesado
El cálculo de las medias constituye el ajuste del modelo. Después clasificamos cada paquete según el centro más cercano.
Este método se conoce como clasificación por el centroide más cercano. En nuestro ejemplo, cada centroide es un único número porque solo utilizamos una característica.
Las categorías ya estaban asignadas en los datos de entrenamiento. El programa no ha descubierto por su cuenta qué significa «ligero».
Además, hemos decidido que un empate se resuelva como «ligero» mediante <=. Es una elección de implementación.
En una aplicación real habría que evaluar el modelo con otros paquetes. Si existe un límite contractual exacto de peso, probablemente resulte más adecuado programar directamente esa regla.
2. Aprendizaje no supervisado: buscar estructura sin etiquetas
En el aprendizaje no supervisado, los datos de entrenamiento no vienen acompañados de las respuestas de una tarea supervisada.
El objetivo puede ser encontrar grupos, obtener una representación más compacta o caracterizar patrones de los datos.
Esto no significa que el sistema trabaje sin instrucciones. Las personas siguen eligiendo los datos, las características, el método y sus criterios.
Agrupamiento o clustering
El agrupamiento reúne ejemplos según alguna medida de semejanza.
Imagina que tenemos información de clientes:
| Cliente | Compras mensuales | Gasto medio por compra |
|---|---|---|
| A | 1 | 15 € |
| B | 2 | 18 € |
| C | 12 | 80 € |
| D | 11 | 85 € |
Un algoritmo podría encontrar dos grupos diferenciados.
No le hemos proporcionado etiquetas como «cliente ocasional» o «cliente frecuente». Esos nombres serían interpretaciones humanas posteriores.
Encontrar grupos no demuestra que existan categorías naturales y definitivas. El resultado depende de las variables, las escalas y el algoritmo utilizados.
Por ejemplo, agrupar clientes por gasto y frecuencia puede producir una organización distinta de agruparlos por ubicación.
Reducción de dimensiones
La reducción de dimensiones busca representar datos que tienen muchas características utilizando menos dimensiones.
Puede servir para:
- Facilitar la visualización.
- Reducir el tamaño de una representación.
- Eliminar parte de la redundancia.
- Preparar datos para otros métodos.
La simplificación puede perder información. Un gráfico de dos dimensiones no muestra necesariamente todas las relaciones del conjunto original.
Detección de anomalías
Otra tarea consiste en identificar observaciones que se apartan de los patrones habituales.
Por ejemplo, un sensor que registra una lectura muy diferente de sus valores anteriores.
Una anomalía no equivale automáticamente a un fallo o a un fraude: indica que hay algo que merece revisión.
La detección de anomalías también puede abordarse con métodos supervisados cuando disponemos de ejemplos etiquetados. Una tarea no pertenece siempre a un único tipo de aprendizaje.
3. Aprendizaje autosupervisado: construir objetivos con los propios datos
En el aprendizaje autosupervisado, construimos la señal de aprendizaje a partir de los datos disponibles.
Por ejemplo, podemos ocultar una parte de una entrada y entrenar al modelo para predecirla.
| Dato original | Entrada de entrenamiento | Objetivo |
|---|---|---|
| «El gato duerme» | «El gato» | «duerme» |
| Una fotografía completa | Fotografía con regiones ocultas | Información de las regiones ocultas |
También existen métodos autosupervisados que aprenden relaciones entre distintas versiones de una imagen sin reconstruir literalmente una parte oculta.
La idea general es diseñar una tarea que permita aprender representaciones útiles sin etiquetar manualmente cada ejemplo para esa tarea.
Ejemplo en Python: preparar pares de entrenamiento
Este código construye ejemplos para predecir la siguiente palabra:
frase = "el gato duerme en casa"
palabras = frase.split()
for posicion in range(1, len(palabras)):
contexto = " ".join(palabras[:posicion])
siguiente_palabra = palabras[posicion]
print( f"Entrada: {contexto} | " f"Objetivo: {siguiente_palabra}" )
Resultado:
Entrada: el | Objetivo: gato Entrada: el gato | Objetivo: duerme Entrada: el gato duerme | Objetivo: en Entrada: el gato duerme en | Objetivo: casa
split() divide la frase en palabras. La expresión palabras[:posicion] selecciona los elementos anteriores a una posición y ‘ ‘.join() los reúne con espacios.
Este código prepara los ejemplos; todavía no entrena ningún modelo.
La diferencia importante es que las respuestas salen del texto original. Una persona no necesita escribir por separado la siguiente palabra de cada fragmento.
Relación con los modelos de lenguaje
La predicción del siguiente token es un objetivo utilizado para entrenar modelos de lenguaje generativos.
Un token es una unidad de representación del texto. Puede corresponder a una palabra, parte de una palabra o un signo. En el ejemplo hemos utilizado palabras para simplificar.
Predecir tokens a partir del contexto permite aprender patrones útiles para múltiples tareas, pero no garantiza que las respuestas generadas sean verdaderas.
¿Es una forma de aprendizaje no supervisado?
La terminología puede variar. Con frecuencia, el aprendizaje autosupervisado se presenta dentro del aprendizaje no supervisado porque no requiere etiquetas externas para construir su objetivo.
También se estudia por separado porque convierte los propios datos en pares de entrada y objetivo, con un procedimiento parecido al supervisado.
Lo importante es comprender cómo se genera la señal de aprendizaje, más allá de la etiqueta utilizada para clasificar el método.
4. Aprendizaje por refuerzo: aprender a tomar decisiones
En el aprendizaje por refuerzo, un agente aprende a elegir acciones buscando maximizar la recompensa acumulada.
Sus elementos principales son:
| Elemento | Significado | Ejemplo en un laberinto |
|---|---|---|
| Agente | Sistema que toma decisiones. | El jugador automático. |
| Entorno | Sistema con el que interactúa. | El laberinto. |
| Estado u observación | Información disponible para decidir. | La posición y las paredes visibles. |
| Acción | Decisión que puede ejecutar. | Moverse a la derecha. |
| Recompensa | Señal numérica recibida. | Obtener puntos al llegar a la salida. |
| Política | Regla o modelo para elegir acciones. | Qué movimiento escoger en cada situación. |
El estado describe la situación del entorno. La observación es la información que recibe el agente, que puede ser incompleta.
La recompensa puede llegar más tarde
Un movimiento puede no producir una recompensa inmediata y, aun así, ayudar a alcanzar la salida.
Por eso este enfoque estudia cómo relacionar decisiones actuales con consecuencias futuras.
Una política que obtiene una pequeña recompensa ahora puede ser peor que otra que permite obtener una recompensa mayor más adelante.
Exploración y explotación
El agente debe equilibrar dos comportamientos:
- Explorar: probar acciones para obtener información.
- Explotar: utilizar lo que ya sabe para elegir acciones prometedoras.
Si nunca explora, puede quedarse con una opción mediocre. Si solo explora, no aprovecha lo aprendido.
Ejemplo mínimo: actualizar una estimación
Podemos ilustrar una actualización con una decisión de un solo paso:
valor_estimado = 0.0 tasa_aprendizaje = 0.2 recompensa_observada = 1.0 valor_estimado = valor_estimado + tasa_aprendizaje * ( recompensa_observada - valor_estimado ) print(round(valor_estimado, 2))
Resultado:
0.2
La estimación se desplaza una parte del camino hacia la recompensa observada.
La tasa de aprendizaje controla cuánto cambia con cada actualización.
Este fragmento ilustra un mecanismo básico usado en problemas de recompensa inmediata, como los de tipo bandit. No implementa un agente completo ni resuelve decisiones con consecuencias futuras.
Para eso necesitaremos representar acciones, interacción y objetivos a lo largo del tiempo.
Diseñar mal la recompensa cambia el comportamiento
Supongamos que premiamos a un robot por moverse mucho, cuando nuestro objetivo real es que llegue a un destino.
Podría aprender a moverse continuamente sin acercarse al lugar deseado.
Optimizar una recompensa no garantiza cumplir nuestra intención si la recompensa no representa bien el objetivo.
Además, el aprendizaje por refuerzo puede utilizar simuladores o experiencias registradas previamente. No siempre requiere experimentar en directo con el mundo real.
Comparación de los cuatro enfoques
| Enfoque | Señal de aprendizaje | Ejemplo | Dificultad habitual |
|---|---|---|---|
| Supervisado | Respuestas conocidas. | Clasificar correos etiquetados. | Conseguir etiquetas fiables y generalizar. |
| No supervisado | Estructura de los datos según un criterio. | Agrupar clientes por semejanza. | Interpretar y validar los patrones. |
| Autosupervisado | Objetivos construidos con los propios datos. | Predecir el siguiente token. | Diseñar una tarea que enseñe representaciones útiles. |
| Por refuerzo | Recompensas asociadas a decisiones. | Aprender a actuar en un juego. | Explorar y atribuir consecuencias a acciones anteriores. |
Otros enfoques que conviene conocer
Aprendizaje semisupervisado
Combina ejemplos etiquetados y no etiquetados.
Por ejemplo, un pequeño conjunto de imágenes clasificadas por personas y otro mucho mayor sin clasificar.
Los datos sin etiquetas pueden ayudar, pero el resultado depende de las suposiciones del método y de la calidad de ambos conjuntos.
Aprendizaje débilmente supervisado
Utiliza señales imperfectas, como etiquetas ruidosas, reglas aproximadas o anotaciones menos detalladas de lo que requiere la tarea.
Permite aprovechar información más barata de obtener, aunque introduce errores que debemos considerar.
Aprendizaje activo
El sistema selecciona qué ejemplos convendría enviar a una persona para etiquetarlos.
El objetivo es aprovechar mejor el esfuerzo de anotación. No elimina la necesidad de evaluar si la selección funciona.
Aprendizaje por imitación
Aprende a reproducir comportamientos a partir de demostraciones.
Una técnica sencilla, la clonación de comportamiento, aprende qué acción tomar observando pares de situación y acción.
No es equivalente a recibir una recompensa por cada decisión.
Conceptos que describen otra dimensión del aprendizaje
Algunas expresiones no responden a la misma pregunta que los cuatro enfoques principales:
- Transferencia de aprendizaje: aprovechar un modelo o conocimiento previo para otra tarea.
- Aprendizaje en línea: actualizar el modelo a medida que llegan nuevos datos.
- Aprendizaje por lotes: entrenar con un conjunto de datos recopilado.
- Aprendizaje profundo: utilizar redes neuronales con múltiples capas.
Un sistema puede ser, por ejemplo, supervisado, profundo y entrenado mediante transferencia de aprendizaje al mismo tiempo.
Del mismo modo, IA generativa describe la capacidad de generar contenido, no una señal de aprendizaje concreta.
Cómo se combinan en una aplicación
Imagina un asistente que responde preguntas sobre documentos.
Su desarrollo podría incluir:
- Un modelo de lenguaje preentrenado mediante objetivos autosupervisados.
- Un ajuste supervisado con ejemplos de instrucciones y respuestas.
- Una etapa adicional basada en preferencias o recompensas.
- Un mecanismo de búsqueda para recuperar documentos durante el uso.
No todas las aplicaciones necesitan todas estas etapas. Además, recuperar documentos durante una consulta no equivale, por sí solo, a volver a entrenar el modelo.
El entrenamiento del modelo y el funcionamiento de la aplicación son niveles distintos que debemos aprender a separar.
Ejercicios de autoevaluación
Identifica el enfoque principal de cada situación:
- Un sistema aprende de fotografías que incluyen la especie del animal.
- Un programa agrupa canciones por características acústicas sin recibir géneros.
- Un modelo aprende a reconstruir partes ocultas de imágenes.
- Un agente juega partidas y ajusta su estrategia según las recompensas.
- Se combinan cien documentos etiquetados y miles sin etiquetar.
- Un modelo predice una cantidad numérica usando ejemplos con sus valores reales.
Soluciones explicadas
1. Aprendizaje supervisado de clasificación. Las especies son categorías conocidas.
2. Aprendizaje no supervisado de agrupamiento. Se buscan semejanzas sin proporcionar las categorías musicales.
3. Aprendizaje autosupervisado. El objetivo se obtiene de la imagen original antes de ocultar una parte.
4. Aprendizaje por refuerzo. Las decisiones se ajustan buscando mejorar las recompensas acumuladas.
5. Aprendizaje semisupervisado. Se utilizan datos etiquetados y no etiquetados dentro del proceso de aprendizaje.
6. Aprendizaje supervisado de regresión. El resultado esperado es una cantidad numérica.
Preguntas frecuentes sobre los tipos de aprendizaje automático
¿Cuál es el mejor tipo de aprendizaje automático?
Depende del problema, de los datos disponibles y de cómo podemos obtener una señal de aprendizaje. No existe uno que sea superior para todas las tareas.
¿El aprendizaje no supervisado descubre la verdad de los datos?
No. Encuentra estructuras según criterios y suposiciones. Debemos comprobar si son estables y útiles para el propósito de la aplicación.
¿El aprendizaje autosupervisado funciona sin intervención humana?
No. Las personas siguen diseñando el objetivo, preparando los datos y evaluando el sistema. Lo que evitamos es etiquetar manualmente cada ejemplo para ese objetivo.
¿Aprender por refuerzo significa recibir castigos?
La recompensa es una señal numérica que puede ser positiva, negativa o cero. No implica emociones ni experiencias humanas.
¿Todos estos métodos utilizan redes neuronales?
No. Existen métodos supervisados, no supervisados y por refuerzo que no emplean redes neuronales. El aprendizaje autosupervisado también describe un enfoque para construir objetivos, no una arquitectura única.
Continúa el curso
Has completado la lección 0.3, la tercera de las cinco lecciones del bloque 0: Fundamentos de inteligencia artificial.
| Navegación | Contenido |
|---|---|
| Anterior | Lección 0.2 – Cómo funciona el aprendizaje automático: sus piezas clave. |
| Siguiente | Lección 0.4 – Capacidades y límites de la inteligencia artificial |
Continúa con la lección 0.4 para avanzar en los fundamentos de la inteligencia artificial.
