O SVM lida com o conjunto de dados desequilibrado? Existem parâmetros (como C ou custo de classificação incorreta) que lidam com o conjunto de dados desequilibrado?
machine-learning
svm
unbalanced-classes
RockTheStar
fonte
fonte
Respostas:
Para conjuntos de dados desequilibrados, normalmente alteramos a penalidade de classificação incorreta por classe. Isso é chamado SVM ponderado por classe, o que minimiza o seguinte:
onde e N representam as instâncias de treinamento positivas / negativas. No SVM padrão, temos apenas um único valor C , enquanto agora temos 2. A penalidade de classificação incorreta para a classe minoritária é escolhida como sendo maior que a da classe majoritária.P N C
Essa abordagem foi introduzida bem cedo, é mencionada, por exemplo, em um artigo de 1997:
Essencialmente, isso é equivalente à superamostragem da classe minoritária: por exemplo, se isso é totalmente equivalente ao treinamento de um SVM padrão com C = C n e g depois de incluir todos os positivos duas vezes no conjunto de treinamento.Cp o s= 2 Cn e g C= Cn e g
fonte
Os SVMs podem lidar com conjuntos de dados com frequências de classe desequilibradas. Muitas implementações permitem que você tenha um valor diferente para a penalidade de folga (C) para classes positivas e negativas (que é assintoticamente equivalente à alteração das frequências de classe). Eu recomendaria definir os valores desses parâmetros para maximizar o desempenho da generalização em um conjunto de testes em que as frequências de classe são aquelas que você espera ver no uso operacional.
Eu fui uma das muitas pessoas que escreveram artigos sobre isso, aqui é o meu , vou ver se consigo encontrar algo mais recente / melhor. Tente Veropoulos, Campbell e Cristianini (1999).
fonte