Curso
Etiquetar datos es caro, lento, específico de cada dominio y la mayoría de equipos no tienen suficientes datos etiquetados.
Siempre necesitas datos etiquetados para entrenar un modelo, pero hacerlo bien lleva tiempo y a menudo requiere a un experto. Por ejemplo, las imágenes médicas necesitan radiólogos y los documentos legales, abogados. Incluso tareas sencillas como el análisis de sentimiento exigen que alguien se siente a etiquetar cada ejemplo a mano. Como resultado, la mayoría de equipos de ML acaban con un conjunto diminuto de datos etiquetados y una enorme cantidad de datos sin etiquetar que no pueden aprovechar.
El aprendizaje semisupervisado soluciona esto entrenando con ambos tipos. Toma tu pequeño conjunto etiquetado, lo combina con el gran conjunto sin etiquetar y deja que el modelo aprenda los patrones.
En este artículo verás cómo funciona el aprendizaje semisupervisado, repasaremos las técnicas más habituales y cuándo tiene sentido usarlo.
Pero ¿qué es exactamente el supervised machine learning? Lee nuestro artículo para entender cómo funcionan los algoritmos esenciales de aprendizaje supervisado.
¿Qué es el aprendizaje semisupervisado?
El aprendizaje semisupervisado es un enfoque de machine learning que entrena con una mezcla de datos etiquetados y no etiquetados.
Como su nombre sugiere, se sitúa entre el aprendizaje supervisado y el no supervisado. El supervisado necesita que cada muestra esté etiquetada. El no supervisado funciona sin etiquetas. El semisupervisado usa un pequeño conjunto de ejemplos etiquetados junto a una colección mucho mayor de ejemplos sin etiquetar.
Los datos etiquetados le dicen al modelo qué buscar. Los no etiquetados le muestran cómo está estructurada la información. Combinados, ofrecen al modelo mucho más de lo que cualquiera de los dos tipos aporta por separado.
Cómo funciona el aprendizaje semisupervisado
El proceso empieza con un conjunto pequeño de datos etiquetados: quizá unos cientos de ejemplos en los que conoces la salida correcta.
Luego incorporas un conjunto mucho más grande de datos sin etiquetar. Pueden ser miles o incluso millones de muestras sin etiquetas. El modelo usa estos datos no etiquetados para aprender los patrones subyacentes y las relaciones entre puntos de datos.
Los ejemplos etiquetados guían esa estructura hacia las respuestas correctas. Con las muestras sin etiquetar, el modelo ya sabe cómo se organiza el dato. Las etiquetas le indican qué regiones de esa estructura corresponden a cada salida.
Veámoslo con un ejemplo rápido.
Imagina que clasificas emails como spam o no spam. Tienes 100 emails etiquetados y 10.000 sin etiquetar. Primero, el modelo aprende cómo se agrupan los correos según patrones de palabras y estructura. Después usa tus 100 ejemplos etiquetados para identificar qué grupos son spam y cuáles no. El resultado es un modelo que rinde mejor que si lo hubieras entrenado solo con esos 100 correos etiquetados.
Aprendizaje semisupervisado vs. supervisado vs. no supervisado
Repasemos cada enfoque para ver dónde encaja el aprendizaje semisupervisado frente a los otros dos.
Aprendizaje supervisado
El aprendizaje supervisado entrena con datos totalmente etiquetados. Cada muestra tiene una entrada y una salida conocida. El modelo aprende la correspondencia entre ambas.
Funciona bien cuando tienes suficientes ejemplos etiquetados. Pero «suficientes» puede significar miles o incluso millones, según la tarea. Producirlos es caro y, a veces, sencillamente imposible.
Aprendizaje no supervisado
El aprendizaje no supervisado no usa etiquetas. El modelo observa los datos en bruto y encuentra estructura por sí mismo. Ejemplos clásicos son el clustering y la reducción de dimensionalidad.
La ventaja es que no necesitas datos etiquetados. La desventaja es que el modelo no sabe qué te importa realmente. Encuentra patrones, sí, pero puede que no se ajusten al problema que quieres resolver.
Aprendizaje semisupervisado
El aprendizaje semisupervisado combina lo mejor de ambos mundos. Le das al modelo un conjunto pequeño de datos etiquetados para definir la tarea y un conjunto grande de datos sin etiquetar para aprender la estructura del dato.
Los datos etiquetados orientan al modelo. Los no etiquetados le muestran cómo se relacionan las muestras entre sí. Esta combinación suele superar al supervisado entrenado con el mismo conjunto pequeño de etiquetas, porque el modelo detecta patrones que se perderían sin los datos sin etiquetar.
Aquí tienes una comparación rápida entre los tres:

Tabla comparativa de enfoques de machine learning
En resumen, si etiquetar lleva demasiado tiempo y tienes muchos datos sin etiquetar, merece la pena plantearse el enfoque semisupervisado. Veamos ahora algunas técnicas comunes.
Técnicas comunes de aprendizaje semisupervisado
Hay varias formas de implementar el aprendizaje semisupervisado. Cada técnica maneja de forma distinta la división entre etiquetados y no etiquetados, así que repasemos las más habituales.
Self-training
Es el enfoque más sencillo. Entrenas un modelo con tus datos etiquetados y luego lo usas para predecir etiquetas de las muestras sin etiquetar. Las predicciones más seguras se añaden al conjunto etiquetado como pseudoetiquetas, y vuelves a entrenar el modelo con el conjunto ampliado.
Repites el proceso hasta que el modelo deje de mejorar o te quedes sin datos sin etiquetar. Es fácil de implementar, pero si el modelo se equivoca al principio, ese error pasa a formar parte de tu dataset.
Co-training
El co-training usa dos modelos en lugar de uno. Cada modelo se entrena con una «vista» diferente del dato. Piensa en ello como subconjuntos distintos de características.
Por ejemplo, si clasificas páginas web, un modelo podría fijarse en el texto de la página y el otro en el texto ancla de los enlaces que apuntan a ella. Cada modelo etiqueta muestras no etiquetadas para el otro, y se van enseñando mutuamente durante varias rondas.
La idea es que los puntos fuertes de un modelo cubran las debilidades del otro. Si cada vista contiene información suficiente por sí sola, el co-training puede superar al self-training porque un modelo corrige los errores del otro.
Propagación de etiquetas
Este enfoque construye un grafo donde cada punto de datos es un nodo y los aristas conectan puntos similares. Las etiquetas se «propagan» desde los nodos etiquetados a sus vecinos.
La suposición es que puntos de datos similares deben compartir la misma etiqueta. Si una muestra etiquetada está cerca de un clúster de muestras sin etiquetar, probablemente todas pertenezcan a la misma clase. Las etiquetas se propagan por el grafo hasta que cada nodo tiene una.
Funciona bien cuando tus datos tienen una estructura de clúster clara, pero puede fallar si los límites entre clases son difusos.
Redes neuronales semisupervisadas
El deep learning tiene su propio conjunto de técnicas semisupervisadas. Estas son dos de las más comunes:
- Regularización por consistencia: obliga al modelo a producir la misma salida para una entrada incluso tras pequeñas perturbaciones como ruido o aumentos. La idea es que un buen modelo no debería cambiar su predicción por modificar ligeramente la entrada
- Pseudoetiquetado en redes neuronales: funciona como el self-training pero a nivel de batch. El modelo genera etiquetas para muestras sin etiquetar durante el entrenamiento y las utiliza junto a las etiquetas reales en la función de pérdida.
Métodos como FixMatch y MixMatch combinan estas ideas y han mostrado buenos resultados en benchmarks con muy pocos ejemplos etiquetados.
Por qué importa el aprendizaje semisupervisado
Debería importarte por una razón: el coste.
Etiquetar datos requiere datos, expertos del dominio, tiempo y dinero. El aprendizaje semisupervisado reduce el coste sacando más partido a menos etiquetas.
Luego está el rendimiento. Un modelo entrenado con 500 muestras etiquetadas y 50.000 sin etiquetar suele superar al mismo modelo entrenado solo con esas 500 etiquetas. Los datos no etiquetados le dan al modelo una visión más completa de cómo se distribuyen los datos, lo que se traduce en mejores predicciones.
Y luego está la realidad de la mayoría de datasets: los datos sin etiquetar están por todas partes. Todas las empresas acumulan logs, imágenes, documentos y grabaciones que nadie tiene tiempo de etiquetar. El aprendizaje semisupervisado te permite sacarles partido.
Aplicaciones del aprendizaje semisupervisado
El aprendizaje semisupervisado aparece sobre todo en dominios donde es difícil conseguir etiquetas.
Clasificación de imágenes es uno de los casos de uso más comunes. Etiquetar miles de imágenes es tedioso, pero recopilar imágenes sin etiqueta es fácil. Los métodos semisupervisados te permiten entrenar clasificadores precisos con solo unos cientos de imágenes etiquetadas.
Clasificación de texto igual. Puedes tener millones de reseñas de clientes o tickets de soporte, pero solo un pequeño lote con etiquetas manuales. El aprendizaje semisupervisado te ayuda a construir clasificadores que generalicen sobre todo el dataset.
Reconocimiento de voz es otra área interesante. Transcribir audio a mano requiere mucho esfuerzo, pero el audio en bruto abunda. Las grabaciones sin etiqueta ayudan al modelo a aprender patrones acústicos, mientras que las muestras transcritas le enseñan las correspondencias correctas.
Análisis de datos médicos es un excelente ejemplo específico de dominio. Conseguir que un médico etiquete escáneres o historiales es caro y lento, porque tienen cosas más importantes que hacer. Pero los hospitales acumulan grandes volúmenes de datos clínicos sin etiquetar. Los métodos semisupervisados ayudan a construir modelos diagnósticos sin necesitar un dataset totalmente etiquetado.
Ventajas del aprendizaje semisupervisado
Por esto encaja tan bien en muchos proyectos:
- Necesita menos datos etiquetados: puedes lograr buenos resultados con una fracción de las etiquetas que exigiría un enfoque totalmente supervisado
- Mejora la generalización: los datos sin etiquetar exponen al modelo a más variedad de ejemplos, lo que ayuda a rendir mejor con datos no vistos
- Es rentable: cuando etiquetar es caro o lleva tiempo —que suele serlo—, el aprendizaje semisupervisado ahorra tiempo y presupuesto aprovechando lo que ya tienes
Si tienes más datos que etiquetas, es momento de considerar el aprendizaje semisupervisado.
Limitaciones del aprendizaje semisupervisado
El aprendizaje semisupervisado trae consigo algunos compromisos que conviene conocer.
- La calidad de los datos sin etiquetar importa: si tus datos sin etiquetar no provienen de la misma distribución que los etiquetados, el modelo aprende patrones erróneos
- Pseudoetiquetas incorrectas: en métodos como el self-training, una predicción segura pero errónea se trata como verdad. El modelo se entrena con esa mala etiqueta, refuerza el fallo y empeora predicciones futuras
- Más complejo que el supervisado: tendrás más hiperparámetros que ajustar, más decisiones de diseño y más puntos de fallo. Un modelo supervisado es más simple de construir y explicar. Los métodos semisupervisados añaden complejidad que no siempre compensa —especialmente si ya tienes un conjunto etiquetado lo bastante grande—
Nada de esto es un freno definitivo, solo algo a tener en cuenta antes de lanzarte.
Aprendizaje semisupervisado en la práctica (ejemplo en Python)
Veamos el aprendizaje semisupervisado en acción con un ejemplo sencillo en Python usando el algoritmo LabelSpreading de scikit-learn.
Crearé un dataset, etiquetaré solo una pequeña parte y dejaré que el modelo deduzca el resto.
Preparación de los datos
Primero, voy a generar un dataset y a enmascarar la mayoría de las etiquetas para simular un escenario semisupervisado:
import numpy as np
from sklearn.datasets import make_moons
from sklearn.semi_supervised import LabelSpreading
from sklearn.metrics import accuracy_score
# Generate a dataset with 500 samples
X, y_true = make_moons(n_samples=500, noise=0.2, random_state=42)
# Keep only 10%, mask the rest as -1
rng = np.random.RandomState(42)
labeled_idx = rng.choice(500, size=50, replace=False)
y_train = np.full(500, -1) # -1 means unlabeled in scikit-learn
y_train[labeled_idx] = y_true[labeled_idx]
print(f"Labeled samples: {np.sum(y_train != -1)}")
print(f"Unlabeled samples: {np.sum(y_train == -1)}")

Número de muestras etiquetadas y no etiquetadas
En scikit-learn, -1 marca una muestra como no etiquetada. De 500 muestras, solo 50 tienen etiqueta. El modelo tiene que averiguar las otras 450.
Entrenamiento y predicción
Ahora entrenaré un modelo de LabelSpreading y veré qué tal etiqueta los datos sin etiquetar:
model = LabelSpreading(kernel="knn", n_neighbors=7)
model.fit(X, y_train)
y_pred = model.transduction_
# Check accuracy on the originally unlabeled samples
unlabeled_mask = y_train == -1
accuracy = accuracy_score(y_true[unlabeled_mask], y_pred[unlabeled_mask])
print(f"Accuracy on unlabeled samples: {accuracy:.2%}")

Precisión en las muestras no etiquetadas
El modelo etiquetó correctamente la mayoría de las muestras sin etiqueta usando solo el 10% de los datos como ejemplos etiquetados. Esa es la idea clave.
Visualización de resultados
La precisión es alta —casi un 96%—, pero veamos visualmente qué muestras se clasificaron mal:

Etiquetas reales y predichas
Las etiquetas predichas coinciden casi a la perfección con las reales, aunque el modelo solo vio 50 ejemplos etiquetados de 500. En el gráfico de la derecha puedes ver en rojo las que se clasificaron mal.
Errores comunes con el aprendizaje semisupervisado
Ya has visto lo potente que puede ser el aprendizaje semisupervisado, pero no es la solución para todo. Estos son los errores más frecuentes y cómo evitarlos.
- Dar por hecho que los datos sin etiquetar siempre ayudan: no siempre. Si los datos sin etiqueta vienen de una distribución distinta a los etiquetados, el modelo aprende patrones que no aplican a tu tarea. Verifica que ambos conjuntos proceden de la misma fuente y representan el mismo problema
- Mala inicialización del modelo: los métodos semisupervisados se construyen sobre un modelo supervisado inicial. Si ese primer modelo es débil —pocos ejemplos o hiperparámetros deficientes—, todo lo que venga después arrastrará esos problemas. Empieza con la mejor base supervisada posible antes de añadir datos sin etiquetar
- Exceso de confianza en las pseudoetiquetas: las pseudoetiquetas son tan buenas como el modelo que las genera. Si confías en todas, los errores se acumulan a lo largo de las rondas. Fija un umbral de confianza alto y usa solo las pseudoetiquetas en las que el modelo esté seguro. Descarta el resto
- Ignorar la distribución de los datos: los métodos semisupervisados asumen que la estructura de los datos sin etiquetar aporta información útil sobre las etiquetas. Si tus datos no tienen clústeres claros ni fronteras suaves, esa suposición no se cumplirá
Para esquivar estos cuatro errores, empieza con una buena base supervisada, añade los datos sin etiquetar de forma gradual y comprueba que el rendimiento mejora en cada paso.
Cuándo usar aprendizaje semisupervisado
El aprendizaje semisupervisado tiene sentido en estos tres casos:
- Cuando los datos etiquetados son limitados: si solo tienes un conjunto pequeño y conseguir más etiquetas es caro o lento, el aprendizaje semisupervisado te ayuda a arañar precisión adicional
- Cuando abundan los datos sin etiquetar: necesitas un gran volumen de datos sin etiqueta para que funcione. Si el conjunto es pequeño, el modelo no aprenderá suficiente estructura como para marcar la diferencia. Cuanto mayor sea la brecha de tamaño entre etiquetados y no etiquetados, más pueden ayudarte estos métodos
- Cuando tus datos tienen una estructura clara: el aprendizaje semisupervisado funciona mejor cuando puntos de datos similares comparten etiqueta. Si tus datos forman clústeres o presentan fronteras suaves entre clases, los datos sin etiquetar harán esos patrones más evidentes. Si las clases están muy mezcladas, aportarán poco.
Si se cumplen las tres condiciones, merece la pena probar el enfoque semisupervisado.
Conclusión
En pocas palabras, el aprendizaje semisupervisado te permite entrenar mejores modelos sin etiquetarlo todo. Tomas un pequeño conjunto etiquetado, lo combinas con uno grande sin etiquetar y dejas que el modelo aprenda de ambos.
Las ventajas son claras: menos tiempo etiquetando, salida al mercado más rápida, menores costes y mejor rendimiento que entrenando solo con pocas etiquetas. Y en campos como la medicina, el legal o el PLN —donde etiquetar requiere expertos—, es un cambio importante.
Si tienes una gran cantidad de datos sin etiqueta, prueba el aprendizaje semisupervisado. Empieza con una buena base supervisada, elige una técnica que encaje con la estructura de tus datos y mide si los datos sin etiquetar realmente ayudan. LabelSpreading de scikit-learn es un buen primer experimento, pero prueba también métodos como FixMatch y MixMatch.
Si quieres estar listo para trabajar en 2026, haz nuestro Machine Learning Engineer track. Cubre desde fundamentos hasta MLOps.
FAQs
What is semi-supervised learning?
El aprendizaje semisupervisado es un enfoque de machine learning que entrena modelos con un pequeño conjunto de datos etiquetados y un conjunto grande de datos sin etiquetar. Los datos etiquetados le dicen al modelo qué buscar, mientras que los no etiquetados le ayudan a entender la estructura general del dato. Así obtienes mejores resultados que entrenando solo con los datos etiquetados.
How is semi-supervised learning different from supervised and unsupervised learning?
El aprendizaje supervisado usa solo datos etiquetados, donde cada muestra tiene una salida conocida. El no supervisado usa solo datos sin etiquetar y encuentra patrones por sí mismo. El semisupervisado utiliza un conjunto pequeño de datos etiquetados para definir la tarea y un conjunto grande de datos sin etiquetar para aprender la estructura del dato.
When should I use semi-supervised learning?
Úsalo cuando tengas pocos datos etiquetados, muchos datos sin etiquetar y una estructura clara en tus datos, como clústeres naturales o fronteras suaves entre clases. Si etiquetar es caro o requiere expertos —como en imagen médica o análisis de textos legales—, el aprendizaje semisupervisado te ayuda a crear modelos precisos sin etiquetarlo todo.
What is self-training in semi-supervised learning?
El self-training es una técnica en la que el modelo se entrena primero con datos etiquetados y luego predice etiquetas para las muestras sin etiquetar. Las predicciones más seguras se añaden al conjunto etiquetado como pseudoetiquetas y el modelo se reentrena con el dataset ampliado. El riesgo es que los errores tempranos se refuercen en rondas posteriores, así que conviene fijar un umbral de confianza alto.



