31 votos

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

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

A modo de seguimiento: ¿afecta la elección de la métrica de rendimiento a la respuesta (si utilizo el AUC en lugar de la precisión)?

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

50voto

cbeleites Puntos 12461

Una diferencia importante en la forma habitual de aplicar los métodos de validación cruzada y de fuera de la base es que la mayoría de la gente sólo aplica la validación cruzada una vez (es decir, cada caso se prueba exactamente una vez), mientras que la validación fuera de la red se realiza con un gran número de repeticiones/iteraciones. En esa situación, la validación cruzada está sujeta a una mayor varianza debido a la inestabilidad del modelo. Sin embargo, esto puede evitarse utilizando, por ejemplo, iteraciones/repeticiones $k$ -validación cruzada. Si se hace así, 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.

Se desaconseja la validación cruzada con exclusión, ya que no existe la posibilidad de reducir la varianza del tipo de inestabilidad del modelo y hay algunos clasificadores y problemas en los que presenta un enorme sesgo pesimista.

.632 bootstrap hace un trabajo razonable siempre que el error de remuestreo que se mezcla no tenga un sesgo 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 grave sobreajuste). Esto significa también que evitar el uso del bootstrap de 0,632 para comparar modelos de diversa complejidad. Con el bootstrap de .632+ no tengo experiencia: si el sobreajuste ocurre y se detecta adecuadamente, será igual a la estimación original fuera del bootstrap, así que me quedo con el oob simple o la validación cruzada iterada/repetida para mis datos.

Literatura:

  • Kohavi, R.: A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection Artificial Intelligence Proceedings 14th International Joint Conference, 20 -- 25. August 1995, Montréal, Québec, Canada, 1995, 1137 - 1145.
    (un clásico)

Dougherty y Braga-Neto tienen varias publicaciones sobre el tema Por ejemplo

Elección de la métrica:

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

  • Utiliza una prueba emparejada para evaluarlo. Para comparar proporciones, echa 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, suelen tener menos varianza que sus homólogas de clasificación. Las métricas como la precisión, que son básicamente proporciones, necesitarán enorme 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 no emparejado comparación de proporciones. Para que te hagas una idea de lo que quiero decir con "tamaños de muestra enormes", echa un vistazo a la imagen en mi respuesta a esta otra pregunta . Las pruebas emparejadas, como la de McNemar, necesitan menos casos de prueba, pero en el mejor de los casos la mitad (?) del tamaño de la muestra necesaria para la prueba no emparejada.

  • Para caracterizar el rendimiento de un clasificador (endurecido), normalmente se necesita una curva de trabajo de al menos dos valores como el ROC (sensibilidad frente a especificidad) o similares.
    Rara vez utilizo la precisión global o el AUC, ya que mis aplicaciones suelen tener restricciones, por ejemplo, que la sensibilidad es más importante que la especificidad, o que deben cumplirse ciertos límites en estas medidas. Si opta por las características de suma de "un solo número", asegúrese de que el punto de trabajo de los modelos que está mirando se encuentra realmente en un rango sensato.

  • Para la 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 sus datos de entrenamiento o de prueba.

  • Provost, F. y otros. : The Case Against Accuracy Estimation for Comparing Induction Algorithms En las actas de la decimoquinta conferencia internacional sobre aprendizaje automático, 1998


editar: comparar múltiples clasificadores

He estado pensando en este problema durante un tiempo, pero todavía no he llegado a una solución (ni he conocido a nadie que tuviera una solución).

Esto es lo que tengo hasta ahora:

Por el momento, he decidido que "la optimización es la raíz de todos los males", y adoptar un enfoque muy diferente en su lugar:
Decido, en la medida de lo posible, por el conocimiento experto del problema en cuestión. De hecho, eso permite reducir bastante las cosas, de modo que a menudo puedo evitar la comparación de modelos. Cuando tengo que comparar modelos, intento ser muy abierto y claro recordando a la gente la incertidumbre de la estimación del rendimiento y que, en particular, la comparación de múltiples modelos es, según se sabe, un problema aún no resuelto.


Edición 2: pruebas pareadas

En $n$ modelos, puede hacer $\frac{1}{2} (n^2 - n)$ comparaciones entre dos modelos diferentes (que es una situación de comparación múltiple masiva), no sé cómo hacerlo correctamente. Sin embargo, el emparejado de la prueba sólo se refiere al hecho de que como todos los modelos se prueban con exactamente los mismos casos de prueba, se pueden dividir los casos en "fáciles" y "difíciles" por un lado, para los que todos los modelos llegan a una predicción correcta (o incorrecta). No ayudan a distinguir entre los modelos. Por otro lado, están los casos "interesantes", cuya predicción es correcta para algunos modelos, pero no para otros. Sólo hay que tener en cuenta estos casos "interesantes" para juzgar la superioridad, ni los casos "fáciles" ni los "difíciles" ayudan a ello. (Así es como entiendo la idea de la prueba de McNemar).

Para la comparación masiva entre $n$ Supongo que un problema es que, a menos que tengas mucha suerte, cuantos más modelos compares menos casos podrás excluir de las consideraciones posteriores: incluso si todos los modelos son realmente iguales en su rendimiento general, cada vez es menos probable que un caso acabe siendo siempre predicho correctamente (o siempre mal) por $n$ modelos.

8voto

dan90266 Puntos 609

Necesita modificaciones en el bootstrap (.632, .632+) sólo porque la investigación original utilizaba una regla de puntuación discontinua impropia (proporción clasificada correctamente). Para otras puntuaciones de precisión, el bootstrap de optimismo ordinario suele funcionar bien. Para más información, véase http://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_T

Unas reglas de puntuación inadecuadas inducen a error en la elección de las características y su ponderación. En otras palabras, todo lo que puede salir mal, saldrá mal.

4voto

Tiberia Puntos 121

Desde Modelización predictiva aplicada", 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 de 10 veces por varias razones; las propiedades de sesgo y varianza son buenas, y dado el tamaño de la muestra, los costes computacionales no son grandes. Si el objetivo es elegir entre modelos, en lugar de obtener el mejor indicador de rendimiento, se puede argumentar a favor de utilizar uno de los procedimientos bootstrap, ya que tienen una varianza 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". p. 78

Además, ante la elección de dos resultados similares, se suele preferir el modelo más interpretable. Como ejemplo (del mismo texto), utilizando un CV de 10 pliegues, un clasificador SVM tenía una precisión estimada del 75% con resultados de remuestreo entre el 66 y el 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 remuestreo. Podría preferirse el modelo de regresión logística, más sencillo, ya que es más fácil interpretar los resultados.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X