Optimice los modelos de machine learning con datos de validación para evitar el sobreajuste, ajustar los hiperparámetros y garantizar un rendimiento robusto en el mundo real.
Los datos de validación son un paso intermedio fundamental en el ciclo de desarrollo del aprendizaje automático, ya que actúan como durante el proceso de entrenamiento del modelo. Se trata de un subconjunto distinto del conjunto de datos utilizado para proporcionar una evaluación imparcial del ajuste de un modelo mientras se ajusta su configuración. evaluación imparcial del ajuste de un modelo mientras se ajusta su configuración. Al probar periódicamente el modelo con datos de validación, los desarrolladores pueden evaluar hasta qué punto el sistema está aprendiendo a generalizar a la nueva información en lugar de en lugar de limitarse a memorizar los ejemplos de entrenamiento. Este bucle de retroalimentación es esencial para identificar los problemas a tiempo y optimizar el modelo para un rendimiento sólido en el mundo real. modelo para un rendimiento sólido en el mundo real.
La función principal de los datos de validación es facilitar el ajuste de los hiperparámetros. A diferencia de los parámetros internos, como los pesos del modelo, que se aprenden directamente del proceso de entrenamiento, los hiperparámetros, como la velocidad de aprendizaje o o el tamaño del lote, debenajustarse manualmente u experimentación. El conjunto de validación permite a los ingenieros comparar diferentes arquitecturas y configuraciones de modelos para seleccionar el que mejor funcione sin tocar el conjunto de pruebas final.
Además, la supervisión del rendimiento en los datos de validación ayuda a evitar sobreajuste. La sobreadaptación se produce cuando un modelo aprende el ruido y detalles específicos de los datos de entrenamiento en detrimento de su rendimiento en los nuevos datos. Si el error de entrenamiento Si el error de entrenamiento disminuye pero el de validación aumenta, indica que el modelo está perdiendo su capacidad de generalizar, lo que señala la necesidad de técnicas de intervención como la detención temprana.
Para garantizar una evaluación fiable, un conjunto de datos completo suele dividirse en tres partes diferenciadas. Comprender el propósito específico de cada división es vital para gestión de datos.
En el ecosistema Ultralytics , la validación está perfectamente integrada en el flujo de trabajo. Al definir una configuración YAML los usuarios especifican las rutas para las imágenes de entrenamiento y validación. El modo de validación de modo de validación de Ultralytics puede invocarse para calcular métricas como Precisión media (mAP) en el conjunto de en el conjunto de validación.
A continuación se explica cómo validar un modeloYOLO11 preentrenado utilizando Python:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Validate the model on the 'coco8.yaml' dataset
# The 'data' argument specifies the dataset configuration containing the validation split
metrics = model.val(data="coco8.yaml")
# Display the Mean Average Precision (mAP) at IoU 50-95
print(f"Validation mAP50-95: {metrics.box.map}")
Los datos de validación permiten a los desarrolladores afinar los modelos para sectores específicos en los que la precisión es primordial.
En escenarios en los que los datos son escasos, una división de validación estática podría eliminar demasiados datos de entrenamiento valiosos. En estos casos, los profesionales suelen emplear Validación cruzada, concretamente K-Fold Validación cruzada. Esta técnica consiste en dividir los datos en "K" subconjuntos y rotar qué subconjunto sirve como como datos de validación. De este modo se garantiza que todos los puntos de datos se utilicen tanto para el entrenamiento como para la validación, lo que proporciona una estimación estadísticamente más sólida del rendimiento del modelo. una estimación estadísticamente más robusta del rendimiento del modelo, como se detalla en el documento scikit-learn cross-validation documentation.
El uso adecuado de los datos de validación es una piedra angular de operaciones de aprendizaje automático (MLOps). Al separar estrictamente los ejemplos de validación del proceso de formación, los desarrolladores se aseguran de que sus modelos no se limitan a memorizar hechos, sino que aprenden realmente a interpretar el mundo visual. memorizan hechos, sino que aprenden realmente a interpretar el mundo visual.