La soglia di decisione è un iperparametro nella regressione logistica?


13

Le classi previste dalla regressione logistica (binaria) sono determinate usando una soglia sulle probabilità di appartenenza alla classe generate dal modello. A quanto ho capito, in genere 0,5 viene utilizzato per impostazione predefinita.

Ma variando la soglia cambieranno le classificazioni previste. Questo significa che la soglia è un iperparametro? In tal caso, perché (ad esempio) non è possibile cercare facilmente su una griglia di soglie usando il GridSearchCVmetodo di scikit-learn (come si farebbe con il parametro di regolarizzazione C).


1
"Come ho capito, in genere 0,5 viene utilizzato per impostazione predefinita." Dipende dal significato della parola "tipico". In pratica, nessuno dovrebbe farlo.
Matthew Drury,


Rigorosamente non intendi regressione logistica, intendi usare un regressore logistico con una soglia per la classificazione binaria (potresti anche addestrare un regressore per ciascuna delle due classi, con un po 'di casualità o ponderazione seminata per evitare che siano linearmente dipendenti).
smci

Risposte:


12

La soglia di decisione crea un compromesso tra il numero di positivi previsti e il numero di negativi previsti, poiché, aumentando tautologicamente, la soglia di decisione diminuirà il numero di positivi previsti e aumenterà il numero di negativi che tu prevedi.

La soglia di decisione non è un iperparametro nel senso di tuning del modello perché non cambia la flessibilità del modello.

Il modo in cui stai pensando alla parola "accorda" nel contesto della soglia di decisione è diverso da come sono sintonizzati gli iperparametri. La modifica di C e di altri iperparametri del modello modifica il modello(ad esempio, i coefficienti di regressione logistica saranno diversi), mentre la regolazione della soglia può fare solo due cose: scambiare TP per FN e FP per TN. Tuttavia, il modello rimane lo stesso, perché ciò non modifica i coefficienti. (Lo stesso vale per i modelli che non hanno coefficienti, come le foreste casuali: cambiare la soglia non cambia nulla sugli alberi.) Quindi, in senso stretto, hai ragione nel trovare il miglior compromesso tra gli errori è "tuning", ma ti sbagli nel pensare che la modifica della soglia sia collegata ad altri iperparametri del modello in un modo ottimizzato da GridSearchCV.

Detto in altro modo, cambiare la soglia di decisione riflette una tua scelta su quanti falsi positivi e falsi negativi vuoi avere. Considera l'ipotetico di impostare la soglia di decisione su un valore completamente non plausibile come -1. Tutte le probabilità sono non negative, quindi con questa soglia predirete "positivo" per ogni osservazione. Da una certa prospettiva, questo è fantastico, perché il tuo tasso di falsi negativi è 0,0. Tuttavia, anche il tuo tasso di falsi positivi è all'estremo di 1,0, quindi in questo senso la scelta della soglia a -1 è terribile.

L'ideale, ovviamente, è avere un TPR di 1,0 e un FPR di 0,0 e un FNR di 0,0. Ma questo è solitamente impossibile nelle applicazioni del mondo reale, quindi la domanda diventa "quanto FPR sono disposto ad accettare per quanto TPR?" E questa è la motivazione delle curve .


Grazie per la risposta @Sycorax. Mi hai quasi convinto. Ma non possiamo formalizzare l'idea di "quanto FPR sono disposto ad accettare per quanto TPR"? ad es. utilizzando una matrice di costi. Se avessimo una matrice di costi, non sarebbe desiderabile trovare la soglia ottimale tramite l'ottimizzazione, come si sintonizzerebbe un iperparametro? O c'è un modo migliore per trovare la soglia ottimale?
Nick,

1
CGridSearchCV

@Sycorax La soglia e l'intercetta (termine di bias) non fanno sostanzialmente la stessa cosa? Vale a dire che è possibile mantenere la soglia fissa su 0,5 ma modificare l'intercettazione di conseguenza; questo "cambierà il modello" (come da tuo ultimo commento) ma avrà lo stesso effetto in termini di previsioni binarie. È corretto? In tal caso, non sono sicuro che la rigorosa distinzione tra "modifica del modello" e "modifica della regola decisionale" sia così significativa in questo caso.
ameba dice che ripristini Monica il

@amoeba Questa è un'osservazione stimolante. Dovrò considerarlo. Suppongo che il tuo suggerimento equivale a "mantenere la soglia a 0,5 e trattare l'intercettazione come un iperparametro, che si sintonizza". Non c'è nulla matematicamente che ti impedisca di farlo, tranne l'osservazione che il modello non massimizza più la sua probabilità. Ma raggiungere l'MLE potrebbe non essere una priorità in un contesto specifico.
Sycorax dice di reintegrare Monica l'

10

Ma variando la soglia cambieranno le classificazioni previste. Questo significa che la soglia è un iperparametro?

Sì, sì, sorta. È un iperparametro della tua regola di decisione , ma non la regressione sottostante.

In tal caso, perché (ad esempio) non è possibile cercare facilmente su una griglia di soglie usando il metodo GridSearchCV di scikit-learn (come si farebbe con il parametro di regolarizzazione C).

Questo è un errore di progettazione in sklearn. La migliore pratica per la maggior parte degli scenari di classificazione è quella di adattare il modello sottostante (che prevede le probabilità) utilizzando una certa misura della qualità di queste probabilità (come la perdita di log in una regressione logistica). Successivamente, una soglia di decisione su queste probabilità dovrebbe essere regolata per ottimizzare alcuni obiettivi aziendali della tua regola di classificazione. La biblioteca dovrebbe facilitare l'ottimizzazione della soglia di decisione in base a una certa misura della qualità, ma non credo che lo faccia bene.

Penso che questo sia uno dei posti in cui sklearn ha sbagliato. La libreria include un metodo, predictsu tutti i modelli di classificazione che superano 0.5. Questo metodo è inutile e consiglio vivamente di non invocarlo mai. È un peccato che sklearn non stia incoraggiando un flusso di lavoro migliore.


Condivido anche il tuo scetticismo sulla predictscelta predefinita del metodo di 0,5 come limite, ma GridSearchCVaccetta scoreroggetti che possono sintonizzare i modelli rispetto alla perdita di entropia fuori campione. Mi manca il tuo punto?
Sycorax dice di reintegrare Monica il

Giusto, concordato sul fatto che è la migliore pratica, ma non incoraggia gli utenti a ottimizzare le soglie delle decisioni.
Matthew Drury,

Gotcha. Capisco cosa intendi!
Sycorax dice di reintegrare Monica il

1
@Sycorax ha provato a modificare per chiarire!
Matthew Drury,
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.