Considera un set di dati contenente un'etichetta categorica il cui valore è Positivo o Negativo. In un set di dati equilibrato, il numero di etichette Positive e Negative è approssimativamente uguale. Tuttavia, se un'etichetta è più comune dell'altra, il set di dati è sbilanciato. L'etichetta predominante in un set di dati sbilanciato è chiamata classe di maggioranza; l'etichetta meno comune è chiamata classe di minoranza.
La tabella seguente fornisce nomi e intervalli generalmente accettati per diversi gradi di squilibrio:
Percentuale di dati appartenenti alla classe di minoranza | Grado di squilibrio |
---|---|
20-40% del set di dati | Moderato |
1-20% del set di dati | Moderato |
<1% del set di dati | Estremo |
Ad esempio, prendiamo in considerazione un set di dati per il rilevamento di virus in cui la classe di minoranza rappresenta lo 0,5% del set di dati e la classe di maggioranza il 99,5%. Set di dati estremamente sbilanciati come questo sono comuni in medicina poiché la maggior parte dei soggetti non avrà il virus.
A volte i set di dati sbilanciati non contengono esempi di classi minoritarie sufficienti per addestrare un modello correttamente. In altre parole, con così poche etichette positive, il modello viene addestrato quasi esclusivamente sulle etichette negative e non riesce ad apprendere abbastanza sulle etichette positive. Ad esempio, se la dimensione del batch è 50, molti batch non conterranno etichette positive.
Spesso, soprattutto per i set di dati leggermente sbilanciati e alcuni moderatamente sbilanciati, lo sbilanciamento non è un problema. Pertanto, prova prima a eseguire l'addestramento sul set di dati originale. Se il modello funziona bene, non devi fare altro. In caso contrario, almeno il modello non ottimale fornisce un buon valore di riferimento per gli esperimenti futuri. In seguito, puoi provare le seguenti tecniche per superare i problemi causati da set di dati sbilanciati.
Riduzione del campionamento e aumento del peso
Un modo per gestire un set di dati sbilanciato è ridurre il campione e aumentare il peso della classe di maggioranza. Ecco le definizioni di questi due nuovi termini:
- Downsampling (in questo contesto) significa addestramento su un sottoinsieme sproporzionatamente ridotto degli esempi della classe di maggioranza.
- Per sovrap ponderazione si intende l'aggiunta di un peso dell'esempio alla classe sottocampionata uguale al fattore per cui è stato eseguito il sottocampionamento.
Passaggio 1: riduci il campione della classe di maggioranza. Prendi in considerazione il set di dati sui virus mostrato nella Figura 5, che ha un rapporto di 1 etichetta positiva ogni 200 etichette negative. Il sottocampionamento di un fattore 10 migliora il rapporto a 1 positivo ogni 20 negativi (5%). Sebbene il set di addestramento risultante sia ancora moderatamente sbilanciato, la proporzione di esempi positivi rispetto a quelli negativi è molto migliore rispetto alla proporzione estremamente sbilanciata originale (0,5%).
Passaggio 2: aumenta il peso della classe sottocampionata: aggiungi i pesi esempi alla classe sottocampionata. Dopo il sottocampionamento per un fattore di 10, il peso dell'esempio deve essere 10. Sì, può sembrare controintuitivo, ma lo spiegheremo più avanti.
Il termine peso non si riferisce ai parametri del modello (ad es. w1 o w2). Qui, peso si riferisce ai pesi degli esempi, che aumentano l'importanza di un singolo esempio durante l'addestramento. Un peso dell'esempio pari a 10 indica che il modello lo considera 10 volte più importante (durante il calcolo della perdita) rispetto a un esempio con un peso pari a 1.
Il peso deve essere uguale al fattore utilizzato per il sottocampionamento:
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
Potrebbe sembrare strano aggiungere pesi di esempio dopo il sottocampionamento. Dopotutto, stai tentando di migliorare il modello per la classe di minoranza, quindi perché dare più peso alla classe di maggioranza? Infatti, l'aumento del peso della classe di maggioranza tende a ridurre il bias di previsione. In altre parole, l'aumento del peso dopo il sottocampionamento tende a ridurre il delta tra la media delle previsioni del modello e la media delle etichette del set di dati.
Rapporti di ribilanciamento
Quanto devi ridurre il campione e aumentare il peso per ristabilire l'equilibrio del set di dati? Per determinare la risposta, devi fare esperimenti con il rapporto di riadattamento, come faresti con altri iperparametri. Detto questo, la risposta dipende in ultima analisi dai seguenti fattori:
- La dimensione del batch
- Il rapporto di squilibrio
- Il numero di esempi nel set di addestramento
Idealmente, ogni batch dovrebbe contenere più esempi di classi di minoranza. I batch che non contengono un numero sufficiente di classi di minoranza avranno un'addestramento molto scarso. La dimensione del batch deve essere molte volte maggiore del rapporto di sbilanciamento. Ad esempio, se il rapporto di sbilanciamento è 100:1, la dimensione del batch deve essere almeno 500.
Esercizio: verifica di aver compreso
Considera la seguente situazione:
- Il set di addestramento contiene poco più di un miliardo di esempi.
- La dimensione del batch è 128.
- Il rapporto di sbilanciamento è 100:1, quindi il set di addestramento è suddiviso come segue:
- Circa 1 miliardo di esempi di classe di maggioranza.
- Circa 10 milioni di esempi di classi di minoranza.