Académique Documents
Professionnel Documents
Culture Documents
compte-rendu-tp-2-ai
compte-rendu-tp-2-ai
Présenté par :
Dr. Khidar
L’objectif du TP :
Matériel:
Matlab. Liste de
bases de
donnés.
2
Définitions
SUPPORT FONCTIONS
VECTOR DU NOYAU C MARGE HYPERPLAN
MACHINES DANS LA SVM
La fonction noyau Le paramètre de La distance entre
L'algorithme SVM Une surface de
dans les SVM régularisation l'hyperplan de
recherche séparation qui
transforme les dans les SVM qui séparation et les
l'hyperplan optimal données pour
sépare les
contrôle le points de données
pour séparer les faciliter le données en
compromis entre les plus proches
classes en traitement, différentes
permettant ainsi la maximisation de de chaque classe,
maximisant la classes dans un
une classification la marge et la maximisée dans
marge entre les espace de
efficace dans des minimisation de les SVM pour
vecteurs de caractéristiques.
espaces de améliorer la
support et cet l'erreur
dimension plus
d'entraînement. généralisation.
hyperplan. élevée.
1-Partie Théorique
Q1: Quelle est la différence entre le SVM à marge rigide
et le SVM à marge douce ?
La principale différence entre le SVM à marge rigide et le SVM à marge douce réside dans leur approche à l'égard
des erreurs de classification et des données aberrantes. Le SVM à marge rigide exige des données linéairement
séparables et n'accepte aucune erreur, tandis que le SVM à marge douce autorise des erreurs de classification et
des données aberrantes, ce qui le rend plus résistant dans des situations réelles où les données peuvent être plus
complexes.
D'autre part, le paramètre Σ contrôle la complexité et la flexibilité de la frontière de décision dans le SVM.
L'hyperparamètre σ (sigma), quant à lui, influence la largeur de la fonction de similarité utilisée pour mesurer la
similitude entre les exemples d'entraînement dans l'espace des caractéristiques transformé. Une valeur plus petite
de σ engendre une fonction de similarité plus large, ce qui signifie que les exemples d'entraînement ont une
influence sur une région plus vaste de l'espace des caractéristiques.
3
Q3:Quels sont les vecteurs de support dans le SVM
Les vecteurs de support sont les exemples qui déterminent l'hyperplan de séparation optimal entre les classes pour
le SVM à marge rigide, ou qui se situent à l'intérieur de la marge pour le SVM à marge douce. Ce sont les exemples
les plus proches de la frontière de décision et ceux qui posent le plus de difficultés pour être correctement classés.
2- Partie pratique
1-SVM à noyaux linéaire
Q1 : que représente la matrice X et Y
Les matrices X et y représentent les données d'entraînement (les attributs et les étiquettes de classe).
4
Q3 :en faisant varier le paramètre de régularisation
C =1 , 10 ,100 ,1000
6
x1=[1 1 1 0]; %test
x2=[1 1 1 1];
sigma=2;
sim 1= Noyaugaussien (x1 , x2 , sigma )
x3=[1 -1 4 0]; x4=[0 5 2 1 ];
sigma=2;
sim2 = Noyaugaussien (x3 , x4 , sigma )
On obtient :
✓sim1 =0.8825 sim2= 0.0052
Q4 :
La première paire de vecteurs, x1 et x2, présente une similarité
élevée avec une valeur de sim1 = 0.8825, indiquant une mesure
de similarité relativement élevée selon le noyau gaussien. Cela
suggère que les vecteurs x1 et x2 partagent une similitude
notable.
7
Q5 : Refaites le même tests pour les différents valeurs
de sigma
x1=[1 1 1 0];
x2=[1 1 1 1];
sigma=0.5;
sim 1= Noyaugaussien (x1 , x2 , sigma )
x3=[1 -1 4 0];
x4=[0 5 2 1 ];
sigma=0.5;
sim 2 = Noyaugaussien (x3 , x4 , sigma )
Pour sigma = 5 :
- sim1 = 0.9802
- sim2 = 0.4317
Pour sigma = 20 :
- sim1 = 0.9988
- sim2 = 0.4317
8
Q6 : visualiser une SVM non linéaire sur les données
pour C=1 , sigma =0.1
load('TP2data2.mat');
figure(2) traceData(X,y);
C = 1;
sigma1=0.1;
model=svmModel (X, y,
C,@(x1,x2)Noyaugaussien(x1,x2,sigma1));
VFNL(X,y,model);
load('TP2data2.mat');
figure(2) traceData(X,y);
C = 1;
sigma1=0.03;
model=svmModel (X, y, C,
@(x1,x2)Noyaugaussien(x1,x2,sigma1 ));
VFNL(X,y,model); 9
« Le tracé d’une SVM non- linéaire sur les données
(TP2 data2.mat), pour C=1 et sigma=0.03 »
Une séparation améliorée entre les classes est observée avec une valeur de sigma
plus faible (0.03), offrant ainsi une meilleure distinction par rapport à sigma = 0.1.
On remarque que les frontières de décision semblent mieux comprendre la
structure des données, avec moins de chevauchement entre les classes.
10
3-validation croisée
Q1 : complète le code fourni
11
Q2 : Visualisation d’une SVM non- linéaire sur les
données (TP2data3.mat)
clear all;close all; clc
load('TP2data3.mat');
figure(3) traceData(X,y);
C=1;
sigma=0.1;
model=svmModel (X, y, C,
@(x1,x2)Noyaugaussien(x1,x2,sigma ));
VFNL(X,y,model);
Une fois que la SVM non linéaire a été exécutée avec un paramètre de
régularisation C=1 et un paramètre sigma=0.1, il apparaît une
séparation inadéquate entre les classes au niveau des détails. Il
semble que la frontière de décision générée ait du mal à saisir la
structure sous-jacente des données, entraînant ainsi un
chevauchement significatif entre les deux classes. Il est envisageable
que les paramètres choisis pour la SVM ne soient pas les plus adaptés
à la tâche de classification spécifique.
12
En utilisant la fonction SVMPredict pour générer
les prédictions :
Clear all ;close all; clc
load('TP2data3.mat');
[[C, sigma , predictions ] = ParamsTP2data3 (X,y,Xval , yval
) model=svmModel (X, y, C,
@(x1,x2)Noyaugaussien(x1,x2,sigma ));
yvald=svmPredict(model,Xval);
acc=mean(yval==yvald).*100;
plotconfusion(yval',yvald');
13
conclusion
ce TP a permis d'explorer en profondeur
les concepts et les techniques associés aux
Machines à Vecteurs de Support (SVM).
Nous avons pu comprendre le
fonctionnement des SVM, tant linéaires
que non linéaires, ainsi que l'importance
des paramètres tels que C et sigma dans la
performance du modèle. De plus, nous
avons observé l'impact de ces paramètres
sur la séparation entre les classes et sur la
capacité de généralisation du modèle. Ce
TP a également souligné l'importance de
l'analyse approfondie des résultats pour
ajuster les paramètres de manière
adéquate et obtenir des performances
optimales du modèle. En somme, cette
expérience a renforcé notre
compréhension des SVM et de leur
application dans la résolution de
problèmes de classification, tout en
mettant en lumière les défis associés à la
sélection des paramètres pour obtenir des
résultats précis et généralisables
14