Calibrage d'un classificateur boosté multi-classes

19

J'ai lu l'article d'Alexandru Niculescu-Mizil et Rich Caruana " Obtention de probabilités calibrées à partir du boost " et la discussion dans ce fil. Cependant, j'ai toujours du mal à comprendre et à implémenter la logistique ou la mise à l' échelle de Platt pour calibrer la sortie de mon classificateur de boosting multi-classes (boost doux avec moignons de décision).

Je connais un peu les modèles linéaires généralisés, et je pense comprendre comment fonctionnent les méthodes logistiques et d'étalonnage de Platt dans le cas binaire, mais je ne suis pas sûr de savoir comment étendre la méthode décrite dans l'article au cas multi-classes.

Le classificateur que j'utilise génère les informations suivantes:

  • = nombre de votes émis par le classificateur pour la classe j pour l'échantillon i en cours de classificationFjejjje
  • = classe estiméeyje

À ce stade, j'ai les questions suivantes:

Q1: Dois-je utiliser un logit multinomial pour estimer les probabilités? ou est-ce que je peux toujours faire ceci avec la régression logistique (par exemple d'une manière 1 contre tous )?

Q2: Comment définir les variables cibles intermédiaires (par exemple, comme dans la mise à l'échelle de Platt) pour le cas multi-classes?

Q3: Je comprends que cela pourrait être beaucoup demander, mais quelqu'un serait-il disposé à esquisser le pseudo-code pour ce problème? (à un niveau plus pratique, je suis intéressé par une solution dans Matlab).

Amelio Vazquez-Reina
la source
1
grande question. Je me suis également demandé comment construire l'étalonnage, même si vous utilisez 1 par rapport au reste du schéma. Si vous créez k modèles en utilisant 1 par rapport aux autres (et il y a k classes) devez-vous / devriez-vous les normaliser d'une manière ou d'une autre pour qu'ils totalisent 1 (par exemple, divisez chaque probabilité calibrée par la somme de tous les k)?
B_Miner

Réponses:

9

C'est aussi un sujet d'intérêt pratique pour moi, donc j'ai fait quelques recherches. Voici deux articles d'un auteur qui est souvent cité comme référence dans ces domaines.

  1. Transformer les scores du classificateur en estimations de probabilité multiclasses précises
  2. Réduire la multiclasse en binaire en couplant les estimations de probabilité

L'essentiel de la technique préconisée ici est de réduire le problème multiclasse à un problème binaire (par exemple, un contre le reste, AKA un contre tous), utiliser une technique comme Platt (en utilisant de préférence un ensemble de tests) pour étalonner les scores / probabilités binaires et puis les combiner en utilisant une technique telle que discutée dans les articles (l'une est une extension d'un processus de «couplage» de Hastie et al). Dans le premier lien, les meilleurs résultats ont été trouvés en normalisant simplement les probabilités binaires pour qu'elles totalisent 1.

J'aimerais entendre d'autres conseils et si l'un de ces tecnhiqes a été implémenté dans R.

B_Miner
la source
Les liens mentionnés dans la réponse sont obsolètes. Les derniers liens sont: citeseerx.ist.psu.edu/viewdoc/… citeseerx.ist.psu.edu/viewdoc/…
Chandra
Référence croisée ici stats.stackexchange.com/questions/362460/…
TMrtSmith
Faisant écho à cette réponse. Cela m'a embarrassé pendant un certain temps, mais le document de Zadrozny et Elkan s'est avéré utile.
songololo