Recuerdo y precisión en la clasificación

40

Leí algunas definiciones de memoria y precisión, aunque siempre es en el contexto de la recuperación de información. Me preguntaba si alguien podría explicar esto un poco más en un contexto de clasificación y tal vez ilustrar algunos ejemplos. Digamos, por ejemplo, que tengo un clasificador binario que me da una precisión del 60% y una recuperación del 95%, ¿es un buen clasificador?

Tal vez para ayudar un poco más a mi objetivo, ¿cuál es el mejor clasificador según usted? (el conjunto de datos está desequilibrado. La clase mayoritaria tiene el doble de la cantidad de ejemplos de la clase minoritaria)

Yo personalmente diría 5 debido al área bajo la curva del operador receptor.

(Como puede ver aquí, el modelo 8 tiene una precisión baja, un retiro muy alto, pero uno de los AUC_ROC más bajos, ¿eso lo convierte en un buen modelo o uno malo?)

ingrese la descripción de la imagen aquí


editar:

Tengo un archivo de Excel con más información: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

En este documento, se puede encontrar el área bajo la curva del operador receptor y el área bajo la curva de recuperación de precisión. Junto con las parcelas.

Olivier_s_j
fuente
66
¿Por qué el voto negativo? Esta parece una pregunta interesante (sin duda una que varias personas consideraron posible responder).
Gala
¿Cuántos casos de prueba estuvieron involucrados en el cálculo de las medidas de desempeño? Además, si compara varios clasificadores en el mismo conjunto de datos, puede usar un diseño emparejado (hay varias preguntas y respuestas en el CV sobre la comparación de clasificadores).
cbeleites apoya a Monica el
Tengo 799 muestras (si eso es lo que quiere decir con caso de prueba). Cada vez que divido los datos en 10 subconjuntos. 1 subconjunto para probar los clasificadores y el resto para entrenar a los clasificadores (los clasificadores que se comparan se entrenan con los mismos datos).
Olivier_s_j
¿Los clasificadores generan un valor binario o generan un valor real y luego usan un umbral para hacerlo binario?
galath
Sacan salida binaria.
Olivier_s_j

Respuestas:

40

Si un clasificador es "bueno" realmente depende de

  1. ¿Qué más hay disponible para su problema particular? Obviamente, desea que un clasificador sea mejor que las suposiciones aleatorias o ingenuas (por ejemplo, clasificar todo como perteneciente a la categoría más común) pero algunas cosas son más fáciles de clasificar que otras.
  2. El costo de diferentes errores (falsa alarma versus falsos negativos) y la tasa base. Es muy importante distinguir los dos y resolver las consecuencias, ya que es posible tener un clasificador con una precisión muy alta (clasificaciones correctas en alguna muestra de prueba) que es completamente inútil en la práctica (digamos que está tratando de detectar una enfermedad rara o alguna comportamiento malicioso poco común y plan para lanzar alguna acción tras la detección; Las pruebas a gran escala cuestan algo y la acción / tratamiento corrector también generalmente implica riesgos / costos significativos, por lo que teniendo en cuenta que la mayoría de los resultados serán falsos positivos, desde una perspectiva de costo / beneficio podría ser mejor no hacer nada).

Para comprender el vínculo entre el recuerdo / precisión por un lado y la sensibilidad / especificidad por el otro, es útil volver a una matriz de confusión:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

La recuperación es TP / (TP + FN) mientras que la precisión es TP / (TP + FP). Esto refleja la naturaleza del problema: en la recuperación de información, desea identificar tantos documentos relevantes como sea posible (eso es recordar) y evitar tener que clasificar la basura (eso es precisión).

Usando la misma tabla, las métricas de clasificación tradicionales son (1) sensibilidad definida como TP / (TP + FN) y (2) especificidad definida como TN / (FP + TN). Por lo tanto, la recuperación y la sensibilidad son simplemente sinónimos, pero la precisión y la especificidad se definen de manera diferente (como la recuperación y la sensibilidad, la especificidad se define con respecto al total de la columna, mientras que la precisión se refiere al total de la fila). La precisión también se denomina a veces "valor predictivo positivo" o, raramente, la "tasa de falsos positivos" (pero vea mi respuesta a la Relación entre verdadero positivo, falso positivo, falso negativo y verdadero negativo con respecto a la confusión que rodea esta definición de falso positivo tarifa).

Curiosamente, las métricas de recuperación de información no implican el recuento "verdadero negativo". Esto tiene sentido: en la recuperación de información, no le importa clasificar correctamente las instancias negativas per se , simplemente no desea que muchas de ellas contaminen sus resultados (consulte también ¿Por qué no recordar tiene en cuenta los verdaderos negativos? ).

Debido a esta diferencia, no es posible pasar de la especificidad a la precisión o al revés sin información adicional, es decir, el número de negativos verdaderos o, alternativamente, la proporción general de casos positivos y negativos. Sin embargo, para el mismo conjunto de corpus / prueba, una mayor especificidad siempre significa una mejor precisión, por lo que están estrechamente relacionados.

En un contexto de recuperación de información, el objetivo suele ser identificar una pequeña cantidad de coincidencias de una gran cantidad de documentos. Debido a esta asimetría, de hecho es mucho más difícil obtener una buena precisión que una buena especificidad mientras se mantiene constante la sensibilidad / recuperación. Dado que la mayoría de los documentos son irrelevantes, tiene muchas más ocasiones para falsas alarmas que verdaderos positivos y estas falsas alarmas pueden afectar los resultados correctos incluso si el clasificador tiene una precisión impresionante en un conjunto de pruebas equilibrado (esto es, de hecho, lo que está sucediendo en los escenarios I mencionado en mi punto 2 arriba). En consecuencia, realmente necesita optimizar la precisión y no solo para garantizar una especificidad decente porque incluso las tasas de aspecto impresionante como el 99% o más a veces no son suficientes para evitar numerosas falsas alarmas.

Por lo general, existe una compensación entre sensibilidad y especificidad (o recuerdo y precisión). Intuitivamente, si proyecta una red más amplia, detectará documentos más relevantes / casos positivos (mayor sensibilidad / recuperación) pero también obtendrá más falsas alarmas (menor especificidad y menor precisión). Si clasifica todo en la categoría positiva, tiene un 100% de memoria / sensibilidad, una mala precisión y un clasificador mayormente inútil ("mayormente" porque si no tiene ninguna otra información, es perfectamente razonable suponer que no va a llueve en un desierto y actúa en consecuencia, por lo que quizás la producción no sea inútil después de todo; por supuesto, no necesitas un modelo sofisticado para eso).

Teniendo en cuenta todo esto, el 60% de precisión y el 95% de recuperación no suena tan mal, pero, una vez más, esto realmente depende del dominio y de lo que pretendes hacer con este clasificador.


Alguna información adicional sobre los últimos comentarios / ediciones:

Una vez más, el rendimiento que puede esperar depende de los detalles (en este contexto, esto sería cosas como el conjunto exacto de emociones presentes en el conjunto de entrenamiento, la calidad de la imagen / video, la luminosidad, la oclusión, los movimientos de la cabeza, los videos actuados o espontáneos, modelo dependiente o independiente de la persona, etc.), pero F1 sobre .7 suena bien para este tipo de aplicaciones, incluso si los mejores modelos pueden funcionar mejor en algunos conjuntos de datos [ver Valstar, MF, Mehu, M., Jiang, B., Pantic, M. y Scherer, K. (2012). Metaanálisis del primer desafío de reconocimiento de expresiones faciales. IEEE Transactions on Systems, Man, and Cybernetics, Parte B: Cybernetics, 42 (4), 966-979.]

Si dicho modelo es útil en la práctica es una pregunta completamente diferente y obviamente depende de la aplicación. Tenga en cuenta que la "expresión" facial es en sí misma un tema complejo y pasar de un conjunto de entrenamiento típico (expresiones planteadas) a cualquier situación de la vida real no es fácil. Esto es bastante fuera de tema en este foro, pero tendrá graves consecuencias para cualquier aplicación práctica que pueda contemplar.

Finalmente, la comparación directa entre modelos es otra cuestión. Mi opinión sobre los números que presentó es que no hay una diferencia dramática entre los modelos (si se refiere al artículo que cité anteriormente, el rango de puntajes F1 para modelos conocidos en esta área es mucho más amplio). En la práctica, los aspectos técnicos (simplicidad / disponibilidad de bibliotecas estándar, velocidad de las diferentes técnicas, etc.) probablemente decidirían qué modelo se implementa, excepto quizás si los costos / beneficios y la tasa general lo hacen favorecer fuertemente la precisión o el recuerdo.

Gala
fuente
Mi clasificador clasifica los rostros en emociones positivas o negativas. Ejecuté un par de algoritmos de clasificación con validación cruzada 10 veces e incluso a veces obtengo un 100% de recuperación, aunque la precisión es para todos los clasificadores casi igual (alrededor del 65%). Trabajo con un conjunto de datos desequilibrado (la clase mayoritaria tiene el doble de la cantidad de muestras de la clase minoritaria). Por lo tanto, pensé que esto probablemente significaba que mis modelos no estaban aprendiendo el patrón.
Olivier_s_j
1
@Gala: ¿Cuál es la diferencia entre una 'falsa alarma' y un 'falso negativo'? ¿Te refieres a una 'falsa alarma' y un 'falso positivo'?
Matt O'Brien el
@ MattO'Brien Una falsa alarma es un falso positivo (es decir, el sistema dice "¡Cuidado!" O "¡Encontró algo!", Pero no hay nada ni necesidad de actuar, por lo tanto, "falsa alarma"). Tal vez la terminología es un poco confusa, revisaré la respuesta más tarde.
Gala
@Ojtwist Si lo positivo tiene una probabilidad previa del 67%, puede obtener un 100% de recuperación y ~ 67% de precisión al predecir todo como positivo.
Mark
21

En el contexto de la clasificación binaria, los ejemplos son positivos o negativos.

  • El retiro aborda la pregunta: "Dado un ejemplo positivo, ¿lo detectará el clasificador?"
  • La precisión aborda la pregunta: "Dada una predicción positiva del clasificador, ¿qué tan probable es que sea correcta?"

Por lo tanto, depende de si la atención se centra en ejemplos positivos o en predicciones positivas.

Se podría decir "con un retiro de al menos el 90%, el clasificador con la precisión más alta es 4." Pero si lo que importa es la calidad de las predicciones, entre los clasificadores con una precisión de al menos el 70%, el que logra el mayor recuerdo es 6.

galath
fuente
6

Pasar de las predicciones continuas, como se usa al calcular el área de ROC (probabilidad de concordancia; índice c) a una regla de puntuación discontinua impropia (precisión de clasificación de elección forzada) da como resultado todo tipo de anomalías y engañará al analista para elegir los predictores incorrectos y / o el modelo equivocado. Es mucho mejor tomar decisiones sobre la base de reglas de puntuación adecuadas (p. Ej., Log-verosimilitud / desviación / regla de puntuación de probabilidad logarítmica; puntuación de Brier (puntuación de precisión de probabilidad cuadrática)). Entre las muchas ventajas de este enfoque está la identificación de observaciones para las cuales la clasificación es peligrosa para su salud debido a la incertidumbre causada por las probabilidades de rango medio.

Frank Harrell
fuente
¿No son aplicables estas reglas de puntuación solo cuando el modelo proporciona resultados probabilísticos?
Olivier_s_j
3
Usted mencionó ROC AUC que requiere resultados probabilísticos (o algo que es una función monotónica de lo mismo). Los mejores métodos predictivos tienen probabilidades bajo el capó.
Frank Harrell
reXyY es una traducción lineal simple del área ROC. Es una medida muy útil si ha convertido el predictor en una probabilidad o no.
Frank Harrell
El problema con el uso de medidas de precisión de clasificación ROC y no "elección forzada" es que en realidad no significan nada en el contexto de la aplicación donde uno realmente debe elegir un umbral de acuerdo con un caso de negocios. Por ejemplo, en un producto de detección de delitos financieros para la banca de inversión, una empresa solo puede tener los recursos humanos para investigar 100 clasificaciones al año, esto induce un umbral fijo que debe optimizarse. Gini, área ROC, etc. no le dirá qué tan bueno es el modelo en este umbral. ...
samthebest
2
Es muy razonable tener un límite presupuestario en el número de investigaciones. Esto no requiere umbrales, ni nuevas optimizaciones, ni clasificaciones, ni análisis ROC. Uno simplemente clasifica las observaciones en orden descendente de riesgo predicho y elige las primeras 100 observaciones para investigar. Esto está relacionado con una curva de elevación utilizada en marketing.
Frank Harrell
5

Ni la precisión ni el recuerdo cuentan la historia completa, y es difícil comparar un predictor con, por ejemplo, 90% de recuerdo y 60% de precisión con un predictor con, digamos, 85% de precisión y 65% ​​de recuerdo, a menos que, por supuesto, tenga costo / beneficio asociado con cada una de las 4 celdas (tp / fp / tn / fn) en la matriz de confusión .

Una forma interesante de obtener un número único ( competencia , también conocido como coeficiente de incertidumbre ) que describe el rendimiento del clasificador es utilizar la teoría de la información :

proficiency = I(predicted,actual) / H(actual)

es decir, le dice qué fracción de la información presente en los datos reales fue recuperada por el clasificador. Es 0 si la precisión o recuperación es 0 y es 100% si (y solo si) tanto la precisión como la recuperación son 100%. En ese sentido, es similar al puntaje de F1 , pero el dominio tiene un claro significado teórico de la información, mientras que F1 es solo un promedio armónico de dos números con un significado.

Puede encontrar papel, presentación y código (Python) para calcular la métrica de competencia aquí: https://github.com/Magnetic/proficiency-metric

sds
fuente
¡interesante! ¿Puedes darnos un ejemplo de cómo calcular la competencia? porque la fórmula me parece extraña.
solitario
Los comentarios no son para discusión extendida; Esta conversación se ha movido al chat .
Scortchi - Restablece a Monica