SVM, Overfitting, malédiction de la dimensionnalité

37

Mon jeu de données est petit (120 échantillons), mais le nombre d’entités est important varie de (1000 à 200 000). Bien que je sois en train de sélectionner des fonctionnalités pour choisir un sous-ensemble de fonctionnalités, cela peut tout de même être excessif.

Ma première question est la suivante: comment SVM gère-t-il le surajustement, voire pas du tout?

Deuxièmement, alors que j'étudie davantage la sur-adaptation en cas de classification, je suis parvenue à la conclusion que même les jeux de données comportant un petit nombre d'entités peuvent sur-adapter. Si nous n'avons pas de caractéristiques corrélées au libellé de classe, le surajustement survient de toute façon. Je me demande donc maintenant à quoi sert la classification automatique si nous ne pouvons pas trouver les fonctionnalités appropriées pour une étiquette de classe. Dans le cas d'une classification de document, cela impliquerait de créer manuellement un thésaurus de mots se rapportant aux étiquettes, ce qui prend beaucoup de temps. J'imagine que ce que j'essaie de dire, c'est que, sans choisir les bonnes caractéristiques à la main, il est très difficile de construire un modèle généralisé.

De plus, si les résultats expérimentaux ne montrent pas que les résultats sont peu / pas surajustés, cela n’a plus de sens. Y a-t-il un moyen de le mesurer?

utilisateur13420
la source

Réponses:

41

En pratique, les SVM ont tendance à résister au sur-ajustement, même dans les cas où le nombre d'attributs est supérieur au nombre d'observations, c'est qu'ils utilisent la régularisation. Pour éviter les sur-ajustements, il est essentiel d’ajuster soigneusement le paramètre de régularisation, , et dans le cas de SVM non linéaires, de choisir avec soin le noyau et d’ajuster les paramètres du noyau.C

Le SVM est une implémentation approximative d’une borne sur l’erreur de généralisation, qui dépend de la marge (essentiellement de la distance entre la limite de décision et le motif le plus proche de chaque classe), mais qui est indépendante de la dimensionnalité de l’espace caractéristique (raison pour laquelle utiliser l’astuce du noyau pour mapper les données dans un espace très dimensionnel n’est pas une si mauvaise idée que cela puisse paraître). Donc, en principe, les SVM devraient être très résistants au sur-ajustement, mais cela dépend en pratique du choix judicieux de et des paramètres du noyau. Malheureusement, le sur-ajustement peut également se produire assez facilement lors du réglage des hyper-paramètres, qui est mon domaine de recherche principal, voirC

GC Cawley et NLC Talbot, Empêcher le sur-ajustement dans la sélection du modèle via la régularisation bayésienne des hyper-paramètres, Journal of Machine Learning Research, volume 8, pages 841 à 861, avril 2007. ( www )

et

GC Cawley et NLC Talbot, sur-adaptation dans la sélection du modèle et biais de sélection subséquent dans l'évaluation de la performance, Journal of Machine Learning Research, 2010. Research, vol. 11, pp. 2079-2107, juillet 2010. ( www )

Ces deux articles utilisent la régression de la crête du noyau, plutôt que le SVM, mais le même problème se pose aussi facilement avec les SVM (des limites similaires s'appliquent également à KRR, de sorte qu'il n'y a pas beaucoup de choix entre eux en pratique). D'une certaine manière, les SVM ne résolvent pas vraiment le problème du sur-ajustement, ils ne font que déplacer le problème de l'ajustement du modèle à la sélection du modèle.

Il est souvent tentant de simplifier un peu la vie du SVM en effectuant d’abord une sorte de sélection de fonctionnalités. Cela ne fait généralement qu'aggraver les choses, car contrairement au SVM, les algorithmes de sélection de caractéristiques ont tendance à présenter une sur-adaptation plus grande à mesure que le nombre d'attributs augmente. À moins que vous ne souhaitiez savoir quels sont les attributs informatifs, il est généralement préférable de passer l'étape de sélection des fonctionnalités et d'utiliser simplement la régularisation pour éviter de surcharger les données.

En résumé, l'utilisation d'un SVM (ou d'un autre modèle régularisé tel que la régression de crête, le LARS, le lasso, le réseau élastique, etc.) sur un problème comportant 120 observations et des milliers d'attributs ne pose aucun problème, à condition que les paramètres de régularisation soient correctement réglés .

Dikran Marsupial
la source
Existe-t-il des articles montrant que les méthodes de sélection des fonctionnalités, telles que le classement basé sur le gain d'information, sont plus susceptibles de sur-adapter?
user13420
1
Pas que je sache, le fait était que le SVM a des résultats théoriques suggérant qu'ils sont résistants à la sur-adaptation en raison du nombre d'attributs, mais les méthodes de sélection des caractéristiques ne l'ont même pas. FWIW, la monographie de Miller sur "la sélection de sous-ensembles dans la régression" recommande d'utiliser des méthodes de régularisation si la performance prédictive est tout ce qui est requis. Il y a eu quelques difficultés en cours sur la sélection des fonctionnalités, qui suggèrent que la régularisation a tendance à surpasser la sélection des fonctionnalités (voir nipsfsc.ecs.soton.ac.uk et causality.inf.ethz.ch/challenge.php ).
Dikran Marsupial
Comme indiqué dans le premier paragraphe, les SVM ont tendance à résister au sur-ajustement, c'est-à-dire qu'ils utilisent la régularisation (paramètre C) , donc, par défaut, les svmparamètres de régularisation C ? Et je ne suis pas sûr de savoir quelles variables contrôlées par ce C , vous voulez dire ces variables de jeu ?
avocat
10

Je commencerai par la deuxième et dernière question.

Le problème de la généralisation est évidemment important, car si les résultats de l'apprentissage automatique ne peuvent pas être généralisés, ils sont totalement inutiles.

Les méthodes pour assurer la généralisation proviennent des statistiques. Nous supposons généralement que les données sont générées à partir d’une distribution de probabilité issue de la réalité. Par exemple, si vous êtes un homme né en 2000, il existe une distribution de probabilité de votre couleur / poids / taille / couleur de vos yeux lorsque vous atteignez 10 ans, ce qui résulte du stock de gènes disponible à 2000, de facteurs environnementaux possibles, etc. nous avons beaucoup de données, nous pouvons dire quelque chose sur ces distributions sous-jacentes, par exemple avec une probabilité élevée qu'elles soient gaussiennes ou multinomiales. Si nous avons une image précise des distributions, puis compte tenu de la taille, du poids et de la couleur des yeux d'un enfant de 10 ans en 2010, nous pouvons obtenir une bonne approximation de la probabilité que cet enfant soit un homme. Et si la probabilité est proche de 0 ou 1, nous pouvons avoir une bonne idée de ce qu'est réellement le sexe des enfants.

kδk+εk+ε

Revenons maintenant à SVM. Si vous n'utilisez pas de noyaux, ou si vous utilisez des noyaux qui cartographient des espaces à dimensions finies, la dimension dite Vapnik-Chervonenkis, qui mesure la complexité de l'espace des hypothèses, est finie et avec cela, et suffisamment d'exemples de formation, vous pouvez l'obtenir avec des La probabilité que l'erreur sur l'ensemble de test ne soit pas beaucoup plus grande que l'erreur sur l'ensemble de l'entraînement. Si vous utilisez des noyaux mappés dans des espaces de fonctions de dimensions infinies, la dimension de Vapnik-Chervonenkis est également infinie et, pire encore, les exemples d'apprentissage ne peuvent à eux seuls garantir une bonne généralisation, quel que soit leur nombre. Heureusement, la taille de la marge d'un SVM s'avère être un bon paramètre pour assurer la généralisation. Avec une marge importante et un ensemble d’entraînement, vous pouvez garantir que l’erreur de test ne sera pas beaucoup plus grave que l’erreur d’entraînement.

sjm.majewski
la source
7

Il y a au moins deux sources principales de surajustement que vous pourriez souhaiter envisager.

  1. Overfitting par un algorithme qui en a trop déduit à partir des échantillons d'apprentissage disponibles. Il vaut mieux éviter empiriquement cela en utilisant une mesure de la capacité de généralisation du modèle. La validation croisée est l'une de ces méthodes populaires.

  2. Sur-adaptation car la distribution sous-jacente est sous-échantillonnée. En règle générale, vous ne pouvez rien faire à ce sujet, sauf si vous pouvez collecter plus de données ou ajouter des connaissances de domaine sur le problème à votre modèle.

Avec 120 échantillons et un grand nombre de caractéristiques, vous risquez fort de tomber sous le coup de 2 et d’être sujet à un.

Vous pouvez faire quelque chose à propos de 1 en observant attentivement l’effet de la complexité du modèle sur le test et les erreurs d’entraînement.

image_doctor
la source
Mais comment détecter si nous suréquipons? Si les modèles fonctionnent assez bien en validation croisée, le font-ils parce que c'est vraiment bon ou en raison d'un surajustement dû à 1 ou 2? Également, avec des milliers de fonctionnalités, analyser chaque fonctionnalité à la main serait fastidieux. S'il n'est pas possible d'identifier le surajustement, comment pouvons-nous faire confiance aux résultats de validation croisée?
user13420
1
Sans données supplémentaires, il est très difficile de savoir si vous suréquipez une population sous-échantillonnée. Vous pouvez diviser les données en trois jeux en utilisant un jeu de validation pour ajuster le modèle, puis un jeu de test séparé pour le tester. Une autre approche consiste à modifier la complexité du modèle et à voir comment la précision de la formation et de l'ensemble de tests varie. Une erreur d'ascenseur dans le jeu de tests indiquera un certain degré de surajustement du modèle à partir des données.
image_doctor
L'application répétée d'essais de maintien 50/50 vous donnera une idée de l'équilibre entre les ensembles d'entraînement et de test. Ils ne seront probablement pas. Certains modèles, tels que KNN, atteindront une précision parfaite sur le jeu d’entraînement et seront donc sur-équipés de manière inhérente. Mais ils peuvent toujours atteindre des performances acceptables sur l'ensemble de test. Donc, comme pour beaucoup d’apprentissage automatique, tout dépend des spécificités des données.
image_doctor
@image_doctor Pouvez-vous préciser "modifier la complexité du modèle"?
Keith Hughitt