Vous êtes sur la page 1sur 122

Plan

• Introduction à l’apprentissage
• Apprentissage inductif: Arbres de décision
• Apprentissage d’ensembles d’hypothèses
• Apprentissage à partir d’instances : K-voisins
les plus proches
• Réseaux de Neurones
• SVM
2
2019-04-01
Apprentissage par observation

• L’apprentissage est essentiel pour des


environnements inconnus, où le concepteur ne
peut pas tout savoir à l’avance.
• L’apprentissage modifie les mécanismes de
décision de l’agent pour améliorer sa
performance.

3
2019-04-01
Type de retour pour le critique
• Trois types d’apprentissage
– Apprentissage supervisé
• Dans ce cas, la base de données d'apprentissage est un
ensemble de couples entrée-sortie avec
et que l'on considère être tirées selon une loi sur
inconnue, par exemple suit une loi uniforme et
où est un bruit centré.
– Apprentissage non supervisé
• L’agent apprend à partir des relations entre les perceptions.
Il apprend à prédire les perceptions à partir de celles du
passé.
– Apprentissage par renforcement
• L’évaluation de l’action est faite par récompense ou
punition (attachée à la tâche).
4
2019-04-01
Apprentissage inductif
• Forme la plus simple d’apprentissage (supervisé) qui
consiste à apprendre une fonction à partir d’exemples.
– On veut apprendre une fonction .
– On a des exemples de la forme ;
– On veut trouver une fonction (hypothèse) qui se
rapproche le plus possible de .

5
2019-04-01
Méthode d’apprentissage inductif

• est cohérente si elle coïncide avec sur tous les


exemples.
• Comment choisir alors parmi plusieurs hypothèses
cohérentes?
– Ex: Ajustement de courbes • Laquelle choisir ?
• « Ockham’s
razor »: Choisir la
plus simple parmi
les hypothèses
compatibles.
Si il n’y a pas d’hypothèse cohérente, il faut
faire un compromis entre la cohérence et la
simplicité.
6
2019-04-01
Espace des hypothèses

• L’espace des hypothèses est très important.


– On doit choisir un espace d’hypothèses qui
permet de représenter les données.
– Par exemple, si on choisit des polynômes et que
les données d’apprentissage proviennent d’une
fonction sinusoïdale, on n’y arrivera pas.
– Il ne faut pas prendre trop grand, car
l’apprentissage serait trop lent. Il y aurait aussi
augmentation possible de l’overfitting.

7
2019-04-01
Espace des hypothèses (suite)

• Un problème d’apprentissage est dit réalisable


si l’espace des hypothèses contient la vraie
fonction.
• L’hypothèse la plus probable

• Dans ce cas, on peut favoriser via les


degré de polynôme 1, 2 ou autres.

8
2019-04-01
Apprentissage d’arbres de décision
• Une des formes les plus simples d’apprentissage,
mais tout de même une de celles qui connaissent
le plus de succès.
• À partir d’exemples, le but est d’apprendre des
structures d’arbres permettant de prendre des
décisions.
• Chaque nœud représente un test à faire.
• Chaque branche représente une valeur possible
résultant du test.
• Une feuille correspond à une prise de décision.

9
2019-04-01
Exemple du restaurant

Faut-il ou pas attendre (WillWait) pour une table,


dans un restaurant ?

Attributs

10
2019-04-01
Exemple du restaurant
• Exemple: En arrivant au restaurant, est-ce que ça
vaut la peine d’attendre ?

11
2019-04-01
Exemple du restaurant
• Exemple : En arrivant au restaurant, est-ce que ça
vaut la peine d’attendre ?

12
2019-04-01
Apprentissage d’arbres de décision
• Les instances sont représentés par des pairs (attribut,
valeur). Les valeurs peuvent être discrètes ou continues.
• La fonction visée est généralement binaire, mais il est
facilement possible d'étendre les arbres de décision
pour qu'ils puissent avoir plusieurs valeurs en sorties.
• On pourrait donner en sortie des valeurs réelles, mais
ce n'est pas très utilisé.

13
2019-04-01
Apprentissage d’arbres de décision
• Les exemples d'entraînement peuvent contenir des
erreurs.
– Les erreurs dans les exemples d'entraînement sont
souvent appelés des bruits.
– Les arbres de décision sont robustes aux erreurs de
classification et aux erreurs dans les valeurs des attributs.
– Bien sûr, il ne faut pas qu'il y en ait trop.
• Il peut manquer des valeurs pour certains attributs dans
les exemples d'entraînement.
• Les arbres de décision sont bons pour les problèmes de
classification.

14
2019-04-01
Expressivité

• Toutes les fonctions booléennes peuvent être


représentées à l’aide d’un arbre de décision.
• On peut faire cela tout simplement en faisant
correspondre chaque ligne de la table de vérité à un
chemin dans l’arbre.
• Ceci va donner un arbre de grandeur exponentiel,
mais on peut souvent faire beaucoup mieux.

15
2019-04-01
Construire un arbre de décision

• L’apprentissage d’un arbre de décision est fait à


partir d’exemples de valeurs d’attributs et de la
valeur résultante du prédicat à apprendre.
• La valeur du prédicat à apprendre est appelée
la classification de l’exemple (ex: Vrai / Faux).
• L’ensemble des exemples est appelé l’ensemble
d’entraînement.

16
2019-04-01
Construire un arbre de décision

• Il ne s’agit pas uniquement de mémoriser les


observations: il faut trouver un arbre qui est
capable de généraliser pour les exemples qu’il
n’a pas déjà vus.
• L’arbre doit extraire des tendances ou des
comportements à partir des exemples.

17
2019-04-01
Algorithme
• Construire les arbres de décision de haut en
bas.
– Placer à la racine l’attribut le plus important, c’est-
à-dire celui qui sépare le mieux les exemples
positifs et négatifs.
– Par la suite, il y a un nouveau nœud pour chacune
des valeurs possibles de cet attribut.
– Pour chacun de ces nœuds, recommencer le test
avec le sous-ensemble des exemples
d'entraînement qui ont été classés dans ce nœud.

18
2019-04-01
Algorithme

19
2019-04-01
Entropie pour le choix des attributs (Wiki)

• L'entropie de Shannon, due à Claude


Shannon, est une fonction mathématique qui,
intuitivement, correspond à la quantité
d'information contenue ou délivrée par une
source d'information.

• Cette source peut être un texte écrit dans une


langue donnée, un signal électrique ou encore
un fichier informatique quelconque (collection
d'octets).

20
2019-04-01
Entropie (définition)
Entropie (variable binaire)
Entropie (propriétés)
Choix de l’attribut
• On choisit l'attribut ayant le meilleur gain
d'information:

S : les exemples d'entraînement.


A : l'attribut à tester.
V(A) : les valeurs possibles de l'attribut A.
Sv : le sous-ensemble de S qui contient les exemples qui ont la valeur v pour
l'attribut A.
c : le nombre de valeurs possibles pour la fonction visée.
pi : la proportion des exemples dans S qui ont i comme valeur pour la
fonction visée.
24
2019-04-01
Exemple
• Est-ce une bonne journée pour jouer au tennis ?
Journée Ciel Température Humidité Vent JouerTennis
J1 Ensoleillé Chaude Élevée Faible Non
J2 Ensoleillé Chaude Élevée Fort Non
J3 Nuageux Chaude Élevée Faible Oui
J4 Pluvieux Tempérée Élevée Faible Oui
J5 Pluvieux Froide Normal Faible Oui
J6 Pluvieux Froide Normal Fort Non
J7 Nuageux Froide Normal Fort Oui
J8 Ensoleillé Tempérée Élevée Faible Non
J9 Ensoleillé Froide Normal Faible Oui
J10 Pluvieux Tempérée Normal Faible Oui
J11 Ensoleillé Tempérée Normal Fort Oui
J12 Nuageux Tempérée Élevée Fort Oui
J13 Nuageux Chaude Normal Faible Oui
J14 Pluvieux Tempérée Élevée Fort Non
25
2019-04-01
Exemple
• Premièrement, il faut choisir la racine de l'arbre.
• Pour cela, nous allons choisir l'attribut qui a le plus
grand gain d'information.
– Pour calculer le gain d'information, nous devons
d'abord calculer l'entropie des exemples
d'entraînement.
– Il y a 9 exemples positifs et 5 exemples négatifs, donc
nous obtenons une entropie de:

26
2019-04-01
Exemple

• Maintenant, nous allons calculer le gain


d'information pour le premier attribut, l'attribut Ciel.
– Cet attribut a 3 valeurs possibles (ensoleillé, nuageux,
pluvieux), donc les exemples d'entraînement seront
regroupés en ces 3 sous-ensembles.
– Nous commençons donc par calculer l'entropie des 3 sous-
ensembles:

27
2019-04-01
Exemple

• Le calcul du gain d’information pour l’attribut


Ciel va donc donner:

28
2019-04-01
Exemple
• On calcul le gain de la même manière pour les
trois autres attributs:

• L'attribut qui a la plus grand gain


d'information est l'attribut Ciel, donc se sera la
racine de l'arbre de décision.

29
2019-04-01
Exemple
• En séparant les exemples selon les valeurs de l’attributs Ciel, on
obtient l’arbre partiel:
[9+, 5-]
Ciel
Ensoleillé
Pluvieux
Nuageux
[2+, 3-] [3+, 2-]
[4+, 0-]
??? Oui ???
• On peut voir que lorsque le ciel est nuageux, il reste uniquement
des exemples positifs, donc ce nœud devient une feuille avec une
valeur de Oui pour la fonction visée.
• Pour les deux autres nœuds, il y a encore des exemples positifs et
négatifs, alors il faut recommencer le même calcul du gain
d'information, mais avec les sous-ensembles restants.

30
2019-04-01
Exemple

• En effectuant les calculs restants, on obtient:


[9+, 5-]
Ciel

Ensoleillé Pluvieux
Nuageux
[2+, 3-] [3+, 2-]
[4+, 0-]
Humidité Oui Vent

Élevée Normale Fort Faible


[0+, 2-] [3+, 0-]
[0+, 3-] [2+, 0-] Non Oui
Non Oui

31
2019-04-01
Procédure générale d’apprentissage
1. Faire la collecte d’un grand ensemble d’exemples.
2. Diviser les exemples en deux ensembles: un
d’entraînement et l’autre de test (2/3 et 1/3 ou 80%
et 20%).
3. Utiliser l’ensemble d’entraînement comme
exemples et générer l’hypothèse .
4. Mesurer le pourcentage d’exemples de l’ensemble
de test qui sont correctement identifiés par .

32
2019-04-01
Gérer les erreurs dans les exemples
• Il se peut qu'on trouve un arbre plus grand, mais
qui ne classifiera pas bien les instances autres
que celles utilisées dans les exemples
d'entraînement (surapprentissage (overfitting)).
• Pour choisir la profondeur de notre arbre avant la
phase de test, on pourrait utiliser un ensemble de
validation. On réservera une partie des exemples
de l’ensemble d’entraînement pour former
l’ensemble de validation.

33
2019-04-01
Élagage de l’arbre
• Cette méthode coupe des parties de l'arbre en
choisissant un nœud et en enlevant tout son sous-
arbre.
– Ceci fait donc du nœud une feuille et on lui attribut la
valeur de classification qui revient le plus souvent.
• Des nœuds sont enlevés seulement si l'arbre
résultant n'est pas pire que l'arbre initial sur les
exemples de validation.
• On continue tant que l'arbre résultant offre de
meilleurs résultats sur les exemples de validation.
• Ceci a pour but de réduire l'arbre en enlevant des
branches.

34
2019-04-01
Exemple
• Est-ce une bonne journée pour jouer au tennis ?
Journée Ciel Température Humidité Vent JouerTennis
J1 Ensoleillé Chaude Élevée Faible Non
J2 Ensoleillé Chaude Élevée Fort Non
J3 Nuageux Chaude Élevée Faible Oui
J4 Pluvieux Tempérée Élevée Faible Oui
J5 Pluvieux Froide Normal Faible Oui
J6 Pluvieux Froide Normal Fort Non
J7 Nuageux Froide Normal Fort Oui
J8 Ensoleillé Tempérée Élevée Faible Non
J9 Ensoleillé Froide Normal Faible Oui
J10 Pluvieux Tempérée Normal Faible Oui
J11 Ensoleillé Tempérée Normal Fort Oui
J12 Nuageux Tempérée Élevée Fort Oui
J13 Nuageux Chaude Normal Faible Oui
J14 Pluvieux Tempérée Élevée Fort Non
35
2019-04-01
Élagage de l’arbre
• Si on ajoute une erreur dans l’exemple précédent en modifiant le
premier exemple, on obtient l’arbre suivant:
J1 Ensoleillé Chaude Élevée Faible Non
J1 Ensoleillé Chaude Normale Faible Non

Ciel
Ensoleillé Pluvieux
Nuageux

Humidité Oui Vent


Fort Faible
Élevée Normale
Non Oui
Non Température
Chaude Tempérée
Froide
Non Oui Oui
36
2019-04-01
Élagage de l’arbre

• L'élagage pour cet arbre consiste à enlever le


nœud Température qui vient d'être ajouté
avec l'erreur.
• Par la suite, on teste le nouvel arbre élagué
sur les exemples de validation.
• Si la performance n'est pas diminuée, alors on
conserve l'arbre élagué.

37
2019-04-01
Valeurs d'attributs manquantes
• S’il y a des valeurs pour certains attributs qui ne sont
pas disponibles, alors on peut :
– Donner la valeur moyenne pour cet attribut.
• On regarde les autres exemples et on calcule la
moyenne des valeurs présentes.
• On utilise cette moyenne pour estimer la valeur
manquante dans le calcul du gain d'information.
– Attribuer une probabilité pour la valeur manquante.
• On regarde les autres exemples et on calcule la
probabilité de chaque valeur possible pour l'attribut.
• On utilise par la suite ces probabilités pour calculer le
gain d'information.
38
2019-04-01
Valeurs d'attributs manquantes
• Pour la première stratégie, les calculs ne changent pas.
On ne fait qu'utiliser la valeur moyenne pour remplacer la
valeur manquante.
• Pour la deuxième stratégie, les calculs sont modifiés pour
utiliser les probabilités.
– On commence par calculer la probabilité de chacune des
valeurs possibles pour l'attribut manquant.
– Par exemple, supposons qu'il nous manquerait une valeur
pour l'attribut Vent.
• La probabilité que le vent soit faible, selon nos exemples
d'entraînement est de 8/14 * 100 = 57%.
• La probabilité que le vent soit fort est de 6/14 * 100 = 43%.
– Ceci nous donne des fractions d'exemples dans nos calculs.
39
2019-04-01
Attributs multivalués
• Il y a problème avec la fonction de gain d'information.
– Lorsque les attributs ont beaucoup de valeurs
possibles, comme par exemple un attribut date, leur
gain est très élevé, car il classifie parfaitement les
exemples.
– Par contre, ils vont générer un arbre de décision d'une
profondeur de 1 qui ne sera pas très bon pour les
instances futures.
• Solution: on peut utiliser une fonction qui se nomme
GainRatio qui pénalise les attributs qui ont trop de
valeurs possibles.

40
2019-04-01
Attributs multivalués

• On utilise la fonction GainRatio au lieu de


Gain lorsque l’on a des attributs multivalués.

S1 à Sc sont les c ensembles résultant de la partition


de S par les c valeurs de l'attribut A.

41
2019-04-01
Attributs à valeurs continues
• On utilise un point de coupe pour obtenir une
discrétisation des variables continues.
– Ex: la variable Température est continue et on a les 6
exemples suivants.
Température 40 48 60 72 80 90
JouerTennis Non Non Oui Oui Oui Non
– On met les valeurs en ordre croissant et on regarde les
endroits ou la fonction change de valeur.
– À ces endroits, on choisit la médiane comme valeur de coupe.
– On compare toutes les valeurs de coupe et on choisit celle qui
apporte le plus grand gain d'information.

42
2019-04-01
Exemple

Température 40 48 60 72 80 90
JouerTennis Non Non Oui Oui Oui Non

• Il y a deux valeurs de coupe:


– (48 + 60)/2 = 54
– (80 + 90)/2 = 85
• On calcul les gains d'information pour ces deux valeurs
de coupes.

43
2019-04-01
Exemple

• Gain pour la coupe 54:

• Gain pour la coupe 85:

44
2019-04-01
Exemple

• En comparant les gains d'informations, on se


rend compte que 54 est la meilleure valeur de
coupe.
– Par conséquent, la température sera utilisée
comme un attribut binaire qui ne pourra prendre
que deux valeurs: plus petit que 54 ou plus grand
ou égale à 54.

45
2019-04-01
Apprentissage d’ensembles d’hypothèses

• Au lieu d’apprendre une seule hypothèse, on


en apprend plusieurs et on combine leur
prédiction pour retourner la réponse.
– Ex: si on a 5 arbres de décisions
• Pour évaluer une instance, on exécute les 5 arbres
• On retourne la réponse qui revient le plus souvent:
Vote par majorité
• Ex: (2 vrais, 5 faux), donc on retourne faux.

46
2019-04-01
La méthode « boosting »

• Cette méthode est utilisée pour générer un


ensemble d’hypothèses.
• Attribut un poids à tous les exemples.
• Plus un exemple a un grand poids, plus il sera
considéré important par l’algorithme
d’apprentissage.

47
2019-04-01
La méthode « boosting »

• L’algorithme fonctionne de la manière suivante:

Donner un poids de 1 à tous les exemples.


Répéter M fois
- Générer une hypothèse à partir des exemples
- Augmenter le poids des exemples mal classifiés.
- Diminuer le poids des exemples bien classifiés.
• L’hypothèse finale est la majorité pondérée des M
hypothèses où le poids d’une hypothèse dépend de sa
performance sur l’ensemble d’entraînement.

48
2019-04-01
Algorithme des k plus proches voisins
• Paramètre : le nombre k de voisins
• Donnée : un échantillon de m exemples et leurs
classes.
• Entrée : un nouvel exemple X.
• Déterminer les k plus proches exemples de X en
calculant les distances.
• Sortie : la classe de X est prédite par vote de
majorité parmi les k plus proches voisins.

49
Exemple: Client loyal ou non

K=3

50
Autres distances

Distance
euclidienne :

Distance euclidienne ponderée :

51
Exemple (1)

52
Exemple (2)

K=3

53
Apprentissage à base d’instances

• Ne construit pas de fonctions à l’aide des


exemples d’entraînement.
• Ne fait qu’emmagasiner les exemples.
• Le calcul n’est fait que lorsque le programme a
une nouvelle instance à classer.
• Avantage: coût d’entraînement faible.
• Désavantage: coût de classification élevé.

2019-04-01
Fonction visée à valeurs discrètes
• L’ensemble V contient les valeurs possibles.
• L’estimation de la fonction est tout
simplement la valeur qui revient le plus
souvent dans les k voisins.

2019-04-01
Réseaux de Neurones

56
2019-04-01
Réseau de neurones

• Plusieurs neurones interconnectés ensemble


• Chaque neurone a la forme suivante:

2019-04-01
Perceptron

Ij Wji Ij Wj O
Oi
Neurones Neurones Neurones Neurone
d'entrée de sortie d'entrée de sortie

Réseau de perceptrons Un seul perceptron


2019-04-01
Perceptron

X0 = -1

X1 w0
w1
w2
X2 Somme
..
wn
.
Xn

2019-04-01
Perceptron
• Les perceptrons peuvent représenter toutes les
fonctions linéairement séparables.

X1 X1

+ +
+ - + -

X2 X2
-
- - +

Fonction linéairement Fonction non linéairement


séparable séparable
(la fonction OU Exclusif)

2019-04-01
Exemple de perceptron

• La fonction ET
– Les entrées prennent les valeurs 1 (vrai) ou 0 (faux)
X0 = -1

0.8
X1 0.5

Somme
0.5
X2

Pour un OU, il suffirait de poser w0 = 0.3


2019-04-01
Règle d'apprentissage du perceptron

• Commencer avec des poids de valeurs


aléatoires.
• Traiter tous les exemples d'entraînement
jusqu'à ce que le perceptron les classifie tous
correctement.
• À chaque exemple, les poids sont révisés à
l'aide de la règle suivante:
t : sortie désirée
o : sortie obtenue
: constante d'apprentissage,
généralement petite (ex. 0.1)
2019-04-01
Règle d'apprentissage du perceptron

• Pourquoi une telle règle converge-t-elle vers une


bonne hypothèse ?
Sortie (t – o) wi
perceptron
Bonne valeur 0 0 Pareil

-1 au lieu de +1 + + Augmente

+1 au lieu de -1 - - Diminue

2019-04-01
Version ‘Batch’
• La règle utilisée pour ajuster les poids est:

D : ensemble de tous les


exemples d'entraînement

2019-04-01
Les réseaux multi-couches

• Un perceptron linéaire à seuil est bien adapté pour


des échantillons linéairement séparables.
• Un perceptron linéaire à seuil est constitué d'un
seul neurone.
• Cependant, dans la plupart des problèmes réels,
cette condition n'est pas réalisée.
• On s'est très vite rendu compte qu'en combinant
plusieurs neurones le pouvoir de calcul était
augmenté et qu’on pouvait représenter des
séparateurs non-linéaires.

65
2019-04-01
Les réseaux multi-couches

Neurones Oi
de sortie

Wji

Neurones aj
cachés

Wkj

Neurones
Ik
d'entrée

2019-04-01
Les réseaux multi-couches
• Par exemple, dans le cas des fonctions booléennes, il est facile de calculer le
XOR en utilisant deux neurones linéaires à seuil.

67
2019-04-01
Exemple

• L’ajustement des poids dans les


réseaux de neurones revient à
modifier les paramètres de la
fonction représentée par le
réseau.
• Par exemple, la sortie du réseau
a5 dépend de la valeur des
entrées et . Les
paramètres de la fonction sont
les poids W.

2019-04-01
Sigmoïd

• Fonction continue entre 0 et 1


X0 = -1

X1 w0
w1
w2
X2 Somme
..
wn
.
Xn

2019-04-01
Algorithme de rétropropagation
• Utilise l'algorithme de descente du gradient.
• Tente de diminuer la différence au carré entre
les sorties du réseau et les sorties désirées.
• L'erreur E du réseau est:

tkd : sortie désirée


okd : sortie obtenue
D : ensemble des exemples
d'entraînement
sorties : ensemble des sorties
du réseau
2019-04-01
Algorithme de rétropropagation

Xji : l'entrée qui provient


de l'unité i vers l'unité
jw : le poids correspondant
ji

71
2019-04-01
Algorithme de rétropropagation:
Dérivation

72
2019-04-01
Algorithme de rétropropagation:
Dérivation

73
2019-04-01
Algorithme de rétropropagation
- Initialiser les poids à de petites valeurs aléatoires (entre -0.05 et 0.05)
- Tant que la condition d'arrêt n'est pas atteinte
- Pour chaque exemple d'entraînement
• Calculer les sorties du réseau.
• Pour toutes les unités de sortie calculer l'erreur:

• Pour toutes les unités cachées h, calculer l'erreur:

• Mettre à jour tous les poids wji :

Xji : l'entrée qui provient


de l'unité i vers l'unité j
wji : le poids correspondant

2019-04-01
Exemple

Entrées

-1 x0
W40 = -0.5 -1 x3
W53 = -0.4

W41 = -0.2 Sortie


2 x1
W54 = 0.3
x4 x5 2
W42 = 0.1
5 x2

2019-04-01
Exemple

Entrées

-1 x0
W40 = -0.5 -1 x3
W53 = -0.4

W41 = -0.2 Sortie


2 x1
W54 = 0.3
x4 x5 2
W42 = 0.1
5 x2

2019-04-01
Exemple

Entrées

-1 x0
W40 = -0.5 -1 x3
W53 = -0.4

W41 = -0.2 Sortie


2 x1
W54 = 0.3
x4 x5 2
W42 = 0.1
5 x2

2019-04-01
Exemple
Entrées

-1 x0
W40 = -0.5 -1 x3
W53 = -0.4

x1 W41 = -0.2
2 Sortie
W54 = 0.3
x4 x5 2
W42 = 0.1
5 x2

2019-04-01
Exemple
Entrées

-1 x0
W40 = -0.5 -1 x3
W53 = -0.4

x1 W41 = -0.2
2 Sortie
W54 = 0.3
x4 x5 2
W42 = 0.1
5 x2

2019-04-01
Condition d'arrêt
• Le nombre d'itérations est important car:
– Si trop faible, l'erreur n'est pas suffisamment réduite.
– Si trop grand, le réseau devient trop spécifique aux données
d'entraînement.
• Il y a plusieurs conditions d'arrêt possible:
– Après un certain nombre fixe d'itérations.
– Lorsque l'erreur dans les sorties des exemples d'entraînement
descend en dessous d'une certaine borne.
– Retourner les dernières valeurs de paramètres qui ont
résultées en une augmentation de la performance sur
l’ensemble de validation (early stopping).

2019-04-01
Applications
• TSUNAMI du deep learning
• L'interprétation d'images.
• La reconnaissance de formes
• La reconnaissance vocale.
• La reconnaissance de mots écrits à la main.
• L'apprentissage de stratégies de contrôle pour les
robots.
• Une des meilleurs méthodes connues pour
l'interprétation de données provenant de capteurs
dans le monde réel.

2019-04-01
Démo
 https://playground.tensorflow.org
Une introduction aux machines à
vecteurs supports (SVM)
Adapté de Martin Law, Antoine Cornuéjols et autres sources sur Internet
Plan
• Qu’est-ce qu’une bonne frontière de
séparation pour deux classes linéairement
séparables ?
– La solution SVM
• Adaptation aux cas non linéairement
séparables
– l’astuce des fonctions noyau
• SVR

84
Problème à deux classes linéairement
séparables
• Plusieurs surfaces de décision existent
pour séparer les classes ; laquelle choisir ?
Frontière de décision possibles

Classe 2

Classe 1

85
Exemples de choix mal avisés

Classe 2 Classe 2

Classe 1 Classe 1

 Pour minimiser la sensibilité au bruit, la surface de décision


doit être aussi éloignée que possible des données proches de
chaque classe
Hyperplans
 Un hyperplan est défini par l’équation:

 Distance d’un point x à l’hyperplan est donné par:

 Puisque multiplier w et b par une constante ne change pas


l’hyperplan, nous allons fixer

 Le point le plus proche de l’hyperplan est maintenant à une distance


de 1/||w||.
 Le classificateur sera donné par f(x) = sgn(D(x)).
Hyperplan de plus vaste marge
wT xi  b  1
• Équation de l’hyperplan de séparation : y  wT x  b
Hyperplan
wT xi  b  0 valide (Ligne droite dans un espace à deux dimensions)
Marge
maximale
w T xi  b  1
w x i  b  1
T

Classe 2

w T xi  b  1

Classe 1
Hyperplan
optimal

 Si {xi} = {x1, ..., xn} est l’ensemble des données et yi {1,-1} est la
classe de chacune, on veut avoir :

tout en ayant une distance optimale entre les xi et le plan de


séparation
88
Optimisation de la marge
 Distance d’un point à
l’hyperplan :
w
Marge D(x)> 1
maximale
Classe 2

 Marge max. avant


d’atteindre les frontières
des deux classes:
Vecteurs D(x) = +1
de support

 Maximiser m revient à Hyperplan


optimal
minimiser ||w|| tout en D(x)< -1
D(x) = 0
classifiant correctement les Classe 1
D(x)= -1
exemples :
1
sous la contrainte yi ( wT xi  b)  1, i
2
min w
2

89
Problème d’optimisation quadratique
 Maximiser la marge du classificateur revient donc à trouver
w et b tels que :
1 2
w est minimum
2
et

yi wT xi b   1, i 1,...,n
 Si d est la dimension des xi (nombre d’entrées), cela revient
à régler d+1 paramètres (les éléments de w, plus b)
 Possible par des méthodes d’optimisation classiques
(optimisation quadratique) seulement si d pas trop grand (< 103)
 L’approche SVM utilise les multiplicateurs de Lagrange.

90
Lagrangien
Conditions KKT
Formulation du problème dual
 n
  i{( x Ti wb) yi 1}
1
( w, b, α ) 
2
w
 Partant de  2 i 1

i  i 0 n

 w ,b ( w, b, α )  0 donne w    i yi xi
i 1
n

et  y
i 1
i i 0

 On a par substitution dans  ( w , b, α ) :




 
n
1 n n
 ( w , b, α )    i   
2 i 1 j 1
 i j yi y j x T
i
xj

i  0
i 1

 i
 n
  i yi  0

 i 1
 Il faut trouver  qui maximise  ( w , b, α ) .

93
Solution du problème d’optimisation
 ns

wˆ   ˆ i yi xi
• ^ : estimé
nS : nombre de vecteurs de support
 i 1
(xi avec i  0)
 ns • (xS,yS) : vecteur de support
bˆ  ys  ˆ i yi ( x i x s )
T
arbitraire (pour trouver b̂ )
 i 1
 D( x )  ( wˆ T x bˆ)



Les données xi avec i  0 sont appelées vecteurs de support. Ils


correspondent aux points les plus proches de la surface de séparation
 ˆ et b̂ , seuls
Dans l’expression du Lagrangien pour déterminer w
interviennent les produits scalaires entre les données x

 
n
1 n n
( w, b, α)   i   i j yi y j x Ti x j
i 1 2 i 1 j 1
94
Caractéristiques de la solution

• Puisque plusieurs i sont nuls, w est une combinaison linéaire d’un


petit nombre de données.
• La surface de décision est uniquement déterminée par les ns vecteurs
de support trouvés: ns
wˆ   ˆ i yi xi
i 1
ns
bˆ  ys  ˆ i yi ( x Ti x s )
i 1

• Pour classer une nouvelle donnée z


ns

– Calculer wˆ z  bˆ  ˆi yi  xi z   bˆ et classer z dans la classe 1 si le


T T

i 1

résultat est positif, la classe 2 s’il est négatif

95
Interprétation géométrique
• Seules les points les plus proches de la
Classe 2 surface de séparation influent sur sa
définition
8=0.6 10=0

7=0
5=0 a2=0
1=0.8
4=0
6=1.4
9=0
3=0
Classe 1

96
Cas non linéairement séparable
• On peut introduire une marge d’erreur i (slack variables)
pour la classification

Classe 2

Classe 1

97
Hyperplan à marges douces
• i sont des variables qui donnent du ”slack” aux marges optimales

• Nous voulons minimiser


– C : paramètre de compromis entre l’erreur et la marge.

• Le problème d’optimisation devient

98
Détermination de l’hyperplan de
séparation
• La forme duale du problème est

• La seule différence avec le cas linéairement séparable est qu’il existe une
limite supérieure C aux i

99
Extension à une surface de séparation non-
linéaire
• « Simplifier les choses » en projetant les xi dans un nouvel espace
où ils sont linéairement séparables

Espace d'entrée Espace de re-description


non linéairement linéairement séparable
séparable

Φ h Espace de sortie Espace d’entrée


Fonction de Classeur
x linéaire y Φ( )
re-description
Φ( )
Φ( )
Φ( ) Φ( ) Φ( )
Φ(
Φ( ) Φ( ) )
Φ( ) Φ( )
Φ( ) Φ( ) Φ( )
Φ( ) Φ( ) Φ( )
Φ( ) Φ( )

Espace de re-description
Extension à une surface de séparation non-
linéaire
• Problèmes cependant :
 =?
 Grand effort de calcul potentiel (d explose !)
• SVM à fonctions noyaux résout les deux problèmes
– Efficacité computationnelle
– La transformation désirée des données est faite implicitement !

Φ( )
Φ( )
Φ( ) Φ( ) Φ( )
Φ(
Φ( ) Φ( ) )
Φ( ) Φ( )
Φ( ) Φ( ) Φ( )
Φ( ) Φ( ) Φ( ) Φ( )
Φ( ) Φ( )

Espace d’entrée Espace de re-description


L’astuce des fonctions noyau
• Fonction noyau :

 La connaissance de K( ) permet de calculer indirectement un produit


scalaire où intervient Φ( ), sans connaitre l’expression de Φ( )
• Or, seuls des produits scalaires interviennent dans la solution du problème
d’optimisation
– K() représente intuitivement la similarité entre les x et y, obtenue de nos
connaissances a priori
– Cependant, K(x,y) doit satisfaire certaines conditions (conditions de Mercer) pour
que le Φ ( ) correspondant existe

102
Les conditions de Mercer
 Pour une fonction K symétrique, il existe une fonction Φ telle que :
m
K(x, x' )  ( x). (x' )   gi (x). gi (x' )
i1

ssi, pour toute fonction f telle que :  f ( x ) 2 dx est fini

l’on a :  K (x, x' ) f (x) f (x' ) dx dx'  0

 Si cette condition est vérifiée, pour tout ensemble de m points x1,...,xm, la


matrice avec entrées K(xi,xj) (matrice de Gram du noyau) est semi-définie
positive.

103
Modification due à la transformation

• Substituer les arguments transformés dans les produits scalaires lors de la


phase d’apprentissage,

Problème
original :

Après
transformation:

104
Modification due à la transformation

• Les nouvelles données z sont classées dans la classe 1 si f0, la classe 2


sinon :

Original :

Après
transformation :

et la surface de séparation dans le nouvel espace est :


s
D( x )   ˆ j y j K ( x j , x)  bˆ
j 1

105
Exemple d’utilisation
• Définissons la fonction noyau K(x,y) telle que, pour toute paire de vecteurs
x=(x1, x2) et y=(y1, y2) :

K ( x, y )  1  x1 y1  x2 y2 
2

• Considérons maintenant une transformation Φ qui prend un vecteur de


dimension 2 et le projette dans un espace de dimension 6 :


( x )  1, 2 x1 , 2 x2 , x12 , x22 , 2 x1 x2 
On peut voir en effectuant le calcul que

( x), ( y)  1  x1 y1  x2 y2 
2

 K ( x, y )
On peut donc obtenir le résultat sans avoir à passer par l’espace
transformé.
106
Illustration : le cas du XOR
x2 • Il faut résoudre :
1
  4 4 4 
   i   i j i j
 
1
max     y y K ( x i , x )
j 

  i 1 2 i 1 j 1 
-1 1 x1 i 0  i C
 4
  i yi  0
-1 
 i 1
• Si on reprend la fonction noyau K ( x, y )  1  x1 y1  x2 y2 ,
2

Index i xi y
on obtient les équations suivantes pour le Lagrangien
1 (1,1) 1
: Q   1   2   3   4
2 (1,-1) -1
3 (-1,-1) 1 1
 (912  21 2  21 3  21 4
4 (-1,1) -1 2
 9 22  2 2 3  2 2 4  9 32  2 3 4  9 2 )
4

1   2   3   4  0

107
Illustration : le cas du XOR
• Le maximum de Q(a) est obtenu en prenant ses dérivées par rapport
aux i et en trouvant les valeurs de i qui les annulent :
 1  91   2   3   4  0
 1    9      0
 1 2 3 4

 1  1   2  9 3   4  0
 1  1   2   3  9 4  0

 La valeur optimale des multiplicateurs de Lagrange est :

1
ˆ 1  ˆ 2  ˆ 3  ˆ 4 
8
 Les 4 données du où exclusif sont donc des vecteurs de support,
puisque aucune valeur trouvée de  n’est nulle

108
Illustration : le cas du XOR
1 4 1 4
• Dans l’espace de re-description : b  1   y j K ( x j , x1 )  1    1 j K ( x j , x1 )  0
ˆ
8 j 1 8 j 1
 ns

wˆ   ˆ i yi  xi  et :
 i 1 1 4 1 4
1 j K ( x j , x)   x1 x2
 ns D( x )   y j K ( x j , x )   
b  ys  ˆ i yi K ( x i x s )
ˆ T 8 j 1 8 j 1
(on aurait obtenu le même résultat en utilisant () :
 i 1
 s
 D( x )   ˆ j y j K ( x j , x )  bˆ  1 
 j 1  2

 x1 
• Donc :  1  
 2 x1 x2 
wˆ T ( x )   0, 0, , 0, 0, 0     x1 x2
wˆ 
1
 ( x1 )  ( x2 )  ( x3 )  ( x4 )  2   x 2
2 
8  2x 
  1   1   1   1   0   1 
 2x 
            2 
  1   1   1   1    0 
1   2    2    2   2    1 2 
        
     
8   1   1   1   1   0 
   2    2   2   2   0 
   
 
 
 
   
   


   2   2    2    
2 0 

(on connait () dans cet exemple, mais il n’est pas requis en
général, car l’équation de la marge dépend seulement de K())

109
Illustration : le cas du XOR

Séparatrice dans l'espace Séparatrice dans l'espace


d'entrée Φ(x)
D(x) = -x1x2 2 x1 x2  0

110
Autre Exemple
• Supposons 5 nombres x1=1, x2=2, x3=4, x4=5, x5=6, avec
– 1, 2, 6  classe 1 (y=1)
– 4, 5  classe 2 (y=-1)
– Donc: {(xi, yi)}i=1,…,5 ={(1,1), (2,1), (4,-1), (5,-1), (5,1)}
• Utilisons à nouveau le noyau polynomial de degré 2
– K(x,x’) = (1+xTx’)2
– C est choisi égal à 100
• Trouvons d’abord i (i=1, …, 5) :

111
Exemple
• La solution est :
– 1=0,  2=2.5,  3=0,  4=7.333,  5=4.833
• Les vecteur supports sont donc {x2=2, x4=5, x5=6}
• La fonction discriminante est

– b est trouvé en résolvant f(2)=1 ou f(5)=-1 ou f(6)=1,


puisque x2, x4, x5 sont des vecteurs de support, ce
qui donne b = 9.

112
Exemple
Valeur de la fonction discriminante

classe 1 classe 2 classe 1

1 2 4 5 6

113
Exemples de fonctions noyaux

• Noyau polynomial de degré d

• Noyau à fonction à base radiale de dispersion 

– Très proche des RN avec fonctions à base radiale


• Sigmoïde avec paramètres  et 

– Ne satisfait pas la condition de Mercer pour tous 


et 
• La recherche d’autres fonctions noyau pour diverses
applications est très active !
114
Classification multi-classes

• SVM est à la base un classifieur binaire.


• Une approche pour permettre la classification
multi-classes est le un contre tous:
– Pour m classes, on construit m SVM binaires; une
classe qui sera +1 contre le reste des classes qui seront
-1.
– Pour prédire la classe d’un exemple x, on prend la
classe qui maximise Dj(x)=wjTx+b.

115
Une applette de démonstration

• http://svm.cs.rhul.ac.uk/pagesnew/GPat.shtml
• 47 exemples (22 +, 25 -)
• Vecteurs de support : 4 + et 3 -
• Ici fonction polynomiale de degré 5 et C = 10000
116
Paramètres de contrôle : les fonctions noyau

(5-, 4+) (3-, 4+) (5-, 4+)


• 47 exemples (22 +, 25 -) Ici fonction polynomiale de degré 2, 5, 8 et C = 10000
• Vecteurs de support : 4 + et
3-

(10-, 11+) (8-, 6+) (4-, 5+)


Ici fonction Gaussienne de  = 2, 5, 10 et C = 10000
117
SVM et régression
• Fonction de perte :

 Régression linéaire :

 Soit à minimiser :

 Forme de la
solution du dual
avec noyau :


x  x x
0

x
x
 
x x
x x

x x

 
118
Régression vectorielle à support  (-SVR)

• Régression linéaire dans l’espace de redescription


• À l’encontre de la régression par moindres carrés, la fonction
d’erreur est une fonction de perte  -insensible.

Fonction de perte  -insensible Fonction de perte quadratique


Penalité Penalité

*  Valeurs hors
cible

- 119 
Régression vectorielle à support  (-SVR)

Soit un ensemble de données {x1, ..., xn} avec valeurs cibles


{u1, ..., un}, on veut réaliser -SVR.
• Le problème d’optimisation est équivalent à

• On peut déterminer le problème dual avec la même méthode


que les SVM.

120
Régression vectorielle à support  (-SVR)

• C permet de contrôler l’influence de l’erreur


• Le terme ½||w||2 sert à contrôler la complexité de la
fonction de régression.
• Après l’apprentissage (solution du problème dual), on
trouve les valeurs i and  i*, qui sont toutes deux zéros si xi
ne contribue pas à la fonction d’erreur.

121
Forces et faiblesses des SVM
• Forces
– L’apprentissage est relativement facile
• Pas de minima locaux, comme pour les réseaux de neurones.
– L’algorithme est robuste face aux changements d’échelle.
– Le compromis entre la complexité du classificateur et l’erreur de
classification peut être gérée explicitement.

• Faiblesses
– Il faut trouver une bonne fonction noyau.
– Deux classes à la fois.
– Complexité peut facilement être quadratique dans le nombre de
données.

122
Sources
documentaires
• Ouvrages / articles
– Cornuéjols & Miclet (02) : Apprentisage artificiel. Concepts et algorithmes.
Eyrolles, 2002.
– Cristianini & Shawe-Taylor (00) : Support Vector Machines and other kernel-
based learning methods. Cambridge University Press, 2000.
– Herbrich (02) : Learning kernel classifiers. MIT Press, 2002.
– Schölkopf, Burges & Smola (eds) (98) : Advances in Kernel Methods : Support
Vector Learning. MIT Press, 1998.
– Schölkopf & Smola (02) : Learning with kernels. MIT Press, 2002.
– Smola, Bartlett, Schölkopf & Schuurmans (00) : Advances in large margin
classifiers. MIT Press, 2000.
– Vapnik (95) : The nature of statistical learning. Springer-Verlag, 1995.

123