# Aprendizaje semisupervisado

En ciencias de la computación, el aprendizaje semisupervisado (SSL) es una clase de técnicas de aprendizaje automático que utiliza datos de entrenamiento tanto etiquetados como no etiquetados: normalmente una pequeña cantidad de datos etiquetados junto a una gran cantidad de datos no etiquetados. El aprendizaje semisupervisado se encuentra entre el aprendizaje no supervisado (sin datos de entrenamiento etiquetados) y el aprendizaje supervisado (con todos los datos de entrenamiento etiquetados). Los investigadores del campo del aprendizaje automático han descubierto que los datos no etiquetados, cuando se utilizan junto a una pequeña cantidad de datos etiquetados, pueden mejorar de forma considerable la exactitud del aprendizaje. La adquisición de datos etiquetados para resolver un problema suele requerir un agente humano capacitado para clasificar de forma manual los ejemplos de entrenamiento. El coste asociado al proceso de etiquetado puede hacer que un conjunto de entrenamiento totalmente etiquetado sea inviable, mientras que la adquisición de datos sin etiquetar es relativamente poco costoso. En estos casos, el aprendizaje semisupervisado puede ser muy útil.

## Asunciones

Las técnicas de aprendizaje semisupervisado están basadas en diferentes asunciones que ayudan a guiar el proceso de aprendizaje. Según la literatura se centran en las siguientes cuatro:
* Asunción de suavidad: dos instancias que están cerca una de la otra en el espacio de entrada tienen la misma etiqueta.
* Asunción de baja densidad: el límite de decisión debe pasar a través de un espacio de baja densidad.
* Asunción de la variedad: el espacio de entrada de alta dimensión está compuesto por múltiples subespacios de menor dimensionalidad. Las instancias del mismo subespacio deben tener la misma etiqueta.
* Asunción de clúster: las instancias que se encuentran en el mismo clúster deben tener la misma etiqueta.

## Taxonomía

van Engelen presentó una taxonomía que actualmente es la más utilizada, y la que mejor representa el conjunto de modelos SSL. Esta taxonomía se divide en:

### Transductivos

El grupo inicial de métodos SSL comprende los métodos transductivos. Los algoritmos transductivos generalmente no desarrollan ningún modelo en la fase de entrenamiento y el objetivo es etiquetar el conjunto de instancias no etiquetadas que ya están disponibles. Por lo tanto, el enfoque transductivo no se utiliza con instancias nuevas y desconocidas, por ejemplo, en un sistema de diagnóstico en línea que realiza detección y diagnóstico a medida que se recopilan nuevos datos. Este tipo de métodos siempre se basan en grafos. Los métodos suelen estar compuestos por tres fases: creación del grafo, ponderación del grafo e inferencia (propagación de etiquetas).

### Inductivos

Los algoritmos inductivos generalmente desarrollan un modelo durante la fase de entrenamiento que puede ser utilizado posteriormente para etiquetar datos no vistos. El objetivo en este caso es utilizar las instancias no etiquetadas ya disponibles durante la etapa de entrenamiento para mejorar el modelo que podría haberse obtenido si solo se hubieran utilizado instancias etiquetadas para el entrenamiento. Estos métodos se puede seguir dividiendo en:

#### Métodos wrapper

Los métodos wrapper primero entrenan un clasificador (algunos métodos wrapper entrenan más de un clasificador) utilizando solo las instancias etiquetadas para generar las predicciones de las instancias no etiquetadas. Luego, el clasificador se vuelve a entrenar (o los clasificadores se vuelven a entrenar) utilizando tanto las instancias etiquetadas originales como las nuevas instancias etiquetadas (también llamadas pseudo-etiquetadas) para mejorar el modelo, en un proceso que puede realizarse varias veces.

#### Preprocesamiento no supervisado

Los métodos de preprocesamiento no supervisados utilizan instancias no etiquetadas para diferentes propósitos, como extraer características de los datos no etiquetados, pre-agrupando los datos y para establecer los parámetros iniciales de un modelo de aprendizaje supervisado de manera no supervisada. Cabe destacar que este tipo de métodos realiza estas acciones antes del entrenamiento del modelo final.

#### Intrínsecamente semisupervisados

Los modelos intrínsecamente semisupervisados son aquellos que incorporan directamente instancias no etiquetadas en la función objetivo o de optimización del método de aprendizaje. En lugar de tratar las instancias no etiquetadas como datos adicionales separados, estos métodos integran estas instancias en el proceso de aprendizaje para mejorar el rendimiento del modelo.

## Aplicaciones

Los métodos de aprendizaje semisupervisado, como el resto de técnicas de aprendizaje automático, tienen multitud de aplicaciones en conjuntos de datos reales. El aprendizaje supervisado, quizás la técnica más popular dentro del aprendizaje automático, tiene una contrapartida al ser aplicada en entorno real, ya que necesita una gran cantidad de datos etiquetados, y es que en muchas situaciones obtener una instancia de un dato es sencillo, pero darle su etiqueta real es una tarea difícil y costosa. Gracias a la capacidad de los métodos semisupervisados de obtener información de los datos no etiquetas, además de los etiquetados, permite ser aplicado en casos donde existen pocas instancias etiquetadas y muchas instancias sin etiquetar.
Un ejemplo común donde el aprendizaje semisupervisado puede ser muy beneficioso es en procesos industriales. En un proceso industrial como puede ser la detección y diagnosis de fallos de una máquina normalmente se pueden obtener instancias del proceso fácilmente gracias a los distintos sensores que tiene el proceso, pero poder etiquetar esas instancias es una tarea muy costosa normalmente hecha por un experto humano. Por ello, en este tipo de conjuntos de datos se termina con una gran cantidad de instancias no etiquetadas y un pequeño conjunto de instancias etiquetadas.
Otros ámbitos donde el aprendizaje semisupervisado son la reidentificación de animales en vídeodonde se tiene en cuenta el uso de restricciones, calculadas de forma no supervisada, para mejorar el desempeño de un clasificador clásico. También es una técnica útil en el campo de la bioinformática para la predicción del plegamiento de proteínasy en medicina, en el diagnósticoo en la clasificación de imagen médica, entre otras muchas aplicaciones.