Data di pubblicazione: 29 aprile 2024
Collaboratori: Jacob Murel Ph.D.
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.
L'upsampling, altrimenti noto come oversampling, è una tecnica di ottimizzazione e trattamento dei dati che affronta gli squilibri di classe in un set di dati aggiungendo dati. L'upsampling aggiunge dati utilizzando campioni originali provenienti da classi minoritarie fino a quando tutte le classi sono di dimensioni uguali. Sia Python Scikit-learn sia Matlab contengono funzioni integrate per l'implementazione di tecniche di upsampling.
L'upsampling per la data science spesso viene scambiato per upsampling nell'elaborazione digitale dei segnali (DSP). I due sono simili nello spirito ma distinti. Analogamente all'upsampling nella data science, l'upsampling per DSP crea artificialmente più campioni in un dominio di frequenza da un segnale di input (in particolare un segnale a tempo discreto) interpolando frequenze di campionamento più elevate. Questi nuovi campioni vengono generati inserendo zero nel segnale originale e utilizzando un filtro a basso passaggio per l'interpolazione. Questo è diverso dal modo in cui i dati vengono sovracampionati nel bilanciamento dei dati.
Anche l'upsampling per il bilanciamento dei dati è distinto dall'upsampling nell'elaborazione delle immagini. In quest'ultimo caso, le immagini ad alta risoluzione vengono prima ridotte nella risoluzione (rimuovendo i pixel) per calcoli più veloci, dopodiché la convoluzione riporta l'immagine alle dimensioni originali (aggiungendo pixel posteriori).
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
L'upsampling è un modo efficace per affrontare lo squilibrio 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 upsampling contrasta il problema del set di dati sbilanciato. Popola il set di dati con punti sintetizzati dalle caratteristiche della classe minoritaria del set di dati originale. In questo modo si bilancia il set di dati aumentando di fatto il numero di campioni per una classe di minoranza sottorappresentata, 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 upsampling 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
L'oversampling casuale è il processo di duplicazione di punti dati casuali nella classe minoritaria fino a quando la dimensione della classe minoritaria non è uguale alla classe maggioritaria.
Sebbene siano di natura simile, l'oversampling casuale è distinto dal bootstrapping. Il bootstrapping è una tecnica di apprendimento dell'insieme che ricampiona da tutte le classi. Al contrario, l'oversampling casuale ricampiona solo dalla classe di minoranza. L'oversampling casuale può quindi essere inteso come una forma più specializzata di bootstrapping.
Nonostante la sua semplicità, l'oversampling casuale presenta tuttavia dei limiti. Dal momento che l'oversampling casuale aggiunge solo punti di dati duplicati, può comportare l'overfitting.3 Ma presenta ancora numerosi vantaggi rispetto ad altri metodi: la sua facilità di implementazione, la mancanza di assunzioni estese sui dati e la complessità a breve termine a causa di un algoritmo semplice.2
La Synthetic Minority Oversampling Technique, o SMOTE, è una tecnica di upsampling proposta per la prima volta nel 2002 che sintetizza nuovi punti dati dai punti esistenti nella classe di minoranza.4 È costituita dal seguente processo:2
SMOTE contrasta il problema dell'overfitting nell'oversampling casuale, aggiungendo nuovi dati inediti al set di dati, anziché duplicare semplicemente i dati preesistenti. Per questo motivo, alcuni ricercatori considerano SMOTE una tecnica di upsampling migliore rispetto all'oversampling casuale.
D'altro canto, la generazione di punti dati artificiali di SMART aggiunge ulteriore rumore al set di dati, rendendo potenzialmente più instabile il classificatore.1 Anche i punti sintetici e il rumore proveniente dalla SMOTE possono inavvertitamente causare sovrapposizioni tra le classi di minoranza e maggioranza che non riflettono la realtà, causando un'eccessiva generalizzazione.5
Un'estensione popolare, Borderline SMOTE, viene utilizzata per combattere il problema del rumore artificiale del set di dati e per creare punti di dati "più difficili". I punti dati "più difficili" sono punti dati vicini al limite decisionale e quindi più difficili da classificare. Questi punti più difficili sono più utili per l'apprendimento del modello.2
Borderline SMOTE individua i punti della classe di minoranza che sono vicini a numerosi punti della classe di maggioranza e li inserisce in un set di PERICOLO. I punti PERICOLO sono i punti dati "difficili" da apprendere, il che è ancora una volta dovuto al fatto che sono più difficili da classificare rispetto ai punti circondati da punti di classe minoritaria. Questo processo di selezione esclude i punti i cui nearest neighbors sono punti solo della classe maggioritaria, conteggiati come rumore. Da lì, l'algoritmo SMOTE continua normalmente utilizzando questo set PERICOLO.3
L'Adaptive Synthetic Sampling Approach (ADASYN) è simile alla Borderline SMOTE in quanto genera dati più difficili da apprendere per il modello. Tuttavia, mira anche a preservare la distribuzione dei dati delle classi di minoranza.6 Lo fa creando innanzitutto una distribuzione ponderata di tutti i punti di minoranza in base al numero di esempi di classe di maggioranza nel suo neighborhood. Da lì, utilizza più spesso i punti delle classi di minoranza più vicini alla classe di maggioranza per generare nuovi dati.
Il processo è il seguente:2
L'aumento dei dati crea nuovi dati attraverso la creazione di varianti dei dati stessi. L'aumento dei dati si applica in una varietà di campi dell'apprendimento automatico.
La forma più elementare di aumento dei dati consiste nel trasformare gli input grezzi del set di dati. Ad esempio, nella computer vision, gli aumenti delle immagini (ritaglio, sfocatura, mirroring e così via) possono essere utilizzati per creare più immagini che il modello deve classificare. Allo stesso modo, l'aumento dei dati può essere utilizzato anche in attività di elaborazione del linguaggio naturale, come la sostituzione di parole con sinonimi o la creazione di frasi semanticamente equivalenti.
I ricercatori hanno scoperto che l'aumento dei dati aumenta in modo efficace l'accuratezza del modello per le attività di computer vision e NLP, in quanto aggiunge dati simili a basso costo. Tuttavia, è importante rispettare alcune precauzioni prima di mettere in pratica queste tecniche. Per gli aumenti geometrici tradizionali, la "sicurezza" delle trasformazioni deve essere esaminata prima dell'esecuzione. Ad esempio, la rotazione l'immagine del numero "9", lo farebbe sembrare un "6", cambiandone il significato semantico.7
Negli ultimi anni le estensioni SMOTE e il deep learning sono stati al centro delle tecniche di upsampling. Questi metodi tendono a migliorare le prestazioni del modello e a risolvere alcune delle carenze dell'upsampling, come l'introduzione di distorsioni nella distribuzione della classe di minoranza.
Alcuni sviluppi nella SMOTE includono una SMOTE (MPP-SMOTE), che si basa sulle probabilità stimate di vedere i campioni di ciascuna classe di minoranza.8 La MLBOTE (Multi-Label Borderline Oversampling Technique) è stata proposta per estendere la SMOTE nella classificazione a più classi.9 Entrambe hanno superato le prestazioni di tutte le varianti SMOTE esistenti e hanno mantenuto i modelli nei dati originali.
Le reti neurali sono state utilizzate anche per sviluppare tecniche di oversampling. Le Generative Adversarial Networks hanno suscitato un certo interesse, producendo risultati promettenti, anche se l'elevato tempo di addestramento rende questa tecnica più lenta rispetto ad altri metodi tradizionali di upsampling.10
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.
Nell'apprendimento automatico, l'overfitting si verifica quando un algoritmo si adatta in modo troppo preciso o addirittura precisamente ai suoi dati di addestramento, dando luogo a un modello che non è in grado di effettuare previsioni o conclusioni accurate da dati diversi rispetto ai dati di addestramento.
L'apprendimento automatico (ML) è una branca dell'AI e dell'informatica che si concentra sull'utilizzo di dati e algoritmi che consentono all'AI di imitare il modo in cui gli esseri umani imparano, migliorandone gradualmente l'accuratezza.
1 Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, Settembre 2009, https://ieeexplore.ieee.org/document/5128907 (link esterno a ibm.com). (1, 2, 10)
2 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, Novembre 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (link esterno a ibm.com). (3, 4, 6 , 8, 9, 12, 14-17)
3 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, Novembre 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (link esterno a ibm.com). Alberto Fernandez, et al., Learning da Imbalanced Data Sets, 2018.
4 Nitesh Chawla, et al., SMOTE: Synthetic Minority Over-sampling Technique, JAIR, 1 giugno 2002, https://www.jair.org/index.php/jair/article/view/10302 (link esterno a ibm.com).
5 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, Novembre 2023. Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, Settembre 2009, https://ieeexplore.ieee.org/document/5128907 (link esterno a ibm.com).
6 Alberto Fernandez, et al., Learning from Imbalanced Data Sets, Springer, 2018.
7 Connor Shorten and Taghi Khoshgoftaar, A survey on Image Data Augmentation for Deep Learning, Springer, 6 luglio 2019**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (link esterno a ibm.com).
8 Zhen Wei, Li Zhang, and Lei Zhao, Minority prediction probability based oversampling technique for imbalanced learning, Science Direct, 6 dicembre 2022, https://www.sciencedirect.com/science/article/abs/pii/S0020025522014578?casa_token=TVVIEM3xTDEAAAAA:LbzQSgIvuYDWbDTBKWb4ON-CUiTUg0EUeoQf9q12IjLgXFk0NQagfh0bU3DMUSyHL_mjd_V890o (link esterno a ibm.com).
9 Zeyu Teng, et al., Multi-label borderline oversampling technique, ScienceDirect, 14 settembre 2023, https://www.sciencedirect.com/science/article/abs/pii/S0031320323006519?casa_token=NO8dLh60_vAAAAAA:AWPCvCP8PQG43DvkQFChZF2-3uzB1GJBBtgPURevWe_-aR0-WTbLqOSAsiwxulNAuh_4mIDZx-Y (link esterno a ibm.com).
10 Justin Engelmann and Stefan Lessmann, Conditional Wasserstein GAN-based oversampling of tabular data for imbalanced learning, 15 luglio 2021, ScienceDirect, https://www.sciencedirect.com/science/article/abs/pii/S0957417421000233?casa_token=O0d1BtspA8YAAAAA:n2Uv3v2yHvjl9APVU9V_13rQ9K_KwT0P__nzd6hIngNcZJE-fmQufDgR6XT1uMmDBHx8bLXPVho (link esterno a ibm.com). Shuai Yang, et al., Fault diagnosis of wind turbines with generative adversarial network-based oversampling method, IOP Science, 12 gennaio 2023, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta (link esterno a ibm.com).