Corrección de Bonferroni y aprendizaje automático

9

En los estudios de psicología aprendí que deberíamos usar el método de Bonferroni para ajustar el nivel de significancia al probar varias hipótesis en un solo conjunto de datos.

Actualmente estoy trabajando con métodos de aprendizaje automático como Support Vector Machines o Random Forest para la clasificación. Aquí tengo un único conjunto de datos que se utiliza en la validación cruzada para encontrar los mejores parámetros (como los parámetros del kernel para SVM) que brindan la mejor precisión.

Mi intuición dice (y tal vez está completamente apagada) que es un problema similar. Si estoy probando demasiadas combinaciones posibles de parámetros, es muy probable que encuentre una que produzca excelentes resultados. Sin embargo, esto podría ser solo una casualidad.

Para resumir mi pregunta:

En el aprendizaje automático utilizamos la validación cruzada para encontrar los parámetros correctos de un clasificador. Cuantas más combinaciones de parámetros usemos, mayor será la posibilidad de encontrar una excelente por accidente (¿sobreajuste?). ¿El concepto que está detrás de la corrección de bonferroni también se aplica aquí? ¿Es un problema diferente? Si es así, ¿por qué?

Nikolas Rieble
fuente
3
Sí, es el mismo problema, a veces llamado "dragado de datos".
dsaxton
55
debes torturar los datos hasta que confiesen
Soren Havelund Welling

Respuestas:

5

Hay un grado en el que está relacionado lo que está hablando con la corrección del valor p, pero hay algunos detalles que hacen que los dos casos sean muy diferentes. El principal es que en la selección de parámetros no hay independencia en los parámetros que está evaluando o en los datos en los que los está evaluando. Para facilitar la discusión, tomaré la elección de k en un modelo de regresión K-Nearest-Neighbours como ejemplo, pero el concepto también se generaliza a otros modelos.

Digamos que tenemos una instancia de validación V que estamos prediciendo para obtener una precisión del modelo para varios valores de k en nuestra muestra. Para hacer esto, encontramos los valores k = 1, ..., n más cercanos en el conjunto de entrenamiento que definiremos como T 1 , ..., T n . Para nuestro primer valor de k = 1 nuestra predicción P1 1 será igual a T 1 , para k = 2 , la predicción P 2 será (T 1 + T 2 ) / 2 o P 1 /2 + T 2 /2 , parak = 3 será (T 1 + T 2 + T 3 ) / 3 o P 2 * 2/3 + T 3 /3 . De hecho, para cualquier valor k podemos definir la predicción P k = P k-1 (k-1) / k + T k / k . Vemos que las predicciones no son independientes entre sí, por lo tanto, la precisión de las predicciones tampoco lo será. De hecho, vemos que el valor de la predicción se acerca a la media de la muestra. Como resultado, en la mayoría de los casos, los valores de prueba de k = 1:20 seleccionarán el mismo valor de k que la prueba de k = 1: 10,000 a menos que el mejor ajuste que pueda obtener de su modelo sea solo la media de los datos.

Es por eso que está bien probar un montón de parámetros diferentes en sus datos sin preocuparse demasiado por las pruebas de hipótesis múltiples. Dado que el impacto de los parámetros en la predicción no es aleatorio, es mucho menos probable que la precisión de su predicción se ajuste correctamente debido al azar. Aún debe preocuparse por el ajuste excesivo, pero ese es un problema separado de las pruebas de hipótesis múltiples.

Para aclarar la diferencia entre la prueba de hipótesis múltiples y el ajuste excesivo, esta vez imaginaremos hacer un modelo lineal. Si repetidamente volvemos a muestrear datos para hacer nuestro modelo lineal (las líneas múltiples a continuación) y lo evaluamos, al probar datos (los puntos oscuros), por casualidad, una de las líneas será un buen modelo (la línea roja). Esto no se debe a que sea realmente un gran modelo, sino a que si muestreas los datos lo suficiente, algún subconjunto funcionará. Lo importante a tener en cuenta aquí es que la precisión se ve bien en los datos de prueba extendidos debido a todos los modelos probados. De hecho, dado que estamos eligiendo el "mejor" modelo basado en los datos de prueba, el modelo puede ajustarse mejor a los datos de prueba que a los datos de entrenamiento.prueba de hipótesis múltiples

Por otro lado, el ajuste excesivo es cuando construye un solo modelo, pero contorsiona los parámetros para permitir que el modelo se ajuste a los datos de entrenamiento más allá de lo que es generalizable. En el siguiente ejemplo, el modelo (línea) se ajusta perfectamente a los datos de entrenamiento (círculos vacíos) pero cuando se evalúa en los datos de prueba (círculos rellenos) el ajuste es mucho peor.sobreajuste

Pregonero
fuente
Buen argumento para esta situación particular de elegir k
Soren Havelund Welling
Esto no es específico para K-Nearest-Neighbours, solo elegí ese modelo porque las matemáticas son más fáciles de ver. En cada modelo, los errores de validación producidos por los parámetros de un rango (que es de lo que se trata la validación cruzada) no son independientes entre sí. Esto significa que la idea de una corrección de Bonferroni que busca corregir los valores de p en múltiples pruebas de muestras independientes no se aplica.
Barker
En el caso de realizar una búsqueda de cuadrícula enorme con numerosas combinaciones de hiperparámetros, es probable que un modelo ligeramente más ajustado resulte mejor, definido por alguna función de pérdida de residuos al cuadrado, en el caso de que explique bien el conjunto de validación + tener suerte . Es poco probable que un modelo ligeramente más regularizado sea tan afortunado debido al sesgo. A diferencia de kNN, algunos modelos como árboles de decisión pueden producir ajustes muy diferentes por pequeños cambios en los hiperparámetros, y si se prueban muchos árboles diferentes ... Por lo tanto, los modelos ajustados y las pruebas de parámetros múltiples pueden estar relacionados en la práctica.
Soren Havelund Welling
Los modelos de árbol de decisión que obtienen resultados muy diferentes basados ​​en pequeños cambios en los parámetros generalmente indican que el modelo no es estable y que una elección diferente de semilla aleatoria podría ser igualmente culpable que los parámetros mismos. Consideraría esto más una cuestión de estabilidad que de ajuste por decir.
Barker
Exactamente. Para muchos algoritmos de modelo para un conjunto de datos dado, una gama de configuraciones de parámetros produce modelos inestables. Es probable que un pequeño subconjunto de estos modelos inestables obtenga una mejor puntuación de predicción en un conjunto de validación específico que los modelos regularizados razonables. Es por eso que también debe considerar las implicaciones de las pruebas múltiples en el aprendizaje automático, y no puede simplemente confiar en la conclusión del ejemplo de kNN, donde no es un gran problema.
Soren Havelund Welling
3

Estoy de acuerdo con Barker en cierta medida, sin embargo, la selección del modelo no es solo kNN . Debe usar un esquema de validación cruzada, con un conjunto de validación y prueba. Utiliza el conjunto de validación para la selección del modelo y el conjunto de prueba para la estimación final del error del modelo. Podría estar anidado k-fold CV o simple división de los datos de entrenamiento. El rendimiento medido por el conjunto de validación del modelo con mejor rendimiento estará sesgado, ya que seleccionó el modelo con mejor rendimiento. El rendimiento medido del conjunto de prueba no está sesgado, ya que honestamente solo probó un modelo. En caso de duda, envuelva todo el procesamiento y modelado de datos en una validación cruzada externa para obtener la estimación menos sesgada de la precisión futura.

Como sé, no hay una corrección matemática simple confiable que se adapte a cualquier selección entre múltiples modelos no lineales. Tendemos a confiar en el arranque de fuerza bruta para simular, cuál sería la precisión del modelo futuro. Por cierto, al estimar el error de predicción futura, asumimos que el conjunto de entrenamiento se muestreó aleatoriamente de una población, y que las predicciones de pruebas futuras se muestrean de la misma población. Si no, bueno, quién sabe ...

Si, por ejemplo, usa un CV interno de 5 veces para seleccionar el modelo y un CV externo de 10 veces repetido 10 veces para estimar el error, entonces es poco probable que se engañe con una estimación de precisión del modelo demasiado confiada.

Soren Havelund Welling
fuente
2
algunas veces el conjunto de validación puede denominarse conjunto de calibración y el conjunto de prueba denominado conjunto de validación. Un poco confuso ...
Soren Havelund Welling