Nota: El caso es n >> p
Estoy leyendo Elementos de aprendizaje estadístico y hay varias menciones sobre la forma "correcta" de hacer la validación cruzada (por ejemplo, página 60, página 245). Específicamente, mi pregunta es ¿cómo evaluar el modelo final (sin un conjunto de pruebas separado) usando k-fold CV o bootstrapping cuando ha habido una búsqueda de modelo? Parece que en la mayoría de los casos (algoritmos ML sin selección de funciones incorporadas) habrá
- Un paso de selección de características
- Un paso de selección de metaparámetro (por ejemplo, el parámetro de costo en SVM).
Mis preguntas:
- He visto que el paso de selección de características se puede hacer donde la selección de características se realiza en todo el conjunto de entrenamiento y se mantiene a un lado. Luego, usando k-fold CV, el algoritmo de selección de características se usa en cada pliegue (obteniendo diferentes características posiblemente elegidas cada vez) y promediando el error. Luego, usaría las características elegidas usando todos los datos (que se reservaron) para entrenar el modo final, pero usaría el error de la validación cruzada como una estimación del rendimiento futuro del modelo. ¿ES ESTO CORRECTO?
- Cuando utiliza la validación cruzada para seleccionar parámetros del modelo, ¿cómo calcular el rendimiento del modelo posteriormente? ¿ES EL MISMO PROCESO QUE EL NÚMERO 1 ARRIBA O DEBE USAR UN CV ANEXO COMO EL QUE SE MUESTRA EN LA PÁGINA 54 ( pdf ) O ALGO MÁS?
- Cuando realiza los dos pasos (configuración de características y parámetros) ..... ¿entonces qué hace? bucles anidados complejos?
- Si tiene una muestra de espera separada, ¿desaparece la preocupación y puede usar la validación cruzada para seleccionar características y parámetros (sin preocuparse ya que su estimación de rendimiento vendrá de un conjunto de espera)?
Respuestas:
La clave para recordar es que para que la validación cruzada proporcione una estimación de rendimiento (casi) imparcial, cada paso involucrado en el ajuste del modelo también debe realizarse de forma independiente en cada pliegue del procedimiento de validación cruzada. Lo mejor que puede hacer es ver la selección de funciones, la configuración de meta / hiperparámetros y optimizar los parámetros como partes integrales del ajuste del modelo y nunca realizar ninguno de estos pasos sin realizar los otros dos.
El sesgo optimista que puede introducirse al partir de esa receta puede ser sorprendentemente grande, como lo demuestran Cawley y Talbot , donde el sesgo introducido por una partida aparentemente benigna fue mayor que la diferencia en el rendimiento entre clasificadores competidores. Los protocolos aún más sesgados favorecen los modelos malos con mayor fuerza, ya que son más sensibles al ajuste de hiperparámetros y, por lo tanto, son más propensos a sobreajustar el criterio de selección del modelo.
Respuestas a preguntas específicas:
El procedimiento en el paso 1 es válido porque la selección de características se realiza por separado en cada pliegue, por lo que lo que está validando de forma cruzada es el procedimiento completo utilizado para ajustarse al modelo final. La estimación de validación cruzada tendrá un ligero sesgo pesimista ya que el conjunto de datos para cada pliegue es ligeramente más pequeño que el conjunto de datos completo utilizado para el modelo final.
Para 2, dado que la validación cruzada se usa para seleccionar los parámetros del modelo, entonces debe repetir ese procedimiento de forma independiente en cada pliegue de la validación cruzada utilizada para la estimación del rendimiento, termina con una validación cruzada anidada.
Para 3, esencialmente, sí, debe hacer una validación cruzada anidada anidada. Esencialmente, debe repetir en cada pliegue de la validación cruzada más externa (utilizada para la estimación del rendimiento) todo lo que pretende hacer para adaptarse al modelo final.
Para 4: sí, si tiene un conjunto de resistencia separado, eso le dará una estimación imparcial del rendimiento sin necesidad de una validación cruzada adicional.
fuente
He estado haciendo un extenso análisis de validación cruzada en un conjunto de datos que costó millones de adquisición, y no hay un conjunto de validación externo disponible. En este caso, realicé una validación cruzada anidada extensa para garantizar la validez. Seleccioné características y parámetros optimizados solo de los conjuntos de entrenamiento respectivos. Esto es computacionalmente costoso para grandes conjuntos de datos, pero es lo que tuve que hacer para mantener la validez. Sin embargo, hay complicaciones que vienen con él ... por ejemplo, se seleccionan diferentes características en cada conjunto de entrenamiento.
Entonces, mi respuesta es que en los casos en que no tiene acceso factible a un conjunto de datos externo, esta es una forma razonable de hacerlo. Cuando tienes un conjunto de datos externo, puedes ir a la ciudad como quieras en el conjunto de datos principal y luego probar una vez en el conjunto de datos externo.
fuente