Aprendizaje Semisupervisado

Publicado el 08 noviembre 2024 por Daniel Rodríguez @analyticslane

En el campo del Aprendizaje Automático ( Machine Learning) los enfoques de aprendizaje se suelen dividir en tres: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje por refuerzo. Siendo los dos primeros los más utilizados. En el aprendizaje supervisado se usan conjuntos de datos etiquetados para entrenar modelos que buscan identificar estas etiquetas. Mientras que en aprendizaje supervisado se usan conjuntos de datos sin etiquetar. Cuando se necesita entrenar un modelo de aprendizaje supervisado pero no se dispone de suficientes datos etiquetados, el aprendizaje semisupervisado surge como una alternativa que combina el aprendizaje supervisado con el aprendizaje no supervisado.

En esta entrada, se explorará qué es el aprendizaje semisupervisado, cómo se diferencia del aprendizaje supervisado y no supervisado, y por qué es tan útil en escenarios donde el etiquetado de grandes volúmenes de datos resulta costoso o no es práctico. También se mostrarán ejemplos y casos prácticos para entender cómo se puede aplicar este enfoque.

Aprendizaje supervisado y no supervisado

Antes de profundizar en el aprendizaje semisupervisado, es crucial entender los dos enfoques principales de aprendizaje automático: supervisado y no supervisado. Así como conocer sus ventajas y desventajas. Aunque existe una entrada anterior en la que se habla de ambos en profundidad, a continuación, se explica en que consiste cada uno de estos enfoques.

Aprendizaje supervisado

El aprendizaje supervisado es un enfoque de aprendizaje automático donde los modelos se entrenan usando un conjunto de datos etiquetados, es decir, datos donde cada ejemplo tiene un par de entradas y salidas. El objetivo es que el modelo aprenda los patrones para relacionar correctamente las entradas con las salidas. Algo que se logra ajustando los parámetros para minimizar el error entre las predicciones del modelo y las etiquetas reales.

Por ejemplo, en un problema de clasificación de imágenes, el modelo puede entrenarse con miles de imágenes etiquetadas con sus respectivas categorías, como pueden ser "perro" o "gato". Una vez entrenado, el modelo debería ser capaz de clasificar correctamente nuevas imágenes que no se han usado en su entrenamiento.

Las aplicaciones típicas del aprendizaje supervisado incluyen:

  • Clasificación: asignar una categoría a una entrada (como clasificar correos electrónicos en "spam" o "no spam").
  • Regresión: predecir un valor continuo (como el precio de una vivienda basado en características como tamaño y ubicación).

Ventajas del aprendizaje supervisado:

  • Ofrece una alta precisión cuando se dispone de datos etiquetados de calidad.
  • Fácil de evaluar y ajustar mediante métricas claras como la precisión, sensibilidad o error cuadrático medio.

Desventajas:

    Requiere una gran cantidad de datos etiquetados, lo cual puede ser costoso y consumir mucho tiempo.

Aprendizaje no supervisado

En contraste al aprendizaje supervisado, el aprendizaje no supervisado trabaja con datos no etiquetados. Por lo que el modelo solamente puede buscar patrones ocultos o estructuras subyacentes en los datos sin tener una salida específica asociada a cada entrada. El objetivo de este enfoque es agrupar o segmentar los datos de manera que se revele alguna estructura interna que no es obvia.

Ejemplos comunes de aprendizaje no supervisado incluyen:

  • Agrupamiento (clustering): dividir un conjunto de datos en grupos o clústeres donde los objetos dentro de un grupo son más similares entre sí que con los de otros grupos. Un ejemplo típico es el algoritmo K-means.
  • Reducción de dimensionalidad: técnicas como PCA (Análisis de Componentes Principales) que permiten reducir el número de variables en un conjunto de datos para hacerlo más manejable y comprensible.

Ventajas del aprendizaje no supervisado:

  • No requiere etiquetas, por lo que se puede usar grandes volúmenes de datos no etiquetados.
  • Útil para explorar datos y descubrir relaciones ocultas.

Desventajas:

  • Más difícil de evaluar, ya que no se dispone de un valor "correcto" con el cual medir los resultados del modelo.
  • Los patrones descubiertos pueden no siempre ser útiles o interpretables.

La dificultad de encontrar datos etiquetados

Una de las barreras más importantes para implementar modelos de aprendizaje supervisado es la necesidad de contar con grandes cantidades de datos correctamente etiquetados. Para lo que puede ser necesario el trabajo de muchas personas. En algunos casos, como el reconocimiento de imágenes o el procesamiento de lenguaje natural, etiquetar los datos puede ser una tarea extremadamente costosa y que consume mucho tiempo, por ejemplo:

  • En el reconocimiento de imágenes médicas, se requieren expertos (como radiólogos) para revisar miles de imágenes y etiquetarlas correctamente (por ejemplo, identificar tumores en imágenes de resonancia magnética).
  • En el procesamiento de lenguaje natural (NLP), etiquetar grandes conjuntos de datos de texto puede requerir intervención humana para identificar categorías correctas o relaciones sintácticas complejas.

Además del coste del proceso de etiquetado de datos, también existe el riesgo de errores humanos y sesgos, lo que puede afectar negativamente al rendimiento del modelo.

Esta es la razón por la que se ha puesto un gran énfasis en el desarrollo de métodos que pueden aprovechar no solo datos etiquetados, sino también la abundancia de datos no etiquetados. Siendo en estos casos cuando el aprendizaje semisupervisado es una opción.

Aprendizaje semisupervisado

El aprendizaje semisupervisado se encuentra en un punto intermedio entre el aprendizaje supervisado y no supervisado. En este enfoque, los modelos se entrenan usando una pequeña cantidad de datos etiquetados junto con una gran cantidad de datos no etiquetados. La idea es que, aunque solamente los datos etiquetados contienen la información que se quiere identificar, los datos no etiquetados también contienen información útil sobre la estructura subyacente de los datos que puede ayudar a mejorar la precisión del modelo.

Cómo funciona el aprendizaje semisupervisado

El aprendizaje semisupervisado se basa en la premisa de que las instancias no etiquetadas pueden proporcionar pistas sobre la organización de los datos, lo que permite al modelo aprender mejor las relaciones entre las variables. A continuación, se explica el funcionamiento de un caso típico:

  1. Modelo inicial: Se entrena un modelo básico utilizando únicamente el conjunto de datos etiquetados. Este modelo es el punto de partida.
  2. Uso de datos no etiquetados: El modelo entrenado se aplica a los datos no etiquetados para realizar predicciones. La predicciones con mayor grado de confianza se utilizan para "etiquetar" de manera provisional los datos no etiquetados.
  3. Reentrenamiento: Con este nuevo conjunto de datos (etiquetados y no etiquetados), el modelo se reentrena, ajustando sus parámetros en función de las nuevas etiquetas que han generado.

Este ciclo puede repetirse varias veces, con el objetivo de que el modelo mejore su rendimiento a medida que aprovecha tanto los datos etiquetados como los no etiquetados.

Ejemplos de técnicas de aprendizaje semisupervisado

Algunas de las más populares de aprendizaje semisupervisado son:

  1. Self-training (autoentrenamiento): El modelo se entrena inicialmente con los datos etiquetados, luego predice etiquetas para los datos no etiquetados, y las instancias con las predicciones más confiables se utilizan como etiquetas adicionales para reentrenar el modelo.
  2. Co-training: Se utilizan dos modelos diferentes que se entrenan con diferentes subconjuntos de características de los datos. Cada modelo etiqueta una parte de los datos no etiquetados, y las etiquetas generadas se intercambian entre los dos modelos para mejorar el rendimiento.
  3. Transductive Support Vector Machines (TSVMs): Es una extensión de las máquinas de vectores soporte (SVM) tradicionales, pero diseñada para funcionar con un conjunto mixto de datos etiquetados y no etiquetados.

Casos Prácticos

A continuación, se muestra un par de casos prácticos en los que el aprendizaje semisupervisado es una opción para el entrenamiento de los modelos.

Caso 1: Clasificación de imágenes médicas

En el caso de que se desee desarrollar un sistema para clasificar imágenes de resonancias magnéticas (MRI) en imágenes normales o con signos de tumores es necesario contar con miles de imágenes etiquetadas. Pero, etiquetar cada una de las imágenes requiere la intervención de un radiólogo, por lo que el coste de obtener nuevas imágenes correctamente etiquetadas es elevado.

Si se emplea un enfoque de aprendizaje semisupervisado, se podría entrenar un modelo inicialmente con el pequeño conjunto de datos. Luego, se podría aplicar el modelo a una gran cantidad de imágenes no etiquetadas para generar etiquetas provisionales, aumentando el conjunto de datos etiquetados sin intervención humana adicional. Al reentrenar el modelo con este conjunto expandido, se podría mejorar su precisión sin la necesidad etiquetar más imágenes.

Caso 2: Análisis de sentimientos en redes sociales

Las empresas desean analizar el sentimiento de los usuarios en redes sociales para conocer la percepción de sus productos o servicios. Sin embargo, etiquetar manualmente cada mensaje o comentario como positivo, negativo o neutral es una tarea ardua y costosa.

Al igual que en el caso de caso anterior, utilizar un enfoque semisupervisado podría obtener buenos resultados con un coste menor. Entrenado un modelo inicial con un pequeño conjunto de datos etiquetados. Posteriormente, este modelo se podría aplicar a miles de comentarios no etiquetados para generar predicciones sobre el sentimiento en los nuevos registros. Con este conjunto de datos expandido, se podría mejorar el análisis sin necesidad de etiquetar manualmente todos los datos.

Ventajas del aprendizaje semisupervisado

Como se ha visto, el uso de aprendizaje semisupervisado tiene algunas ventajas:

  1. Reducción del coste de etiquetado: Al requerir menos datos etiquetados, se puede ahorrar tiempo y dinero en el proceso.
  2. Uso eficiente de datos no etiquetados: Dado que los datos no etiquetados son más fáciles de recolectar, este enfoque permite que esos datos no queden sin uso.
  3. Mejora en la precisión: Al utilizar los datos no etiquetados se puede mejorar significativamente el rendimiento en comparación con usar solo datos etiquetados.

Problemas del aprendizaje semisupervisado

A pesar de sus ventajas, también es necesario tener en cuenta algunas de los problemas que existe al usar un enfoque de aprendizaje semisupervisado:

  1. Calidad de las etiquetas provisionales: Si el modelo inicial es inexacto, las etiquetas generadas para los datos no etiquetados pueden ser incorrectas, lo que afecta negativamente el rendimiento.
  2. Sesgo en los datos etiquetados: Si los pocos datos etiquetados contienen sesgos, estos se transferirán al conjunto de datos expandido, perpetuando errores.
  3. Dificultad en la selección del modelo: Elegir la técnica adecuada de aprendizaje semisupervisado para un problema específico puede ser complicado, y requiere experimentación.

Conclusiones

El aprendizaje semisupervisado es una técnica que permite combinar datos etiquetados y no etiquetados para entrenar modelos. Consiguiendo aumentar la eficiencia del proceso de entrenamiento. A medida que el volumen de datos no etiquetados sigue creciendo, el aprendizaje semisupervisado se está volviendo cada vez más importante en aplicaciones del mundo real, desde la visión por computadora hasta el procesamiento del lenguaje natural. Sin embargo, como cualquier técnica, presenta problemas que se deben tener en cuenta y gestionarse correctamente para maximizar sus beneficios.

Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.