Minha IBM Efetue login Inscreva-se

O que é downsampling?

15 de junho de 2024

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

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.

A subamostragem é uma técnica comum de processamento de dados que lida com desequilíbrios em um conjunto de dados removendo dados da classe majoritária até que corresponda ao tamanho da classe minoritária. Essa abordagem se opõe ao superamostragem, que consiste em refazer a amostra dos pontos da classe majoritária. Tanto o scikit-learn do Python quanto o Matlab têm funções internas para implementar técnicas de subamostragem.

A subamostragem na ciência de dados é frequentemente confundida com a subamostragem no processamento digital de sinais (DSP). Os dois são semelhantes em essência. A subamostragem no processamento digital de sinais (também conhecido como dizimação) é o processo de diminuir a largura de banda e a taxa de amostragem, removendo assim parte dos dados do sinal original. O processo de redução da frequência de amostragem é feito frequentemente reduzindo-se a taxa de amostragem por um fator inteiro, mantendo apenas uma a cada nth amostras. Para isso utiliza-se um filtro passa-baixa, também chamado de filtro anti-aliasing, para reduzir as componentes de alta frequência/ruído de um sinal em tempo discreto pelo fator inteiro mencionado anteriormente.

A subamostragem para balanceamento de dados pode ser confundida com a utilizada no processamento de imagens. Quando os dados apresentam muitas características, como em imagens de ressonância magnética de alta resolução, os cálculos podem ficar caros. Portanto, no processamento de imagens, a subamostragem reduz a dimensionalidade de cada ponto de dados por meio de convolução. Isso não equivale a balancear o conjunto de dados: é uma técnica de otimização que depois exigirá interpolação para recuperar os dados originais.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Por que usar a subamostragem?

A subamostragem é 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 subamostragem neutraliza o problema do conjunto de dados desequilibrado. Ele identifica pontos da classe majoritária para remover com base em critérios específicos. Esses critérios podem mudar com a técnica de subamostragem escolhida. Isso equilibra o conjunto de dados ao reduzir efetivamente o número de amostras da classe majoritária super-representada até que o conjunto de dados contenha uma proporção igual de pontos entre todas as classes.

Embora os desequilíbrios possam ser vistos bastando plotar 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 o quanto uma técnica de downsampling 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

Mistura de Especialistas | Podcast

Decodificando a IA: resumo semanal das notícias

Junte-se a 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 da subamostragem

Vantagens

  • .
  • Redução de requisitos de armazenamento: quando o armazenamento tem um custo, como no caso de armazenamento em nuvem, o subamostragem é preferível à superamostragem para evitar o aumento dos custos.2
  • Treinamento mais rápido: a redução da resolução reduz os conjuntos de dados e torna o treinamento menos exigente para a CPU ou a GPU, o que é mais econômico e ecológico.
  • Menor risco de sobreajuste: a superamostragem gera novos dados a partir dos dados antigos, o que pode levar ao sobreajuste dos modelos aos dados. A subamostragem, sendo o oposto (exclui dados), não sofre desse problema.2

Desvantagens

  • .
  • Perda de informações: excluir pontos da classe predominante pode causar perda de informações importantes. Isso pode ser problemático se for necessário a precisão na classificação da classe majoritária. Além disso, o conjunto de dados pode ficar pequeno demais para o modelo treinar.2
  • Viés introduzido: os pontos de amostra restantes da classe majoritária podem formar um conjunto enviesado em relação aos dados originais, afetando negativamente o desempenho do classificador.

Técnicas de subamostragem

Subamostragem aleatória

A subamostragem aleatória é uma técnica de exclusão em que pontos aleatórios da classe majoritária são escolhidos sem reposição e excluídos do conjunto de dados até que o tamanho da classe majoritária seja igual ao da classe minoritária. É uma forma simples de excluir aleatoriamente um subconjunto de dados para fins de equilíbrio. No entanto, essa técnica pode eliminar padrões ou distribuições importantes da classe majoritária, prejudicando o desempenho do classificador.2

Subamostragem Near Miss

A subamostragem Near Miss é uma técnica que procura equilibrar a distribuição de classes eliminando aleatoriamente certos exemplos da classe majoritária.

Conceitualmente, o Near Miss funciona mantendo dados em áreas onde as classes majoritária e minoritária estão muito próximas, pois esses pontos apresentam informações-chave para diferenciá-las.3 Esses pontos são geralmente conhecidos como dados "difíceis" de aprender. A subamostragem Near Miss geralmente opera em duas etapas:

  • .
  • Etapa 1: calcule a distância entre pares de todas as instâncias da classe majoritária e minoritária.
  • Etapa 2: com base nas distâncias calculadas, remova as instâncias da classe majoritária que estão mais distantes dos pontos marginalizados.

Há três variações do algoritmo Near Miss que oferecem uma maneira mais precisa de selecionar as instâncias da classe majoritária para remover.

  • .
  • Versão 1: esta versão mantém as instâncias da classe majoritária com a menor distância média em relação às suas N instâncias mais próximas da mesma classe minoritária. Os dados resultantes podem acabar distribuídos de maneira desigual, com alguns pontos da classe majoritária próximos de muitos pontos da classe minoritária e outros próximos de poucos, resultando em baixa precisão e baixo recall.4
  • .
  • Versão 2: essa versão da subamostragem Near Miss mantém as instâncias da classe majoritária com a menor distância média em relação às N instâncias da classe minoritária mais distantes. Ao contrário da primeira versão, esta versão cria uma distribuição mais uniforme da classe majoritária, resultando em melhores desempenhos do classificador.4
  • .
  • Versão 3: essa versão mantém as amostras da classe majoritária mais próximas das instâncias da classe minoritária que estão mais próximas da classe majoritária. Opera em duas etapas. Primeiro, são mantidos os M vizinhos mais próximos da maioria para cada instância da minoria. Em seguida, entre as instâncias restantes da classe majoritária, aquelas com a maior distância média são identificadas e mantidas. Como essa versão mantém as instâncias da classe majoritária que estão próximas de muitas outras instâncias da mesma classe, ela pode oferecer alta precisão, mas baixo recall.4

Subamostragem utilizando a regra dos vizinhos mais próximos condensada

O Condensed Nearest Neighbors (CNN, não confundir com Convolutional Neural Networks) procura um subconjunto de um conjunto de dados que possa ser utilizado para treinamento sem perda de desempenho do modelo. Isso é conseguido com a identificação de um subconjunto que permita treinar um modelo que prediga corretamente todo o conjunto de dados.

A subamostragem de CNN pode ser dividido nas seguintes etapas:5

  1. .
  2. Crie um novo conjunto de dados, S, contendo todas as instâncias da classe minoritária e uma única instância da majoritária selecionada aleatoriamente.
  3. Treine um classificador 1-NN no novo conjunto de dados S.
  4. Para todos os pontos de dados da classe majoritária não incluídos em S, use o classificador 1-NN para prever o seu rótulo. Se o classificador 1-NN prever corretamente o rótulo, descarte o ponto. Caso contrário, adicione-o a S.
.

Assim como o Near Miss, esse processo basicamente remove todas as instâncias da classe majoritária que estão longe da fronteira de decisão, que mais uma vez são pontos fáceis de classificar. Isso garante que todos os dados do conjunto de dados original possam ser previstos corretamente utilizando somente os dados em S. Assim o conjunto pode ser reduzido significativamente, mantendo razoavelmente bem a fronteira de decisão.

Esta imagem apresenta um exemplo de aplicação dos vizinhos mais próximos condensados, utilizando um vizinho mais próximo e 21 vizinhos mais próximos em dois conjuntos de dados. As duas imagens na parte superior são antes da aplicação dos vizinhos mais próximos condensados, enquanto as duas na parte inferior são depois. Nota-se que a fronteira decisória é mantida de forma satisfatória.

Tomek link

O princípio do downsampling de Tomek Link é reduzir o ruído nos dados, removendo pontos próximos à fronteira de decisão e aumentando a separação entre as classes. Ele funciona identificando "Tomek links", pares de pontos de classes diferentes sem a existência de um terceiro ponto mais próximo de qualquer um deles.2

Para cada link de Tomek, o ponto pertencente à classe majoritária é removido. Removendo-se um ponto da classe majoritária que está próximo de um ponto da classe minoritária, a separação entre as classes aumenta. Uma desvantagem desse método é a complexidade computacional para calcular todas as distâncias entre pares de pontos das classes majoritária e minoritária.2A subamostragem Tomek Link é mais eficaz quando combinada com outras técnicas.

Edited Nearest Neighbors

A subamostragem Edited Nearest Neighbors (ENN) é semelhante à subamostragem de Tomek Link, onde o objetivo é remover os exemplos próximos à linha de decisão para melhorar a separação das classes. Em geral, esse método remove os pontos de dados cuja classe difere da maioria de seus vizinhos.2 Isso significa que o processo elimina pontos da classe majoritária cuja maioria dos vizinhos mais próximos pertence à classe minoritária, e vice-versa. A maioria, nesse contexto, pode ser definida livremente: pode significar que pelo menos um vizinho pertence a outra classe ou que a proporção de vizinhos de uma classe distinta excede um determinado limite.

A subamostragem de ENN geralmente é feita com três vizinhos mais próximos, conforme ilustrado abaixo.

Esta é uma estratégia mais ampla, pois analisa a vizinhança geral dos pontos em vez de um único vizinho, sendo uma forma eficiente de remover ruídos nos dados. A subamostragem ENN é mais eficaz quando combinada com outras técnicas.

Pesquisa recente

Os desenvolvimentos atuais na subamostragem giram em torno de integrações de deep learning. Isso vem sendo aplicado em áreas como processamento de imagens e dados médicos, envolvendo o uso de redes neurais para subamostragem.6 Um exemplo disso é o SOM-US, que utiliza uma rede neural de duas camadas.7 Nos últimos anos, o aprendizado ativo também foi aplicado ao subamostragem para tentar mitigar os efeitos de dados desbalanceados.8 Experimentos demonstraram que esses modelos têm desempenho significativamente superior às técnicas tradicionais.

As pesquisas atuais sobre subamostragem também procuram combiná-la com outras técnicas para criar métodos híbridos. Uma das combinações é subamostrar e superamostrar os dados para aproveitar os benefícios de ambos os sistemas: SMOTE+Tomek Link, Agglomerative Hierarchical Clustering (AHC) e SPIDER são alguns exemplos.9As técnicas a nível de algoritmo também podem incorporar ideias das técnicas tradicionais de subamostragem, como o Hard Example Mining, onde o treinamento se concentra apenas nos pontos de dados "mais difíceis".2Todas essas abordagens mostram melhor desempenho do que usar cada técnica isoladamente.

Soluções relacionadas

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 uma fração do tempo com uma fração dos dados.

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

Use IA para trabalhar em 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 IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

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

2 Kumar Abhishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, novembro de 2023

3 Ajinkya More, Survey of resampling techniques for improving classification performance in unbalanced datasets, 22 de agosto de 2016, https://arxiv.org/pdf/1608.06048 (link fora do 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 externo ao site ibm.com).

5 Mais, Survey of resampling técnicas para melhorar o desempenho de calssification em conjuntos de dados desequilibrados, 22 de agosto de 2016, https://arxiv.org/pdf/1608.06048 (link fora do 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 setembro de 2020, https://ieeexplore.ieee.org/abstract/document/9184909?casa_token=RnLRvnqyiF8AAAAA:iyxPWT06HX6a9g8X1nhShrllo_ht9ZM1cqHMWjET5wOopeR5dqizBF29cSSmFMRPo9V1D7XBIwg (link resides outside ibm.com).

.

7 Ajay Kumar, SOM-US: A Novel Under-Sampling Technique for Handling Class Imbalance Problem, hrcak, 30 de janeiro 2024, https://hrcak.srce.hr/clanak/454006 (link resides outside ibm.com).

.

8 Wonjae Lee and Kangwon Seo, Downsampling for Binary Classification with a Highly Imbalanced Dataset Using Active Learning, Science Direct, 26 April 2022, https://www.sciencedirect.com/science/article/pii/S2214579622000089 (link fora de ibm.com).

.

9 Alberto Fernandez, et al., Learning from Imbalanced Data Sets, Springer, 2018.