Classificazione: bias di previsione

Le previsioni di regressione logistica devono essere imparziali. Ossia:

"media delle previsioni" dovrebbe ≈ "media delle osservazioni"

Il pregiudizio di previsione è una quantità che misura la distanza di queste due medie. Ossia:

$$\text{prediction bias} = \text{average of predictions} - \text{average of labels in data set}$$

Un bias di previsione significativo pari a zero indica la presenza di bug nel modello, poiché indica che il modello non è corretto per la frequenza di etichettatura positiva.

Ad esempio, supponiamo che l'1% di tutte le email sia spam. Se non sappiamo niente di una determinata email, prevediamo che è probabile che sia l'1% di spam. Analogamente, un buon modello di spam dovrebbe prevedere in media che le email abbiano l'1% di probabilità di essere spam. In altre parole, se calcoliamo la probabilità media di ogni singola email di spam, il risultato dovrebbe essere dell'1%. Se invece la previsione media del modello ha una probabilità del 20% di essere spam, possiamo concludere che mostra una bias della previsione.

Le possibili cause principali dei bias di previsione sono:

  • Set di funzionalità incompleto
  • Set di dati rumoroso
  • Pipeline di bug
  • Esempio di addestramento con bias
  • Regolarizzazione eccessivamente forte

Potresti essere tentato di correggere il bias di previsione dopo l'elaborazione del modello appreso, ovvero aggiungendo un livello di calibrazione che regola l'output del modello per ridurre il bias di previsione. Ad esempio, se il modello ha bias di +3%, potresti aggiungere un livello di calibrazione che abbassa la previsione media del 3%. Tuttavia, l'aggiunta di un livello di calibrazione è una cattiva idea per i seguenti motivi:

  • Stai risolvendo il sintomo anziché la causa.
  • Hai creato un sistema più fragile che ora devi tenere aggiornato.

Se possibile, evita i livelli di calibrazione. I progetti che utilizzano livelli di calibrazione tendono a fare affidamento su di essi, utilizzando i livelli di calibrazione per correggere tutti i peccati del proprio modello. In definitiva, mantenere i livelli di calibrazione può diventare un incubo.

Differenze nei bucket e nelle previsioni

La regressione logistica prevede un valore compreso tra 0 e 1. Tuttavia, tutti gli esempi etichettati sono esattamente 0 (che significa, ad esempio, "non spam") o esattamente 1 (che significa, ad esempio, "spam"). Pertanto, quando esamini la bias delle previsioni, non puoi determinarla in modo preciso sulla base di un solo esempio; devi esaminare la bias della previsione in un "esempio" di bucket. In altre parole, la bias della previsione per la regressione logistica ha senso solo raggruppando un numero sufficiente di esempi per poter confrontare un valore previsto (ad esempio 0, 392) con i valori osservati (ad esempio 0, 394).

Puoi creare bucket nei seguenti modi:

  • Suddivisione lineare delle previsioni target.
  • Forgiare quantili.

Considera la seguente tabella di calibrazione di un determinato modello. Ogni punto rappresenta un bucket di 1000 valori. Gli assi hanno i seguenti significati:

  • L'asse x rappresenta la media dei valori previsti dal modello per il bucket.
  • L'asse Y rappresenta la media effettiva dei valori nel set di dati di quel bucket.

Entrambi gli assi sono scale logaritmiche.

L'asse X è Previsione; l'asse Y è Etichetta. Per i valori medi e alti della previsione, il bias di previsione è trascurabile. Per i valori di previsione bassi, il bias di previsione è relativamente alto.

Figura 8. Curva di bias della previsione (scala logaritmiche)

Perché le previsioni sono così scarse solo per una parte del modello? Ecco alcune possibilità:

  • Il set di addestramento non rappresenta adeguatamente alcuni sottoinsiemi dello spazio dati.
  • Alcuni sottoinsiemi del set di dati sono più rumorosi di altri.
  • Il modello è eccessivamente regolarizzato. Valuta la possibilità di ridurre il valore di lambda.