Soglia di probabilità di classificazione


49

Ho una domanda sulla classificazione in generale. Sia f un classificatore, che genera un insieme di probabilità dati alcuni dati D. Normalmente, si direbbe: beh, se P (c | D)> 0,5, assegneremo una classe 1, altrimenti 0 (sia un binario classificazione).

La mia domanda è: cosa succede se scopro che se classifico come 1 anche le probabilità, maggiori di: ovvero 0,2, il classificatore funziona meglio. È legittimo quindi utilizzare questa nuova soglia durante la classificazione?

Interpreterei la necessità di una classificazione inferiore legata nel contesto dei dati che emettono un segnale più piccolo; ma ancora significativo per il problema della classificazione.

Mi rendo conto che questo è un modo per farlo, ma se questo non è un pensiero corretto, quali sarebbero alcune trasformazioni di dati, che enfatizzano le singole caratteristiche in modo simile, in modo che la soglia possa rimanere a 0,5?


8
Hai già qualche risposta eccellente, quindi lasciami solo dire questo: il tuo "normalmente" non è un normale che dovrebbe essere normale. Non sono sicuro di dove la cosa "soglia a 0,5" sia diventata standard, e so che esiste un software, altrimenti eccellente, che incoraggia l'idea, ma è una pratica molto scadente in generale.
Matthew Drury,

1
@MatthewDrury: a meno che, ovviamente, il punteggio sia la probabilità posteriore pertinente ben calibrata di non commettere errori importanti (quest'ultimo si occuperebbe di diversi costi di classificazione errata).
cbeleites supporta Monica il

Risposte:


68

Frank Harrell ne ha scritto sul suo blog: Classification vs. Prediction , con cui concordo con tutto il cuore.

In sostanza, la sua argomentazione è che la componente statistica dell'esercizio si interrompe quando si genera una probabilità per ogni classe del nuovo campione. Scegliere una soglia oltre la quale classificare una nuova osservazione come 1 vs. 0 non fa più parte delle statistiche . Fa parte del componente decisionale . E qui, hai bisogno dell'output probabilistico del tuo modello, ma anche di considerazioni come:

  • Quali sono le conseguenze della decisione di trattare una nuova osservazione come classe 1 vs. 0? Devo quindi inviare una mail di marketing a basso costo a tutti e 1? O applico un trattamento del cancro invasivo con grandi effetti collaterali?
  • Quali sono le conseguenze del trattamento di un "vero" 0 come 1 e viceversa? Spunterò un cliente? Sottoporre qualcuno a cure mediche non necessarie?
  • Le mie "classi" sono veramente discrete? O esiste effettivamente un continuum (ad esempio la pressione sanguigna), in cui le soglie cliniche sono in realtà solo scorciatoie cognitive? Se sì, come ben al di là di una soglia è il caso sto "classificare" in questo momento?
  • Oppure una probabilità bassa ma positiva di essere di classe 1 significa in realtà "ottenere più dati", "eseguire un altro test"?

Quindi, per rispondere alla tua domanda: parla con il consumatore finale della tua classificazione e ottieni le risposte alle domande precedenti. Oppure spiega a te la tua produzione probabilistica e lascia che passi attraverso i passi successivi.


1
Grazie mille per questa risposta perspicace. Studierò ulteriormente il problema stesso: sono certo di poter in qualche modo convertire questa proprietà nella parte di apprendimento statistico.
sdgaw erzswer,

Wow, vorrei poter aggiungere qualcosa a questo ma non ho ottenuto nulla, risposta eccezionale!
the_SJC

4
Ottima risposta: le domande sono esatte! Tuttavia, la mia professione è sul lato dell'applicazione, sia che si trovi una soglia di decisione chiamata statistica o no - rientra pienamente nei miei doveri professionali ... E per me fa parte del modello proprio come "pre-elaborazione" è parte di il modello - anche per il motivo che tutte quelle decisioni devono essere coperte nel processo di validazione.
cbeleites supporta Monica il

11

La risposta di Stephan è fantastica. Fondamentalmente dipende da cosa vuoi fare con il classificatore.

Aggiungo solo alcuni esempi.

Un modo per trovare la soglia migliore è definire una funzione obiettiva. Per la classificazione binaria, ad esempio, può essere precisione o punteggio F1. A seconda di quale scegli, la soglia migliore sarà diversa. Per il punteggio F1, c'è una risposta interessante qui: che cos'è la soglia ottimale F1? Come calcolarlo? . Ma dicendo "Voglio usare il punteggio F1" è dove fai davvero la scelta. Se questa scelta è buona o no dipende dallo scopo finale.

Un altro modo per vederlo sta affrontando il compromesso tra esplorazione e sfruttamento (ultimo punto di Stephan): il bandito multi-armato è un esempio di tale problema: devi affrontare due obiettivi contrastanti di acquisizione di informazioni e scelta del bandito migliore . Una strategia bayesiana è scegliere ogni bandito a caso con la probabilità che sia il migliore. Non è esattamente una classificazione ma si occupa delle probabilità di output in modo simile.

Se il classificatore è solo un mattone nell'algoritmo decisionale, la soglia migliore dipenderà dallo scopo finale dell'algoritmo. Dovrebbe essere valutato e messo a punto in relazione alla funzione oggettiva dell'intero processo.


Grazie per un'altra grande risposta. Se ho capito bene, se ho a che fare con l'ultimo passaggio della pipeline, è del tutto legittimo ottimizzare direttamente la soglia.
sdgaw erzswer,

@sdgawerzswer: si. E a) assicurati di ottimizzare la risposta alla domanda giusta eb) assicurati di convalidare quella decisione (e il raggiungimento della soglia) insieme al resto del modello.
cbeleites supporta Monica il

3

C'è forse qualche valore nel considerare come viene calcolata la probabilità. In questi giorni, i classificatori usano un vettore di bias, che viene moltiplicato per una matrice (algebra lineare). Finché ci sono valori diversi da zero nel vettore, la probabilità (il prodotto del vettore e la matrice) non sarà mai 0.

Ciò provoca confusione nel mondo reale delle persone che non hanno preso l'algebra lineare, immagino. Sono infastiditi dal fatto che ci sono punteggi di probabilità per gli elementi che pensano dovrebbero avere 0. In altre parole, stanno confondendo l'input statistico, dalla decisione basata su quell'input. Come umani, potremmo dire che qualcosa con una probabilità di 0.0002234 è uguale a 0, nella maggior parte dei casi d'uso "pratici". Nelle discussioni sulle scienze cognitive superiori, forse, c'è una discussione interessante sul perché il vettore di pregiudizio fa questo, o meglio, è valido per le applicazioni cognitive.


2

Non esiste una soglia sbagliata. La soglia che scegli dipende dal tuo obiettivo nella tua previsione, o piuttosto da ciò che vuoi favorire, ad esempio precisione rispetto al richiamo (prova a rappresentarlo e misura l'AUC associato per confrontare i diversi modelli di classificazione di tua scelta).

Ti sto dando questo esempio di precisione vs richiamo, perché il mio problema personale su cui sto lavorando in questo momento, scelgo la mia soglia in base alla precisione minima (o valore predittivo positivo PPV) che voglio avere il mio modello quando predico, ma io non importa molto dei negativi. Come tale prendo la soglia che corrisponde alla precisione desiderata una volta che ho allenato il mio modello. La precisione è il mio vincolo e il richiamo è la prestazione del mio modello, quando lo confronto con altri modelli di classificazione.

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.