Opiniões sobre o excesso de amostragem em geral e o algoritmo SMOTE em particular [fechado]

18

Qual a sua opinião sobre o excesso de amostragem na classificação em geral e o algoritmo SMOTE em particular? Por que não aplicaríamos apenas uma multa / custo para ajustar o desequilíbrio nos dados da classe e qualquer custo desequilibrado dos erros? Para meus propósitos, a precisão da previsão para um conjunto futuro de unidades experimentais é a medida final.

Para referência, o documento SMOTE: http://www.jair.org/papers/paper953.html

Dave Cummins
fonte
1
Um problema com a sobreamostragem de uma classe minoritária em um conjunto de dados desequilibrado é que você acabaria aprendendo muito o específico dos poucos exemplos, e isso não generalizaria bem. Supõe-se que o SMOTE aprenda as propriedades topológicas da vizinhança desses pontos na classe minoritária, portanto, é menos provável que você se ajuste demais.
horaceT
2
Esse é um ótimo tópico para uma pergunta, mas você poderia torná-lo um pouco mais focado? "Qual e sua OPINIAO?" convida discussões intermináveis, mas tendemos a focar mais nitidamente em um formato de pergunta / resposta.
Sycorax diz Restabelecer Monica

Respostas:

19

{1} fornece uma lista de vantagens e desvantagens do aprendizado sensível a custos versus amostragem:

2.2 Amostragem

Sobreamostragem e subamostragem podem ser usadas para alterar a distribuição de classe dos dados de treinamento e ambos os métodos foram usados ​​para lidar com o desequilíbrio de classe [1, 2, 3, 6, 10, 11]. O motivo pelo qual alterar a distribuição de classe dos dados de treinamento ajuda a aprender com conjuntos de dados altamente distorcidos é que ele impõe efetivamente custos não uniformes de classificação incorreta. Por exemplo, se alguém altera a distribuição de classe do conjunto de treinamento para que a proporção de exemplos positivos para negativos varie de 1: 1 a 2: 1, então atribui efetivamente uma taxa de custo de classificação incorreta de 2: 1. Essa equivalência entre alterar a distribuição de classe dos dados de treinamento e alterar a taxa de custo de classificação incorreta é bem conhecida e foi formalmente descrita por Elkan [9].

Existem desvantagens conhecidas associadas ao uso da amostragem para implementar a aprendizagem sensível aos custos. A desvantagem da subamostragem é que ela descarta dados potencialmente úteis . A principal desvantagem da sobreamostragem , da nossa perspectiva, é que, ao fazer cópias exatas dos exemplos existentes, é provável que haja sobreajuste . De fato, com a superamostragem, é bastante comum um aluno gerar uma regra de classificação para cobrir um único exemplo replicado. Uma segunda desvantagem da superamostragem é que ela aumenta o número de exemplos de treinamento, aumentando assim o tempo de aprendizado .

2.3 Por que usar amostragem?

Dadas as desvantagens da amostragem, vale a pena perguntar por que alguém a usaria em vez de um algoritmo de aprendizado sensível a custos para lidar com dados com uma distribuição de classes distorcida e custos de classificação não uniformes. Há várias razões para isso. A razão mais óbvia é não há implementações sensíveis a custos de todos os algoritmos de aprendizado e, portanto, uma abordagem baseada em wrapper usando amostragem é a única opção. Embora isso seja certamente menos verdadeiro hoje do que no passado, muitos algoritmos de aprendizado (por exemplo, C4.5) ainda não lidam diretamente com os custos no processo de aprendizado.

Uma segunda razão para usar a amostragem é que muitos conjuntos de dados altamente inclinados são enormes e o tamanho do conjunto de treinamento deve ser reduzido para que o aprendizado seja possível. Nesse caso, a subamostragem parece ser uma estratégia razoável e válida. Neste artigo, não consideramos a necessidade de reduzir o tamanho do conjunto de treinamento. Gostaríamos de salientar, no entanto, que se for necessário descartar alguns dados de treinamento, ainda pode ser benéfico descartar alguns dos exemplos de classe majoritária, a fim de reduzir o tamanho do conjunto de treinamento para o tamanho necessário e, em seguida, também empregar algoritmo de aprendizado sensível, para que a quantidade de dados de treinamento descartados seja minimizada.

Uma razão final que pode ter contribuído para o uso da amostragem em vez de um algoritmo de aprendizado sensível ao custo é que os custos de classificação incorreta são frequentemente desconhecidos. No entanto, essa não é uma razão válida para o uso da amostragem em um algoritmo de aprendizado com custo elevado, uma vez que a questão análoga surge com a amostragem - qual deve ser a distribuição de classe dos dados finais do treinamento? Se essas informações de custo não forem conhecidas, uma medida como a área sob a curva ROC poderia ser usada para medir o desempenho do classificador e ambas as abordagens poderiam então determinar empiricamente a relação custo / distribuição adequada da classe.

Eles também fizeram uma série de experimentos, que eram inconclusivos:

Com base nos resultados de todos os conjuntos de dados, não há vencedor definitivo entre aprendizado sensível ao custo, sobreamostragem e subamostragem

Eles então tentam entender quais critérios nos conjuntos de dados podem sugerir qual técnica é melhor ajustada.

Eles também observam que o SMOTE pode trazer algumas melhorias:

Existem várias melhorias que as pessoas fizeram para melhorar a eficácia da amostragem. Algumas dessas melhorias incluem a introdução de novos exemplos "sintéticos" ao sobreamostrar [5 -> SMOTE], excluir exemplos menos úteis da classe majoritária ao subamostrar [11] e usar várias subamostras quando a subamostra, como cada exemplo, é usada em pelo menos um subamostra [3]. Embora essas técnicas tenham sido comparadas à superamostragem e subamostragem, elas geralmente não foram comparadas aos algoritmos de aprendizado sensíveis ao custo. Isso valeria a pena estudar no futuro.


{1} Weiss, Gary M., Kate McCarthy e Bibi Zabar. "Aprendizagem sensível ao custo x amostragem: qual é o melhor para lidar com classes desequilibradas com custos de erro desiguais?" DMIN 7 (2007): 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=pt_BR&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf

Franck Dernoncourt
fonte
2
Quando você diz "algoritmo de aprendizado sensível ao custo", meu cérebro deveria pensar "penalizar as classes com altas frequências de ocorrência e possivelmente atribuir mais importância às classes com baixas frequências"? Esse conceito é equivalente à atribuição de pesos de classe?
Jarad