Minha IBM Efetue login Inscreva-se

Início

topics

Downsampling

O que é downsampling?

O que é downsampling?

Explore a subamostragem com o watsonx.ai Inscreva-se para receber atualizações sobre IA
Ilustração com colagem de pictogramas de caixas e esferas representando dados.

Publicado: 15 de junho de 2024
Com a contribuição de: Jacob Murel Ph.D.

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 reamostrar os pontos da classe majoritária. Tanto o scikit-learn do Python quanto o Matlab possuem funções embutidas para implementar técnicas de subamostragem.

A subamostragem na ciência de dados é frequentemente confundido 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 diminuir a frequência de amostragem é frequentemente realizado reduzindo 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 usada 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.

Por que a governança de IA é um imperativo empresarial na ampliação da inteligência artificial empresarial

Saiba mais sobre as barreiras à adoção da IA, particularmente a falta de soluções de governança e gerenciamento de riscos da IA.

Conteúdo relacionado Cadastre-se para receber o guia sobre modelos de base
Por que usar a subamostragem?

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 um modelo treinado para classificar imagens de gatos ou cães. 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 prevê gatos o tempo todo, ele terá 90% de acurácia para classificar gatos, mas 0% para classificar cães. O conjunto de dados desbalanceado, nesse caso, fará com que os classificadores favoreçam a acurácia para a 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 o desequilíbrio possa ser observado ao representar graficamente a contagem de pontos em cada classe, isso não indica se afetará muito o modelo. Felizmente, podemos utilizar métricas de desempenho para avaliar quão bem uma técnica de subamostragem corrige o desequilíbrio de classes. A maioria dessas métricas é aplicada em classificações binárias, com apenas duas classes: positiva e negativa. Normalmente, a classe positiva é a minoritária e a negativa, a majoritária. Duas métricas populares são as curvas ROC (Receiver Operating Characteristic) e as curvas de precisão e recall.1

Vantagens e desvantagens da subamostragem

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 é preferido ao 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 intensivo na CPU ou na 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ária 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, impactando negativamente o desempenho do classificador.
Técnicas de subamostragem

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. Essa é uma forma simples de excluir aleatoriamente um subconjunto de dados para fins de balanceamento. 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 busca 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 fornecem 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.

Existem 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 majoritá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 do 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) busca encontrar um subconjunto de um conjunto de dados que possa ser usado para treinamento sem perda de desempenho do modelo. Isso é alcançado ao identificar um subconjunto que permita treinar um modelo que prediga corretamente todo o conjunto de dados.

A subamostragem da CNN pode ser dividido nos seguintes passos:5

  1. Crie um novo conjunto de dados, S, que contém todas as instâncias da classe minoritária e uma única instância da majoritária selecionada aleatoriamente.
  2. Treine um classificador 1-NN no novo conjunto de dados S.
  3. 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 usando apenas os dados em S. Assim, o conjunto pode ser reduzido significativamente, mantendo bem a fronteira de decisão.

Esta imagem mostra 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

A premissa da subamostragem por Tomek Link é reduzir o ruído nos dados ao remover pontos próximos à fronteira de decisão, aumentando a separação entre classes. Ele funciona identificando "links de Tomek", que são pares de pontos de classes diferentes sem um terceiro ponto mais próximo de nenhum deles.2

Para cada link de Tomek, o ponto pertencente à classe majoritária é removido. Ao remover 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 ao calcular todas as distâncias entre pares de pontos das classes majoritária e minoritária.2 A subamostragem Tomek Link é mais eficaz quando combinada com outras técnicas.

Edited Nearest Neighbors

O subamostragem Edited Nearest Neighbors (ENN) é semelhante ao 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 cujo 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 uma classe diferente ou que a proporção de vizinhos de uma classe distinta excede um determinado limite.

A subamostragem de ENN geralmente é feita com 3 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

Pesquisa recente

Os desenvolvimentos atuais na subamostragem giram em torno de integrações de deep learning. Isso tem sido 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 buscam combiná-la com outras técnicas para criar métodos híbridos. Uma das combinações envolve 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.9 As 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".2 Todas essas abordagens mostram melhor desempenho do que usar cada técnica isoladamente.

Recursos relacionados

Recursos relacionados

O que é upsampling?

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 que são redes neurais convolucionais?

As redes neurais convolucionais utilizam dados tridimensionais em tarefas de classificação de imagens e reconhecimento de objetos.

O que é segmentação de instância?

A segmentação de instâncias é uma tarefa de visão computacional impulsionada por deep learning que prevê os limites exatos, pixel por pixel, de cada instância de objeto individual em uma imagem.

Dê o próximo passo

Treine, valide, ajuste e implemente IA generativa, modelos fundacionais e recursos de machine learning com o IBM watsonx.ai, um estúdio empresarial de última geração para desenvolvedores de IA. Crie aplicações de IA em uma fração do tempo e com muito menos dados.

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, setembro de 2009, https://ieeexplore.ieee.org/document/5128907 (link externo ao site 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 August 2016, https://arxiv.org/pdf/1608.06048 (link externo ao site 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 More, Survey of resampling techniques for improving calssification performance in unbalanced datasets, 22 de agosto de 2016, https://arxiv.org/pdf/1608.06048 (link externo ao site 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 de setembro de 2020, https://ieeexplore.ieee.org/abstract/document/9184909?casa_token=RnLRvnqyiF8AAAAA:iyxPWT06HX6a9g8X1nhShrllo_ht9ZM1cqHMWjET5wOopeR5dqizBF29cSSmFMRPo9V1D7XBIwg (link externo ao site ibm.com).

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

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

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