Vous êtes sur la page 1sur 35

Les arbres de décisions

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

Construction et évaluation Non supervisé

Par renforcement
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).
Les arbres de décisions
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

Un premier exemple Non supervisé

Par renforcement
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 ?


Les arbres de décisions
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
direction du vent Les k plus proches voisins
Les arbres de décisions
Le perceptron

e cô Les réseaux de neurones


fac té

rre
Classification naïve

te
bayésienne

Non supervisé

marée Non marée Par renforcement


de

de
te

e
sc

sc
nt
an

en

en
ta
t
on

on
da

da
m

m
nt

nt
e

e
force du vent force du vent force du vent force du vent
7

7
v 

v 

v 

v 
sino

sino

sino

sino
n

n
5

5

5

4
Oui Non Oui Non Oui Non Oui Non
Les arbres de décisions
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

Comment construire un arbre de décisions bayésienne

Non supervisé
I Parcours exhaustif des arbres impossible. Par renforcement

I Exponentiel en fonction de
I nombre d’attributs d.
I nombre moyen de valeurs par attribut : v .
d 1
X i
I (d i)v
i=0
I Par exemple, avec 6 attributs et v = 2 on a déjà 72385.
Construction intelligente
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron

Algorithm 1 Construction récursive d’un arbre de décision


Les réseaux de neurones
Classification naïve
bayésienne
1: Procédure : construireArbre(X ) Non supervisé
2: if Tous les points de X appartiennent à la même classe Par renforcement

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
Une interprétation probabiliste
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron

Quelques définitions Les réseaux de neurones


Classification naïve
bayésienne

I Un exemple ni est décrit par : Non supervisé

I d attributs. Par renforcement

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 .
Une interprétation probabiliste
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

On peut alors déduire que bayésienne

Non supervisé

I lj /n est une estimation de P(a = vrai, u = uj ). Par renforcement

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 ).


Une mesure pour choisir l’attribut
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron

Théorie de l’information Les réseaux de neurones


Classification naïve
bayésienne
I Information mutuelle (entropie croisée). Non supervisé

I Permet de mesurer l’homogénéité entre deux distributions Par renforcement

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 :
X p(i, j)
I(u, a) = p(i, j) log2
p(i)p(j)
i,j2Du xDa
Une mesure pour choisir l’attribut
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é
Quelques propriétés Par renforcement

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.
Une mesure pour choisir l’attribut
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins

Quelques propriétés Les arbres de décisions


Le perceptron
Les réseaux de neurones
I Une variable aléatoire w possède une entropie H(u) Classification naïve
bayésienne
définit par : Non supervisé

X Par renforcement

H(u) = p(i) log2 (p(i))


i2Du

I L’entropie de w conditionnée par a est définie par :


X
H(u|a) = p(i, j) log2 (p(i|j))
i,j2Du xDa

I Or d’après la théorie de l’information, on a :


I(u, a) = H(u) H(u|a)
Une mesure pour choisir l’attribut
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

Y
X lj lj /n rj rj /n Non supervisé

I Î(u, a) = log2 + log2 Par renforcement


n (l/n)(nj /n) n (r /n)(nj /n)
j=1

Y
X l lj lj r rj rj
I Ĥ(u|a) = log2 + log2
nl l nr r
j=1
Une mesure pour choisir l’attribut
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions

Quelques propriétés Le perceptron


Les réseaux de neurones
Classification naïve
I On peut donc estimer les probabilités : bayésienne

Non supervisé

l r Par renforcement
Ĥ(u|a) = J(a = vrai) + J(a = faux)
n n
avec
U
X lj lj
J(a = vrai) = log2
l l
j=1

U
X rj rj
J(a = faux) = log2
r r
j=1
Une mesure pour choisir l’attribut
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

Choix de l’attribut Non supervisé

Par renforcement
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(Ĥ(u|ai )
i=1,...,d
Un exemple de construction
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

Problème Non supervisé

Par renforcement
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.
Un exemple de construction
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions

Échantillon d’apprentissage Le perceptron


Les réseaux de neurones
Devoirs Bonne humeur Beau Gouter Décision Classification naïve
bayésienne
finis ? de la mère ? temps ? pris ? Non supervisé

1 vrai faux vrai faux oui Par renforcement

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).


Un exemple de construction
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins

Devoirs Bonne humeur Beau Gouter Décision Les arbres de décisions


Le perceptron
finis ? de la mère ? temps ? pris ? Les réseaux de neurones
1 vrai faux vrai faux oui Classification naïve
bayésienne
2 faux vrai faux vrai oui
3 vrai vrai vrai faux oui Non supervisé

4 vrai faux vrai vrai oui Par renforcement


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 )


5 3
H(oui|DF ) = J(DF = vrai) + J(DF = faux)
8 8
3 3 2 2
J(DF = vrai) = log2 log2
5 5 5 5
1 1 2 2
J(DF = faux) = log2 log2
3 3 3 3
Un exemple de construction
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones

On obtient
Classification naïve
bayésienne

Non supervisé
I H(oui|DF ) ⇡ 0.9 Par renforcement

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 ?”


Un exemple de construction
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

Table pour la valeur vrai bayésienne

Non supervisé

Par renforcement
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
Un exemple de construction
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

Table pour la valeur faux bayésienne

Non supervisé

Par renforcement
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
Un exemple de construction
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
est-ce qu’il fait beau ? Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
i fau
vra x Classification naïve
bayésienne

Non supervisé

Par renforcement
mes devoirs sont-ils terminés ? mon gouter est-il pris ?
faux
vrai

fa
ai

u
vr

x
Oui Non Maman est-elle de bonne humeur ? Non

faux
vrai

Oui Non
Élagage des arbres de décisions
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions

Pourquoi élaguer ? Le perceptron


Les réseaux de neurones
Classification naïve
I L’arbre précédemment construit est dit Tmax : chaque bayésienne

feuille est pure. Non supervisé

Par renforcement
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.
Élagage des arbres de décisions
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Le post-élagage Les k plus proches voisins
Les arbres de décisions
Le perceptron
I Élaguer l’arbre lorsqu’il est parfaitement développé. Les réseaux de neurones
Classification naïve
I Utiliser un ensemble indépendant de l’ensemble bayésienne

d’apprentissage (ensemble de validation). Non supervisé

Par renforcement
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.
Élagage des arbres de décisions
Apprentissage artificiel

Fabien Teytaud

Estimation du coût Intro

Supervisé
Choisir le noeud v qui minimise : Les k plus proches voisins
Les arbres de décisions

MCela (v , k ) MC(v , k )
Le perceptron

ŵ(Tk , v ) =
Les réseaux de neurones

nk .(nt(v , k ) 1)
Classification naïve
bayésienne

Non supervisé

Par renforcement
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.
Élagage d’un arbre de décisions
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Algorithm 2 Algorithme d’élagage Les réseaux de neurones
Classification naïve
1: Procédure : elaguer(Tmax ) bayésienne

2: k 0 Non supervisé

Par renforcement
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
Un exemple d’élagage
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
X2 Classification naïve
bayésienne
* * o o Non supervisé
* * o
Par renforcement
c
o
o o
o
d o
o
* o
b *
* *
*

a X1
Un exemple d’élagage
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones

x1 > a ?
Classification naïve
bayésienne

Non supervisé

vr
u
Par renforcement

ai
fa
x2 > c ? x2 > b ?

faux
x

vrai
vra
fau

x2 > d ? * * o
faux

vrai

* o
Un exemple d’élagage
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Calculer ŵ(Tmax , v1 ), ŵ(Tmax , v2 ), ŵ(Tmax , v3 ), Les k plus proches voisins
Les arbres de décisions

ŵ(Tmax , v4 ) Le perceptron
Les réseaux de neurones
Classification naïve
bayésienne

x1 > a ? v1 Non supervisé

Par renforcement

ux

vr
ai
v2 x2 > c ?fa x2 > b ? v3

faux
x

vrai
vra
fau

v4 x2 > d ? * * o
faux

vrai

* o
Un exemple d’élagage
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones

Calcul des valeurs sur Tmax Classification naïve


bayésienne

MCela (v1 , k ) MC(v1 , k ) 9 0 9 Non supervisé


I ŵ(Tmax , v1 ) = = = Par renforcement
n(k ).(nt(v1 , k ) 1) 5(5 1) 20
1 0 1
I ŵ(Tmax , v2 ) = =
5(3 1) 10
2 0 2
I ŵ(Tmax , v3 ) = =
5(2 1) 5
1 0 1
I ŵ(Tmax , v4 ) = =
5(2 1) 5
Un exemple d’élagage
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones

Calcul des valeurs sur Tmax Classification naïve


bayésienne

MCela (v1 , k ) MC(v1 , k ) 9 0 9 Non supervisé


I ŵ(Tmax , v1 ) = = =
n(k ).(nt(v1 , k ) 1) 5(5 1) 20 Par renforcement

1 0 1
I ŵ(Tmax , v2 ) = =
5(3 1) 10
2 0 2
I ŵ(Tmax , v3 ) = =
5(2 1) 5
1 0 1
I ŵ(Tmax , v4 ) = =
5(2 1) 5
Un exemple d’élagage
Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé
Les k plus proches voisins
Les arbres de décisions
Le perceptron

On obtient T1 Les réseaux de neurones


Classification naïve
bayésienne

Non supervisé
x1 > a ? Par renforcement

vra
fau

i
* x2 > b ?
faux

vrai

* o
Un exemple d’élagage
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é
Calcul des valeurs sur T1 Par renforcement

9 1 4
I ŵ(T1 , v1 ) = =
3(3 1) 3
2 1 1
I ŵ(T1 , v3 ) = =
3(2 1) 3
Un exemple d’élagage
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é
Calcul des valeurs sur T1 Par renforcement

9 1 4
I ŵ(T1 , v1 ) = =
3(3 1) 3
2 1 1
I ŵ(T1 , v3 ) = =
3(2 1) 3
Un exemple d’élagage
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

On obtient T2 Non supervisé

Par renforcement

x1 > a ?
faux

vrai
* o
Un exemple d’élagage
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é
Choix de l’arbre Par renforcement

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.
Un exemple d’élagage
Apprentissage artificiel

Fabien Teytaud

Intro
Par exemple, sur cet ensemble de validation Supervisé
Les k plus proches voisins

X2 Les arbres de décisions


Le perceptron
* * o Les réseaux de neurones
o Classification naïve
c bayésienne
o
Non supervisé
* o
* Par renforcement
o
d o
o
b *
* *
o *

a X1

3
I Erreur Tmax :
16
1
I Erreur T1 :
16
2
I Erreur T2 :
16

Vous aimerez peut-être aussi