O que é upsampling?

Funcionários de empresa trabalhando em desenvolvimento de software e escritório de designer

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

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).

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Por que usar o upsampling?

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

Mixture of Experts | 28 de agosto, episódio 70

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Vantagens e desvantagens do upsampling

Vantagens

  • .
  • Sem perda de informações: ao contrário do downsampling, que remove os pontos de dados da classe majoritária, a superamostragem gera novos pontos de dados, evitando qualquer perda de informações.
  • Aumente os dados a baixo custo: a superamostragem é especialmente eficaz e, muitas vezes, é a única maneira de aumentar o tamanho do conjunto de dados sob demanda em casos em que os dados só podem ser adquiridos por meio de observação. Por exemplo, certas condições médicas são simplesmente raras demais para possibilitar a coleta de mais dados.

Desvantagens

  • .
  • Overfitting: como a superamostragem cria novos dados com base nos dados de classe minoritária existentes, o classificador pode ser sobreajustado aos dados. A amostragem pressupõe que os dados existentes capturam adequadamente a realidade. Se não for esse o caso, o classificador pode não conseguir generalizar muito bem.
  • Ruído de dados: a superamostragem pode aumentar a quantidade de ruído nos dados, reduzindo a confiabilidade e o desempenho do classificador.2
  • Complexidade computacional: aumentando-se a quantidade de dados, o treinamento do classificador será mais caro computacionalmente, o que pode ser um problema no uso da computação em nuvem.2

Técnicas de upsampling

Oversampling aleatório

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

SMOTE

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

  1. .
  2. Encontre os K vizinhos mais próximos de todos os pontos de dados da classe minoritária. K geralmente é 5.
  3. Repita as etapas 3 a 5 para cada ponto de dados de classe minoritária:
  4. Escolha um dos K vizinhos mais próximos do ponto de dados.
  5. Escolha um ponto aleatório no segmento de linha que conecta esses dois pontos no espaço de recurso para gerar uma nova amostra de saída. Esse processo é conhecido como interpolação.
  6. Dependendo de quanto superamostragem desejar, repita as etapas 3 e 4 utilizando outro vizinho mais próximo.
.

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

SMOTE limítrofe

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

ADASYN

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

  1. .
  2. Crie um modelo KNN em todo o conjunto de dados.
  3. Cada ponto da classe minoritária recebe um "fator de dificuldade", simbolizado por r, que é a razão entre o número de pontos da classe majoritária e o número total de vizinhos no KNN.
  4. Como o SMOTE, os pontos gerados sinteticamente são uma interpolação linear entre os dados minoritários e seus vizinhos, mas o número de pontos gerados se ajusta de acordo com o grau de dificuldade de um ponto. O que isso faz é gerar mais pontos em áreas com menos dados de minorias e menos pontos em áreas com mais.
.

Transformação/aumentos de dados

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

Pesquisa recente

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

Soluções relacionadas
IBM® watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em menos tempo com menos dados.

Explore o watsonx.ai
Soluções de inteligência artificial

Coloque a IA em ação na sua empresa com a experiência em IA líder do setor e com o portfólio de soluções da IBM.

Explore as soluções de IA
Consultoria e serviços em inteligência artificial (IA)

Os serviços de IA da IBM Consulting ajudam a reinventar a forma como as empresas trabalham com IA para gerar transformação.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real
Notas de rodapé

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).