Suponha que eu queira aprender um classificador que prevê se um email é spam. E suponha que apenas 1% dos e-mails sejam spam.
A coisa mais fácil a fazer seria aprender o classificador trivial que diz que nenhum dos emails é spam. Esse classificador nos daria 99% de precisão, mas não aprenderia nada de interessante e teria uma taxa de 100% de falsos negativos.
Para resolver esse problema, as pessoas me disseram para "reduzir a amostra" ou aprender em um subconjunto de dados em que 50% dos exemplos são spam e 50% não são spam.
Mas estou preocupado com essa abordagem, já que quando construímos esse classificador e começamos a usá-lo em um conjunto real de e-mails (em oposição a um conjunto de testes 50/50), pode prever que muitos e-mails são spam quando eles " re realmente não. Só porque está acostumado a ver muito mais spam do que realmente existe no conjunto de dados.
Então, como podemos resolver esse problema?
("Upsampling", ou repetir os exemplos positivos de treinamento várias vezes, para que 50% dos dados sejam exemplos positivos de treinamento, parece ter problemas semelhantes.)