4 votos

AUROC demasiado alto en clasificación de imágenes

Estoy lidiando con un problema de clasificación de imágenes, con un conjunto de datos desequilibrado de múltiples clases (la clase más grande tiene 4000 muestras y la más pequeña tiene 110 muestras) con 50 clases y 24000 muestras.

Estoy utilizando una red neuronal para realizar la tarea. Estoy adoptando un conjunto de métricas para evaluar el modelo. A continuación, proporciono las métricas con los valores logrados por mi modelo:

  • exactitud: 0.93
  • macro-f1: 0.86
  • f1 ponderado: 0.93
  • precisión macro: 0.87
  • precisión ponderada: 0.93
  • recuperación macro: 0.85
  • recuperación ponderada: 0.93
  • AUROC macro: 0.99
  • AUROC ponderado: 0.99

Estos valores son promedios obtenidos en un proceso de validación cruzada de 5 pliegues. Es decir, las métricas se obtienen clasificando cada pliegue de prueba. Después, los valores de cada métrica se promedian.

Sin embargo, no estoy seguro acerca de los valores de AUROC (macro y ponderado). Creo que estos valores son "demasiado buenos para ser correctos".

¿Qué piensas? ¿Puedes proporcionar algunas pautas para asegurarte de que esto sea correcto para encontrar mi error? ¿Es AUROC adecuado para evaluar el modelo en este contexto?

4voto

Dave Puntos 76

ESTO SE APLICÓ ANTES DE LA EDICIÓN DE LA PREGUNTA. Lo dejaré aquí como referencia para la situación donde el desempeño es peor que el azar.

Tu precisión es $93\%$. Si clasificas todo como la clase mayoritaria, obtienes $97\%$, por lo que tu tasa de error es más del doble de este supuesto ingenuo de que todo pertenece a la clase mayoritaria. Algo en tu modelo no está bien. Sospecho que al menos parte de ello tiene que ver con el uso de una red neuronal compleja en un tamaño de muestra de solo $4110$. Eso suena como una receta para sobreajuste y crear un modelo cuyo desempeño fuera de la muestra sea peor que el azar.

Supongo que tu software no arroja $AUC<0.5$ y está invirtiendo las probabilidades, lo que significa que tu verdadero $AUC\approx 0.01$, si basas tu cálculo de $AUC$ en las salidas reales de la red neuronal.

Para probar esto, podrías escribir un código de trazado de curva ROC desde cero, utilizando los valores de probabilidad exactos emitidos por la red neuronal. Si lo haces tú mismo, entonces sabrás con certeza que el verdadero $AUC$ es terrible.

Una implementación rudimentaria sería recorrer $0$, $0.01$, $0.02$,$\dots$, $0.98$ , $0.99$, $1$ y calcular la sensibilidad y especificidad con cada valor como umbral. Luego trazar los valores de sensibilidad en el eje vertical y uno menos los valores de especificidad en el eje horizontal.

1voto

Rob Van Dam Puntos 5073

Puede ser que tus clases minoritarias tengan un bajo rendimiento en la clasificación dura (obtenida al elegir la clase con la mayor probabilidad predicha), pero que sus probabilidades predichas se clasifiquen bien. Lo primero explicaría los bajos puntajes de clasificación dura promediados en comparación con los altos puntajes promediados ponderados, y lo segundo explicaría por qué el AUROC no está tan afectado.

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