1. Tipos fundamentales de machine learning:
Aprendizaje supervisado
El modelo se entrena con datos etiquetados, donde cada entrada está asociada a una salida deseada. Se utiliza para tareas como clasificación y regresión.
Ejemplo: Imagina que queremos enseñar a un programa a distinguir entre perros y gatos en fotografías. Para ello, le proporcionamos una serie de imágenes, cada una etiquetada como “perro” o “gato”. El modelo aprende a reconocer las características distintivas de cada animal y, posteriormente, puede clasificar nuevas imágenes no vistas anteriormente.
Aprendizaje no supervisado
El modelo trabaja con datos no etiquetados y busca patrones o estructuras ocultas en los datos, como agrupaciones o asociaciones.
Ejemplo: Supongamos que tenemos un conjunto de imágenes de diferentes animales sin etiquetas. El modelo analiza las imágenes y agrupa aquellas que son similares entre sí. Aunque no sabe qué es cada animal, puede agrupar imágenes de animales de cuatro patas en un grupo, de animales que nadan en otros… basándose en similitudes visuales.
Aprendizaje semisupervisado
Combina ambos enfoques, utilizando una pequeña cantidad de datos etiquetados junto con una gran cantidad de datos no etiquetados para mejorar el aprendizaje.
Ejemplo: Imaginemos que tenemos unas pocas imágenes etiquetadas de perros y gatos, pero muchas más sin etiquetar. El modelo utiliza las imágenes etiquetadas para aprender las características básicas de cada categoría y luego aplica ese conocimiento para agrupar correctamente las imágenes no etiquetadas, mejorando así su precisión.
Aprendizaje por refuerzo
El modelo aprende a través de interacciones con un entorno, recibiendo recompensas o penalizaciones según sus acciones, y ajustando su comportamiento para maximizar su recompensa.
Ejemplo: Imagina un videojuego donde un personaje debe aprender a superar obstáculos. Al principio, se mueve un poco al azar, pero cada vez que supera un obstáculo, recibe una “recompensa”. Con el tiempo, el personaje aprende qué acciones le dan más recompensas y así juega cada vez mejor.
2. Técnicas y métodos más específicos:
Supervised fine-tuning (ajuste fino supervisado)
Consiste en tomar un modelo previamente entrenado y refinarlo utilizando un conjunto de datos etiquetados específicos para una tarea particular.
Ejemplo: Supongamos que tenemos un modelo general que reconoce animales. Si queremos que sea especialmente bueno distinguiendo entre razas de perros, podríamos ajustarlo finamente proporcionándole imágenes etiquetadas de diferentes razas, mejorando así su precisión en esta tarea específica.
Destilación de modelos (model distillation)
Un modelo más pequeño y eficiente (denominado “modelo alumno”) aprende a imitar el comportamiento de un modelo más grande y complejo (“modelo profesor”), manteniendo un rendimiento similar pero con menores requisitos computacionales.
Ejemplo: al igual que en la universidad o el colegio, al profesor le supone mucho más esfuerzo aprender algo, pero una vez procesado y entendido, se lo explica a su alumno de una manera que lo entiende con mucho menos esfuerzo.
Muestreo por rechazo o descarte (rejection sampling)
Técnica donde se generan múltiples salidas potenciales y se seleccionan aquellas que cumplen con criterios específicos de calidad o relevancia para su uso posterior.
Ejemplo: Supongamos que un modelo genera varias descripciones para una imagen. Utilizando muestreo por rechazo, podríamos filtrar y seleccionar las descripciones que sean más precisas y relevantes, descartando las menos adecuadas.
Group Relative Policy Optimization, GRPO (Optimización de políticas relativas de grupo)
Un marco de aprendizaje por refuerzo que elimina la necesidad de un modelo crítico o “coach”, utilizando reglas predefinidas para puntuar las salidas del modelo y permitiendo que el modelo aprenda comparando sus puntuaciones con el promedio del grupo.
Ejemplo: Imagina que estás aprendiendo a lanzar una pelota a una canasta. Al principio, pruebas diferentes formas de lanzar la pelota: a veces la lanzas fuerte, otras veces suave, a veces con un ángulo alto y otras con un ángulo bajo. Después de cada lanzamiento, observas qué tan cerca estuvo la pelota de entrar en la canasta.
GRPO es como un entrenador que te ayuda a mejorar tus lanzamientos. Este entrenador te sugiere probar varios tipos de lanzamientos (como tú lo hiciste) y luego te dice cuáles fueron los mejores y cuáles no funcionaron tan bien. En lugar de solo decirte si un lanzamiento fue bueno o malo, te compara todos los lanzamientos entre sí y te muestra cuáles fueron relativamente mejores.
Con esta información, aprendes a preferir los lanzamientos que fueron mejores y a evitar los que no funcionaron. Con el tiempo, al seguir las sugerencias de tu entrenador y practicar más, te vuelves mejor lanzando la pelota y logras encestar más seguido.
3. Combinaciones y estrategias avanzadas:
Stacking
Combina las predicciones de múltiples modelos base mediante un modelo meta que aprende a optimizar las predicciones finales.
Ejemplo: Para predecir los precios de las viviendas, podríamos usar varios modelos (como regresión lineal, árboles de decisión, redes neuronales) y luego entrenar un modelo adicional que combine sus predicciones para obtener una estimación final más precisa.
Ensamblado de modelos (ensemble learning)
Combina múltiples modelos de aprendizaje para obtener un rendimiento predictivo mejor que el que se lograría con un solo modelo.
Ejemplo: Para predecir el clima, podríamos combinar varios modelos meteorológicos, cada uno especializado en diferentes aspectos (temperatura, precipitación, viento), y promediar sus predicciones para obtener una estimación más precisa.
Bagging (bootstrap aggregating)
Entrena varios modelos independientes en diferentes subconjuntos del conjunto de datos original y promedia sus predicciones para reducir la varianza.
Ejemplo: En la detección de spam, podríamos entrenar múltiples modelos en diferentes subconjuntos de correos electrónicos y luego combinar sus resultados para decidir si un nuevo correo es spam o no.
Boosting
Construye modelos secuenciales, donde cada modelo intenta corregir los errores de su predecesor, mejorando iterativamente el rendimiento.
Ejemplo: Al clasificar tipos de flores, un primer modelo puede cometer errores que un segundo modelo intentará corregir, y así sucesivamente, hasta mejorar la precisión de la clasificación.