Kalibrieren eines Boosted-Klassifikators für mehrere Klassen

19

Ich habe Alexandru Niculescu-Mizil und Rich Caruanas Artikel " Erhalten kalibrierter Wahrscheinlichkeiten durch Boosting " und die Diskussion in diesem Thread gelesen . Ich habe jedoch immer noch Probleme beim Verstehen und Implementieren der logistischen oder Plattschen Skalierung , um die Ausgabe meines Multi-Class-Boosting-Klassifikators zu kalibrieren (sanftes Boosten mit Entscheidungsstümpfen).

Ich bin ein wenig mit verallgemeinerten linearen Modellen vertraut und glaube zu verstehen, wie die logistischen und Plattschen Kalibrierungsmethoden im Binärfall funktionieren, bin mir aber nicht sicher, wie ich die im Artikel beschriebene Methode auf den Mehrklassenfall übertragen kann.

Der von mir verwendete Klassifikator gibt Folgendes aus:

  • j ifichj = Anzahl der Stimmen, die der Klassifikator für die Klasse für die Probe , die klassifiziert wirdjich
  • yich = Geschätzte Klasse

An dieser Stelle habe ich folgende Fragen:

F1: Muss ich ein multinomiales Logit verwenden, um Wahrscheinlichkeiten abzuschätzen? oder kann ich dies trotzdem mit logistischer Regression tun (z. B. in einem 1-gegen-alle- Modus)?

F2: Wie soll ich die Zwischenzielvariablen (z. B. wie bei der Plattschen Skalierung) für den Mehrklassenfall definieren?

F3: Ich verstehe, dass dies eine Menge zu fragen ist, aber wäre jemand bereit, den Pseudocode für dieses Problem zu skizzieren? (Aus praktischen Gründen interessiere ich mich für eine Lösung in Matlab).

Amelio Vazquez-Reina
quelle
1
tolle frage. Ich habe mich auch gefragt, wie die Kalibrierung erstellt werden soll, auch wenn Sie 1 im Vergleich zu den anderen Schemata verwenden. Wenn Sie k Modelle mit 1 gegen den Rest erstellen (und es gibt k Klassen), müssen / sollten Sie sie irgendwie so normalisieren, dass sie sich zu 1 summieren (z. B. jede kalibrierte Wahrscheinlichkeit durch die Summe aller k dividieren)?
B_Miner

Antworten:

9

Dies ist auch für mich ein Thema von praktischem Interesse, deshalb habe ich ein wenig recherchiert. Hier sind zwei Artikel eines Autors, die häufig als Referenz aufgeführt werden.

  1. Umwandlung von Klassifikatorwerten in genaue Mehrklassenwahrscheinlichkeitsschätzungen
  2. Reduzieren von Multiklassen auf Binär durch Koppeln von Wahrscheinlichkeitsschätzungen

Der Kern der hier befürworteten Technik besteht darin, das Mehrklassenproblem auf eine binäre zu reduzieren (z. B. eins gegen den Rest, AKA eins gegen alles). Verwenden Sie eine Technik wie Platt (vorzugsweise ein Testset), um die binären Scores / Wahrscheinlichkeiten und zu kalibrieren Kombinieren Sie diese dann mit einer Technik, wie sie in den Abhandlungen diskutiert wird (eine ist eine Erweiterung eines Prozesses von Hastie et al. zur "Kopplung"). Im ersten Link wurden die besten Ergebnisse gefunden, indem einfach die binären Wahrscheinlichkeiten auf die Summe von 1 normiert wurden.

Ich würde gerne andere Ratschläge hören und wenn einer dieser Tecnhiqes in R umgesetzt wurde.

B_Miner
quelle
In der Antwort erwähnte Links sind veraltet. Neueste Links sind: citeseerx.ist.psu.edu/viewdoc/… citeseerx.ist.psu.edu/viewdoc/…
Chandra
Querverweis auf hier stats.stackexchange.com/questions/362460/…
TMrtSmith
Ich stimme dieser Antwort zu. Das stutzte mich einige Zeit, aber das Papier von Zadrozny und Elkan erwies sich als nützlich.
Songololo