1. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Les arbres de décisions
Construction et évaluation
I Quels attributs sélectionner pour construire l’arbre?
I Comment évaluer un arbre? A priori on souhaite
minimiser le nombre de tests (en moyenne) pour classifier
un exemple (il existe une borne max sur le nombre
d’attributs).
2. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Les arbres de décisions
Un premier exemple
I La force du vent : attribut numérique {1 ...12}.
I La direction du vent : attribut nominal {face, terre, côté}
I La marée : attribut nominal {montante, descendante}
I Décision à prendre : puis-je faire de la planche à voile?
3. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Les arbres de décisions
direction du vent
marée
force du vent
Oui Non
force du vent
Oui Non
Non marée
force du vent
Oui Non
force du vent
Oui Non
face
m
o
n
t
a
n
t
e
5
v
7
s
in
o
n
d
e
s
c
e
n
d
a
n
t
e
5
v
7
s
in
o
n
t
e
r
r
e
côté
m
o
n
t
a
n
t
e
5
v
7
s
in
o
n
d
e
s
c
e
n
d
a
n
t
e
4
v
7
s
in
o
n
4. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Les arbres de décisions
Comment construire un arbre de décisions
I Parcours exhaustif des arbres impossible.
I Exponentiel en fonction de
I nombre d’attributs d.
I nombre moyen de valeurs par attribut : v.
I
d 1
X
i=0
(d i)vi
I Par exemple, avec 6 attributs et v = 2 on a déjà 72385.
5. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Construction intelligente
Algorithm 1 Construction récursive d’un arbre de décision
1: Procédure : construireArbre(X)
2: if Tous les points de X appartiennent à la même classe
then
3: Créer une feuille portant le nom de cette classe
4: else
5: Choisir le meilleur attribut pour créer un noeud
6: Le test associé à ce noeud sépare X en Xg et Xd .
7: construireArbre(Xg)
8: construireArbre(Xd )
9: end if
6. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Une interprétation probabiliste
Quelques définitions
I Un exemple ni est décrit par :
I d attributs.
I u une classe 2 U = {u1, . . . , uc}
I Soient n points de l’échantillon d’apprentissage, répartis
en U classes uj comportant chacune nj exemples.
I Soit a un attribut binaire quelconque.
I a partage chaque nj en deux sous parties, comportant :
I lj points pour a = vrai .
I rj points pour a = faux .
7. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Une interprétation probabiliste
On peut alors déduire que
I lj /n est une estimation de P(a = vrai, u = uj ).
I rj /n est une estimation de P(a = faux, u = uj ).
I l/n est une estimation de P(a = vrai).
I r/n est une estimation de P(a = faux).
I nj /n est une estimation de P(u = uj ).
8. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Théorie de l’information
I Information mutuelle (entropie croisée).
I Permet de mesurer l’homogénéité entre deux distributions
de probabilités.
I Soient u et a deux variables, avec Du et Da leurs
ensembles finis de valeurs possibles.
I L’entropie croisée est donnée par :
I(u, a) =
X
i,j2DuxDa
p(i, j) log2
p(i, j)
p(i)p(j)
9. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Quelques propriétés
I I(u, a) possède un minimum (0) quand p(i, j) = p(i)p(j) :
lorsque les deux distributions sont indépendantes.
I I(u, a) est maximale lorsque les deux distributions sont
complètement corrélées.
10. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Quelques propriétés
I Une variable aléatoire w possède une entropie H(u)
définit par :
H(u) =
X
i2Du
p(i) log2(p(i))
I L’entropie de w conditionnée par a est définie par :
H(u|a) =
X
i,j2DuxDa
p(i, j) log2(p(i|j))
I Or d’après la théorie de l’information, on a :
I(u, a) = H(u) H(u|a)
11. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
I Î(u, a) =
Y
X
j=1
lj
n
log2
lj /n
(l/n)(nj /n)
+
rj
n
log2
rj /n
(r/n)(nj /n)
I Ĥ(u|a) =
Y
X
j=1
l
n
lj
l
log2
lj
l
+
r
n
rj
r
log2
rj
r
12. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Quelques propriétés
I On peut donc estimer les probabilités :
Ĥ(u|a) =
l
n
J(a = vrai) +
r
n
J(a = faux)
avec
J(a = vrai) =
U
X
j=1
lj
l
log2
lj
l
J(a = faux) =
U
X
j=1
rj
r
log2
rj
r
13. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Choix de l’attribut
I On veut choisir l’attribut qui possède la plus grande
corrélation avec la répartition des classes.
I On va donc chercher à minimiser l’entropie :
i⇤
= arg min
i=1,...,d
(Ĥ(u|ai )
14. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple de construction
Problème
Le problème consiste à prédire si un enfant peut aller jouer
avec son voisin.
Base d’exemples
Les décisions prises sur les 8 derniers jours étant donnés 4
attributs binaires et 1 classe.
15. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple de construction
Échantillon d’apprentissage
Devoirs Bonne humeur Beau Gouter Décision
finis? de la mère? temps? pris?
1 vrai faux vrai faux oui
2 faux vrai faux vrai oui
3 vrai vrai vrai faux oui
4 vrai faux vrai vrai oui
5 faux vrai vrai vrai non
6 faux vrai faux faux non
7 vrai faux faux vrai non
8 vrai vrai faux faux non
Simplifions les notations : (DF, BH, BT, GP).
16. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple de construction
Devoirs Bonne humeur Beau Gouter Décision
finis? de la mère? temps? pris?
1 vrai faux vrai faux oui
2 faux vrai faux vrai oui
3 vrai vrai vrai faux oui
4 vrai faux vrai vrai oui
5 faux vrai vrai vrai non
6 faux vrai faux faux non
7 vrai faux faux vrai non
8 vrai vrai faux faux non
Calcul de H(u = oui|DF)
H(oui|DF) =
5
8
J(DF = vrai) +
3
8
J(DF = faux)
J(DF = vrai) =
3
5
log2
3
5
2
5
log2
2
5
J(DF = faux) =
1
3
log2
1
3
2
3
log2
2
3
17. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple de construction
On obtient
I H(oui|DF) ⇡ 0.9
I H(oui|BT) ⇡ 0.8
I H(oui|BH) ⇡ 0.9
I H(oui|GP) ⇡ 1
On choisit donc pour racine l’attribut “Est ce qu’il fait beau?”
18. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple de construction
Table pour la valeur vrai
Devoirs Bonne humeur Gouter Décision
finis? de la mère? pris?
1 vrai faux faux oui
3 vrai vrai faux oui
4 vrai faux vrai oui
5 faux vrai vrai non
19. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple de construction
Table pour la valeur faux
Devoirs Bonne humeur Gouter Décision
finis? de la mère? pris?
2 faux vrai vrai oui
6 faux vrai faux non
7 vrai faux vrai non
8 vrai vrai faux non
20. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple de construction
est-ce qu’il fait beau?
mes devoirs sont-ils terminés?
Oui Non
mon gouter est-il pris?
Maman est-elle de bonne humeur?
Oui Non
Non
vrai
v
ra
i
fa
u
x
faux
v
r
a
i
v
ra
i
fa
u
x
f
a
u
x
21. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Élagage des arbres de décisions
Pourquoi élaguer?
I L’arbre précédemment construit est dit Tmax : chaque
feuille est pure.
I Il y a un risque de sous estimer la probabilité d’erreur.
Le pré-élagage
I On cesse de diviser un noeud lorsque la pureté des points
est suffisantes (inférieure à un certain seuil).
I Utilisation de critères locaux (à une feuille) : on peut
manquer un très bon développement.
I Donc, utilisation du post-élégage.
22. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Élagage des arbres de décisions
Le post-élagage
I Élaguer l’arbre lorsqu’il est parfaitement développé.
I Utiliser un ensemble indépendant de l’ensemble
d’apprentissage (ensemble de validation).
I Mesurer l’erreur commise sur cet ensemble.
Méthode
I En partant des feuilles, construire une séquence d’arbres
{Tmax , T1, T2, . . . , Tn} (Tn est l’arbre constitué d’une seule
feuille).
I A chaque étape un noeud est transformé en feuille.
I L’idée est de comparer le coût de l’arbre élagué et de
l’arbre non élagué. On s’arrête si le coût du premier est
supérieur.
23. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Élagage des arbres de décisions
Estimation du coût
Choisir le noeud v qui minimise :
ŵ(Tk , v) =
MCela(v, k) MC(v, k)
nk .(nt(v, k) 1)
I MCela(v, k) : nombre d’exemples de l’ensemble
d’apprentissage mal classés par le noeud v de Tk dans
l’arbre élagué à v.
I MC(v, k) : nombre d’exemples de l’ensemble
d’apprentissage mal classés sous le noeud v de Tk dans
l’arbre non élagué à v.
I nk : nombre de feuilles de Tk .
I nt(v, k) : nombre de feuilles du sous-arbre de Tk situé
sous le noeud v.
On cherche le meilleur compromis entre le taux d’erreur
apparent et la taille.
24. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Élagage d’un arbre de décisions
Algorithm 2 Algorithme d’élagage
1: Procédure : elaguer(Tmax )
2: k 0
3: Tk Tmax
4: while nbNoeud(Tk ) > 1 do
5: for chaque noeud v de Tk m do
6: calculer ŵ(Tk , v) sur l’ensemble d’apprentissage
7: end for
8: Choisir le noeud vm pour lequel ŵ est minimum
9: Tk+1 se déduit de Tk en y remplaçant vm par une feuille
10: k k + 1
11: end while
25. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
a X1
X2
b
c
d
* *
* *
*
*
* *
*
o
o
o
o
o
o
o
o
o
o
26. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
x1 > a?
x2 > c ?
x2 > d ?
* o
*
x2 > b ?
* o
f
a
u
x
f
a
u
x
fa
u
x
v
r
a
i
v
r
a
i
v
r
a
i
fa
u
x
v
r
a
i
27. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calculer ŵ(Tmax , v1), ŵ(Tmax , v2), ŵ(Tmax , v3),
ŵ(Tmax , v4)
x1 > a?
x2 > c ?
x2 > d ?
* o
*
x2 > b ?
* o
f
a
u
x
f
a
u
x
fa
u
x
v
r
a
i
v
r
a
i
v
r
a
i
fa
u
x
v
r
a
i
v1
v2 v3
v4
28. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calcul des valeurs sur Tmax
I ŵ(Tmax , v1) =
MCela(v1, k) MC(v1, k)
n(k).(nt(v1, k) 1)
=
9 0
5(5 1)
=
9
20
I ŵ(Tmax , v2) =
1 0
5(3 1)
=
1
10
I ŵ(Tmax , v3) =
2 0
5(2 1)
=
2
5
I ŵ(Tmax , v4) =
1 0
5(2 1)
=
1
5
29. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calcul des valeurs sur Tmax
I ŵ(Tmax , v1) =
MCela(v1, k) MC(v1, k)
n(k).(nt(v1, k) 1)
=
9 0
5(5 1)
=
9
20
I ŵ(Tmax , v2) =
1 0
5(3 1)
=
1
10
I ŵ(Tmax , v3) =
2 0
5(2 1)
=
2
5
I ŵ(Tmax , v4) =
1 0
5(2 1)
=
1
5
30. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
On obtient T1
x1 > a?
* x2 > b ?
* o
f
a
u
x
v
r
a
i
fa
u
x
v
r
a
i
31. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calcul des valeurs sur T1
I ŵ(T1, v1) =
9 1
3(3 1)
=
4
3
I ŵ(T1, v3) =
2 1
3(2 1)
=
1
3
32. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calcul des valeurs sur T1
I ŵ(T1, v1) =
9 1
3(3 1)
=
4
3
I ŵ(T1, v3) =
2 1
3(2 1)
=
1
3
33. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
On obtient T2
x1 > a?
* o
fa
u
x
v
r
a
i
34. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Choix de l’arbre
I Le choix de l’arbre se fera sur un ensemble de validation
parmi Tmax , T1 et T2.
I L’arbre qui aura la meilleure estimation du taux d’erreur de
classification sera choisi.
35. Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Par exemple, sur cet ensemble de validation
a X1
X2
b
c
d
* *
*
*
*
* *
*
o
o
o
o
o
o
o
o
I Erreur Tmax :
3
16
I Erreur T1 :
1
16
I Erreur T2 :
2
16