Tema
Validación cruzada
- Machine Learning
- Nivel base
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
- Elegir hiperparámetros mirando el conjunto de prueba final, con lo que la estimación deja de ser honesta y hace falta una validación cruzada anidada para separar la selección de la evaluación.
- Estandarizar o imputar con las estadísticas de todo el conjunto antes de partir en pliegues, fuga de información que infla la exactitud estimada sin que nada avise.
- Barajar al azar una serie temporal, ya que entrenar con datos del futuro para predecir el pasado produce cifras que no se repiten en producción.
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.