Conjuntos de dados: conjuntos de dados desequilibrados

Considere um conjunto de dados que contém um rótulo categórico cujo valor é Positivo ou Negativo. Em um conjunto de dados balanceado, o número de resultados Positivos e negativo é quase igual. No entanto, se um rótulo for mais comum, do outro rótulo, o conjunto de dados será desequilibrado. O rótulo predominante em um conjunto de dados desequilibrado é chamado de classe principal; o rótulo menos comum é chamado de classe minoritária.

A tabela a seguir fornece nomes e intervalos geralmente aceitos para diferentes graus de desequilíbrio:

Porcentagem de dados que pertencem a uma classe minoritária Grau de desequilíbrio
20% a 40% do conjunto de dados Leve
1% a 20% do conjunto de dados Moderado
Menos de 1% do conjunto de dados Extremo

Por exemplo, considere um conjunto de dados de detecção de vírus no qual a classe minoritária representa 0,5% do conjunto de dados e a classe majoritária representa 99,5%. Conjuntos de dados extremamente desequilibrados como este são comuns na medicina, a maioria das pessoas não terá o vírus.

Figura 5. Gráfico de barras com duas barras. Uma barra mostra cerca de 200
            classes negativas a outra barra mostra uma classe positiva.
Figura 5. Conjunto de dados extremamente desequilibrado.

 

Conjuntos de dados desequilibrados às vezes não contêm uma classe minoritária suficiente para treinar um modelo corretamente. Ou seja, com tão poucos rótulos positivos, o modelo treina quase exclusivamente os rótulos negativos e não sabe o suficiente sobre os rótulos positivos. Por exemplo: se o tamanho do lote for 50, muitos lotes não conteriam rótulos positivos.

Frequentemente, especialmente para desequilibrados leves e alguns moderadamente desequilibrados conjuntos de dados, o desequilíbrio não é um problema. Portanto, você deve tentar primeiro no conjunto de dados original. Se o modelo funcionar bem, está tudo pronto. Caso contrário, pelo menos o modelo abaixo do ideal oferece um bom valor de referência para experimentos futuros. Depois, é possível tentar as técnicas a seguir para resolver problemas por causa de conjuntos de dados desequilibrados.

Redução de amostragem e aumento de ponderação

Uma maneira de lidar com um conjunto de dados desequilibrado é reduzir a amostragem e aumentar o peso a classe majoritária. Veja a seguir as definições desses dois novos termos:

  • Redução de amostragem (neste contexto) significa treinar em um subconjunto desproporcionalmente baixo da classe majoritária exemplos.
  • Aumento da ponderação significa adicionar um peso do exemplo para a classe reduzida igual ao fator pelo qual você reduzir a amostragem.

Etapa 1: reduzir a amostragem da classe majoritária Considere que conjunto de dados de vírus que tem uma proporção de 1 rótulo positivo para cada 200 rótulos negativos rótulos. Redução de amostragem por um fator de 20 aumenta o equilíbrio para 1 positivo a 10 negativos (10%). Embora o conjunto de treinamento resultante ainda estiver moderadamente desequilibrado, a proporção positivos para negativos é muito melhor do que o original extremamente desequilibrado (0,5%).

Figura 6. Gráfico de barras com duas barras. Uma barra mostra 20 pontos negativos
            aulas; a outra barra mostra uma classe positiva.
Figura 6. Redução de amostragem.

 

Etapa 2: aumentar a ponderação da classe reduzida: adicionar um exemplo para a classe reduzida. Depois de reduzir a amostragem por um fator de 20, o o peso do exemplo deve ser 20. (Sim, isso pode parecer contraditório, mas vamos explicar o motivo mais adiante.)

Figura 7. Um diagrama de duas etapas de redução de amostragem e aumento de peso.
            Etapa 1: a redução de amostragem extrai exemplos aleatórios da maioria
            . Etapa 2: a ponderação adiciona peso à amostra reduzida
            exemplos.
Figura 7. Levantando peso.

 

O termo peso não se refere aos parâmetros do modelo (como w1 ou w2). Aqui, peso refere-se a pesos de exemplo, o que aumenta a importância de um exemplo individual durante o treinamento. Um exemplo de peso 10 significa que o modelo trata o exemplo como 10 vezes mais importante (ao computar perdas) do que um exemplo de peso 1.

O peso precisa ser igual ao fator usado para reduzir a amostragem:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

Pode parecer estranho adicionar pesos de exemplo após a redução de amostragem. Afinal, você é tentando fazer o modelo melhorar em relação à classe minoritária, então, por que fortalecer a da maioria do público? Incentivar a classe majoritária tende a reduzir viés de previsão. Ou seja, o aumento da ponderação após a redução da amostragem tende a reduzir o delta entre a média das previsões do seu modelo e a média dos rótulos do conjunto de dados.

Proporções de rebalanceamento

Quanto você deve reduzir e aumentar o peso para reequilibrar seu conjunto de dados? Para determinar a resposta, teste a proporção de rebalanceamento, assim como você experimentaria com outros hiperparâmetros. Dito isso, a resposta depende dos seguintes fatores:

  • O tamanho do lote
  • A razão de desequilíbrio
  • O número de exemplos no conjunto de treinamento

O ideal é que cada lote contenha vários exemplos de classe minoritária. Lotes que não contêm classes minoritárias suficientes terão um treinamento muito ruim. O tamanho do lote deve ser várias vezes maior do que a proporção de desequilíbrio. Por exemplo, se a proporção de desequilíbrio for 100:1, o tamanho do lote deverá pelo menos 500.

Exercício: testar seu conhecimento

Considere esta situação:

  • O tamanho do lote é 128.
  • A razão de desequilíbrio é de 100:1.
  • O conjunto de treinamento contém um bilhão de exemplos.
Quais das seguintes afirmações são verdadeiras?
Aumentar o tamanho do lote para 1.024 melhora o resultado um modelo de machine learning.
Com um tamanho de lote de 1.024, cada lote terá uma média de 10 de classes minoritárias, que devem ser suficientes para o treinamento. Sem redução de amostragem, o conjunto de treinamento continua contendo bilhões de exemplos.
Redução de amostragem (e ponderação) para 20:1, mantendo o tamanho do lote como 128, vai melhorar o modelo resultante.
Cada lote terá a média de cerca de nove exemplos de classe minoritária, o que deve ser suficientes para o treinamento. A redução da amostragem reduz de maneira eficaz o número de exemplos no conjunto de treinamento de um bilhão 40 milhões.
Não há problema algum com a situação atual.
A maioria dos lotes não contém classes minoritárias suficientes para treinar um um modelo de machine learning.