Descubra cómo la validación cruzada mejora la generalización de los modelos y evita el sobreajuste. Descubra cómo implementar la evaluación K-Fold con Ultralytics para un aprendizaje automático robusto.
La validación detect ada es un procedimiento de remuestreo estadístico robusto que se utiliza para evaluar el rendimiento de los modelos de aprendizaje automático (ML) en una muestra de datos limitada . A diferencia del método estándar de retención, que divide los datos en un único conjunto de entrenamiento y prueba, la validación cruzada implica dividir el conjunto de datos en múltiples subconjuntos para garantizar que cada punto de datos se utilice tanto para el entrenamiento como para la validación. Esta técnica es fundamental para evaluar cómo se generalizarán los resultados de un análisis estadístico a un conjunto de datos independiente, lo que ayuda a detectar el sobreajuste, en el que un modelo podría memorizar ejemplos de entrenamiento en lugar de aprender patrones generalizables.
La variante más utilizada de esta técnica es la validación cruzada K-Fold. En este proceso, el conjunto de datos completo se divide aleatoriamente en k grupos de igual tamaño, o «pliegues». A continuación, el proceso de entrenamiento se repite k veces. En cada iteración, un solo pliegue actúa como datos de validación para probar el modelo, mientras que los k-1 pliegues restantes sirven como datos de entrenamiento.
La métrica de rendimiento final se calcula normalmente promediando las puntuaciones —como la precisión, la exactitud o la precisión media promedio (mAP)— obtenidas en cada bucle. Este enfoque reduce significativamente la varianza asociada a una sola prueba de una división tren-prueba, proporcionando una estimación más fiable del error de generalización. Garantiza que la evaluación no esté sesgada por una selección arbitraria de los datos de prueba.
La validación cruzada resulta especialmente útil cuando se trabaja con conjuntos de datos más pequeños o cuando se realiza un ajuste riguroso de los hiperparámetros. Aunque los modernos marcos de aprendizaje profundo como PyTorch facilitan el bucle de entrenamiento , la gestión de los pliegues requiere una cuidadosa preparación de los datos.
El siguiente ejemplo muestra cómo iterar a través de archivos de configuración YAML pregenerados para un experimento de validación cruzada de 5 pliegues utilizando el modelo YOLO26. Esto supone que ya ha dividido su conjunto de datos en cinco archivos de configuración separados.
from ultralytics import YOLO
# List of dataset configuration files representing 5 folds
fold_yamls = [f"dataset_fold_{i}.yaml" for i in range(5)]
for i, yaml_file in enumerate(fold_yamls):
# Load a fresh YOLO26 Nano model for each fold
model = YOLO("yolo26n.pt")
# Train the model, saving results to a unique project directory
results = model.train(data=yaml_file, epochs=20, project="cv_experiment", name=f"fold_{i}")
Para obtener más información sobre la automatización de la generación de divisiones, consulte la guía sobre validación cruzada K-Fold.
La validación cruzada es indispensable en industrias donde los datos son escasos, caros de recopilar o donde se requiere una fiabilidad crítica para la seguridad .
La integración de la validación cruzada en el ciclo de vida del desarrollo de la IA proporciona información crucial sobre la relación entre sesgo y varianza.
Es importante distinguir la validación cruzada de otros términos de evaluación:
La gestión de los artefactos, métricas y modelos de múltiples pliegues puede resultar compleja. Ultralytics simplifica esta tarea al ofrecer un seguimiento centralizado de los experimentos , lo que permite a los equipos comparar el rendimiento entre diferentes pliegues y visualizar sin esfuerzo la información obtenida de la evaluación de los modelos.