La validación cruzada K-fold es una técnica utilizada para evaluar el rendimiento de un modelo. Resulta especialmente útil para estimar el grado de generalización de un modelo con datos nuevos y desconocidos. El proceso consiste en dividir el conjunto de datos en "k" subconjuntos o pliegues de aproximadamente el mismo tamaño. He aquí un desglose de los pasos:
1. División del conjunto de datos:
El conjunto de datos se divide en "k" subconjuntos o pliegues de igual tamaño. Por ejemplo, si tiene 1.000 muestras y elige 'k' como 5, cada pliegue contendrá 200 muestras.
2. Formación y evaluación iterativas:
El modelo se entrena "k" veces. En cada iteración, se utiliza un pliegue diferente como conjunto de validación, y los pliegues restantes se utilizan para el entrenamiento. Por ejemplo:
-
Iteración 1: pliegue 1 como validación, pliegues 2 a k para entrenamiento
-
Iteración 2: Pliegue 2 como validación, Pliegues 1 y 3 a k para entrenamiento
-
Iteración 3: Pliegue 3 como validación, Pliegues 1 y 2, y 4 a k para entrenamiento
-
... y así sucesivamente hasta que se hayan utilizado todos los pliegues como conjunto de validación.
3. Evaluación del rendimiento:
Después de cada iteración, el rendimiento del modelo se evalúa utilizando una métrica elegida (por ejemplo, exactitud, precisión, recuperación, etc.) en el conjunto de validación. Las métricas de rendimiento de cada iteración se promedian o combinan para obtener una estimación global del rendimiento del modelo.
4. Agregación de métricas:
Las métricas de rendimiento (por ejemplo, las puntuaciones de precisión) de cada iteración se promedian o combinan para proporcionar una evaluación global del rendimiento del modelo. Esta métrica agregada representa el rendimiento esperado del modelo en datos no vistos.
Ventajas de la validación cruzada por K-fold sobre una simple división de entrenamiento/prueba
-
Mejor uso de los datos: La validación cruzada K-fold aprovecha mejor los datos disponibles, ya que cada muestra se utiliza tanto para el entrenamiento como para la validación.
-
Varianza reducida en la estimación del rendimiento: Proporciona una estimación más fiable del rendimiento del modelo al reducir la varianza asociada a una única división tren/prueba.
-
Generalización: Ayuda a comprender cómo funciona el modelo en diferentes subconjuntos de datos, evaluando así su capacidad de generalización.
Elegir el valor de "k
-
Valores'k' más altos: El uso de un valor 'k' más alto (por ejemplo, 10 o más) da lugar a conjuntos de validación más pequeños, lo que puede conducir a un menor sesgo en la estimación del rendimiento pero a un mayor coste computacional.
-
Valores 'k' más bajos: Utilizar un valor 'k' más bajo (e.g. 3 o 5) reduce el gasto computacional pero puede llevar a un mayor sesgo en la estimación del rendimiento debido a conjuntos de validación más pequeños.
En la práctica
-
En el caso de grandes conjuntos de datos, los valores "k" más altos pueden resultar costosos desde el punto de vista informático.
-
Cuando el conjunto de datos es pequeño, una 'k' más alta podría no proporcionar suficientes datos en cada pliegue para un entrenamiento robusto del modelo.
-
Por lo general, se suelen utilizar valores como 5 o 10, ya que logran un equilibrio entre la eficiencia computacional y una estimación fiable del rendimiento.