Tema

Validación cruzada

La validación cruzada de k pliegues parte los datos en k trozos, entrena k veces dejando fuera un trozo distinto cada vez y promedia los k errores de prueba para estimar cómo generaliza el modelo.

Nombre en inglés

Cross validation

Intuición

Una sola partición entre entrenamiento y prueba da una estimación que depende de qué ejemplos cayeron a cada lado, y con pocos datos esa lotería domina el resultado. Al rotar el pliegue reservado, cada ejemplo actúa una vez como prueba y k menos una veces como entrenamiento, de modo que la estimación usa todos los datos sin que ningún modelo vea su propio conjunto de prueba. El precio es entrenar k veces.

Fórmula

error_VC = (1 / k) * sum_{i=1}^{k} error(modelo entrenado sin el pliegue i, pliegue i)

Ejemplo resuelto

Con 100 ejemplos y 5 pliegues, cada pliegue tiene 20 ejemplos y cada modelo se entrena con 80. Las exactitudes obtenidas son 0.80, 0.84, 0.78, 0.82 y 0.86. La media vale 4.10 dividido entre 5 = 0.82 y la desviación entre pliegues ronda 0.03, cifra que conviene informar junto a la media porque una diferencia de 0.01 entre dos modelos con esa dispersión no significa nada.

Errores frecuentes

Ejercicio

Se comparan 4 valores de un hiperparámetro con validación cruzada de 5 pliegues. Calcula cuántos entrenamientos se hacen antes de ajustar el modelo final.

Ver la solución

Cada valor del hiperparámetro necesita una validación cruzada completa, o sea 5 entrenamientos. Con 4 valores salen 4 por 5 = 20 entrenamientos. Una vez elegido el mejor valor se suele reajustar el modelo con todos los datos, lo que añade 1 entrenamiento más y lleva el total a 21. El coste crece deprisa, motivo por el cual una rejilla de dos hiperparámetros con 5 valores cada uno ya exige 125 entrenamientos.

Respuesta: 20 entrenamientos, o 21 contando el ajuste final.

Temas relacionados

Cursos a los que prepara

Abrir el tema en la guía