Home topics Downsampling Che cos'è il downsampling?
Esplora il downsampling con watsonx.ai Iscriviti per ricevere gli aggiornamenti sull'AI
Illustrazione con collage di pittogrammi di riquadri e sfere che rappresentano dati

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.

Perché la governance dell'AI è un imperativo per la scalabilità dell'intelligenza artificiale a livello aziendale

Scopri gli ostacoli all'adozione dell'AI, in particolare la mancanza di soluzioni di governance e gestione del rischio dell'AI.

Contenuti correlati

Registrati per leggere la guida sui foundation model

Perché usare il downsampling?

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

Vantaggi e svantaggi del downsampling
Vantaggi
  • Minori requisiti di storage: quando lo storage costa denaro, ad esempio per lo storage su cloud, il downsampling sarebbe preferito all'upsampling per evitare un aumento dei costi.2
  • Addestramento più rapido: il downsampling riduce i set di dati e rende meno intensivo l'addestramento per la CPU o la GPU, il che è più rispettoso dell'economia e dell'ambiente.
  • Meno incline all'overfitting: l'upsampling genera nuovi dati dai vecchi dati, il che può far sì che i modelli si adattino eccessivamente ai dati forniti. Il downsampling, essendo l'opposto (elimina i dati), non soffre di questo problema.2
Svantaggi
  • Perdita di informazioni: l'eliminazione di punti dalla classe di maggioranza può causare una perdita importante di informazioni. Questo può essere un problema se la classificazione della classe di maggioranza deve essere accurata. Un altro problema è se il set di dati diventa troppo piccolo per il modello su cui eseguire l'addestramento.2
  • Distorsione introdotta: i restanti punti campione della classe di maggioranza possono essere un set parziale dei dati originali, che influisce negativamente sulle prestazioni del classificatore.
Tecniche di downsampling
Downsampling casuale

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

Downsampling Near Miss

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:

  • Fase 1: calcola la distanza a coppie tra tutte le istanze della classe di maggioranza-minoranza.
  • Fase 2: in base alle distanze calcolate, rimuovi i casi della classe di maggioranza che sono più lontani dai punti di minoranza.

Esistono tre varianti dell'algoritmo Near Miss che forniscono un modo più definitivo per selezionare le istanze della classe di maggioranza da rimuovere.

  • Versione 1: questa versione mantiene le istanze della classe di maggioranza con la distanza media minima dalle N istanze della classe di minoranza più vicine. I dati risultanti possono potenzialmente essere distribuiti in modo non uniforme, con alcuni punti della classe di maggioranza vicini a molti punti della classe di minoranza e altri vicini a pochissimi, causando sia una bassa precisione che un richiamo.4
  • Versione 2: questa versione di downsampling Near Miss mantiene le istanze della classe maggioritaria con la distanza media minima dalle N istanze della classe di minoranza più lontane. A differenza della prima versione, questa versione crea una distribuzione più uniforme della classe di maggioranza, ottenendo risultati migliori dal classificatore.4
  • Versione 3: questa versione conserva i campioni della classe di maggioranza più vicini per le istanze della classe di minoranza più vicine alla classe di maggioranza. Funziona in due fasi. In primo luogo, vengono mantenuti gli M vicini di classe di maggioranza più vicini di ciascuna istanza di classe di minoranza. Quindi, dalle restanti istanze della classe di maggioranza, vengono identificate e mantenute quelle con la distanza media maggiore. Poiché questa versione mantiene le istanze della classe di maggioranza che sono vicine a molte istanze della classe di minoranza, può avere un'elevata precisione ma un basso richiamo.4
Downsampling con la regola Condensed Nearest Neighbor

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

  1. Creare un nuovo set di dati, S, che contenga tutte le istanze della classe di minoranza e una singola istanza campionata in modo casuale della classe di maggioranza.
  2. Addestrare un classificatore 1-NN sul nuovo set di dati S.
  3. Per tutti i punti dati di classe di maggioranza non presenti in S, utilizzare il classificatore 1-NN per prevedere la sua etichetta. Se il classificatore 1-NN prevede correttamente l'etichetta, scartare il punto. In caso contrario, aggiungerlo a S.

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.

Tomek Link

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.

Edited Nearest Neighbors

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.

Ricerche recenti

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.

Risorse correlate Che cos'è l'upsampling?

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.

Cosa sono le reti neurali convoluzionali?

Le reti neurali convolutive utilizzano dati tridimensionali per le attività di classificazione delle immagini e riconoscimento degli oggetti.

Cos'è la segmentazione delle istanze?

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.

Fai il passo successivo

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

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.