mercredi 15 avril 2009

Support Vector Regression

Les SVM (séparateur à vaste marge, machines à vecteurs de support, support vector machine en anglais) sont des méthodes bien connues en apprentissage supervisé. Leur utilisation est en revanche moins répandue en régression. On parle de « Support Vector Regression » (SVR).

La méthode est peu diffusée auprès des statisticiens. Pourtant, elle cumule des qualités qui la positionnent favorablement par rapport aux techniques existantes. Elle se comporte admirablement bien lorsque le ratio nombre de variables sur le nombre d’observations devient très défavorable, avec des prédicteurs fortement corrélés. Encore faut-il bien entendu trouver le paramétrage adéquat, nous y reviendrons dans ce didacticiel. Autre atout, avec le principe des noyaux, il est possible de construire des modèles non linéaires sans avoir à produire explicitement de nouveaux descripteurs.

Le premier objectif de ce didacticiel est de montrer la mise en œuvre de deux nouveaux composants SVR de Tanagra 1.4.31 : espilon-SVR et nu-SVR. Ils sont issus de la bibliothèque LIBSVM que nous utilisons par ailleurs pour l’apprentissage supervisé (voir le composant C-SVC). Nous comparerons nos résultats avec ceux du logiciel R (version 2.8.0 - http://cran.r-project.org/). Nous utilisons pour ce dernier le package e1071 basée également sur la bibliothèque LIBSVM.

Le second objectif est de proposer un nouveau composant d’évaluation de la régression. Il est d’usage en apprentissage supervisé de scinder le fichier en deux parties, une pour la création du modèle, l’autre pour son évaluation, afin d’obtenir une estimation non biaisée des performances. Cette pratique est très peu répandue en régression. Pourtant, la procédure est nécessaire dès que nous sommes emmenés à comparer des prédicteurs de complexité différente. Nous constaterons ainsi dans ce didacticiel que les indicateurs usuels calculés sur les données d’apprentissage sont très trompeurs dans certaines situations.

Mots clés : support vector regression, support vector machine, régression, régression linéaire multiple, évaluation de la régression, logiciel R, package e1071
Composants : MULTIPLE LINEAR REGRESSION, EPSILON SVR, NU SVR, REGRESSION ASSESSMENT
Lien : fr_Tanagra_Support_Vector_Regression.pdf
Données : qsar.zip
Références :
C.C. Chang, C.J. Lin, "LIBSVM - A Library for Support Vector Machines".
S. Gunn, « Support Vector Machine for Classification and Regression », Technical Report of the University of Southampton, 1998.
A. Smola, B. Scholkopf, « A tutorial on Support Vector Regression », 2003.