En primer lugar, disculpas por publicar una pregunta que ya se ha discutido extensamente aquí , aquí , aquí , aquí , aquí, y para recalentar un viejo tema. Sé que @DikranMarsupial ha escrito sobre este tema extensamente en publicaciones y artículos de revistas, pero todavía estoy confundido, y a juzgar por la cantidad de publicaciones similares aquí, todavía es algo que otros luchan por comprender. También debo decir que he recibido contradicciones sobre este tema, lo que ha aumentado mi confusión. También debe saber que originalmente soy un físico y no un estadístico, por lo que mi experiencia en el dominio aquí es algo limitada. Estoy escribiendo un artículo de diario en el que quiero usar un CV anidado para estimar el rendimiento que puedo esperar de mi modelo final. En mi dominio, este es el primero. (Casi nunca usamos ninguno¡Forma de CV robusto en mi campo, pero bombeo alegremente documentos con resultados de estudios que utilizan redes neuronales y árboles de decisión potenciados!) Por lo tanto, es muy importante que tenga una comprensión muy completa y clara para no arruinar y propagar ¡un procedimiento erróneo para mi comunidad que podría desaprender años! ¡Gracias! Con la pregunta ...
¿Cómo construyo el modelo final después de la validación cruzada anidada?
Estoy entrenando un modelo glmnet simple con regularización L1 y L2. Es rápido, simple e interpretable. Realizo transformaciones de centrado de características, escalado y Box-Cox para que las distribuciones de características estén centradas en la media, estandarizadas y sean algo gaussianas. Realizo este paso dentro de la validación cruzada, para evitar fugas de información. Simplemente porque mi hardware es increíblemente lento y no tengo acceso a más potencia de CPU, también realizo una selección rápida de funciones basadas en filtros dentro de CV después del preprocesamiento de funciones. Estoy usando la búsqueda de cuadrícula aleatoria para elegir los hiperparámetros alfa y lambda. Entiendo que no deberíaCV loop para obtener esta estimación. Entiendo que el bucle CV interno se usa para la selección del modelo (en este caso, los hiperparámetros óptimos) y que el bucle externo se usa para la evaluación del modelo , es decir, el CV interno y externo tienen dos propósitos diferentes que a menudo se combinan erróneamente. (¿Cómo estoy hasta ahora?)
Ahora, los enlaces que publiqué sugieren que "la forma de pensar en la validación cruzada es estimar el rendimiento obtenido utilizando un método para construir un modelo, en lugar de estimar el rendimiento de un modelo". Dado eso, ¿cómo debo interpretar los resultados del procedimiento de CV anidado?
El consejo que he leído parece indicar lo siguiente --- corríjame si esto está mal: el CV interno es parte del mecanismo que me permite seleccionar los hiperparámetros óptimos alfa y lambda de mi modelo glmnet. El CV externo indica la estimación que puedo esperar obtener del modelo final si aplico el procedimiento exactamente como se usa en el CV interno, incluida la sintonización de hiperparámetros y el uso del conjunto de datos completo para construir el modelo final. Es decir, el ajuste del hiperparámetro es parte del "método para construir el modelo". ¿Es esto correcto o no? Porque esto es lo que me confunde. En otras partes he visto que el procedimiento para construir el modelo final que se implementará implica la capacitación en todo el conjunto de datos utilizando los valores fijosde los hiperparámetros elegidos con CV. Aquí, el "método para construir el modelo" no incluye el ajuste. Entonces, cual es? ¡En algún momento se eligen y fijan los hiperparámetros óptimos para construir el modelo final! ¿Dónde? ¿Cómo? Si mi ciclo interno es de 5 CV y mi ciclo externo es de 5 CV, y selecciono, por ejemplo, 100 puntos para probar como parte de la búsqueda aleatoria de cuadrícula en el CV interno, ¿cuántas veces realmente entreno el glmnet? ¿modelo? (100 * 5 * 5) + 1 para la compilación final, ¿o hay más pasos que desconozco?
Básicamente, necesito una descripción muy clara de cómo interpretar la estimación de rendimiento del CV anidado y cómo construir el modelo final.
También me gustaría saber el procedimiento apropiado para seleccionar el umbral de probabilidad para convertir los puntajes de probabilidad de mi modelo glmnet final en etiquetas de clase (binarias). ¿Se necesita otro ciclo de CV?