Data di pubblicazione: 15 giugno 2024
Collaboratori: Jacob Murel Ph.D.
Il downsampling riduce il numero di esempi di dati in un set di dati. In tal modo, mira a correggere i dati sbilanciati e quindi a migliorare le prestazioni del modello.
Il downsampling è una tecnica comune di trattamento dei dati che risolve gli squilibri in un set di dati rimuovendo i dati dalla classe di maggioranza in modo che corrispondano alle dimensioni della classe di minoranza. Questo è contrario all'upsampling, che prevede il ricampionamento dei punti delle classi di minoranza. Sia Python Scikit-learn sia Matlab contengono funzioni integrate per l'implementazione di tecniche di downsampling.
Il downsampling per la data science spesso viene confuso con il downsampling nell'elaborazione digitale dei segnali (DSP). I due sono simili nello spirito. Il downsampling per l'elaborazione del segnale digitale (noto anche come decimazione) è il processo di diminuzione della larghezza di banda e della frequenza di campionamento del campionatore, rimuovendo così una parte dei dati originali dal segnale originale. Il processo di diminuzione della frequenza di campionamento viene spesso effettuato riducendo la frequenza di campionamento di un fattore intero, mantenendo solo uno su ogni ennesimo campione. Questo viene fatto utilizzando un filtro passa basso, altrimenti noto come filtro anti-aliasing, per ridurre le componenti ad alta frequenza/rumore di un segnale a tempo discreto del fattore intero menzionato in precedenza.
Il downsampling per il bilanciamento dei dati può essere confuso anche con il downsampling per l'elaborazione delle immagini. Quando i dati contengono molte funzioni, come nelle immagini MRI ad alta risoluzione, i calcoli possono diventare costosi. Il downsampling nell'elaborazione delle immagini riduce quindi la dimensionalità di ciascun punto dati attraverso la convoluzione. Non è la stessa cosa che bilanciare il set di dati: è una tecnica di ottimizzazione che in seguito richiederà l'interpolazione per recuperare i dati originali.
Scopri gli ostacoli all'adozione dell'AI, in particolare la mancanza di soluzioni di governance e gestione del rischio dell'AI.
Registrati per leggere la guida sui foundation model
Il downsampling è un modo efficace per affrontare gli squilibri all'interno di un set di dati. Un set di dati sbilanciato è definito come un set di dati in cui una classe è fortemente sottorappresentata nel set di dati rispetto alla popolazione reale, creando distorsioni non intenzionali. Ad esempio, immagina che un modello sia addestrato a classificare le immagini come raffiguranti un gatto o un cane. Il set di dati utilizzato è composto da 90% di gatti e 10% di cani. I gatti in questo scenario sono sovrarappresentati e, se abbiamo un classificatore che prevede i gatti ogni volta, produrrà una precisione del 90% per la classificazione dei gatti, ma dello 0% per la classificazione dei cani. Il set di dati squilibrato in questo caso farà sì che i classificatori favoriscano l'accuratezza per la classe maggioritaria a spese della classe minoritaria. Lo stesso problema può verificarsi con i set di dati multi-classe.1
Il processo di downsampling contrasta il problema del set di dati sbilanciato. Identifica i punti della classe di maggioranza da rimuovere in base a criteri specificati. Questi criteri possono cambiare a seconda della tecnica di downsampling scelta. In questo modo si bilancia il set di dati riducendo in modo efficace il numero di campioni per una classe di maggioranza sovrarappresentata, fino a quando il set di dati non contiene un rapporto di punti uguale in tutte le classi.
Anche se gli squilibri possono essere visti semplicemente tracciando i conteggi dei punti dati in ciascuna classe, non ci dice se influiranno molto sul modello. Fortunatamente, possiamo utilizzare le metriche delle prestazioni per valutare l'efficacia di una tecnica di downsampling nella correzione dello squilibrio di classe. La maggior parte di queste metriche riguarderà la classificazione binaria, in cui sono presenti solo due classi: una positiva e una negativa. Di solito, la classe positiva è la classe di minoranza, mentre la classe negativa è la classe di maggioranza. Due metriche popolari sono le curve ROC (Receiver Operating Characteristic) e curve di richiamo preciso.1
Il downsampling casuale è una tecnica di eliminazione in cui i punti casuali nella classe di maggioranza vengono scelti senza sostituzione ed eliminati dal set di dati fino a quando la dimensione della classe di maggioranza non è uguale alla dimensione della classe di minoranza. Questo è un modo semplice per eliminare in modo casuale un sottoinsieme di dati a scopo di bilanciamento. Tuttavia, questa tecnica può causare la scomparsa di modelli o distribuzioni importanti nella classe di maggioranza, influenzando negativamente le prestazioni del classificatore.2
Il downsampling Near Miss è una tecnica che mira a bilanciare la distribuzione delle classi eliminando casualmente alcuni esempi di classi di maggioranza.
Concettualmente, Near Miss opera secondo il principio che i dati dovrebbero essere conservati in luoghi in cui le classi di maggioranza e di minoranza sono molto vicine, poiché questi luoghi ci forniscono informazioni chiave per distinguere le due classi.3 Questi punti sono generalmente noti come punti dati "difficili" da apprendere. Il downsampling Near Miss generalmente avviene in due fasi:
Esistono tre varianti dell'algoritmo Near Miss che forniscono un modo più definitivo per selezionare le istanze della classe di maggioranza da rimuovere.
Condensed Nearest Neighbor (in breve CNN, da non confondere con Convolutional Neural Networks) cerca di trovare un sottoinsieme di un set di dati che possa essere utilizzato per l'addestramento senza perdita di prestazioni del modello. Questo si ottiene identificando un sottoinsieme di dati che può essere utilizzato per addestrare un modello che predice correttamente l'intero set di dati.
Il downsampling CNN può essere suddiviso nelle seguenti fasi:5
Come Near Miss, questo processo essenzialmente rimuove tutti i casi della classe di maggioranza ben lontani dal confine decisionale, che, ancora una volta, sono punti facili da classificare. Garantisce inoltre che tutti i dati del nostro set di dati originale possano essere previsti correttamente utilizzando solo i dati all'interno di S. In questo modo, il set di dati può essere ridotto in modo significativo preservando ragionevolmente bene il limite decisionale.
Questa immagine mostra un esempio di applicazione della regola CNN utilizzando 1 vicino e 21 vicini più prossimi a due set di dati. Le prime due immagini sono prima dell'applicazione della regola, mentre le due inferiori sono dopo. Come si può vedere, il confine decisionale è ragionevolmente ben conservato.
La premessa del downsampling Tomek Link è quella di ridurre il rumore nei dati rimuovendo i punti vicino al confine decisionale e aumentando la separazione delle classi. Il modo in cui funziona è che identifica i "tomek link", un raggruppamento di due punti di classi diverse senza un terzo punto esistente che sia il più vicino a nessuno dei due.2
Per tutti i tomek link, il punto all'interno della classe di maggioranza viene eliminato. Rimuovendo un punto di classe di maggioranza che è vicino a un punto di classe di minoranza, la separazione di classe aumenta. Uno svantaggio di questo metodo è la complessità computazionale del calcolo di tutte le distanze a coppie tra i punti della classe di maggioranza e di minoranza.2 Il downsampling Tomek Link è più efficace se combinato con altre tecniche.
Il downsampling Edited Nearest Neighbor (ENN) è simile al downsampling Tomek Link, in cui l'obiettivo è rimuovere gli esempi vicini al limite decisionale per aumentare la separazione tra le classi. In generale, questo metodo rimuove i punti dati che differiscono per classe dalla maggior parte dei suoi vicini.2 Ciò significa che il processo rimuove i punti dati della classe di maggioranza con la maggioranza dei suoi vicini più prossimi appartenenti alla classe di minoranza e viceversa. La maggioranza in questo contesto può essere definita liberamente: potrebbe significare che almeno un vicino è di una classe diversa o che la proporzione di vicini in una classe diversa supera una certa soglia.
Il downsampling ENN viene solitamente effettuato con 3 vicini più prossimi, come illustrato di seguito.
Si tratta di una strategia a grana più grossa, perché esamina un insieme generale di punti vicini piuttosto che un singolo vicino, ma è un modo efficiente per eliminare il rumore all'interno dei dati. Il downsampling ENN è più efficace se combinato con altre tecniche.
Gli attuali sviluppi nel downsampling ruotano attorno alle integrazioni di deep learning. Questo è stato utilizzato in campi come l'elaborazione delle immagini e i dati medici, che comportano l'utilizzo di reti neurali per il downsampling dei dati.6 Un esempio di questo è SOM-US, che utilizza una rete neurale a due livelli.7 Negli ultimi anni, anche l'apprendimento attivo è stato applicato al downsampling per cercare di mitigare gli effetti dello squilibrio dei dati.8 Gli esperimenti hanno dimostrato che questi modelli hanno prestazioni significativamente migliori rispetto alle tecniche tradizionali.
La ricerca attuale sul downsampling ruota anche attorno alla sua combinazione con altre tecniche per creare tecniche ibride. Una combinazione consiste nel downsampling e nell'upsampling dei dati per ottenere i benefici di entrambi: SMOTE+Tomek Link, Agglomerative Hierarchical Clustering (AHC) e SPIDER sono alcuni esempi.9 Le tecniche a livello di algoritmo possono anche incorporare idee tratte dalle tradizionali tecniche di downsampling, come con Hard Example Mining, in cui la formazione si concentra solo sui punti dati "più difficili".2 Tutti mostrano prestazioni migliori rispetto all'utilizzo di ciascuna tecnica singolarmente.
L'upsampling aumenta il numero di campioni di dati in un set di dati. In questo modo, mira a correggere i dati non in equilibrio e quindi a migliorare le prestazioni del modello.
Le reti neurali convolutive utilizzano dati tridimensionali per le attività di classificazione delle immagini e riconoscimento degli oggetti.
La segmentazione delle istanze è un'attività di computer vision basata sul deep learning che prevede i limiti esatti in pixel di ogni singola istanza dell'oggetto in un'immagine.
1 Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, settembre 2009, https://ieeexplore.ieee.org/document/5128907 (link esterno a ibm.com).
2 Kumar Abhishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, novembre 2023
3 Ajinkya More, Survey of resampling techniques for improving classification performance in unbalanced datasets, 22 agosto 2016, https://arxiv.org/pdf/1608.06048 (link esterno a ibm.com).
4 Jianping Zhang and Inderjeet Mani, kNN Approach to Unbalanced Data Distributions: A Case Study involving Information Extraction, 2003, https://www.site.uottawa.ca/~nat/Workshop2003/jzhang.pdf (link esterno a ibm.com).
5 More, Survey of resampling techniques for improving calssification performance in unbalanced datasets, 22 agosto 2016, https://arxiv.org/pdf/1608.06048 (link esterno a ibm.com). Alberto Fernandez, et al., Learning from Imbalanced Data Sets, Springer, 2018.
6 Md Adnan Arefeen, Sumaiya Tabassum Nimi, and M. Sohel Rahman, Neural Network-Based Undersampling Techniques, IEEE, 02 settembre 2020, https://ieeexplore.ieee.org/abstract/document/9184909?casa_token=RnLRvnqyiF8AAAAA:iyxPWT06HX6a9g8X1nhShrllo_ht9ZM1cqHMWjET5wOopeR5dqizBF29cSSmFMRPo9V1D7XBIwg (link esterno a ibm.com).
7 Ajay Kumar, SOM-US: A Novel Under-Sampling Technique for Handling Class Imbalance Problem, hrcak, 30 gennaio 2024, https://hrcak.srce.hr/clanak/454006 (link esterno a ibm.com).
8 Wonjae Lee and Kangwon Seo, Downsampling for Binary Classification with a Highly Imbalanced Dataset Using Active Learning, Science Direct, 26 aprile 2022, https://www.sciencedirect.com/science/article/pii/S2214579622000089 (link esterno a ibm.com).
9 Alberto Fernandez, et al., Learning from Imbalanced Data Sets, Springer, 2018.