Estoy haciendo validación cruzada anidada. He leído que la validación cruzada de dejar uno fuera puede estar sesgada (no recuerdo por qué).
¿Es mejor usar la validación cruzada 10 veces o la validación cruzada de dejar uno fuera aparte del tiempo de ejecución más largo para la validación cruzada de dejar uno afuera?
machine-learning
cross-validation
maquinaria
fuente
fuente
Respuestas:
Solo para agregar un poco a la respuesta de @SubravetiSuraj (+1)
La validación cruzada proporciona una estimación de rendimiento sesgada pesimista porque la mayoría de los modelos estadísticos mejorarán si el conjunto de entrenamiento se hace más grande. Esto significa que la validación cruzada k-fold estima el rendimiento de un modelo entrenado en un conjunto de datos 100 * (k-1) / k% de los datos disponibles, en lugar de en el 100% de los mismos. Entonces, si realiza una validación cruzada para estimar el rendimiento y luego utiliza un modelo capacitado en todos los datos para uso operativo, funcionará un poco mejor de lo que sugiere la estimación de la validación cruzada.
La validación cruzada Leave-one-out es aproximadamente imparcial , porque la diferencia de tamaño entre el conjunto de entrenamiento utilizado en cada pliegue y el conjunto de datos completo es solo un patrón único. Hay un documento sobre esto por Luntz y Brailovsky (en ruso).
Luntz, Aleksandr y Viktor Brailovsky. "Sobre estimación de caracteres obtenidos en procedimiento estadístico de reconocimiento". Technicheskaya Kibernetica 3.6 (1969): 6-12.
ver también
Estimación de las tasas de error en el análisis discriminante Peter A. Lachenbruch y M. Ray Mickey Technometrics vol. 10, Iss. 1,1968
Sin embargo, si bien la validación cruzada de dejar uno fuera es aproximadamente imparcial, tiende a tener una alta varianza (por lo que obtendría estimaciones muy diferentes si repitiera la estimación con diferentes muestras iniciales de datos de la misma distribución). Como el error del estimador es una combinación de sesgo y varianza, si la validación cruzada de dejar uno fuera es mejor que la validación cruzada de 10 veces depende de ambas cantidades.
Ahora, la variación en el ajuste del modelo tiende a ser mayor si se ajusta a un conjunto de datos pequeño (ya que es más sensible a cualquier ruido / artefactos de muestreo en la muestra de entrenamiento particular utilizada). Esto significa que es probable que la validación cruzada 10 veces tenga una alta varianza (así como un sesgo más alto) si solo tiene una cantidad limitada de datos, ya que el tamaño del conjunto de entrenamiento será menor que para LOOCV. Por lo tanto, la validación cruzada de k-fold también puede tener problemas de variación, pero por una razón diferente. Es por eso que LOOCV a menudo es mejor cuando el tamaño del conjunto de datos es pequeño.
Sin embargo, la razón principal para usar LOOCV en mi opinión es que es computacionalmente económico para algunos modelos (como la regresión lineal, la mayoría de los métodos de kernel, clasificadores de vecinos más cercanos, etc.), y a menos que el conjunto de datos fuera muy pequeño, usaría Validación cruzada de 10 veces si se ajusta a mi presupuesto computacional, o mejor aún, estimación de arranque y embolsado.
fuente
En mi opinión, dejar una validación cruzada es mejor cuando tienes un pequeño conjunto de datos de entrenamiento. En este caso, realmente no puede hacer 10 pliegues para hacer predicciones sobre el uso del resto de sus datos para entrenar el modelo.
Por otro lado, si tiene una gran cantidad de datos de entrenamiento, la validación cruzada 10 veces sería una mejor apuesta, porque habrá demasiadas iteraciones para dejar una validación cruzada, y considerar estos muchos resultados para ajustar sus hiperparámetros podría No será tan buena idea.
De acuerdo con ISL, siempre hay una compensación de variación de sesgo entre hacer una validación cruzada de dejar uno fuera y k plegar. En LOOCV (deja un CV), obtienes estimaciones del error de prueba con un sesgo más bajo y una varianza más alta porque cada conjunto de entrenamiento contiene ejemplos n-1, lo que significa que estás usando casi todo el conjunto de entrenamiento en cada iteración. Esto también conduce a una mayor varianza, porque hay mucha superposición entre los conjuntos de entrenamiento y, por lo tanto, las estimaciones de error de prueba están altamente correlacionadas, lo que significa que el valor medio de la estimación de error de prueba tendrá una mayor varianza.
Lo contrario es cierto con k-fold CV, porque hay una superposición relativamente menor entre los conjuntos de entrenamiento, por lo tanto, las estimaciones de error de prueba están menos correlacionadas, como resultado de lo cual el valor de error de prueba medio no tendrá tanta varianza como LOOCV.
fuente