Comment le seuil de probabilité d'un classificateur peut-il être ajusté en cas de classes multiples? [dupliquer]

10

Distribution de probabilité binaire

Ce qui précède est un exemple très simple d'avoir une sortie de classificateur de probabilité pour un cas de classe binaire soit 0 ou 1 sur la base de certaines probabilités.
De plus, il est simple de savoir comment modifier le seuil. Vous définissez le seuil soit plus haut soit plus bas de 50% pour changer l'équilibre précision / rappel et ainsi optimiser pour votre propre situation unique.

Cependant, lorsque nous essayons d'avoir la même pensée pour un scénario multiclasse, même aussi peu que trois classes comme le montre l'image ci-dessous (imaginez que ce sont des probabilités)

Three Prob Dist

Comment commencez-vous à penser comment déplacer le seuil?
La valeur par défaut est de prendre la classe avec la plus grande probabilité (voici la classe 3).
Si vous voulez prendre cet équilibre (pour affecter la précision / le rappel), que pourriez-vous faire?
Une idée pourrait être de reprendre les premières classes les plus dominantes et de considérer de mettre un seuil entre ces deux, mais cela ne semble pas être une solution élégante.
Y a-t-il une méthodologie solide à suivre?

George Pligoropoulos
la source

Réponses:

10

Vous pouvez utiliser une distribution antérieure sur les classes.

Supposons que votre modèle calcule un vecteur de probabilités de classe v. Vous pouvez définir un vecteur de probabilités antérieuresπ puis calculer vos probabilités de classe pour être proportionnelles à vπ, où désigne un produit par élément. Donc, la probabilité que votre observation appartient à la classec est proportionnel à vcπc.

Si vous voulez une distribution correcte, il vous suffit de renormaliser.

Dans votre exemple, si vous souhaitez que vos prédictions soient légèrement biaisées en classe 1, vous pouvez définir π=(0,4,0,3,0,3), par exemple.

Si vous y pensez, dans le cas binaire, c'est ce que vous faites implicitement lorsque vous modifiez le seuil. Disons que vous établissez la règle suivante: si votre vecteur de probabilité estv et votre fonction de décision est F(X), puis

F(X)={2v2θ1autrement
pour certains θ(0,1).

Ensuite, cela équivaut (au moins lorsqu'il s'agit de prendre la décision) à calculer les probabilités de classe comme étant proportionnelles à (v11-θ,v2θ), donc vous définiriez π=(11-θ,1θ).

Vous pouvez également découvrir la valeur de πà partir de vos données. Par exemple, vous pouvez calculer la proportion de chaque classe et l'utiliser comme probabilités antérieures.

Pour une manière plus raisonnée d'incorporer ce type d'hypothèses antérieures dans votre modèle, vous voudrez peut-être examiner l'inférence bayésienne.

cangrejo
la source
Merci pour votre réponse. C'est logique. Vous proposez donc, après avoir fait la multiplication par élément avec les prieurs, de choisir ensuite le plus grand nombre comme vous le feriez normalement
George Pligoropoulos
Oui. Notez que si vous renormalisez le vecteur résultant, vous obtiendrez une distribution avec le même ordre.
cangrejo
1
C'est tout simplement magnifique, thaks!
guyos