Início
topics
Upsampling
Publicado em: 29 de abril de 2024
Colaboradores: Jacob murel Ph.D.
O upsampling aumenta o número de amostras de dados de um conjunto de dados. Fazendo isso, ele visa corrigir dados desequilibrados e, assim, melhorar o desempenho do modelo.
O upsampling, também conhecido como oversampling, é uma técnica de processamento e otimização de dados que aborda o desequilíbrio de classes em um conjunto de dados adicionando dados. O upsampling 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 upsampling.
O aumento da amostragem para ciência de dados é muitas vezes confundido com o aumento da amostragem no processamento de sinal digital (DSP). Os dois são semelhantes em espírito, mas distintos. Semelhante ao upsampling em ciência de dados, o upsampling 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 amostragem para balanceamento de dados também é diferente da amostragem 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 (adicionando pixels de volta).
Saiba mais sobre as barreiras à adoção da IA, particularmente a falta de soluções de governança e gerenciamento de riscos da IA.
O upsampling é uma maneira eficaz de lidar com o desequilíbrio em um conjunto de dados. Um conjunto de dados desequilibrado é definido como um conjunto de dados no qual uma classe está muito sub-representada no conjunto de dados em relação à população real, criando vieses não intencionais. Por exemplo, imagine que um modelo seja treinado para classificar imagens como mostrando um gato ou um cachorro. O conjunto de dados utilizado é composto por 90% de gatos e 10% de cães. Os gatos neste cenário estão super-representados e, se tivermos um classificador prevendo gatos todas as vezes, ele produzirá uma precisão de 90% para classificar gatos, mas 0% de precisão para classificar cães. O conjunto de dados desequilibrado, neste caso, fará com que os classificadores privilegiem a precisão para a classe majoritária em detrimento da classe minoritária. O mesmo problema pode surgir com conjuntos de dados multiclasse.1
O processo de aumento da amostragem 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 isso afetará muito o modelo. Felizmente, podemos usar métricas de desempenho para avaliar o quanto uma técnica de upsampling corrige o desequilíbrio de classe. A maioria dessas métricas será para classificação binária, em que há apenas duas classes: uma positiva e uma negativa. Normalmente, a classe positiva é a classe minoritária, enquanto a classe negativa é a classe majoritária. Duas métricas populares são as curvas ROC (Receiver Operating Characteristic, característica de operação do receptor) e as curvas de precisão-recall.1
O oversampling aleatório é o processo de duplicar 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, o oversampling aleatório é diferente da autoinicialização. Bootstrapping é uma técnica de aprendizado em conjunto que refaz a amostra de todas as classes. Por outro lado, o oversampling aleatório refaz a amostra somente da classe minoritária. O oversampling aleatório pode, portanto, ser entendida como uma forma mais especializada de bootstrapping.
Apesar de sua simplicidade, o oversampling aleatória tem limitações. Como o oversampling aleatório apenas adiciona pontos de dados duplicados, ela pode levar ao sobreajuste.3 Mas ainda tem 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 a um algoritmo simples.2
A técnica de oversampling de minorias sintéticas, ou SMOTE, é uma técnica de upsampling 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 sobreajuste 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 o SMOTE uma técnica de aumento de amostragem 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 para o modelo aprender.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 comparação com 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, que são contados como ruído. A partir daí, o algoritmo SMOTE continua normalmente utilizando esse conjunto DANGER.3
A Abordagem de Amostragem Sintética Adaptativa (ADASYN) é semelhante ao Borderline SMOTE, pois gera dados mais difíceis para o modelo aprender. Mas também pretende preservar a distribuição dos dados da classe minoritária.6 Ele 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í, ele usa 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 upsampling 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 usadas para desenvolver técnicas de sobreamostragem. 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 upsampling.10
A redução da amostragem diminui o número de amostras de dados em um conjunto de dados. Fazendo isso, ele visa corrigir dados desequilibrados e assim melhorar o desempenho do modelo.
No aprendizado de máquina, o overfitting ocorre quando um algoritmo se adapta muito ou até mesmo de forma precisa aos dados de treinamento, resultando em um modelo que não consegue fazer previsões ou conclusões precisas de outros dados que não sejam os de treinamento.
O machine learning (ML) é um ramo da IA e da ciência da computação que se concentra no uso de dados e algoritmos para permitir que a IA imite a forma de aprendizado dos humanos, melhorando gradualmente a precisão.
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 e Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, novembro de 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, novembro de 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, 1.° de junho de 2002, https://www.jair.org/index.php/jair/article/view/10302 (link fora do site ibm.com).
5 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, novembro de 2023. Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, setembro de 2009, https://ieeexplore.ieee.org/document/5128907 (link fora do site 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 de julho de 2019**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (link fora do site ibm.com).
8 Zhen Wei, Li Zhang, and Lei Zhao, Minority prediction probability based oversampling technique for imbalanced learning, Science Direct, 6 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 de setembro de 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 do site ibm.com).