Considere um conjunto de dados que contém um rótulo categórico cujo valor é Positivo ou Negativo. Em um conjunto de dados equilibrado, o número de rótulos Positivo e Negativo é aproximadamente igual. No entanto, se um rótulo for mais comum do que o outro, o conjunto de dados estará desbalanceado. O rótulo predominante em um conjunto de dados desequilibrado é chamado de classe majoritária. O rótulo menos comum é chamado de classe minoritária.
A tabela a seguir mostra nomes e intervalos geralmente aceitos para diferentes graus de desequilíbrio:
Porcentagem de dados pertencentes à 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 em que 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 esse são comuns na medicina, já que a maioria dos sujeitos não tem o vírus.
Às vezes, os conjuntos de dados desequilibrados não contêm exemplos suficientes de classe minoritária para treinar um modelo corretamente. Ou seja, com tão poucos rótulos positivos, o modelo é treinado quase exclusivamente com rótulos negativos e não consegue aprender o suficiente sobre rótulos positivos. Por exemplo, se o tamanho do lote for 50, muitos lotes não terão rótulos positivos.
Muitas vezes, especialmente para conjuntos de dados levemente desequilibrados e alguns moderadamente desequilibrados, o desequilíbrio não é um problema. Portanto, tente primeiro treinar no conjunto de dados original. Se o modelo funcionar bem, você já terminou. Caso contrário, pelo menos o modelo subótimo fornece uma boa referência para experimentos futuros. Depois, você pode tentar as seguintes técnicas para superar os problemas causados por conjuntos de dados desequilibrados.
Redução de amostragem e ponderação
Uma maneira de lidar com um conjunto de dados desequilibrado é reduzir a amostra e aumentar o peso da classe da maioria. Confira as definições dos dois novos termos:
- Subamostragem (neste contexto) significa treinar em um subconjunto desproporcionalmente baixo dos exemplos da classe majoritária.
- Aumento de ponderação significa adicionar um peso de exemplo à classe com subamostragem igual ao fator de subamostragem.
Etapa 1: reduzir a amostra da classe majoritária. Considere o conjunto de dados de vírus mostrado na Figura 5, que tem uma proporção de 1 rótulo positivo para cada 200 rótulos negativos. A redução de amostragem por um fator de 10 melhora o equilíbrio para 1 positivo para 20 negativos (5%). Embora o conjunto de treinamento resultante ainda esteja moderadamente desbalanceado, a proporção de positivos para negativos é muito melhor do que a proporção extremamente desequilibrada original (0,5%).
Etapa 2: aumentar o peso da classe com amostragem reduzida: adicione pesos de exemplo à classe com amostragem reduzida. Depois de reduzir a amostragem em um fator de 10, o peso do exemplo deve ser 10. Sim, isso pode parecer contra-intuitivo, 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 se refere a pesos de exemplo, o que aumenta a importância de um exemplo individual durante o treinamento. Um exemplo de peso de 10 significa que o modelo trata o exemplo como 10 vezes mais importante (ao calcular a perda) do que um exemplo de peso 1.
O peso precisa ser igual ao fator usado para reduzir a amostra:
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
Pode parecer estranho adicionar pesos de exemplo após a redução de amostragem. Afinal, você está tentando melhorar o modelo na classe minoritária. Por que aumentar o peso da classe majoritária? Na verdade, aumentar o peso da classe majoritária tende a reduzir o viés de previsão. Ou seja, o aumento de peso após a subamostragem tende a reduzir o delta entre a média das previsões do modelo e a média dos rótulos do conjunto de dados.
Reequilíbrio de proporções
Qual deve ser a redução da amostra e o aumento do peso para reequilibrar o conjunto de dados? Para determinar a resposta, teste a proporção de reequilíbrio, assim como faria com outros hiperparâmetros. No entanto, a resposta depende dos seguintes fatores:
- O tamanho do lote
- A proporção de desequilíbrio
- O número de exemplos no conjunto de treinamento
O ideal é que cada lote tenha vários exemplos de classes minoritárias. Os lotes que não contêm classes minoritárias suficientes terão um treinamento muito ruim. O tamanho do lote precisa ser várias vezes maior que a proporção de desequilíbrio. Por exemplo, se a proporção de desequilíbrio for 100:1, o tamanho do lote precisará ser de pelo menos 500.
Exercício: testar seu conhecimento
Considere esta situação:
- O conjunto de treinamento contém pouco mais de um bilhão de exemplos.
- O tamanho do lote é 128.
- A proporção de desequilíbrio é 100:1, então o conjunto de treinamento é dividido da seguinte maneira:
- ~1 bilhão de exemplos de classe majoritária.
- ~10 milhões de exemplos de classes minoritárias.