Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Validation Data

El conjunto de validación es una partición reservada que se evalúa durante el desarrollo para ajustar hiperparámetros, elegir puntos de control y detectar el sobreajuste antes de la prueba final.

Los datos de validación son una parte de los datos etiquetados que se excluye del entrenamiento y se evalúa repetidamente durante el desarrollo para comparar modelos, ajustar hiperparámetros, elegir puntos de control y detectar el sobreajuste. El modelo nunca actualiza sus pesos con esos datos, así que la puntuación de validación muestra hasta qué punto lo aprendido con los datos de entrenamiento se generaliza a imágenes que no ha visto. «Conjunto de validación» y «conjunto de desarrollo» (dev) son sinónimos. Cada decisión basada en las puntuaciones de validación ajusta un poco más el modelo a esa partición concreta, por lo que se reserva un conjunto de prueba independiente para obtener una estimación final sin sesgo.

Divisiones de entrenamiento, validación y prueba#

Un conjunto de datos etiquetados suele dividirse en tres partes:

  • Conjunto de entrenamiento: Los ejemplos con los que el optimizador ajusta los pesos, normalmente entre el 70 y el 80 % de los datos.
  • Conjunto de validación: Se evalúa después de las ejecuciones de entrenamiento o de cada época para orientar decisiones como la tasa de aprendizaje, el tamaño del modelo, la intensidad del aumento de datos y el momento de detener el entrenamiento.
  • Conjunto de prueba: Se evalúa una vez, después de fijar todas las decisiones, para informar del rendimiento esperado en el mundo real.

Las divisiones 70/15/15 y 80/10/10 son habituales en conjuntos de datos de miles de imágenes. Los conjuntos de datos muy grandes necesitan una proporción menor para obtener estimaciones fiables: ImageNet-1k reserva 50.000 imágenes de validación frente a 1.281.167 imágenes de entrenamiento. Como las etiquetas de prueba no son públicas, la precisión de ImageNet se suele presentar con ese conjunto de validación, que entonces hace las veces de conjunto de prueba.

Un conjunto de validación útil se parece a los datos que el modelo encontrará en el despliegue y no comparte ningún dato con el conjunto de entrenamiento. Las divisiones aleatorias por imagen filtran información cuando varias imágenes proceden del mismo vídeo, paciente o lugar, porque el modelo puede reconocer la escena en vez del objeto. Dividir por grupos, por ejemplo por paciente o sesión de grabación, evita esta filtración de datos.

Ajuste de hiperparámetros y selección de modelos#

Los pesos se aprenden mediante descenso de gradiente, mientras que los hiperparámetros se eligen entrenando varios candidatos y conservando el que obtiene la mejor puntuación de validación. Las puntuaciones de entrenamiento no sirven para tomar esta decisión, porque los modelos más grandes y entrenados durante más tiempo casi siempre se ajustan mejor a sus datos de entrenamiento. El siguiente script de scikit-learn ajusta la profundidad de un árbol de decisión con el conjunto de datos de dígitos incluido:

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# Split 1,797 digit images 60/20/20 into training, validation, and test sets
X, y = load_digits(return_X_y=True)
X_train, X_rest, y_train, y_rest = train_test_split(X, y, test_size=0.4, random_state=0, stratify=y)
X_val, X_test, y_val, y_test = train_test_split(X_rest, y_rest, test_size=0.5, random_state=0, stratify=y_rest)

# Fit one model per candidate tree depth and score each on the validation set
val_scores = {}
for depth in (2, 4, 8, 16):
    model = DecisionTreeClassifier(max_depth=depth, random_state=0).fit(X_train, y_train)
    val_scores[depth] = model.score(X_val, y_val)
    print(f"depth {depth}: train {model.score(X_train, y_train):.3f}, validation {val_scores[depth]:.3f}")

# Refit the winner and score the test set exactly once
best = max(val_scores, key=val_scores.get)
final = DecisionTreeClassifier(max_depth=best, random_state=0).fit(X_train, y_train)
print(f"Chosen depth {best}: test accuracy {final.score(X_test, y_test):.3f}")

La precisión de entrenamiento sigue aumentando con la profundidad y llega a 1,000 con una profundidad de 16, mientras que la precisión de validación alcanza un máximo de 0,836 con una profundidad de 8 y baja a 0,825 con una profundidad de 16, cuando el árbol empieza a memorizar. La validación selecciona la profundidad 8, que obtiene una puntuación de 0,853 en el conjunto de prueba intacto.

Detención temprana y selección de puntos de control#

Los ciclos de entrenamiento de aprendizaje profundo suelen evaluar el conjunto de validación después de cada época. La pérdida de entrenamiento sigue disminuyendo a medida que la red se ajusta cada vez más a sus datos de entrenamiento, pero la pérdida o precisión de validación acaba estabilizándose y empeorando. La detención temprana finaliza el entrenamiento cuando la puntuación de validación deja de mejorar durante un número determinado de épocas, llamado paciencia, y conserva los pesos de la mejor época.

El entrenamiento de YOLO26 en Ultralytics ejecuta este ciclo de forma predeterminada: evalúa la división val del YAML del conjunto de datos después de cada época, guarda la época con la mayor aptitud de validación (mAP50-95 para detección) como best.pt y se detiene tras patience épocas sin mejoras, 100 de forma predeterminada.

from ultralytics import YOLO

# Carga un detector nano YOLO26 preentrenado
model = YOLO("yolo26n.pt")

# Validar con la división val después de cada época y detenerse tras 10 épocas sin mejoras
results = model.train(data="coco8.yaml", epochs=50, patience=10)

Validación cruzada para conjuntos de datos pequeños#

Cuando escasean los datos, una sola división reservada desperdicia ejemplos y da una puntuación poco estable. La validación cruzada de K particiones divide los datos en K particiones, entrena K modelos que reservan cada uno una partición distinta para la validación y promedia las K puntuaciones, de modo que todos los ejemplos se usan tanto para entrenar como para validar. Se suelen usar cinco y diez particiones, y las variantes estratificadas y agrupadas mantienen equilibradas las proporciones de las clases o agrupan las imágenes relacionadas en cada partición. El conjunto de prueba se mantiene fuera de todas las particiones.

  • Datos de prueba: Se evalúan una vez al final. Si se reutilizan para tomar decisiones, se convierten en un segundo conjunto de validación y su puntuación deja de ser una estimación sin sesgo.
  • Datos de entrenamiento: La única división de la que el optimizador aprende los pesos.
  • Validación cruzada: Procedimiento que alterna qué ejemplos se usan como datos de validación y genera K puntuaciones de validación a partir de un conjunto de datos.
  • Validación en textos clínicos y regulatorios: En medicina y en sectores regulados, validar un modelo suele significar evaluarlo con datos externos independientes una vez terminado, lo que corresponde al conjunto de prueba en la terminología del aprendizaje automático.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático