Aprendizado supervisionado com eventos "raros", quando a raridade é devida ao grande número de eventos contra-factuais

13

Suponha que você observe "correspondências" entre compradores e vendedores em um mercado. Você também observa as características de compradores e vendedores que gostaria de usar para prever correspondências futuras e fazer recomendações para os dois lados do mercado.

Para simplificar, suponha que haja N compradores e N vendedores e que cada um encontre uma correspondência. Existem N correspondências e (N-1) (N-1) não correspondências. O conjunto de dados de treinamento com tudo incluído possui observações N + (N-1) * (N-1), que podem ser proibitivamente grandes. Parece que a amostragem aleatória das não correspondências (N-1) (N-1) e o treinamento de um algoritmo com dados reduzidos podem ser mais eficientes. Minhas perguntas são:

(1) A amostragem das não correspondências para criar um conjunto de dados de treinamento é uma maneira razoável de lidar com esse problema?

(2) Se (1) for verdadeiro, existe uma maneira rigorosa de decidir qual o tamanho de um pedaço de (N-1) (N-1) a ser incluído?

John Horton
fonte

Respostas:

11

Se bem entendi, você tem um problema de classificação de duas classes, em que a classe positiva (correspondências) é rara. Muitos classificadores lutam contra esse desequilíbrio de classe, e é prática comum subamostrar a classe majoritária para obter melhor desempenho, portanto a resposta para a primeira pergunta é "sim". No entanto, se você fizer uma subamostragem em demasia, você terminará com um classificador que superestima a classe positiva minoritária; portanto, a melhor coisa a fazer é escolher a ração de subamostragem para maximizar o desempenho, talvez minimizando a interferência. erro de validação em que os dados de teste não foram subamostrados para obter uma boa indicação do desempenho operacional.

Se você tiver um classificador probabilístico, que forneça uma estimativa da probabilidade de pertencer a uma classe, você poderá melhorar e pós-processar a saída para compensar a diferença entre as frequências de classe no conjunto de treinamento e em operação. Suspeito que, para alguns classificadores, a abordagem ideal seja otimizar a taxa de subamostragem e a correção da saída otimizando o erro de validação cruzada.

Em vez de subamostra, para alguns classificadores (por exemplo, SVMs), você pode atribuir pesos diferentes a padrões positivos e negativos. Prefiro isso à subamostragem, pois significa que não há variabilidade nos resultados devido à subamostra específica usada. Onde isso não for possível, use o bootstrapping para criar um classificador ensacado, onde uma subamostra diferente da classe majoritária é usada em cada iteração.

A outra coisa que eu diria é que geralmente onde há um grande desequilíbrio de classe, erros falsos negativos e erros positivos falsos não são igualmente ruins, e é uma boa ideia incorporar isso no design do classificador (que pode ser realizado por sub - padrões de amostragem ou ponderação pertencentes a cada classe).

Dikran Marsupial
fonte
3
(+1), no entanto, acho que é preciso distinguir entre o objetivo do ranking (medida: AUC) e separar as duas classes (medida: Precisão). No primeiro caso, dada uma classe probabilística como Naive Bayes, o desequilíbrio desempenha um papel menor, suponho. Ou deveria estar preocupado também neste caso? Outra pergunta: o que você quer dizer com "pós-processar a saída"? Converter pontuações em probabilidades reais?
Steffen
@ Steffen Minha intuição é que o problema de desequilíbrio de classe é menos um problema de classificação, mas não desaparece completamente (estou trabalhando em um artigo sobre esse problema, então é algo que vale a pena resolver). Com o pós-processamento, eu quis dizer multiplicar os resultados pela proporção das frequências de classe do conjunto operacional e de treinamento e depois re-normalizar para que as probabilidades de todos os resultados possíveis se somam a um. No entanto, na prática, o fator de escala ideal real provavelmente será um pouco diferente - portanto, otimize com o XVAL (mas ainda re-normalize).
Dikran Marsupial
1

Em relação a (1). Você precisa manter observações positivas e negativas se quiser resultados significativos.
(2) Não há método mais sábio de subamostragem do que a distribuição uniforme se você não tiver a priori em seus dados.

Ugo
fonte
Obrigado Ugo - concordou, definitivamente é preciso haver partidas e não partidas nos dados de treinamento. A questão é sobre quantas das correspondências (N-1) (N-1) são necessárias. Para a parte (2), eu definitivamente amostraria com peso igual sobre todas as observações.
John Horton
Bem, se você não tiver apriori em seus dados, não há maneira razoável de amostrar os dados. Então você precisa fazer uma amostragem uniforme e, nesse caso, quanto mais você tomar, melhor será. No entanto, você pode estimar o erro introduzido pela amostragem, mas faltam informações aqui para ajudá-lo nesse ponto.
Ugo
Parece-me que o erro dependerá do tipo de classificador usado. De qualquer forma, você sempre pode tentar prever uma taxa de amostragem diferente e fixar um limite em que você acha que o erro introduzido é satisfatório.
Ugo