SVM gère-t-il un ensemble de données déséquilibré? S'agit-il de paramètres (comme C, ou coût de classification erronée) gérant l'ensemble de données déséquilibré?
SVM gère-t-il un ensemble de données déséquilibré? S'agit-il de paramètres (comme C, ou coût de classification erronée) gérant l'ensemble de données déséquilibré?
Réponses:
Pour les ensembles de données déséquilibrés, nous modifions généralement la pénalité de mauvaise classification par classe. Ceci est appelé SVM pondéré par classe, ce qui minimise les éléments suivants:
Cette approche a été introduite assez tôt, elle est mentionnée par exemple dans un article de 1997:
Edgar Osuna, Robert Freund et Federico Girosi. Prise en charge des machines vectorielles: formation et applications. Rapport technique AIM-1602, 1997. ( pdf )
Les SVM sont capables de traiter des ensembles de données avec des fréquences de classe déséquilibrées. De nombreuses implémentations vous permettent d'avoir une valeur différente pour la pénalité de jeu (C) pour les classes positives et négatives (ce qui équivaut asymptotiquement à changer les fréquences de classe). Je recommanderais de définir les valeurs de ces paramètres afin de maximiser les performances de généralisation sur un ensemble de test où les fréquences de classe sont celles que vous attendez en utilisation opérationnelle.
J'étais l'une des nombreuses personnes qui ont écrit des articles à ce sujet, voici le mien , je vais voir si je peux trouver quelque chose de plus récent / meilleur. Essayez Veropoulos, Campbell et Cristianini (1999).