Le but de ce TP est d'utiliser les SVM et la validation croisée afin d'obtenir le meilleur taux de classification possible sur un jeu de données particulier.
Téléchargez et dezippez l'archive dans votre répertoire de travail.
A l'aide de la méthode incluse dans la toolbox, implémentez une validation croisée complète (sur la largeur de bande du noyau gaussien et le paramètre de régularisation C) afin de déterminer le meilleur réglage du SVM sur les données fournies.
load('data.mat'); % pour récupérer les données dans matlab
err = SM.crossValError(k); % retourne l'erreur moyenne de validation croisée
pour le réglage courant du SVM (SM), calculée sur un découpage
en k parties de la base d'apprentissage.
(utilise SM.train pour faire les différents apprentissages)
[A,B] = meshgrid(a,b); % permet de construire une grille à partir de deux vecteurs (voir doc)
mesh()...; % permet d'afficher la "surface de réponse"
une fois les erreurs en validation croisées calculées en chaque point
de la grille formée par les couples de paramètres.
Ce TP sera noté, vous devez le rendre à la fin de la séance.
Le rapport doit contenir un compte rendu expliquant votre démarche, vos observations et vos conclusions
Il doit être accompagné de votre code (pas besoin d'inclure la boîte à outil, je l'ai) et de l'objet SVM final, entrainé, grâce auquel je vais pouvoir tester votre réglage sur une base de test non fournie. C'est l'objet SM qu'il faut enregistrer au format .mat, à l'aide de la commande save
Le tout doit être zippé (pas de .arj ou .rar, faites attention!) et posté sur l'ENT (cours en ligne data-mining, dans "Travaux", "TP3") avant 16h, par monôme ou binôme (bien préciser les deux noms, il est interdit d'ajouter le nom d'un éventuel absent...)