0% ont trouvé ce document utile (0 vote)
0 vues66 pages

5

Le document traite de l'apprentissage supervisé, en se concentrant sur la régression logistique et les machines à vecteurs de support (SVM) pour la classification. La régression logistique est présentée comme un modèle fondamental qui prédit la probabilité d'appartenance à une classe, utilisant une fonction sigmoïde pour transformer les entrées en probabilités. Il aborde également la généralisation de la régression logistique pour la classification multiclasse.

Transféré par

Ouafaa Lakrakar
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues66 pages

5

Le document traite de l'apprentissage supervisé, en se concentrant sur la régression logistique et les machines à vecteurs de support (SVM) pour la classification. La régression logistique est présentée comme un modèle fondamental qui prédit la probabilité d'appartenance à une classe, utilisant une fonction sigmoïde pour transformer les entrées en probabilités. Il aborde également la généralisation de la régression logistique pour la classification multiclasse.

Transféré par

Ouafaa Lakrakar
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Apprentissage supervisé :

Classification

La Régression Logistique
Machines à Vecteurs de Support (SVM)

K. Nassiri
Rappel des deux familles de modèles : Apprentissage supervisé : Classification

 Modèles à score (ex. SVM) :

 ils calculent une valeur réelle ,puis décident la classe avec le


signe de ce score.

 Le score indique la force et le côté de la prédiction, mais pas une probabilité


(il peut valoir -25 ou +40).

 Modèles à probabilité (comme la Régression Logistique) :

 ils calculent directement , une valeur entre 0 et 1 qui


représente la probabilité réelle que l’exemple appartienne à la classe positive.
La Régression Logistique Apprentissage supervisé : Classification

 La régression logistique est l’un des modèles de classification supervisée les plus
fondamentaux.

 Contrairement à la régression linéaire, qui prédit des valeurs continues, elle prédit la
probabilité qu'une entrée appartienne à une classe spécifique.

 Sa caractéristique la plus importante est qu’elle produit une probabilité et non un simple
score.

 Il est utilisé pour la classification binaire où la sortie peut être l'une des deux catégories
possibles telles que Oui/Non, Vrai/Faux ou 0/1 et par extension multi-classe (softmax).

 Elle utilise la fonction sigmoïde pour convertir les entrées en une valeur de probabilité
comprise entre 0 et 1.
La Régression Logistique Apprentissage supervisé : Classification
Contexte :
La Régression Logistique Apprentissage supervisé : Classification
Contexte :
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
 Le modèle estime la probabilité que l'exemple appartienne à la classe positive (1)
On souhaite modéliser la probabilité que l’étiquette soit 1 sachant
l’entrée (des variables indépendantes )

 Une probabilité doit être comprise entre 0 et 1.

Modèle linéaire interne


On commence par un modèle linéaire classique (comme en régression linéaire) :

s’appelle le logit ou le score linéaire.

 On ne peut pas utiliser une simple combinaison linéaire car celle-ci peut
prendre n’importe quelle valeur réelle.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Formellement :
On cherche à estimer :

où et .Une fois connu, la probabilité de l’autre classe est :

 Le problème est donc de trouver une fonction qui soit toujours dans et
qui dépende de de façon paramétrée (qui varie de façon monotone avec une
combinaison linéaire de .
Pourquoi une combinaison linéaire ?
Parce que c’est la forme la plus simple pour intégrer plusieurs caractéristiques, et que
l’on souhaite que la frontière de décision (où ) soit un hyperplan.
On peut écrire :

où est une fonction croissante allant de 0 à 1 (fonction de lien). Le problème est : quel
choix de est naturel ?
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Choix de la fonction de lien : approche par les odds

Les odds (cotes) sont définis comme :


odds

Cette quantité est comprise entre 0 et . Quand , les odds valent 1.


Prendre le logarithme des odds (log-odds ou logit) donne une valeur dans :
logit log−odds

C’est une transformation qui libère la contrainte .On peut alors supposer que les
log-odds sont une fonction linéaire de (Hypothèse fondamentale) :
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Choix de la fonction de lien : approche par les odds
Pourquoi cette hypothèse est-elle raisonnable ?

 Elle est la plus simple : linéaire en .

 Elle garantit que est monotone en chaque composante de (si ,


plus augmente, plus augmente).

 Elle permet une frontière de décision linéaire (quand on a ).

l’hypothèse de linéarité des log-odds est un choix de modélisation que l’on fait parce
qu’il est simple, interprétable et conduit à de bonnes propriétés. Ce n’est pas une vérité
mathématique, mais une hypothèse que l’on teste sur les données.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
D’où vient cette hypothèse ? (Les origines)
Cette hypothèse n’est pas arbitraire. Elle vient de plusieurs raisons combinées :
Raison 1 : Simplification mathématique et interprétabilité (raison pratique)
 Si on modélisait directement la probabilité comme une fonction
linéaire ( ,(on aurait un gros problème : pourrait sortir de
l’intervalle [0, 1] (ex. : -0.3 ou 1.8). Ce n’est pas acceptable pour une probabilité.

 Le log-odds (logarithme du rapport des probabilités) est une transformation qui :


• Va de −∞ à +∞ (pas de bornes).
• Rend le modèle additif et linéaire.
• Permet une interprétation facile : chaque coefficient représente l’effet
additif sur le log-odds quand la feature augmente de 1.
C’est la même raison pour laquelle on utilise une droite en régression linéaire : c’est
simple, interprétable, et souvent une bonne approximation.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
D’où vient cette hypothèse ? (Les origines)
Raison 2 : Lien avec le théorème de Bayes (fondement probabiliste)
Dans un classifieur bayésien optimal, on a :

En prenant le log du rapport des probabilités a posteriori :

Le deuxième terme est constant (le log du prior odds).

𝐱∣
Si on fait l’hypothèse simplificatrice que le log du likelihood ratio est
𝐱∣
linéaire en , alors tout le log-odds devient linéaire.
C’est exactement ce que fait la régression logistique : elle suppose que le log du
rapport de vraisemblance est une fonction linéaire des variables.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Modélisation par la fonction logistique
On souhaite lier la probabilité à une combinaison linéaire des caractéristiques. On
introduit le logit (logarithme de la cote) :

logit

On suppose que ce logit est une fonction linéaire de :

Cette hypothèse est fondamentale : elle postule que les log-odds (logarithme du rapport
de probabilités) varient linéairement avec les caractéristiques.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire

Modélisation par la fonction logistique


Exponentions les deux côtés

En inversant cette relation, on obtient :

où est la fonction sigmoïde.


C’est ainsi que la forme paramétrique de la régression logistique émerge naturellement
d’une hypothèse de linéarité sur le logit.

La sigmoïde « compresse » n’importe quel nombre réel dans l’intervalle ,ce qui est
parfait pour une probabilité.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Nous avons un modèle paramétrique : pour estimer et , on utilise le
principe du maximum de vraisemblance.
 La vraisemblance devient :

 La log-vraisemblance :

On cherche à maximiser Par commodité, on définit la log-vraisemblance négative


moyenne (fonction de coût) :

Minimiser est équivalent à maximiser .


La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Pour minimiser , on utilise la descente de gradient. Calculons la dérivée par rapport à
.On a :

Ensuite,

Par la règle de la chaîne :

C’est un résultat remarquable : la dérivée de la perte individuelle par rapport au score


linéaire est simplement l’erreur de prédiction .
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Démonstration :
Contexte : la perte individuelle (log-loss)

Pour un exemple avec ,la perte est :

1
où et .
1


Objectif : calculer pour pouvoir ensuite descendre le gradient par rapport aux
paramètres et .
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Démonstration :
Dérivée de la sigmoïde
Commençons par la dérivée de :

On peut la réécrire de façon plus élégante :

En effet, .Donc :

C’est une propriété essentielle : la dérivée de la sigmoïde s’exprime simplement à l’aide


de la sigmoïde elle-même.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance

Démonstration :
Dérivée de la perte par rapport à
On considère comme une fonction de (momentanément, on oublie que dépend
de ). Calculons la dérivée partielle :

1
Attention : la dérivée de est .Donc :
1

Souvent on préfère écrire :


La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Application de la règle de la chaîne
On a qui dépend de via .La règle de la chaîne donne :

Or ′ .
Donc :
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Distribuons sur les deux termes :
1
Premier terme :
1
Deuxième terme :
1 ℓ
Attention au signe : c’est ,donc :
1
Développons :


Donc :
Les termes et s’annulent. Il reste :
𝒊
𝒊 𝒊
𝒊
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
𝛛ℓ𝒊
Pourquoi ce résultat ( 𝒊 𝒊) est-il remarquable ?
𝛛𝒛𝒊
a) Simplicité : la dérivée est simplement l’erreur de prédiction (probabilité prédite
moins étiquette réelle). Pas de termes complexes.
b) Interprétation :
1. Si et est proche de 1 (bonne prédiction), la dérivée est proche de 0
→ petit ajustement.
2. Si et est faible (sous-estimation), la dérivée est négative (car
.(Dans la descente de gradient, on va augmenter ) car on soustrait un
gradient négatif) pour relever .
3. Si et est proche de 1 (surestimation), la dérivée est positive, donc on
va diminuer pour réduire .
1. Stabilité numérique : l’erreur reste bornée entre -1 et 1, évitant les
explosions de gradient.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Lien avec l’optimisation

Une fois qu’on a ,on obtient facilement les gradients par rapport à et :

1
Pour la fonction de coût totale ,le gradient est la moyenne des gradients
individuels :

1 1
C’est exactement ce qu’on utilise dans l’algorithme de descente de gradient.
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Exemple :

Prenons un exemple : , ) sous-estimation).



 .

 En descente de gradient, on va mettre à jour par .


 Augmenter augmente ) car sigmoïde croissante), ce qui corrige la sous-estimation.

Vérifions avec la formule directe :


.Si on augmente un tout petit peu, augmente,
donc diminue. La dérivée négative indique bien que pour réduire ,il faut
augmenter .
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire
Estimation des paramètres par maximum de vraisemblance
Récapitulatif des étapes du calcul
Étape Formule Justification
1 ℓ = − 𝑦 ln 𝑝 + 1 − 𝑦 ln 1 − 𝑝 Définition de la log-loss
2 𝑝 =𝜎 𝑧 Modèle

3 𝜎′ 𝑧 = 𝜎 𝑧 1 − 𝜎 𝑧 Dérivée de la sigmoïde

∂ℓ 1−𝑦 𝑦
4 = − Dérivation de la log-loss
∂𝑝 1−𝑝 𝑝
∂ℓ ∂ℓ 𝑑𝑝
5 = ⋅ Règle de la chaîne
∂𝑧 ∂𝑝 𝑑𝑧
∂ℓ 1−𝑦 𝑦
6 = − 𝑝 1−𝑝 Substitution
∂𝑧 1−𝑝 𝑝

7 Simplification → 𝑝 − 𝑦 Algèbre
La Régression Logistique Apprentissage supervisé : Classification
Classification binaire

from sklearn.linear_model import LogisticRegression

# 5. Créer et entraîner le modèle de régression logistique


# - solver='lbfgs' : bon pour les petits jeux de données
# - max_iter=1000 : pour assurer la convergence
model_bin = LogisticRegression(solver='lbfgs', max_iter=1000, random_state=42)
model_bin.fit(X_train_scaled, y_train)

# 6. Prédire sur le test


y_pred = model_bin.predict(X_test_scaled)
y_proba = model_bin.predict_proba(X_test_scaled) # probabilités pour les deux
classes
La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)

La classification multiclasse, c’est-à-dire quand il y a K classes (K > 2).


Exemples :
 Classification des chiffres manuscrits (0 à 9) → K = 10 classes
 Classification des iris (setosa, versicolor, virginica) → K = 3 classes
 Classification de sentiments (positif, négatif, neutre) → K = 3 classes

En version binaire, nous avions une seule probabilité :

.
Pour K classes, on ne peut plus faire cela. Il faut calculer K probabilités différentes :

avec la contrainte importante :


La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)

L’Hypothèse fondamentale en version Multiclass

On généralise l’hypothèse du log-odds :

Pour chaque classe , on définit un score linéaire (ou logit) spécifique à cette classe :

pour

où et sont les paramètres propres à la classe .

Idée clé : Au lieu d’avoir un seul vecteur de poids , on a maintenant une matrice de poids
de taille ,où chaque ligne correspond à une classe.
La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)

La Fonction Softmax : Généralisation de la Sigmoïde

Pour transformer les K scores 1 2 en probabilités qui somment à 1, on utilise la


fonction softmax :

Pourquoi cette formule ?


 L’exponentielle rend tous les scores positifs.
 On divise par la somme de toutes les exponentielles → cela normalise les valeurs
pour qu’elles somment à 1.
 Si un score est beaucoup plus grand que les autres, sera proche de 1 (le
modèle est très sûr de cette classe).
La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)

La Fonction Softmax : Généralisation de la Sigmoïde

Analogie intuitive :
Imaginez K personnes qui courent. Chaque personne a un "score de vitesse" .La
fonction softmax transforme ces scores en probabilités de gagner la course, en tenant
compte de la performance relative de tous les participants.

Cas particulier :
Quand K = 2, la softmax est mathématiquement équivalente à la sigmoïde. C’est
pourquoi on dit que la régression logistique binaire est un cas particulier de la version
multiclasse.
La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)

La Fonction de coût en Multiclasse

On généralise la cross-entropie :
Pour un seul exemple, la perte est :

où est l’indicateur one-hot (1 si la vraie classe est k, 0 sinon).

Exemple :
si la vraie classe est la classe 3 (K=5), alors ,et la perte devient
simplement :
3
La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)

La Fonction de coût en Multiclasse

Le coût global sur tout le jeu de données (m exemples) est :

1
1
C’est la Cross-Entropie Catégorielle (Categorical Cross-Entropy).

Pourquoi cette perte ?


Elle vient toujours de la maximisation de la vraisemblance multinomiale. Elle pénalise
fortement quand le modèle donne une faible probabilité à la vraie classe.
La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)

Processus d’entraînement (Descente de Gradient)


Le processus est très similaire à la version binaire, mais avec plus de paramètres.
1. Forward Pass :
Calculer les K logits : pour chaque classe k
Appliquer softmax pour obtenir les
2. Calcul du gradient :
La dérivée de la perte par rapport au logit est très élégante :

Puis on propage vers les poids :

,
1
3. Mise à jour : On met à jour tous les poids et biais avec la règle de la descente de
gradient (ou Adam, etc.).
La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)
Méthodes d’optimisation utilisées en pratique
En réalité, on n’utilise presque jamais la descente de gradient simple. Voici les
méthodes courantes :

1. L-BFGS (Limited-memory BFGS)


1. Méthode quasi-Newton très efficace pour la régression logistique.
2. Utilisée par défaut dans scikit-learn (solver='lbfgs’).

2. Newton-Raphson (ou méthode de Newton)


1. Utilise la matrice hessienne (2e dérivées).
2. Très rapide pour les petits jeux de données.

3. Stochastic Gradient Descent (SGD) et ses variantes (Adam, RMSprop…)


1. Utilisées quand le jeu de données est très grand.
La Régression Logistique Apprentissage supervisé : Classification
La Régression Logistique Multiclasse (Multinomial Logistic Regression)
from sklearn.linear_model import LogisticRegression
from [Link] import load_iris
from sklearn.model_selection import train_test_split
from [Link] import StandardScaler

iris = load_iris()
X, y = [Link], [Link]

# Normalisation recommandée
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.3, random_state=42)

# Modèle multinomial (softmax)


model = LogisticRegression(multi_class='multinomial', solver='lbfgs', max_iter=200)
[Link](X_train, y_train)

print("Score sur le test :", [Link](X_test, y_test))


print("Probabilités pour les 5 premiers exemples :\n", model.predict_proba(X_test[:5]))
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Introduction : le problème de la séparation
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Introduction : le problème de la séparation
 Imaginez que vous avez des ronds rouges des
ronds bleus sur un plan.

Objectif : tracer une ligne droite qui séparer au


mieux les ronds rouges des bleus .
C’est le principe d’un classifieur linéaire.

 Mais quelle est la meilleure droite ?


Les SVM répondent : celle qui maximise
la marge, c’est-à-dire la distance entre la droite et
les points les plus proches de chaque côté.

Objectif des SVM : trouver l’hyperplan (une droite en 2D, un plan en 3D, etc.) qui sépare les
classes avec la plus grande marge possible, tout en tolérant éventuellement quelques erreurs.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Introduction : le problème de la séparation

 Le SVM est un classifieur qui cherche


l’hyperplan (une droite en 2D, un plan en 3D,
etc.) qui sépare les deux classes avec la plus
grande marge possible.

 C’est un modèle basé sur un score (pas sur une


probabilité comme la régression logistique).

 Il est particulièrement fort quand les classes sont


bien séparables ou en haute dimension.

Contrairement à d’autres modèles, le SVM ne cherche pas juste une frontière de décision,
mais la meilleure frontière possible, celle qui maximise la marge entre les deux classes.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Introduction : le problème de la séparation

Quelle est la meilleure


frontière de décision?

La meilleur fonction
discriminante est celle
qui généralise la
classification et elle est
stable par rapport aux
nouvelles données.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Les concepts clés

 L'Hyperplan :
C'est la frontière de décision (une ligne en
2D, un plan en 3D).

 Les Vecteurs de Support :


Ce sont les points les plus proches de la
frontière. Ce sont les points "critiques" : si on
les déplace, la frontière bouge.

 La Marge :
La distance entre l'hyperplan et les vecteurs
de support.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : Hard Margin SVM (pas d’erreurs autorisées).
Séparation Linéaire (Cas Simple)
Pour un problème de classification binaire avec des étiquettes :
Étape 1 : Définition de la frontière de décision

On cherche à déterminer un hyperplan séparateur,


défini par l’équation :

où :
o représente le vecteur de poids, orthogonal à
l’hyperplan (le vecteur normal à l’hyperplan)

o est le biais, qui permet de décaler la


frontière dans l’espace.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : Hard Margin SVM (pas d’erreurs autorisées).
Pour un problème de classification binaire avec des étiquettes :
Étape 2 : Définition des marges

 On introduit deux hyperplans parallèles à la


frontière de décision, qui passent par les points
les plus proches appelés vecteurs de support :

 Ces deux hyperplans délimitent la marge, c’est-


à-dire la zone de séparation maximale entre les
deux classes.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : Hard Margin SVM (pas d’erreurs autorisées).
Pour un problème de classification binaire avec des étiquettes :

Étape 3 : La règle de décision

Pour un nouveau point , on calcule le score :

 Si →classe +1
 Si →classe -1
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : Hard Margin SVM (pas d’erreurs autorisées).
Pour un problème de classification binaire avec des étiquettes :
Étape 4 : Maximisation de la marge

 La distance entre les deux hyperplans précédents,


appelée marge, est donnée par :

Ainsi, maximiser cette distance revient à rendre les


deux classes aussi éloignées que possible de la
frontière de décision.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : Hard Margin SVM (pas d’erreurs autorisées).
Pour un problème de classification binaire avec des étiquettes :
Étape 4 : Maximisation de la marge
Rappel : distance point → hyperplan Distance au second plan
La distance d’un point 0 à un hyperplan On utilise la formule de distance au plan :
est donnée par :
0 On réécrit ce plan sous forme standard :

o Numérateur = “distance algébrique” Application de la formule


o Dénominateur = normalisation par la norme de 1
Idée de la démonstration
On va :
Prendre un point 1 sur le plan Substitution
Calculer sa distance au plan Comme 1 ,alors :
Calcul de la distance
Point sur le premier plan
Soit 1 tel que :
Marge
1
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : Hard Margin SVM (pas d’erreurs autorisées).
Pour un problème de classification binaire avec des étiquettes :

Étape 5 : Les contraintes (pour que tous les points


soient bien classés)

Pour chaque exemple :

(où ou ).
Le « 1 » correspond à la bande de sécurité.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : Hard Margin SVM (pas d’erreurs autorisées).
Pour un problème de classification binaire avec des étiquettes :

Étape 5 : Les contraintes (pour que tous les points


soient bien classés)

Lien avec la fonction de perte

Cette contrainte mène directement à la hinge loss :

 Si la contrainte est respectée → perte = 0


 Sinon → pénalité
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : Hard Margin SVM (pas d’erreurs autorisées).
Pour un problème de classification binaire avec des étiquettes :
Étape 5 : Le problème d’optimisation (formulation
primal)

 On résout le problème suivant :

2
𝐰,

 sous les contraintes :

 C’est un problème d’optimisation convexe avec


contraintes linéaires.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : le Soft Margin SVM
Quand on autorise des erreurs : le Soft
Margin SVM
Dans la réalité, les données ne sont pas
toujours parfaitement séparables. On
introduit alors des variables d’écart (slack
variables) .

 : Le point est correctement classé


et en dehors de la marge

 : Le point est à l'intérieur de


la marge, mais du bon côté.

 : Le point est mal classé (du


mauvais côté de l'hyperplan)
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
L’algorithme d’apprentissage : le Soft Margin SVM
Quand on autorise des erreurs : le Soft Margin SVM
L'objectif est de minimiser la norme du vecteur poids (pour maximiser la marge) tout en
minimisant la somme des variables d'écart (pour limiter les erreurs) :

𝐰, ,𝝃

sous les contraintes :

Le Paramètre de Régularisation
Il contrôle le compromis (trade-off) entre la maximisation de la marge et la
pénalisation des erreurs :
 Plus est grand, plus on pénalise les erreurs (on se rapproche du hard margin).
 Plus est petit, plus on tolère les erreurs (marge plus grande, mais plus
d’erreurs).
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
La fonction de perte (Hinge Loss)
Le SVM ne cherche pas à estimer des probabilités.
Il vérifie plutôt si les points sont correctement positionnés par rapport à un “couloir de
séparation” (la marge).
Pour un exemple , la fonction de perte est définie par :

 Si le point est bien classé et situé en dehors de la marge :

aucune pénalité

 Si le point est mal classé ou à l’intérieur de la marge :

la perte devient positive et augmente linéairement

Ainsi, seuls les points problématiques influencent l’apprentissage.


Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Fonction de coût globale (objectif du SVM)
Pour entraîner le modèle, on combine deux objectifs :
a. Maximiser la marge (régularisation)
b. Minimiser les erreurs de classification

La fonction de coût s’écrit :

 Forme 1 (classique SVM avec ) (utilisée dans scikit-learn ) (recommandée)


2

 Forme 2 (version avec ) (utilisée en optimisation / théorie ML)


2

1
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Fonction de coût globale (objectif du SVM)
La fonction de coût recommandée est la suivante :

Le paramètre (ou dans scikit-learn) joue le rôle de bouton de réglage du compromis du


modèle.
 Grand (donc petit ) : le modèle cherche à classer parfaitement tous les exemples,
quitte à obtenir une marge très étroite, ce qui peut conduire à un surapprentissage
(overfitting).

 Petit (donc grand ) : le modèle accepte certaines erreurs afin de favoriser une
marge plus large et plus robuste, ce qui améliore la généralisation.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Fonction de coût globale (objectif du SVM)
Terme Rôle Intuition
Régularisation
rendre le modèle simple et stable
réduit la variance
erreurs de classification
hinge loss punir les points mal classés ou trop proches
réduit le biais
compromis biais / variance (entre vouloir une
(C) équilibre grande marge (petit ∥ 𝐰 ∥) et vouloir peu
d’erreurs (petite hinge loss))

 Le biais mesure l’erreur due à des hypothèses trop simples du modèle.


 La variance mesure la sensibilité du modèle aux variations des données
d’entraînement.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Minimisation de la fonction de coût

 La fonction de coût est convexe

elle n’a qu’un minimum global, pas de pièges locaux.

On ne peut pas la minimiser analytiquement (il n’y a pas de formule fermée


comme en régression linéaire). On doit donc utiliser des méthodes
d’optimisation.

 Il existe deux façons principales de procéder :

o Méthode 1 : Formulation Primal (directe)

o Méthode 2 : Formulation Dual (la plus utilisée)


Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Minimisation de la fonction de coût
Méthode 1 : Formulation Primal (directe)

On minimise directement en calculant le gradient.

Gradient de la fonction :
Le gradient par rapport à et est :

où condition est l’indicateur qui vaut 1 si la condition est vraie, 0 sinon.


Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Minimisation de la fonction de coût
Méthode 1 : Formulation Primal (directe)

Règle de mise à jour (Descente de Gradient) :

On répète cela pendant plusieurs itérations.

Inconvénient : Cette approche est rarement utilisée en pratique pour le SVM car elle est
lente sur de grands jeux de données.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Minimisation de la fonction de coût
Méthode 2 : Formulation Dual (la plus utilisée)
C’est la méthode classique pour les SVM. On transforme le problème primal en un
problème dual grâce au théorème de Lagrange.
Le problème dual devient :
sous les contraintes :

où est la fonction kernel.


Avantages de la forme duale :
 Elle dépend seulement des produits scalaires (facile à kerneliser).
 Seuls les points avec sont les vecteurs de support.
 Très efficace avec les solveurs spécialisés (SMO, libsvm, L-BFGS,…).
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Le Kernel Trick (Le passage au non-linéaire)
Le problème du cas linéaire
 Jusqu’à présent, nous avons supposé que les deux classes pouvaient être séparées par
une droite (en 2D) ou un hyperplan (en dimension supérieure).
 Mais dans la réalité, la plupart des problèmes sont non linéaires : les classes forment
des cercles, des courbes, des spirales, etc.

 Question :
Comment faire pour séparer des données
qui ne sont pas linéairement séparables
dans l’espace d’origine ?

 Solution :
Projeter les données dans un espace de
dimension beaucoup plus élevée où
elles deviennent linéairement séparables.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Le Kernel Trick (Le passage au non-linéaire)
Passage au cas non linéaire : l’idée de l’application
On introduit une fonction de projection (ou feature map) :
avec
Exemple :
 Dans l’espace original (2D) : les points forment deux cercles entremêlés.
 Dans l’espace projeté (très grande dimension) : les points deviennent linéairement
séparables.
Le problème primal devient alors :
2
𝐰,
1
avec les contraintes portant sur :

Problème majeur : Calculer explicitement est souvent impossible (D peut être infini !)
et extrêmement coûteux.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Le Kernel Trick (Le passage au non-linéaire)
Le Kernel Trick : la solution élégante
Idée brillante : on n’a jamais besoin de calculer explicitement.

 On remarque que dans la forme duale (nous allons la voir juste après), le seul endroit
où apparaît est sous forme de produit scalaire :

 On remplace simplement ce produit scalaire par une fonction kernel :

 C’est le kernel trick (astuce du noyau).


Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Le Kernel Trick (Le passage au non-linéaire)
Le Kernel Trick : la solution élégante
Avantage énorme : on calcule directement sans jamais passer par .

Exemples de kernels classiques :

Situation
Linéaire :
des données )cas
Fonction linéaire)
kernel utilisée
Formule duale change-t-
Commentaire
elle ?

Données linéairement
Polynomial
séparables
: 𝐾 𝐱 𝐳 = 𝐱 𝐳)linéaire) Non Cas classique

𝐾 𝐱 𝐳 = exp(−𝛾 ∥ 𝐱
Données
RBF non linéaires
/ Gaussien (le−plus utilisé) :
𝐳 ∥ ))RBF)
Non Même
2 formule

Le RBF polynomiales
Données permet de créer𝐾des
𝐱 𝐳 frontières
= 𝐱 𝐳 + 𝑐 très complexes
Non tout en restant
Mêmecalculable
formule très
rapidement.
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
Le Kernel Trick (Le passage au non-linéaire)
Le Kernel Trick : la solution élégante
Avantage énorme : on calcule directement sans jamais passer par .

Tableau récpitulatif de quelques exemples de kernels classiques :

Situation des Formule duale


Fonction kernel utilisée Commentaire
données change-t-elle ?
Données
linéairement )linéaire) Non Cas classique
séparables
2 )
Données non
Non Même formule
linéaires RBF)
Données
Non Même formule
polynomiales
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
La Formulation Duale du SVM (la plus importante en pratique)

La forme primal est difficile à résoudre directement quand on a beaucoup de données. On


passe donc à la forme duale.

a) Problème primal (rappel)

2
𝐰, ,𝝃

sous contraintes :
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
La Formulation Duale du SVM (la plus importante en pratique)
b) Construction de la forme duale
 On introduit des multiplicateurs de Lagrange et pour chaque
contrainte.
 Après dérivation et simplification (c’est un peu technique mais classique), on obtient
le problème dual :

𝜶
1 1
1
sous les contraintes :

1
 C’est ce problème qu’on résout en pratique (avec SMO, libsvm, etc.).
Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
La Formulation Duale du SVM (la plus importante en pratique)
b) Construction de la forme duale

Interprétation très importante :


 Les sont les multiplicateurs de Lagrange.
 Seuls les points avec sont les vecteurs de support.
 Tous les autres points ( (n’influencent pas la solution finale.

c) Fonction de décision finale


Une fois les trouvés, la prédiction pour un nouveau point se fait avec :

signe

 C’est tout ! On n’a plus besoin de explicitement.


Machines à Vecteurs de Support (SVM) Apprentissage supervisé : Classification
from sklearn import svm
# 1. SVM linéaire sur des données séparables linéairement
# C contrôle la marge souple : petit C -> marge large (tolère plus d'erreurs)
# grand C -> marge étroite (peu d'erreurs)
model_linear = [Link](kernel='linear', C=1.0, random_state=42) # Créer le modèle SVM linéaire
model_linear.fit(X_train, y_train)
# Prédictions
y_pred = model_linear.predict(X_test)

# 2. SVM linéaire avec marge souple (C petit vs grand)

# Créer deux modèles avec C très différent


model_smallC = [Link](kernel='linear', C=0.01, random_state=42)
model_largeC = [Link](kernel='linear', C=100, random_state=42)

3. SVM avec noyau RBF pour données non linéaires


# gamma contrôle l'influence d'un point : petit gamma -> influence lointaine, frontière lisse
# grand gamma -> influence locale, frontière plus complexe (risque de surapprentissage)
model_rbf = [Link](kernel='rbf', C=1.0, gamma=0.5, random_state=42) # SVM avec noyau RBF (gaussien)
model_rbf.fit(Xc_train, yc_train)
y_pred_rbf = model_rbf.predict(Xc_test)

Vous aimerez peut-être aussi