Entreno mi sistema basado en el marco de validación cruzada 10 veces. Ahora me da 10 modelos diferentes. ¿Qué modelo seleccionar como representante?

Cuando entiendo correctamente, ¿está utilizando validación cruzada k-fold regular, no validación cruzada k-fold anidada? Como dijiste, entrenas 10 modelos “diferentes”, y cada uno se evalúa en el pliegue de prueba para calcular alguna forma de métrica de rendimiento (por ejemplo, precisión o error de clasificación). Lo que le interesa es el rendimiento promedio en esos 10 pliegues de prueba. Permítanme ilustrar lo que quiero decir:


Una vez que haya terminado con el ajuste de hiperparámetro, no elige ninguno de los modelos. Desea volver a capacitarlo en el conjunto de datos de entrenamiento completo y evaluarlo en un conjunto de datos de prueba independiente (idealmente). Después de obtener su estimación de rendimiento de generalización del conjunto de prueba independiente, puede volver a entrenarla tanto en el conjunto de entrenamiento como en el conjunto de prueba y usarla en aplicaciones del mundo real, por ejemplo.

Para las comparaciones de algoritmos, recomiendo la validación cruzada anidada. Aquí, básicamente, tienes anidados bucles de valiación cruzada. Permítanme dibujar la validación cruzada típica de 5 × 2:

Como no lo solicitó, no quiero entrar en demasiados detalles aquí, pero si está interesado, le dejo un enlace con más información sobre este tema:

“Pruebas estadísticas aproximadas para comparar algoritmos de aprendizaje de clasificación supervisada” por Thomas Deitterich. Pruebas estadísticas aproximadas para comparar algoritmos de aprendizaje de clasificación supervisada

El enfoque estándar es volver a entrenar en todo el conjunto de datos y utilizar ese modelo para hacer predicciones en el conjunto de pruebas. Eso suele ser un enfoque razonable.
Sin embargo, en un problema de alta varianza, es posible que desee utilizar cada modelo generado por uno de sus k pliegues para no solo estimar el error en el k-ésimo pliegue, sino también para hacer predicciones en el conjunto de prueba. Terminaría con k predicción para el conjunto de pruebas que luego promediaría, y eso podría ayudar a reducir la varianza. Esencialmente estás usando embolsado.
Para problemas de alta varianza, puede llevar este proceso más allá, esencialmente creando un proceso aleatorio donde promedia decenas o cientos de predicciones seleccionando aleatoriamente observaciones para entrenar el modelo (con o sin reemplazo), así como características (y posiblemente aleatorizando la elección de hiperparámetros dentro de los rangos dados). En cada iteración, haría una predicción de los datos de prueba utilizando un subconjunto diferente de filas y columnas. En ciertos casos esto funciona muy bien.
Obviamente, hay un problema de escalabilidad (capacitación y puntuación posiblemente en cientos de modelos). También deberá averiguar cuáles son los parámetros óptimos para subconjuntar filas y columnas.
Esta es una técnica de Kaggle muy común utilizada por Kaggle Masters, pero la he usado solo un par de veces en un entorno comercial, principalmente debido al problema de escalabilidad.

Utilice la validación cruzada para seleccionar hiperparámetros. Una vez que estén determinados, vuelva a entrenar su modelo con todo el conjunto de datos de entrenamiento y luego evalúelo en un conjunto de datos de prueba independiente.
El propósito es utilizar tantas muestras de entrenamiento como sea posible, ya que a menudo son escasas .
Siempre conserve un conjunto de datos de prueba independiente que nunca se utilizará para el ajuste de parámetros. O de lo contrario, su resultado será demasiado optimista.

Estoy de acuerdo con el usuario de Quora. Cree su medida relevante de dominio (o use la puntuación F) y cree una cuadrícula de hiperparámetros. Hacer validación cruzada en la cuadrícula. Elija el modelo que le brinde la mejor medida. Use sus hiperparámetros para entrenar en un conjunto de datos completo.

Es mejor (en mi opinión) dividir el conjunto de entrenamiento en 80% de entrenamiento y 20% de prueba dado que tiene una gran cantidad de datos y tomar el 20% no perjudica a su modelo. O incluso mejor 60% 20% 20%, que es entrenamiento, validación cruzada y prueba. Usted entrena su modelo en el conjunto de entrenamiento y luego realiza la validación cruzada con el conjunto de validación cruzada. Una vez que su modelo está en su máxima precisión utilizando el conjunto de validación cruzada, entonces evalúa para obtener la precisión “real” con el conjunto de prueba.

More Interesting

¿Qué es peor? ¿La censura que Voltaire enfrentó personalmente a los franceses bajo los franceses, o la censura estadounidense moderna basada en algoritmos de IA impersonales?

¿Qué tan bien crees que AI y ML se integrarán con los sistemas operativos convencionales? Mirando el estado actual de la investigación, ¿estamos cerca de un gran avance?

¿Debo comenzar como principiante en el aprendizaje automático mediante tareas de aprendizaje supervisadas o no supervisadas y por qué?

¿Qué puede salir mal con la economía bot emergente?

¿Cómo ser directo como en un programa de posgrado de IA / robótica? ¿Qué recursos debería mirar en mi tiempo libre?

Cómo escribir un bot de chat de Microsoft Lync

¿Es necesario entrenar una red neuronal para análisis de texto?

¿Cuál es el futuro de la interfaz de usuario de chatbot?

¿Pueden los robots estar vivos?

¿Cómo se crea una red neuronal capaz de razonamiento abstracto?

Según las leyes de robótica de Isaac Asimov, "los robots no pueden dañar a los humanos". Entonces, ¿por qué se permiten robots en el ejército?

¿Podemos usar el algoritmo de aprendizaje de refuerzo Q-learning para hacer frente a los nuevos estados del entorno creados?

¿Cómo serán castigados los robots autoconscientes por sus crímenes?

¿Cuáles son algunos algoritmos de aprendizaje automático de los que siempre debe tener una sólida comprensión y por qué?

¿Existe una solución analítica para la regresión logística, similar a la de la ecuación normal para la regresión lineal?