¿Cómo se puede ajustar el umbral de probabilidad de un clasificador en caso de múltiples clases? [duplicar]

10

Distribución de probabilidad binaria

Lo anterior es un ejemplo muy simple de tener una salida de clasificador de probabilidad para un caso de clase binaria, ya sea 0 o 1 en función de algunas probabilidades.
Además, es sencillo cómo puede cambiar el umbral. Establece el umbral más alto o más bajo del 50% para cambiar el equilibrio de precisión / recuperación y así optimizar para su propia situación única.

Sin embargo, cuando tratamos de tener el mismo pensamiento para un escenario multiclase, incluso tan poco como tres clases como se muestra en la imagen a continuación (imagine que estas son probabilidades)

Dist tres problemas

¿Cómo comienzas a pensar cómo cambiar el umbral?
El valor predeterminado es tomar la clase con la mayor probabilidad (aquí es la clase 3).
Si desea tomar este equilibrio (para afectar la precisión / recuperación), ¿qué podría hacer?
Una idea podría ser tomar las primeras clases más dominantes para volver a normalizarlas y considerar poner un umbral entre estas dos, pero esto no parece una solución elegante.
¿Hay una metodología sólida a seguir?

George Pligoropoulos
fuente

Respuestas:

10

Puede usar una distribución previa sobre las clases.

Supongamos que su modelo calcula un vector de probabilidades de clase v. Puedes definir un vector de probabilidades previasπ y luego calcule las probabilidades de su clase para que sean proporcionales a vπ, dónde denota un producto basado en elementos. Entonces, la probabilidad de que tu observación pertenezca a la clasec es proporcional a vcπc.

Si desea una distribución adecuada, solo necesita volver a formalizar.

En su ejemplo, si desea que sus predicciones estén ligeramente sesgadas a la clase 1, puede definir π=(0.4,0.3,0.3), por ejemplo.

Si lo piensa, en el caso binario, esto es lo que está haciendo implícitamente cuando cambia el umbral. Digamos que establece la siguiente regla: si su vector de probabilidad esv y su función de decisión es f(x), entonces

f(x)={2v2θ1otherwise
para algunos θ(0,1).

Entonces esto es equivalente (al menos a la hora de tomar la decisión) de calcular las probabilidades de clase para que sean proporcionales a (v11θ,v2θ), entonces estarías definiendo π=(11θ,1θ).

También puedes aprender el valor de πde sus datos Por ejemplo, puede calcular la proporción de cada clase y usarla como probabilidades previas.

Para una forma más basada en principios de incorporar este tipo de suposiciones previas en su modelo, es posible que desee ver la inferencia bayesiana.

cangrejo
fuente
Gracias por tu respuesta. Esto tiene sentido. Entonces, está sugiriendo después de hacer la multiplicación por elementos con los anteriores para luego elegir el número más grande como lo haría normalmente
George Pligoropoulos el
Si. Tenga en cuenta que si renormaliza el vector resultante, obtendrá una distribución con el mismo orden.
cangrejo
1
¡Eso es simplemente hermoso, gracias!
guyos