¿Está realmente bien realizar una selección de funciones sin supervisión antes de la validación cruzada?

9

En Los elementos del aprendizaje estadístico , he encontrado la siguiente declaración:

Hay una calificación: los pasos iniciales de detección no supervisada se pueden realizar antes de dejar muestras. Por ejemplo, podríamos seleccionar los 1000 predictores con la mayor varianza en las 50 muestras, antes de comenzar la validación cruzada. Dado que este filtrado no involucra las etiquetas de clase, no les da a los predictores una ventaja injusta.

¿Es esto realmente válido? Quiero decir, al filtrar los atributos de antemano, no estamos imitando los datos de entrenamiento / nuevo entorno de datos, entonces, ¿importa esto que el filtrado que estamos realizando no esté supervisado? ¿No es mejor hacer todos los pasos de preprocesamiento dentro del proceso de validación cruzada? Si ese no es el caso, significa que todo el preprocesamiento sin supervisión se puede realizar de antemano, incluida la normalización de funciones / PCA, etc. Pero al hacer esto en todo el conjunto de entrenamiento, en realidad estamos filtrando algunos datos al conjunto de entrenamiento. Estoy de acuerdo en que con un conjunto de datos relativamente estable, estas diferencias probablemente deberían ser muy pequeñas, pero eso no significa que no existan, ¿verdad? ¿Cuál es la forma correcta de pensar sobre esto?

Matek
fuente

Respuestas:

2

Como una etapa realizada antes de la validación cruzada, la selección de funciones sin supervisión es algo similar a la normalización de características:

  1. Desde el punto de vista de un pliegue específico en la validación cruzada, los datos del tren se asomaron a los datos de la prueba (aunque solo en las variables independientes).

  2. Este vistazo es relativamente leve.

La normalización de características antes de la validación cruzada se discutió en esta pregunta . Citando la respuesta allí por Dikran Marsupial

La validación cruzada se ve mejor como un método para estimar el rendimiento de un procedimiento estadístico, en lugar de un modelo estadístico. Por lo tanto, para obtener una estimación imparcial del rendimiento, debe repetir cada elemento de ese procedimiento por separado en cada pliegue de la validación cruzada, lo que incluiría la normalización.

Entonces, si puede ahorrar los recursos, lo mejor sería hacer que cada pliegue de validación cruzada realice cualquier procesamiento dependiente de los datos desde cero.

Sin embargo, como dicen las respuestas a esa pregunta, en la práctica, invertir el orden probablemente no cambiaría mucho las cosas. Ciertamente no existe la ventaja injusta sustancial que exhibe la selección de características dependiente de . En mi humilde opinión, esa es la interpretación de la cita de Elementos del aprendizaje estadístico .y

Ami Tavory
fuente
Bueno, eso básicamente coincide con mis pensamientos, y la última oración aquí es en realidad la respuesta corta a mi pregunta. Gracias, haré de esto una respuesta aceptada.
Matek
1
El efecto puede ser pequeño, pero puede no ser tan pequeño. Como usted dice, es como preescalar sus variables independientes antes de CV, que utilizará "el futuro" (datos de prueba) para ayudar a escalar "el presente" (datos de entrenamiento), lo que no sucederá en el mundo real. Si tiene pliegues aleatorios (que no usan series de tiempo, estratificación, etc.) es un efecto menor, pero ¿por qué romper la barrera de Tren / Prueba y todo eso?
Wayne el
@Wayne Ciertamente estoy de acuerdo con usted en que siempre que sea posible, es mejor no romper la barrera del tren / prueba. Personalmente, nunca me he encontrado con casos del mundo real en los que esto haya hecho una diferencia (FS y / o normalización sin supervisión de Wrt), pero he encontrado casos en los que era absolutamente inviable hacer la selección de características de la "manera correcta" (es decir, dentro de cada doblez). Sin embargo, veo por su buena respuesta (que estoy votando) que ha encontrado el caso opuesto, por lo que aparentemente existen ambos escenarios.
Ami Tavory
No estoy seguro de que haya encontrado resultados de CV en los que la normalización haya marcado una diferencia, lo cual atribuyo a que generalmente hago un CV de 10 veces, lo que significa que el doblez de prueba es solo del 10%, lo que hace que su efecto sea más pequeño. He visto una diferencia con algo como una división 67/33 o incluso 75/25 sin CV.
Wayne
9

Ruego diferir en esta pregunta con la opinión de @ AmiTavory y con los Elementos del aprendizaje estadístico.

Al provenir de un campo aplicado con tamaños de muestra muy bajos, tengo la experiencia de que también los pasos de preprocesamiento sin supervisión pueden introducir un sesgo severo.

En mi campo, eso sería con mayor frecuencia PCA para la reducción de la dimensionalidad antes de entrenar a un clasificador. Si bien no puedo mostrar los datos aquí, he visto PCA + (LDA con validación cruzada) vs.validado cruzado (PCA + LDA) subestimando la tasa de error en aproximadamente un orden de magnitud . (Esto suele ser un indicador de que el PCA no es estable).

En cuanto a la argumentación de la "ventaja injusta" de los Elementos, si se examina la varianza de los casos de prueba + prueba, terminamos con características que funcionan bien tanto con la capacitación como con los casos de prueba. Por lo tanto, creamos una profecía autocumplida aquí, que es la causa del sesgo demasiado optimista. Este sesgo es bajo si tiene tamaños de muestra razonablemente cómodos.

Por lo tanto, recomiendo un enfoque que sea un poco más conservador que los Elementos:

  • los cálculos de preprocesamiento que consideran más de un caso deben incluirse en la validación: es decir, se calculan solo en el conjunto de entrenamiento respectivo (y luego se aplican a los datos de la prueba)
  • Los pasos de preprocesamiento que consideran cada caso por sí solo (soy espectroscopista: los ejemplos serían la corrección de la línea de base y la normalización de la intensidad, que es una normalización por filas) pueden extraerse de la validación cruzada siempre que estén antes del primer paso que calcula para múltiples casos.

Dicho esto, también la validación cruzada es solo un atajo para hacer un estudio de validación adecuado. Por lo tanto, puede argumentar con practicidad:

  • Puede verificar si el preprocesamiento en cuestión produce resultados estables (puede hacerlo, por ejemplo, mediante validación cruzada). Si ya lo encuentra perfectamente estable con tamaños de muestra más bajos, en mi humilde opinión, puede argumentar que no se introducirá mucho sesgo al sacarlo de la validación cruzada.

  • Sin embargo, para citar a un supervisor anterior: el tiempo de cálculo no es un argumento científico.
    A menudo hago una "vista previa" de algunos pliegues y pocas iteraciones para la validación cruzada para asegurarme de que todo el código (incluido el resumen / gráficos de los resultados) y luego lo dejo durante la noche o durante el fin de semana más o menos en el servidor durante un validación cruzada más fina.

cbeleites descontentos con SX
fuente