A superamostragem aumenta o número de amostras de dados de um conjunto de dados. Fazendo isso, visa corrigir dados desequilibrados e assim melhorar o desempenho do modelo.
A superamostragem, também conhecida como sobreamostragem, é uma técnica de processamento e otimização de dados que aborda o desequilíbrio de classes em um conjunto de dados adicionando dados. A superamostragem adiciona dados utilizando amostras originais de classes minoritárias até que todas as classes sejam iguais em tamanho. Tanto o Python scikit-learn quanto o Matlab contêm funções integradas para implementar técnicas de superamostragem.
A superamostragem para ciência de dados é muitas vezes confundido com a superamostragem no processamento de sinal digital (DSP). Os dois são semelhantes em espírito, mas distintos. Semelhante à superamostragem em ciência de dados, a superamostragem para DSP cria artificialmente mais amostras em um domínio de frequência a partir de um sinal de entrada (especificamente um sinal de tempo discreto), interpolando taxas de amostragem mais altas. Essas novas amostras são geradas inserindo zeros no sinal original e utilizando um filtro passa-baixo para interpolação. Isso difere de como os dados são ampliados no balanceamento de dados.
A superamostragem para balanceamento de dados também é diferente da superamostragem no processamento de imagens. Neste último, as imagens de alta resolução são primeiro reduzidas em resolução (removendo pixels) para cálculos mais rápidos, após o que a convolução retorna a imagem às suas dimensões originais (reinserindo os pixels).
A superamostragem é uma forma eficaz de lidar com os desequilíbrios em um conjunto de dados. Um conjunto de dados desequilibrado é definido como um conjunto no qual uma classe está fortemente sub-representada em relação à população real, criando um viés não intencional. Por exemplo, imagine que um modelo seja treinado para classificar imagens como um gato ou um cachorro. O conjunto de dados utilizado é composto por 90% de gatos e 10% de cães. Nesse cenário, os gatos estão super-representados e se tivermos um classificador que preveja gatos o tempo todo, ele produzirá uma precisão de 90% para classificar gatos, mas 0% de precisão para classificar cães. O conjunto de dados desequilibrado, nesse caso, fará os classificadores favorecerem a precisão da classe majoritária em detrimento da classe minoritária. O mesmo problema pode ocorrer com conjuntos de dados multiclasse.1
O processo de superamostragem neutraliza o problema do conjunto de dados desequilibrado. Ele preenche o conjunto de dados com pontos sintetizados a partir de características da classe minoritária do conjunto de dados original. Isso equilibra o conjunto de dados aumentando efetivamente o número de amostras para uma classe minoritária sub-representada até que o conjunto de dados contenha uma proporção igual de pontos em todas as classes.
Embora os desequilíbrios possam ser vistos simplesmente plotando as contagens de pontos de dados em cada classe, isso não nos diz se afetará muito o modelo. Felizmente, podemos usar métricas de desempenho para avaliar quão bem uma técnica de superamostragem corrige o desequilíbrio de classes. A maioria dessas métricas será para classificação binária, onde há apenas duas classes: uma positiva e uma negativa. Normalmente, a classe positiva é a minoria enquanto a negativa é a maioria. Duas métricas populares são as curvas ROC (Receiver Operating Characteristic) e as curvas de precisão e recall.1
A sobreamostragem aleatória é o processo de duplicação de pontos de dados aleatórios na classe minoritária até que o tamanho da classe minoritária seja igual ao da classe majoritária.
Embora sejam de natureza semelhante, a sobreamostragem aleatória é diferente da autoinicialização. Bootstrapping é uma técnica de aprendizado em conjunto que refaz a amostra de todas as classes. Por outro lado, a sobreamostragem aleatória refaz a amostra somente da classe minoritária. a sobreamostragem aleatória pode, portanto, ser entendida como uma forma mais especializada de bootstrapping.
Apesar da sua simplicidade, a sobreamostragem aleatória tem limitações. Como a sobreamostragem aleatória apenas adiciona pontos de dados duplicados, pode levar ao overfitting.3 Mas ainda apresenta muitas vantagens em relação a outros métodos: facilidade de implementação, falta de suposições sobre os dados e baixa complexidade de tempo devido ao simples.2
A técnica de sobreamostragem de minorias sintéticas (Synthetic Minority Oversampling Technique, ou SMOTE), é uma técnica de superamostragem proposta pela primeira vez em 2002 que sintetiza novos pontos de dados a partir dos pontos existentes na classe minoritária.4 Consiste no seguinte processo:2
O SMOTE combate o problema de overfitting na sobreamostragem aleatória adicionando novos dados inéditos ao conjunto de dados, em vez de simplesmente duplicar dados pré-existentes. Por isso alguns pesquisadores consideram a SMOTE uma técnica de superamostragem melhor do que a sobreamostragem aleatória.
Por outro lado, a geração de pontos de dados artificiais do SMOTE adiciona ruído extra ao conjunto de dados, possivelmente tornando o classificador mais instável.1 Os pontos sintéticos e o ruído do SMOTE também podem inadvertidamente levar a sobreposições entre as classes de minoria e maioria que não refletem a realidade, levando ao que é chamado de excesso de generalização.5
Uma extensão popular, Borderline SMOTE, é utilizada para combater o problema do ruído artificial do conjunto de dados e para criar pontos de dados "mais difíceis". Os pontos de dados "mais difíceis" são pontos de dados próximos ao limite de decisão e portanto mais difíceis de classificar. Esses pontos mais difíceis são mais úteis no aprendizado do modelo.2
Borderline SMOTE identifica os pontos da classe minoritária próximos de muitos pontos da classe majoritária e os coloca em um conjunto de PERIGO. Os pontos de PERIGO são os pontos de dados “difíceis” de aprender, o que novamente ocorre porque são mais difíceis de classificar em relação aos pontos cercados por pontos de classes minoritárias. Esse processo de seleção exclui pontos cujos vizinhos mais próximos são apenas pontos da classe majoritária contados como ruído. A partir daí, o algoritmo SMOTE continua normalmente utilizando esse conjunto PERIGO .3
A Abordagem de Amostragem Sintética Adaptativa (ADASYN) é semelhante ao Borderline SMOTE, pois gera dados mais difíceis no aprendizado do modelo. Mas também pretende preservar a distribuição dos dados da classe minoritária.6 Faz isso criando primeiro uma distribuição ponderada de todos os pontos de minoria com base no número de exemplos de classe majoritária em sua vizinhança. A partir daí, utiliza pontos de classe minoritária mais próximos da classe majoritária com mais frequência na geração de novos dados.
O processo é o seguinte:2
O aumento de dados cria novos dados criando variações dos dados. O aumento de dados se aplica a uma variedade de campos de aprendizado de máquina.
A forma mais básica de aumento de dados lida com a transformação das entradas brutas do conjunto de dados. Por exemplo, na visão computacional, os aumentos de imagem (corte, desfoque, espelhamento e assim por diante) podem ser utilizados para criar mais imagens para o modelo classificar. Da mesma forma, o aumento de dados também pode ser utilizado em tarefas de processamento de linguagem natural, como substituir palavras por seus sinônimos ou criar frases com semântica equivalente.
Os pesquisadores descobriram que o aumento de dados aumenta efetivamente a precisão do modelo para tarefas de visão computacional e PNL porque adiciona dados semelhantes a um baixo custo. No entanto, é importante observar alguns cuidados antes de executar essas técnicas. Para aumentos geométricos tradicionais, a “segurança” das transformações deve ser verificada antes de executá-las. Por exemplo, girar uma imagem de um “9” faria parecer um “6”, alterando seu significado semântico.7
As extensões SMOTE e o aprendizado profundo têm sido o foco das técnicas de superamostragem nos últimos anos. Esses métodos têm como objetivo melhorar o desempenho do modelo e solucionar algumas das deficiências da amostragem ascendente, como a tendência introduzida na distribuição da classe minoritária.
Alguns desenvolvimentos no SMOTE incluem um SMOTE de probabilidade preditiva minoritária (MPP-SMOTE) que aumenta as amostras com base nas probabilidades estimadas de ver amostras de cada classe minoritária.8 A Técnica de Sobreamostragem Limítrofe Multi-Label (MLBOTE) foi proposta para estender o SMOTE à classificação multiclasse.9 Ambos superaram todas as variantes SMOTE existentes e mantiveram os padrões nos dados originais.
As redes neurais também têm sido utilizadas para desenvolver técnicas de sobreamostragem. As Redes Adversariais Generativas misturaram algum interesse, produzindo resultados promissores, embora o tempo de treinamento torne essa técnica mais lenta do que outros métodos tradicionais de superamostragem.10
1 Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, September 2009, https://ieeexplore.ieee.org/document/5128907 (link fora de ibm.com). (1,2,10)
2 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (link fora de ibm.com). (3,4,6,8,9,12,14-17)
3 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (link fora de ibm.com). Alberto Fernandez, et al., Learning from Imbalanced Data Sets, 2018.
4 Nitesh Chawla, et al., SMOTE: Synthetic Minority Over-sampling Technique, JAIR, 01 June 2002, https://www.jair.org/index.php/jair/article/view/10302 (link fora de ibm.com).
5 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023. Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, September 2009, https://ieeexplore.ieee.org/document/5128907 (link fora de 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, 06 July 2019**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (link resides outside ibm.com).
8 Zhen Wei, Li Zhang, and Lei Zhao, Minority prediction probability based oversampling technique for imbalanced learning, Science Direct, 06 de dezembro de 2022, https://www.sciencedirect.com/science/article/abs/pii/S0020025522014578?casa_token=TVVIEM3xTDEAAAAA:LbzQSgIvuYDWbDTBKWb4ON-CUiTUg0EUeoQf9q12IjLgXFk0NQagfh0bU3DMUSyHL_mjd_V890o (link resides outside ibm.com).
9 Zeyu Teng, et al., Multi-label borderline oversampling technique, ScienceDirect, 14 September 2023, https://www.sciencedirect.com/science/article/abs/pii/S0031320323006519?casa_token=NO8dLh60_vAAAAAA:AWPCvCP8PQG43DvkQFChZF2-3uzB1GJBBtgPURevWe_-aR0-WTbLqOSAsiwxulNAuh_4mIDZx-Y (link resides outside ibm.com).
10 Justin Engelmann and Stefan Lessmann, Conditional Wasserstein GAN-based oversampling of tabular data for imbalanced learning, 15 de julho de 2021, ScienceDirect, https://www.sciencedirect.com/science/article/abs/pii/S0957417421000233?casa_token=O0d1BtspA8YAAAAA:n2Uv3v2yHvjl9APVU9V_13rQ9K_KwT0P__nzd6hIngNcZJE-fmQufDgR6XT1uMmDBHx8bLXPVho (link resides outside ibm.com). Shuai Yang, et al., Fault diagnosis of wind turbines with generative adversarial network-based oversampling method, IOP Science, 12 de janeiro de 2023, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta (link fora de ibm.com).