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