Ensemble
Descubre cómo el aprendizaje en conjunto mejora la precisión y reduce el sobreajuste. Aprende a combinar varios modelos, como Ultralytics YOLO26, para obtener mejores resultados en visión artificial.
El aprendizaje por ensamblado es una estrategia sólida en el aprendizaje automático (ML) en la que se combinan varios modelos independientes, a menudo denominados «aprendices débiles», para producir una única salida predictiva. La premisa fundamental es que un grupo de modelos suele lograr una mayor precisión y una mejor capacidad de generalización que cualquier modelo individual por sí solo. Al agregar las predicciones de algoritmos diversos, los métodos de ensamblado reducen eficazmente el riesgo de [sobreajuste](https://ultralytics-translation-2.invalid a los datos de entrenamiento, suavizan los errores aleatorios y mejoran la estabilidad general del sistema. Este enfoque es análogo a consultar a un panel de expertos en lugar de basarse en la opinión de una sola persona para tomar una decisión crítica.
Mecanismos del aprendizaje por ensamblado#
La eficacia de los métodos de ensamblado reside en su capacidad para gestionar el compromiso entre sesgo y varianza. Los modelos individuales pueden sufrir una varianza elevada (sensibilidad al ruido) o un sesgo elevado (simplificación excesiva). El ensamblado mitiga estos problemas mediante técnicas específicas:
- Bagging (agregación bootstrap): Esta técnica consiste en entrenar varias instancias del mismo algoritmo con distintos subconjuntos del conjunto de datos. El ejemplo más famoso es el algoritmo Random Forest, que agrega las decisiones de muchos árboles de decisión para reducir la varianza.
- Boosting: A diferencia del bagging, el boosting entrena los modelos secuencialmente. Cada modelo nuevo se centra en corregir los errores cometidos por los anteriores. Frameworks populares como LightGBM y CatBoost utilizan este enfoque para crear sistemas predictivos muy precisos.
- Stacking (generalización apilada): Consiste en entrenar un nuevo «meta modelo» para combinar las predicciones de varios modelos base heterogéneos (por ejemplo, una red neuronal y una máquina de vectores de soporte).
Ensamblado en visión artificial#
En el ámbito de la visión artificial (CV), los ensamblados se utilizan con frecuencia para maximizar el rendimiento en competiciones y aplicaciones críticas para la seguridad. En la detección de objetos, esto suele implicar ejecutar varios modelos —como distintas versiones de YOLO26— sobre la misma imagen. A continuación, los cuadros delimitadores resultantes se combinan mediante técnicas como la supresión no máxima (NMS) o la fusión ponderada de cuadros para obtener las ubicaciones de objetos más probables.
Aplicaciones en el mundo real#
Los métodos de ensamblado están omnipresentes en sectores donde la fiabilidad predictiva es primordial.
-
Diagnóstico e imagen médica: En el ámbito sanitario, evitar los falsos negativos es fundamental. Un ensamblado puede combinar una red neuronal convolucional (CNN) entrenada con radiografías con un Transformer de visión (ViT) para detectar anomalías. El consenso entre los modelos proporciona una puntuación de confianza mayor, lo que ayuda a los radiólogos a detectar tumores o diagnosticar enfermedades poco frecuentes.
-
Detección de fraude financiero: Las entidades financieras utilizan ensamblados para analizar patrones de transacciones. Al combinar modelos de regresión logística con máquinas de gradient boosting, el sistema puede detectar indicadores sutiles de fraude que un solo modelo podría pasar por alto, manteniendo bajas las tasas de falsas alarmas.
Implementación del ensamblado de modelos con Python#
Puedes simular un ensamblado básico de inferencia cargando varios modelos entrenados y generando predicciones para la misma entrada. Ultralytics Platform te permite entrenar estas variantes fácilmente. El siguiente ejemplo muestra cómo cargar dos modelos Ultralytics YOLO diferentes (YOLO26n y YOLO26s) para verificar las detecciones en una imagen.
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")Ensamblado frente a aumento de datos#
Es importante distinguir el aprendizaje por ensamblado del aumento de datos.
- El ensamblado se centra en la fase de arquitectura y predicción, combinando varios modelos distintos ya entrenados para mejorar los resultados.
- El aumento de datos se centra en la fase de datos de entrenamiento, incrementando artificialmente la diversidad del conjunto de datos (por ejemplo, mediante rotación o volteo) para entrenar un único modelo más robusto.
Mientras que el aumento de datos ayuda a un único modelo a aprender mejor, el aprendizaje por ensamblado ayuda a varios modelos a verificar las salidas de los demás. Ambas estrategias suelen utilizarse conjuntamente para lograr resultados de vanguardia en tareas como la segmentación de instancias y la estimación de pose.









