Vous êtes sur la page 1sur 12

Introduction à l’apprentissage automatique

Apprentissage à l’aide d’arbres de décisions


Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Les arbres de décision

A1 , . . . , An : attributs binaires,
n-aires ou réels. Match à domicile ?

�n oui non
X = i=1 Xi où Xi = Dom(Ai ).

perdu
Arbres de décision : règles de Mauvaises conditions climatiques ?

classification basant leur décision sur


oui non
des tests associés aux attributs et
organisés de manière arborescente.
perdu gagné

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Les arbres de décision


Nœuds internes étiquetés par des tests portant sur la valeur
des attributs.
Les arcs issus d’un noeud sont étiquetés par les réponses
possibles.
Les feuilles sont étiquetées par une classe par défaut.
Chaque nœud est repéré par sa position : la liste des numéros
des arcs qui permettent d’y accéder depuis la racine.
Tout arbre de décision définit un classifieur.
Ce classifieur a une traduction immédiate en terme de règles
de décision (mutuellement exclusives et ordonnées).
Les arbres de décision ont deux qualités appréciables :
les décisions sont aisément interprétables,
la classification est très rapide.
François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique
Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Classification supervisée par arbres de décision


Problème : Construire un arbre de décision à partir d’un
échantillon.
Exemple

Match Balance Mauvaises Match Match


à domicile ? positive ? conditions précédent gagné
climatiques ? gagné ?
V V F F V
F F V V V
V V V F V
V V F V V
F V V V F
F F V F F
V F F V F
V F V F F

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Trouver un arbre de décision de risque empirique minimal

Il est toujours possible de construire un arbre de décision de


risque empirique minimal sur n’importe quel jeu de données.
Donnez l’algorithme.
Cet arbre parfait n’a en général aucune capacité prédictive.
Pour quelles raisons ?
Le plus petit arbre de décision compatible avec les données a
de meilleures qualités de généralisation. Pourquoi ?
La théorie de l’apprentissage statistique, créée par Vladimir
Vapnik, traite ce genre de problèmes.
Trouver le plus petit arbre de décision compatible avec un jeu
de données est un problème NP-complet [BlumRivest92].

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique


Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Construire un petit arbre de décision compatible avec le


maximum de données.

C’est conforme à des principes souvent invoqués en apprentissage :


Le principe du rasoir d’Occam : trouver l’hypothèse la plus
courte possible compatible avec les données.
Le principe MDL (Minimum Description Length) : étant
donné des données D, trouver l’hypothèse H telle que
|H| + |D/H|, la longueur d’un codage des données via
l’hypothèse H, soit la plus petite possible.
Un exemple : régression par des fonctions polynômes.
Ces heuristiques sont-elles pertinentes ? Qu’est-ce qui les fonde ?
C’est aussi un des thèmes étudiés en théorie de l’apprentissage
statistique.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Algorithmes d’apprentissage par arbres de décision

Principaux algorithmes d’apprentissage par arbres de décision :


CART [Breiman84], C4.5 [Quinlan94].

Première étape : contruire un petit arbre consistant avec la


plupart des données.

Idée centrale : Diviser récursivement et le plus efficacement


possible l’échantillon d’apprentissage au moyen de tests définis à
l’aide des attributs jusqu’à obtenir des sous-échantillons contenant
des exemples appartenant (presque) tous à une même classe.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique


Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Algorithmes d’apprentissage par arbres de décision (suite)

Méthodes de construction Top-Down, gloutonnes et récursives.

Trois opérateurs :
1 Décider si un nœud est terminal,
2 Si un nœud n’est pas terminal, lui associer un test,
3 Si un nœud est terminal, lui affecter une classe.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Algorithme d’apprentissage générique


Entrée : échantillon S
Initialiser l’arbre courant à l’arbre vide
La racine est le nœud courant
répéter
Décider si le nœud courant est terminal
Si le nœud est terminal alors
Lui affecter une classe
sinon
Sélectionner un test
Créer autant de nouveaux nœuds fils qu’il y a
de réponses possibles au test
FinSi
Passer au nœud suivant non exploré s’il en existe
Jusqu’à obtenir un arbre de décision A
Sortie : A

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique


Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

En général,
un nœud est terminal lorsque
(presque) tous les exemples correspondant à ce nœud sont
dans la même classe,
il n’y a plus d’attributs non utilisés dans la branche
correspondante.
on attribue à un nœud terminal la classe majoritaire
(heuristiques en cas d’égalité),
on sélectionne le test qui fait le plus progresser la classification
des données d’apprentissage. Comment mesurer cette
progression ? CART utilise l’indice de Gini et C4.5 utilise la
notion d’entropie.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Soit S un échantillon et S1 , . . . , Sk la partition de S selon les


classes de l’attribut cible. On définit

Gini(S) = Σki=1 |Si |/|S| × (1 − |Si |/|S|) = Σi�=j |Si |/|S| × |Sj |/|S|
Ent(S) = −Σki=1 |Si |/|S| × log(|Si |/|S|)

Suivant la base du logarithme, l’entropie varie d’un terme


multiplicatif constant.
Supposons k = 2 et soit x = |S1 |/|S|. On a

Gini(S) = 2x(1 − x) et Ent(S) = −x log x − (1 − x) log(1 − x).

Ces fonctions
- prennent leurs valeurs dans l’intervalle [0, 1],
- sont nulles pour x = 0 et x = 1,
- ont leur maximum pour x = 1/2.
Propriétés analogues pour k quelconque.
François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique
Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Soit
p la position courante de l’arbre en construction,
Sp échantillon associé à p
T un test,
Spi éléments de Sp qui satisfont la i-ème réponse à T ,
Pi = |SPi |/|Sp |
f = Ent ou f = Gini.
2

Gainf (p, T ) = f (Sp ) − Pj × f (Spj )
j=1

Maximiser le gain revient à minimiser 2j=1 Pj × f (Spj ).
Gain maximal : Gainf (p, T ) = f (Sp ) ssi le test T permet de
classer correctement toutes les données.
Gain nul : données aussi mal classées après le test qu’avant.
Stratégie gloutonne : à chaque nœud ; sélectionner le test
dont le gain est maximum.
François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Critère de Gini

5 3
Gain(�, Dom) = Gini(S) − ( Gini(S1 ) + Gini(S2 ))
8 8
5 2 3 3 1 2
= Gini(S) − 2 · · · − 2 · · ·
8 5 5 8 3 3
7
= Gini(S) −
15
3
Gain(�, BP) = Gini(S) −
8
7
Gain(�, MCC ) = Gini(S) −
15
1
Gain(�, MPG ) = Gini(S) −
2
Le gain maximal est obtenu pour le test Balance positive ?.
François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique
Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Entropie

� �
5 3
Gain(�, Dom) = Ent(S) − Ent(S1 ) + Ent(S2 )
8 8
5 3
= 1 − ( Ent(3, 2) + Ent(1, 2))
8 8
1 1
Gain(�, BP) = Ent(S) − ( Ent(1, 3) + Ent(1, 3))
2 2
= 1 − Ent(1, 3)
5 3
Gain(�, MCC ) = 1 − ( Ent(3, 2) + Ent(1, 2))
8 8
1 1
Gain(�, MPG ) = 1 − ( Ent(2, 2) + Ent(2, 2)) = 0
2 2

Le gain maximal est obtenu pour le test Balance positive ?.


François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Balance positive ? (4V,4F)

oui non

(3V,1F) Match à domicile ? Match précédent gagné ? (1V,3F)

oui non oui non

(3V,0F) gagné (0V,1F) perdu

(1V,1F) Mauvaises conditions climatiques ? perdu (0V,2F)

oui non

(1V,0F) gagné perdu (0V,1F)

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique


Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

0.9
Erreur reelle
Erreur apparente
0.8

0.7

0.6
Taux d’erreur

0.5

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60 70 80
Nombre de feuilles

Un arbre peut avoir une erreur apparente nulle mais une erreur réelle
importante, c’est-à-dire être bien adapté à l’échantillon mais avoir un
pouvoir de prédiction faible. Notion de sur-apprentissage (overfitting).

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Pour éviter de construire un arbre trop grand, on peut


rechercher un critère qui permette d’arrêter la croissance de
l’arbre au bon moment.
Une méthode : réserver un ensemble de validation
Sval ⊂ S, construire l’arbre sur S \ Sval , estimer
l’erreur réelle R(f ) de l’arbre courant par l’erreur
empirique Remp val (f ) sur S , arrêter la construction
val
lorsque l’estimation de l’erreur réelle ne diminue plus
(early stopping).

procéder en deux phases : construire un arbre de décision sans


arrêt prématuré puis élaguer l’arbre obtenu.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique


Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Elagage d’un arbre de décision (CART)


Soit T un AD. S
∆Remp
Pour chaque nœud interne p de T , soit α(p) = ∆(T ,p) où
Tp est le sous-arbre de T à la position p,
∆RempS est le nombre d’erreurs supplémentaires que commet
l’arbre de décision sur S lorsqu’on l’élague à la position p et
∆(T , p) mesure le nombre de feuilles supprimées.
On élague T en un nœud p en lequel α(p) est minimal.
T0 est l’arbre initial construit sur S.
Ti+1 est l’élagué de Ti (le dernier est une feuille)
On sélectionne l’arbre Ti dont le nombre d’erreurs calculé sur
un ensemble de validation Sval est minimal.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

L’arbre T0 est l’arbre construit précédemment.


T1 est l’arbre obtenu à partir en élaguant à partir de la position 2
T2 est obtenu en élaguant à partir de la position 1.
T3 est réduit à une feuille, portant par exemple la classe gagné.
Soit l’ensemble de validation suivant :
Match Balance Mauvaises Match Match
à domicile ? positive ? conditions précédent gagné
climatiques ? gagné ?
V V V F V
F V V F V
F F F V F
V F V F F
V F V F V

L’algorithme d’élagage retournera l’arbre T2 .


François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique
Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Balance positive ? (4V,4F)


Premier arbre élagué

oui non

(3V,1F) Match à domicile ? perdu (1V,3F)

oui non

(3V,0F) gagné (0V,1F) perdu

Second arbre élagué Balance positive ? (4V,4F)

oui non

(3V,1F) gagné perdu (1V,3F)

Troisième arbre élagué Gagné (4V,4F)

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Compléments

Nous avons supposé dans ce qui précède que les attributs


descriptifs étaient binaires : on peut étendre les techniques
précédentes aux attributs n-aires et continus.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique


Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Attributs continus

On associe à un attribut continu A des tests binaires de la forme


A < a ou A ≤ a. Si les valeurs prises par A dans l’échantillon
d’apprentissage sont a1 < a2 < . . . < aN , on envisagera les tests
ai + ai+1
A<
2
pour i = 1 à N − 1. Les algorithmes décrits dans les sections
précédentes peuvent être alors appliqués tels quels.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Attributs n-aires
1 On peut prolonger directement les formules de gain définies
pour un attribut binaire.
N

Gainf (p, T ) = f (Sp ) − Pj × f (Spj )
j=1

Inconvénient : on privilégie ainsi les attributs ayant une grande


arité (considérer le cas où l’attribut est une clé identifiant
chaque élément de l’échantillon).
2 On peut introduire un terme pénalisant les attributs de grande
arité. C4.5 utilise la notion de GainRatio : un attribut A
d’arité N et prenant les valeurs a1 , . . . , aN sera évalué par
Gain
GainRatio = �N k ki
− i=1 |S|i log |S|
où k est le nb d’elts de S pourIntroduction
i
François Denis, lesquels
Hachem Kadri, Cécile Capponi A prend automatique
à l’apprentissage la valeur ai .
Introduction à l’apprentissage automatique
Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Quelques développements complémentaires

Prendre en compte une matrice de coûts de prédictions


erronées : il n’est pas équivalent de prédire qu’un champignon
comestible est vénéneux ou le contraire !
Comment tenir compte des valeurs manquantes ?
Des attributs n-aires peuvent prendre un grand nombre de
valeurs que l’on peut souhaiter regrouper : comment le faire ?
Les arbres de décision peuvent être utilisés en régression.

François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Introduction à l’apprentissage automatique


Apprentissage à l’aide d’arbres de décisions
Algorithme du perceptron
Régression linéaire
Vers des méthodes non linéaires

Instabilité
Un des inconvénients principaux des méthodes d’apprentissage par
arbres de décision est leur instabilité. Sur des données réelles, il
s’en faut souvent de peu qu’un attribut soit choisi plutôt qu’un
autre et le choix d’un attribut-test, surtout s’il est près de la
racine, influence grandement le reste de la construction. La
conséquence de cette instabilité est que les algorithmes
d’apprentissage par arbres de décision ont une variance importante,
qui nuit à la qualité de l’apprentissage.
Des méthodes comme
le Bagging (pour Bootstrap Aggregating, voir par
exemple [HastieTibshiraniFriedman2001] ) ou
les Random Forests [Breiman01]
permettent dans une certaine mesure de remédier à ce problème.
François Denis, Hachem Kadri, Cécile Capponi Introduction à l’apprentissage automatique

Vous aimerez peut-être aussi