1 votos

¿Es ésta una buena estrategia para establecer un umbral de probabilidades softmax en una tarea de clasificación multiclase?

Tengo un gran conjunto de datos de imágenes que fue clasificado por una ConvNet en diferentes clases (objetos). Para cada imagen se da la probabilidad top-1 softmax, que oscila entre 0 y 1. Es la salida de una tarea de clasificación multiclase, por lo que la salida de la clasificación softmax contiene múltiples valores, por ejemplo (0,6, 0,1, 0,2, 0,1). La probabilidad top-1, en este ejemplo, sería 0,6. En mi conjunto de datos, la probabilidad top-1 softmax de muchas imágenes es bastante baja (por ejemplo, 0,1), lo que significa que la probabilidad de que la imagen muestre la clase predicha es baja. Ahora me pregunto si debo establecer un umbral en las probabilidades softmax y cómo hacerlo. Mi método consiste en comparar las etiquetas predichas con las etiquetas reales (que están disponibles para aproximadamente el 10% del conjunto de datos), trazar una curva ROC y calcular el índice Youden y el punto de corte óptimo. A continuación, utilicé este punto de corte óptimo como umbral para las probabilidades softmax y eliminé todas las imágenes del conjunto de datos con una probabilidad softmax top-1 inferior a este punto de corte. Esto redujo mi conjunto de datos a ~1/4 de su tamaño original.

Mis preguntas son: - ¿Puedo utilizar el enfoque descrito para definir un umbral para las probabilidades top-1 softmax? - ¿Existen otros enfoques, por ejemplo, definir un umbral para cada clase? ¿Y cómo se haría esto?

0voto

Ladylinux Puntos 8

Creo que no he oído que se haya hecho algo así antes de la forma que describes. ¿Se puede hacer? Sí. ¿Es una buena idea? Bueno, no estoy tan seguro - según tengo entendido, estás usando tu modelo entrenado para seleccionar tus datos de manera que tu conjunto de datos sólo tiene puntos de datos donde tu modelo alcanza una cierta confianza - lo que significa que las métricas de tu modelo van a estar sesgadas.

Si desea establecer un umbral, una forma alternativa de hacerlo sería no modificar el conjunto de datos de esta manera, sino utilizar su umbral de esta forma:

  • Si la probabilidad del top-1 es mayor que el umbral, la predicción será la del top-1.
  • Si la probabilidad de top-1 es menor que el umbral, la respuesta es "No lo sé".

Para elegir un umbral -- No estoy seguro de cómo funciona el método de la curva ROC, ya que tendrás que binarizar tus etiquetas para que tenga sentido. Para el caso de varias clases, supongo que podrías hacer un micro o macro promedio de clasificadores binarios de uno contra otro para cada clase en tu conjunto de datos.

En cuanto a los umbrales por clase eso podría ser excesivo. Yo intentaría simplemente hacer un umbral universal primero, y si eso produce resultados no deseados (tendrá que definirlo para su caso), podría intentar potencialmente la misma estrategia de selección de umbrales, y adoptar la misma estrategia de uno contra todos para derivar las curvas ROC por clase.

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