Los datos de validación son un componente crucial en el ciclo de vida del desarrollo de modelos de aprendizaje automático (AM). Es una parte separada de tu conjunto de datos, distinta de los datos de entrenamiento utilizados para ajustar inicialmente el modelo y de los datos de prueba utilizados para la evaluación final. El objetivo principal de los datos de validación es proporcionar una evaluación imparcial del ajuste de un modelo en el conjunto de datos de entrenamiento, mientras se ajustan los hiperparámetros del modelo y se toman decisiones sobre la propia arquitectura del modelo. Este proceso ayuda a seleccionar la mejor configuración del modelo antes de evaluar su rendimiento final en datos no vistos.
Papel en el desarrollo de modelos
Durante la fase de entrenamiento, un modelo ML aprende patrones a partir de los datos de entrenamiento. Sin embargo, evaluar simplemente el modelo con los mismos datos con los que aprendió puede ser engañoso, y a menudo da lugar a estimaciones de rendimiento demasiado optimistas debido al sobreajuste, en el que el modelo aprende los datos de entrenamiento demasiado bien, incluyendo su ruido y peculiaridades específicas, lo que dificulta su capacidad de generalizar a nuevos datos. Los datos de validación actúan como un sustituto de los datos no vistos durante el entrenamiento. Evaluando el rendimiento del modelo en el conjunto de validación a intervalos regulares (por ejemplo, después de cada época), los desarrolladores pueden:
- Ajusta los hiperparámetros: Ajusta parámetros como el ritmo de aprendizaje, el tamaño del lote o la complejidad del modelo (por ejemplo, el número de capas de una red neuronal). Explora técnicas como la Guía de ajuste de hiperparámetros.
- Selecciona modelos: Compara distintos algoritmos o arquitecturas para ver cuál funciona mejor en el conjunto de validación.
- Evita el sobreajuste: Realiza una parada temprana, en la que el entrenamiento se detenga cuando el rendimiento en el conjunto de validación empiece a degradarse, aunque el rendimiento en el conjunto de entrenamiento siga mejorando. Más información en Consejos para el entrenamiento de modelos.
Datos de validación frente a datos de entrenamiento y de prueba
Comprender la distinción entre conjuntos de datos de entrenamiento, validación y prueba es fundamental:
- Datos de entrenamiento: La mayor parte del conjunto de datos, utilizada directamente por el algoritmo para aprender patrones y ajustar sus parámetros internos(pesos del modelo).
- Datos de validación: Una porción de tamaño medio utilizada iterativamente durante el entrenamiento para ajustar los hiperparámetros y tomar decisiones de selección del modelo. Proporciona información sobre lo bien que está generalizando el modelo basándose en el estado de entrenamiento actual.
- Datos de prueba: Una parte más pequeña y completamente separada que se retiene hasta el final del proceso de desarrollo. Proporcionan la evaluación final e imparcial del rendimiento del modelo elegido en datos realmente desconocidos. Fundamentalmente, el conjunto de prueba no debe influir en ninguna decisión de entrenamiento o ajuste para garantizar una evaluación fiable del rendimiento esperado del modelo en el mundo real.
Importancia y beneficios
Utilizar un conjunto de validación específico es esencial para construir modelos de ML sólidos y fiables. Entre las principales ventajas se incluyen:
- Generalización mejorada: Ayuda a garantizar que el modelo funcione bien no sólo con los datos con los que se ha entrenado, sino también con datos nuevos que no se han visto.
- Comparación objetiva de modelos: Proporciona una base justa para comparar distintos modelos o ajustes de hiperparámetros.
- Prevención del sobreajuste: Actúa como un sistema de alerta temprana para detectar cuándo un modelo está empezando a memorizar los datos de entrenamiento en lugar de aprender patrones generales. Una guía detallada sobre Evaluación y ajuste de modelos puede proporcionar más contexto.
Ejemplos reales
- Detección de objetos con Ultralytics YOLO: Al entrenar un Ultralytics YOLO para detectar objetos como coches y peatones para una aplicación de conducción autónoma, los datos de entrenamiento consisten en miles de imágenes etiquetadas. El conjunto de validación, que contiene diferentes imágenes con objetos similares, se utiliza después de cada época de entrenamiento para calcular métricas como la Precisión Media (mAP). Este mAP de validación guía los ajustes de los hiperparámetros (por ejemplo, la tasa de aprendizaje, la intensidad de aumento de datos) utilizando herramientas como Ultralytics HUB para encontrar la configuración que produzca el mejor rendimiento en el conjunto de validación antes de la prueba final.
- Análisis de imágenes médicas: Supón que estás desarrollando una Red Neuronal Convolucional (CNN ) para clasificar tumores en escáneres cerebrales utilizando un conjunto de datos como el de Tumores Cerebrales. El conjunto de validación se utilizaría para comparar diferentes arquitecturas de CNN (por ejemplo, ResNet frente a VGG) o ajustar parámetros como las tasas de abandono. Al optimizar basándose en la precisión de la validación o en la puntuación F1, los investigadores pueden seleccionar el modelo más prometedor sin comprometer la integridad de la evaluación final del conjunto de pruebas, algo crucial para las aplicaciones clínicas reguladas por organismos como la FDA.
Técnicas que implican datos de validación
A veces, especialmente con datos limitados, una única división de validación puede no ser representativa. Técnicas como la validación cruz ada abordan este problema. En la validación cruzada de K pliegues, los datos de entrenamiento se dividen en "k" subconjuntos (pliegues). El modelo se entrena "k" veces, utilizando cada vez un pliegue diferente como conjunto de validación y los k-1 pliegues restantes para el entrenamiento. El rendimiento medio de los "k" pliegues de validación proporciona una estimación más sólida de la capacidad de generalización del modelo. Puedes encontrar implementaciones en bibliotecas como Scikit-learn.
Los datos de validación son indispensables para guiar el desarrollo de modelos eficaces de visión por ordenador y otros modelos de ML, garantizando que estén bien afinados y sean capaces de generalizarse a nuevos retos más allá del conjunto de datos de entrenamiento.