Cuando hacemos validación cruzada k-fold, ¿deberíamos usar el clasificador que tiene la mayor precisión de prueba? ¿Cuál es generalmente el mejor enfoque para obtener un clasificador de la validación cruzada?
Cuando hacemos validación cruzada k-fold, ¿deberíamos usar el clasificador que tiene la mayor precisión de prueba? ¿Cuál es generalmente el mejor enfoque para obtener un clasificador de la validación cruzada?
Respuestas:
Realiza la validación cruzada cuando desea hacer cualquiera de estas dos cosas:
La selección del modelo puede venir en diferentes escenarios:
(Tenga en cuenta que si ambos seleccionan un algoritmo, mejor llamarlo modelo, y también realizan una búsqueda de hiperparámetros, deben realizar la validación cruzada anidada. ¿Es realmente necesario el CV anidado? )
La validación cruzada asegura hasta cierto punto que la estimación del error es la más cercana posible como error de generalización para ese modelo (aunque esto es muy difícil de aproximar). Al observar el error promedio entre pliegues, puede tener una buena proyección del error esperado para un modelo construido en el conjunto de datos completo. También es importante observar la varianza de la predicción, es decir, cuánto varía el error de un pliegue a otro. Si la variación es demasiado alta (valores considerablemente diferentes), entonces el modelo tenderá a ser inestable. Bootstrapping es el otro método que proporciona una buena aproximación en este sentido. Sugiero leer detenidamente la sección 7 sobre el libro "Elementos de aprendizaje estadístico", disponible gratuitamente en: ELS-Standford
Como se mencionó anteriormente, no debe tomar el modelo construido en ninguno de los pliegues. En su lugar, debe reconstruir el modelo con el conjunto de datos completo (el que se dividió en pliegues). Si tiene un conjunto de pruebas separado, puede usarlo para probar este modelo final, obteniendo un error similar (y seguramente más alto) que el obtenido por CV. Sin embargo, debe confiar en el error estimado dado por el procedimiento de CV.
Después de realizar el CV con diferentes modelos (combinación de algoritmos, etc.), elija el que mejor se desempeñó con respecto al error y su variación entre pliegues. Deberá reconstruir el modelo con todo el conjunto de datos. Aquí viene una confusión común en términos: nos referimos comúnmente a la selección del modelo, pensando que el modelo es el modelo listo para predecir basado en datos, pero en este caso se refiere a la combinación de algoritmo + procedimientos de preprocesamiento que aplica. Entonces, para obtener el modelo real que necesita para hacer predicciones / clasificación, necesita construirlo utilizando la combinación ganadora en todo el conjunto de datos.
Lo último a tener en cuenta es que si está aplicando algún tipo de preprocesamiento, utiliza la información de clase (selección de características, reducción de dimensionalidad LDA, etc.), esto debe realizarse en cada pliegue y no previamente en los datos. Este es un aspecto crítico. Debería hacer lo mismo si está aplicando métodos de preprocesamiento que implican información directa de datos (PCA, normalización, estandarización, etc.). Sin embargo, puede aplicar un preprocesamiento que no dependa de los datos (eliminar una variable según la opinión de un experto, pero esto es algo obvio). Este video puede ayudarlo en esa dirección: CV en la forma correcta e incorrecta
Aquí, una buena explicación final sobre el tema: selección de CV y modelo
No. No selecciona ninguno de los k clasificadores creados durante la validación cruzada de k-fold. En primer lugar, el propósito de la validación cruzada no es crear un modelo predictivo, sino evaluar con qué precisión funcionará un modelo predictivo en la práctica. En segundo lugar, por razones de argumento, supongamos que debe usar la validación cruzada k-fold con k = 10 para descubrir cuál de los tres algoritmos de clasificación diferentes sería el más adecuado para resolver un problema de clasificación dado. En ese caso, los datos se dividen aleatoriamente en k partes de igual tamaño. Una de las partes está reservada para pruebas y las demás partes k-1 se usarán para capacitación. El proceso de validación cruzada se repite k (veces) para que en cada iteración se utilice una parte diferente para las pruebas. Después de ejecutar la validación cruzada, observa los resultados de cada pliegue y se pregunta qué algoritmo de clasificación (¡ninguno de los modelos entrenados!) Es el más adecuado. No desea elegir el algoritmo que tenga la mayor precisión de prueba en una de las 10 iteraciones, porque tal vez solo sucedió al azar que los datos de prueba en esa iteración en particular contenían ejemplos muy fáciles, que luego conducen a una alta precisión de prueba. Lo que quieres hacer es elegir el algoritmo que produjo la mejor precisión que luego conducen a una alta precisión de prueba. Lo que quieres hacer es elegir el algoritmo que produjo la mejor precisión que luego conducen a una alta precisión de prueba. Lo que quieres hacer es elegir el algoritmo que produjo la mejor precisiónpromediado sobre todos los k pliegues . Ahora que ha elegido el algoritmo, puede entrenarlo con todos sus datos de entrenamiento y comenzar a hacer predicciones en la naturaleza.
Esto está más allá del alcance de esta pregunta, pero también debe optimizar los hiperparámetros del modelo (si los hay) para aprovechar al máximo el algoritmo seleccionado. Las personas suelen realizar la optimización de hiperparámetros mediante validación cruzada.
Entonces, supongamos que tiene capacitación, de la cual está utilizando el 80% como capacitación y el 20% restante como datos de validación. Podemos entrenar en el 80% y probar en el 20% restante, pero es posible que el 20% que tomamos no se parezca a los datos de las pruebas reales y podría funcionar mal después. Entonces, para evitar esto, podemos usar la validación cruzada k-fold.
Entonces, digamos que tiene diferentes modelos y desea saber cuál funciona mejor con su conjunto de datos, la validación cruzada de k-fold funciona muy bien. Puede conocer los errores de validación en los rendimientos de validación k y elegir el mejor modelo basado en eso. Este es generalmente el propósito de la validación cruzada k-fold.
Si llega a un solo modelo y si está verificando con la validación cruzada k-fold, puede obtener una aproximación de los errores de los datos de prueba, pero when you are actually training it finally, you can use the complete training data
(porque aquí se supone que todos los datos funcionarán juntos mejor que una parte) Puede que no sea el caso a veces, pero esta es la suposición general).