¿Validación cruzada o bootstrapping para evaluar el rendimiento de la clasificación?

24

¿Cuál es el método de muestreo más apropiado para evaluar el rendimiento de un clasificador en un conjunto de datos en particular y compararlo con otros clasificadores? La validación cruzada parece ser una práctica estándar, pero he leído que métodos como .632 bootstrap son una mejor opción.

Como seguimiento: ¿La elección de la métrica de rendimiento afecta la respuesta (si uso AUC en lugar de precisión)?

Mi objetivo final es poder decir con cierta confianza que un método de aprendizaje automático es superior a otro para un conjunto de datos en particular.

kelvin_11
fuente
1
Bootstrap (con reemplazo) puede usarse en su conjunto de datos de entrenamiento, en lugar de, por ejemplo, validación cruzada (repetida) k-fold. Consulte también: Diferencias entre validación cruzada y bootstrapping para estimar el error de predicción , Comprensión de bootstrapping para validación y selección de modelo .
chl

Respuestas:

42

Una diferencia importante en la forma habitual en que se aplican los métodos de validación cruzada y fuera de bootstrap es que la mayoría de las personas aplica la validación cruzada solo una vez (es decir, cada caso se prueba exactamente una vez), mientras que la validación fuera de bootstrap se realiza con un gran número de repeticiones / iteraciones. En esa situación, la validación cruzada está sujeta a una mayor variación debido a la inestabilidad del modelo. Sin embargo, eso puede evitarse mediante, por ejemplo, la validación cruzada repetida / repetida de pliegues. Si se hace eso, al menos para los conjuntos de datos espectroscópicos con los que he estado trabajando, el error total de ambos esquemas de remuestreo parece ser el mismo en la práctica.k

Se desaconseja la validación cruzada de dejar uno fuera, ya que no hay posibilidad de reducir la varianza del tipo de inestabilidad del modelo y hay algunos clasificadores y problemas en los que exhibe un sesgo pesimista enorme.

.632 bootstrap hace un trabajo razonable siempre que el error de remuestreo que se mezcla no esté sesgado de manera demasiado optimista. (Por ejemplo, para los datos con los que trabajo, matrices muy anchas con muchas variantes, no funciona muy bien ya que los modelos son propensos a un sobreajuste grave). Esto significa también que evitaría usar .632 bootstrap para comparar modelos de complejidad variable. Con .632+ bootstrap no tengo experiencia: si se produce un sobreajuste y se detecta correctamente, será igual a la estimación original fuera de bootstrap, por lo que me quedo con la validación cruzada iterativa / repetida para mis datos.

Literatura:

  • Kohavi, R .: A Study of Cross-Validation and Bootstrap for Precision Precision and Model Selection Artificial Intelligence Proceedings 14th International Joint Joint, 20-25. Agosto de 1995, Montreal, Québec, Canadá, 1995, 1137-1145.
    (Un clásico )

Dougherty y Braga-Neto tienen varias publicaciones sobre el tema , por ej.

Elección de métrica:

Mi objetivo final es poder decir con cierta confianza que un método de aprendizaje automático es superior a otro para un conjunto de datos en particular.

  • Use una prueba emparejada para evaluar eso. Para comparar proporciones, eche un vistazo a la prueba de McNemar.

  • La respuesta a esto se verá afectada por la elección de la métrica. Como las medidas de error de tipo regresión no tienen el paso de "endurecimiento" de cortar las decisiones con un umbral, a menudo tienen menos variación que sus contrapartes de clasificación. Las métricas como la precisión que son básicamente proporciones necesitarán un gran número de casos de prueba para establecer la superioridad de un clasificador sobre otro.

Fleiss: "Métodos estadísticos para tasas y proporciones" da ejemplos (y tablas) para la comparación no proporcional de proporciones. Para darle una idea de lo que quiero decir con "tamaños de muestra enormes", eche un vistazo a la imagen en mi respuesta a esta otra pregunta . Las pruebas pareadas como las de McNemar necesitan menos casos de prueba, pero el IIRC aún se encuentra en la mejor mitad del caso (?) Del tamaño de muestra necesario para la prueba no pareada.

  • Para caracterizar el rendimiento de un clasificador (endurecido), generalmente necesita una curva de trabajo de al menos dos valores, como ROC (sensibilidad frente a especificidad) o similares.
    Raramente uso la precisión general o AUC, ya que mis aplicaciones generalmente tienen restricciones, por ejemplo, que la sensibilidad es más importante que la especificidad, o que se deben cumplir ciertos límites en estas medidas. Si opta por las características de suma de "número único", asegúrese de que el punto de trabajo de los modelos que está mirando esté realmente en un rango razonable.

  • Para obtener precisión y otras medidas de rendimiento que resumen el rendimiento de varias clases según las etiquetas de referencia, asegúrese de tener en cuenta la frecuencia relativa de las clases que encontrará en la aplicación, que no es necesariamente la misma que en su datos de entrenamiento o prueba.

  • Provost, F. et al. : El caso contra la estimación de precisión para comparar algoritmos de inducción en las actas de la decimoquinta conferencia internacional sobre aprendizaje automático, 1998


editar: comparar múltiples clasificadores

He estado pensando en este problema por un tiempo, pero aún no llegué a una solución (ni conocí a nadie que tuviera una solución).

Esto es lo que tengo hasta ahora:

Por el momento, decidí que "la optimización es la raíz de todo mal", y tomé un enfoque muy diferente:
decido tanto como sea posible por el conocimiento experto sobre el problema en cuestión. En realidad, eso permite reducir un poco las cosas, por lo que a menudo puedo evitar la comparación de modelos. Cuando tengo que comparar modelos, trato de ser muy abierto y claro para recordarle a la gente sobre la incertidumbre de la estimación del rendimiento y que la comparación de modelos múltiples en particular es AFAIK todavía un problema sin resolver.


Edición 2: pruebas emparejadas

norte12(norte2-norte)de la prueba solo se refiere al hecho de que, dado que todos los modelos se prueban con exactamente los mismos casos de prueba, puede dividir los casos en casos "fáciles" y "difíciles" por un lado, para lo cual todos los modelos llegan a una correcta (o mal) predicción. No ayudan a distinguir entre los modelos. Por otro lado, hay casos "interesantes" que algunos predicen correctamente, pero no otros modelos. Solo estos casos "interesantes" deben considerarse para juzgar la superioridad, ni los casos "fáciles" ni los "difíciles" ayudan con eso. (Así es como entiendo la idea detrás de la prueba de McNemar).

nortenorte

cbeleites apoya a Monica
fuente
Gracias por tu respuesta detallada! Realmente agradecería si pudiera explicar el punto que hizo: " Use una prueba emparejada para evaluar eso. Para comparar proporciones, eche un vistazo a la prueba de McNemar " . Debería reformular ligeramente mi pregunta: me gustaría comparar varias máquinas aprender métodos a la vez, no necesariamente solo pares. No me queda claro de inmediato cómo las pruebas emparejadas podrían lograr esto.
kelvin_11
3
(+6) Buena respuesta.
chl
@cbeleites Te amo por este comentario. Para la importancia de la comparación de modelos múltiples, ¿qué pasa con los métodos de análisis de varianza (ANOVA)? como Kruskal-Wallis ?
Serendipity
1
@Serendipity: Realmente no sé lo suficiente sobre Kruskal-Wallis para darte una respuesta aquí. Pero sospecho que los métodos similares a ANOVA no son lo que se quiere aquí, ya que (1) no utiliza la naturaleza pareada de los datos y (2) gana poder en comparación con las comparaciones múltiples porque la hipótesis nula es solo "todos los modelos realizar por igual ": si se rechaza, aún no sabe qué algoritmo (s) funciona de manera diferente. Por lo tanto, solo se puede usar para enfatizar resultados negativos (no importa qué algoritmo elija). Sospecho que hay una gran zona donde ANOVA te dice que no todos los modelos ...
cbeleites apoya a Monica el
... son iguales pero no tiene suficiente información para permitir las comparaciones múltiples que se necesitan para identificar mejores modelos.
cbeleites apoya a Monica el
6

Necesita modificaciones en el bootstrap (.632, .632+) solo porque la investigación original utilizó una regla discontinua de puntaje inadecuada (proporción clasificada correctamente). Para otros puntajes de precisión, el bootstrap de optimismo ordinario tiende a funcionar bien. Para obtener más información, consulte http://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_T

Las reglas de puntuación inadecuadas lo engañan en la elección de las características y sus pesos. En otras palabras, todo lo que puede salir mal saldrá mal.

Frank Harrell
fuente
4

De 'Modelado predictivo aplicado., Khun. Johnson . p.78

"Ningún método de remuestreo es uniformemente mejor que otro; la elección debe hacerse teniendo en cuenta varios factores. Si el tamaño de la muestra es pequeño, recomendamos utilizar la validación cruzada repetida 10 veces por varias razones; las propiedades de sesgo y varianza son buenas, y dado el tamaño de la muestra, los costos computacionales no son grandes. Si el objetivo es elegir entre modelos, en lugar de obtener el mejor indicador de rendimiento, se puede hacer un caso sólido para usar uno de los procedimientos de arranque ya que estos tienen una variación muy baja. Para tamaños de muestra grandes, las diferencias entre los métodos de remuestreo se vuelven menos pronunciadas y la eficiencia computacional aumenta el rendimiento ". pags. 78

Además, dada la elección de dos resultados similares, generalmente se prefiere el modelo más interpretable. Como ejemplo (del mismo texto), usando 10 veces el CV, un clasificador SVM tenía una estimación de precisión del 75% con resultados de remuestreo entre 66 y 82%. Se utilizaron los mismos parámetros en un clasificador de regresión logística con una precisión del 74,9% y el mismo rango de muestreo. Se podría preferir el modelo de regresión logística más simple, ya que es más fácil interpretar los resultados.

palmadita
fuente
44
Tenga en cuenta que la variación que puede reducir ejecutando un gran número de iteraciones / repeticiones de arranque / validación cruzada es solo la parte de la variación que proviene de la inestabilidad de los modelos sustitutos. Puede medir si esta es una contribución importante a la varianza total mediante validación cruzada, ya que prueba cada muestra exactamente una vez durante cada ejecución, por lo que la varianza debida al tamaño de muestra finito no aparece en la comparación de los promedios de las ejecuciones de validación cruzada completas. . Para la clasificación "dura", puede calcular la varianza debido al tamaño de muestra finito a partir de la distribución binomial.
cbeleites apoya a Monica el
@cbeleites: ¿Puede explicar un poco lo que quiere decir con "prueba cada muestra exactamente una vez durante cada ejecución, por lo que la varianza debida al tamaño de muestra finito no aparece en la comparación de los promedios de las ejecuciones de validación cruzada completas". (¡las referencias también están bien!) (+1 claramente)
usεr11852 dice Reinstate Monic
@ usεr11852: cada caso se prueba exactamente una vez por ejecución de validación cruzada. Imagine una tabla de resultados de ejecución de n_sample xr CV. Si tenemos predicciones estables , todas las predicciones r para el mismo caso son las mismas. Es decir, no hay variación a lo largo de las filas. Pero diferentes casos pueden obtener diferentes predicciones (a menos que tengamos, por ejemplo, una precisión del 100%): tenemos una variación a lo largo de las columnas. Ahora, la evaluación estándar de validación cruzada iterada / repetida es comparar los promedios de columna. Para los modelos estables, estos son exactamente lo mismo, a pesar de que lo tienen varianza a lo largo de las columnas, es decir, entre los casos.
cbeleites apoya a Monica
(Si los modelos / predicciones son inestables, obtenemos diferentes predicciones por diferentes modelos sustitutos, y también vemos variaciones a lo largo de las filas. Además de alguna variación adicional a lo largo de las columnas, ya que cada columna en k-fold CV cubre k diferentes modelos sustitutos. ) Entonces, para medir la estabilidad del modelo / predicción (in), tal vez sea aún más directo ir directamente a la varianza a lo largo de las filas, es decir, la varianza de las predicciones de diferentes modelos sustitutos para el mismo caso.
cbeleites apoya a Monica
1
@cbeleites: Muchas gracias por la aclaración. Ahora puedo apreciar el punto que estás haciendo más.
usεr11852 dice Reinstate Monic