jeudi 12 mai 2016

SVM : Support Vector Machine - Diapos

L’approche SVM (support vector machine) est une technique de data mining / machine learning très populaire dans les domaines proches de la recherche. Je l’avais directement implémentée dans Tanagra en son temps (en m’inspirant du code de Weka). J’avais ensuite intégré la librairie LIBSVM (une des très rares bibliothèques externes de Tanagra) lorsque je me suis rendu compte des performances de cette dernière.

Faire un cours dessus était une autre histoire. Comment présenter les SVM en allant à l’essence des choses sans assommer les étudiants à coups de formules mathématiques plus ou moins abstraites ? J’avais demandé à un groupe d’étudiants du Master SISE de faire le cours à ma place cette année dans le cadre de l’unité d’enseignement « Travail en groupe ». L'exercice m’a surtout permis de voir les réactions des autres étudiants qui assistaient à la séance, et mettre le doigt sur les ressorts de compréhension. L’idée est de prendre le temps de détailler avec des exemples simples traités sous Excel (vraiment simples !) la résolution des problèmes d’optimisations sous-jacents à la technique. Le fichier accompagne ce support.

La présentation est complétée par la mise en œuvre de l’approche sous les logiciels libres Python (scikit-learn), R (e1071) et Tanagra (SVM et C-SVC).

Je remercie le groupe d’étudiants qui a travaillé sur ce thème. Ils s’en sont vus, mais je pense que l’essentiel du message est passé auprès de leurs camarades.

Mots-clés : svm, machines à vecteurs de support, séparateurs à vaste marge, package e1071, logiciel R, logiciel Python, package scikit-learn, sklearn
Composants : SVM, C-SVC
Lien : Support Vector Machine (SVM)
Fichier exemple : svm exemples.xlsx
Références :
Tutoriel Tanagra, "SVM - Comparaison de logiciels", oct. 2008.
Tutoriel Tanagra, "Classifieurs linéaires", mai 2013.
Tutoriel Tanagra, "Support Vector Machine avec R et Python", mai 2016.