Calibrazione di un classificatore potenziato multi-classe


19

Ho letto l'articolo di Alexandru Niculescu-Mizil e Rich Caruana "Come ottenere probabilità calibrate dall'aumento " e la discussione in questo thread. Tuttavia, ho ancora problemi a comprendere e implementare la logistica o il ridimensionamento di Platt per calibrare l'output del mio classificatore boosting multi-classe (boost delicato con blocchi di decisione).

Ho una certa familiarità con i modelli lineari generalizzati e penso di capire come funzionano i metodi logistici e di calibrazione di Platt nel caso binario, ma non sono sicuro di sapere come estendere il metodo descritto nel documento al caso multi-classe.

Il classificatore che sto utilizzando genera quanto segue:

  • fioj = Numero di voti che il classificatore lancia per la classe per il campione che viene classificatojio
  • yio = Classe stimata

A questo punto ho le seguenti domande:

Q1: Devo usare un log multinomiale per stimare le probabilità? o posso ancora farlo con la regressione logistica (ad es. in un modo 1 contro tutti )?

Q2: Come devo definire le variabili target intermedie (ad es. Come nel ridimensionamento di Platt) per il caso multi-classe?

Q3: Capisco che potrebbe essere molto da chiedere, ma qualcuno sarebbe disposto a delineare lo pseudo-codice per questo problema? (a livello più pratico, sono interessato a una soluzione in Matlab).


1
ottima domanda. Mi sono anche chiesto come costruire la calibrazione anche se usi 1 rispetto al resto del tipo di schema. Se crei k modelli usando 1 rispetto al resto (e ci sono k classi) devi / dovresti normalizzarli in qualche modo in modo che si sommino a 1 (ad esempio dividere ogni probabilità calibrata per la somma di tutte le k)?
B_Miner

Risposte:


9

Questo è un argomento di interesse pratico anche per me, quindi ho fatto una piccola ricerca. Ecco due articoli di un autore che viene spesso elencato come riferimento in queste materie.

  1. Trasformare i punteggi dei classificatori in accurate stime di probabilità multiclasse
  2. Ridurre la multiclasse in binario accoppiando le stime di probabilità

L'essenza della tecnica qui sostenuta è quella di ridurre il problema multiclasse a uno binario (ad esempio uno contro il resto, uno AKA contro tutti), utilizzare una tecnica come Platt (preferibilmente utilizzando un set di test) per claibrare i punteggi / probabilità binari e quindi combinali usando una tecnica come discusso negli articoli (uno è un'estensione di un processo di "accoppiamento" di Hastie et al). Nel primo collegamento, i risultati migliori sono stati trovati semplicemente normalizzando le probabilità binarie a che si sommano a 1.

Mi piacerebbe ricevere altri consigli e se qualcuno di questi tecnhiq fosse stato impiantato in R.


I collegamenti citati nella risposta sono obsoleti. Gli ultimi collegamenti sono: citeseerx.ist.psu.edu/viewdoc/… citeseerx.ist.psu.edu/viewdoc/…
Chandra


Facendo eco a questa risposta. Questo mi ha lasciato perplesso per un po 'di tempo, ma il documento di Zadrozny ed Elkan si è rivelato utile.
Songololo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.