• Aucun résultat trouvé

Arbres de d´ecision Intelligence Artificielle et Syst`emes Formels Master 1 I2L

N/A
N/A
Protected

Academic year: 2022

Partager "Arbres de d´ecision Intelligence Artificielle et Syst`emes Formels Master 1 I2L"

Copied!
33
0
0

Texte intégral

(1)

Arbres de d´ ecision

Intelligence Artificielle et Syst`emes Formels Master 1 I2L

S´ebastien Verel verel@lisic.univ-littoral.fr

http://www-lisic.univ-littoral.fr/~verel

Universit´e du Littoral Cˆote d’Opale Laboratoire LISIC Equipe OSMOSE

(2)

Objectifs de la s´ eance 08

Savoir d´efinir les notions d’apprentissage automatique Savoir d´efinir un arbre de d´ecision

Connaitre le principe de l’algorithme d’apprentissage ID3 Savoir d´efinir apprentissage supervis´e et non-supervis´e Connaitre la notion de sur-apprentissage

Connaitre les m´ethodes d’estimation de l’erreur (validation crois´ee, etc.)

(3)

Plan

1 Apprentissage automatique

2 Arbre de d´ecision

3 Apprentissages top-down greedy

4 Techniques de validation

(4)

Intelligence Artificielle

5 domaines de l’IA D´eduction logique R´esolution de probl`emes

Apprentissage automatique(artificiel) Repr´esentation des connaissances Syst`emes multiagents

(5)

Apprentissage automatique (Machine Learning)

D´efinition informelle

Etude et conception de syst`emes (m´ethodes ex´ecut´ees par une machine) qui sont capables d’apprendre `a partir de donn´ees.

Exemple

un syst`eme qui distinguent les courriels spam et non-spam.

(6)

Apprentissage automatique (Machine Learning)

E : l’ensemble de toutes les tˆaches possibles.

S : un syst`eme (une machine)

D´efinition un peu plus formelle [T.M. Mitchell, 1997]

T ⊂E : ensemble de taches appel´e training set

P :S ×E →IR: mesure de performance d’un syst. sur des tˆaches.

Un syst`emeS apprend lors d’une exp´erience Exp si la performance de S sur les tachesT, mesur´ee par P, s’am´eliore.

P(Savant Exp,T)≤P(Sapr`es Exp,T)

Exemple

Taches T : Classifier des emails re¸cus durant une journ´ee Performance P : Taux de rejet correct des spams par S Exp´erience Exp : 1 semaine exposition aux courriels d’un utilisateur

(7)

Capacit´ e de g´ en´ eralisation

D´efinition (informelle)

Capacit´e d’un syst`eme `a fonctionner correctement sur de nouvelles taches inconnues apr`es avoir appris sur un ensemble

d’apprentissage.

T : ensemble d’apprentissage (training set)

V : ensemble de test/validation (test set) avecVT = Deux syst`emesS1 etS2.

Supposons le r´esultat suivant : P(S2,T)P(S1,T) P(S1,V)P(S2,V) Interpr´etations :

S1a mieux appris queS2sur l’ensemble d’apprentissageT S1en´eralise moins bien queS2sur un ensemble ind´ependant V

(8)

Machine learning vs. Data mining

Finalit´es diff´erentesa priori Machine learning :

but depr´ediction`a partir de propri´et´es connues et apprises sur un ensemble d’apprentissage

Data mining :

but ded´ecouverte de propri´et´es pas encore connues dans les donn´ees.

(9)

Types d’apprentissage

Apprentissage supervis´e :

Apprentissage sur un ensemble d’exemples ´etiquet´es : (entr´ee, sortie d´esir´ee)

Apprentissage non supervis´e :

Apprentissage sur un ensemble d’exemples non ´etiquet´es (cf. clustering)

Apprentissage semi-supervis´e :

Apprentissage sur un ensemble d’exemples ´etiquet´es / non

´

etiquet´es

Apprentissage par renforcement :

Apprentissage o`u les actions sur l’environnement se mesurent par une r´ecompense

...

(10)

Liste d’algorithmes d’apprentissage automatique

Liste non exhaustive Arbre de d´ecision R´egles d’association

R´eseau de neurones artificiels Support vector machine Clustering (classification) Inf´erence baysienne R´eseaux baysiens

Temporal difference (TD) etc.

(11)

Choisir la bonne m´ ethode...

source : scikit learnhttp://scikit-learn.org/dev/index.html

(12)

Logiciels et biblioth` eques

Weka :http://weka.wikispaces.com/

R :http://www.r-project.org scikit learn (python) :

http://scikit-learn.org/dev/index.html ...

(13)

Bibliographie

Denis Robilliard, Universit´e du Littoral Cˆote d’Opale, http:

//www-lisic.univ-littoral.fr/~robillia/index.html Fabien Teytaud, Universit´e du Littoral Cˆote d’Opale,

http://www-lisic.univ-littoral.fr/~teytaud/

enseignements.html

Christine Decaestecker (ULB) et Marco Saerens, (UCL),

”Les arbres de d´ecision”

Rico Rakotomalala, Laboratoire ERIC,

http://tutoriels-data-mining.blogspot.com/2008/

03/validation-croise-bootstrap-leave-one.html

(14)

Repr´ esentation

Les techniques d’apprentissage se distinguent par les repr´esentations :

R`egles d’association R´eseaux de neurone Arbres de d´ecision ...

Une repr´esentation est une structure de donn´ee (lecture/´ecriture).

L’´etat de la structure permet la m´emorisation.

Lors de la phase d’apprentissage,

l’´etat propre `a la structure est modifi´ee : ”le mod`ele apprend”

pour augmenter la performance sur l’ensemble d’apprentissage et tout en gardant des capacit´es de g´en´eralisation

(15)

Un exemple

Outlook Temperature Humidity Wind Playball

Sunny Hot High Weak No

Sunny Hot High Strong No

Overcast Hot High Weak Yes

Rain Mild High Weak Yes

Rain Cool Normal Weak Yes

Rain Cool Normal Strong No

Overcast Cool Normal Strong Yes

Sunny Mild High Weak No

Sunny Cool Normal Weak Yes

Rain Mild Normal Weak Yes

Sunny Mild Normal Strong Yes

Overcast Mild High Strong Yes

Overcast Hot Normal Weak Yes

Rain Mild High Strong No

4 attributs :

Outlook∈ {Sunny , Overcast, Rain }; Temperature∈ {Hot, Mild, Cool }; Humidity ∈ {High , Normal}; Wind∈ {Strong , Weak}

1 cible : Playball∈ {No, Yes} 14 exemples ´etiquet´es

(16)

Apprentissage automatique Arbre de d´ecision Apprentissages top-down greedy Techniques de validation

Un arbre pour prendre une d´ ecision

Classification `a l’aide d’un arbre

Outlook

Himidity Wind

Wind

sunny

overcast Rain

NO Temperature Weak Strong

NO NO

YES NO

High Normal

Strong Weak

NO

YES NO YES Wind

Strong Weak

NO YES NO

NO NO cool midl hot

disjonctions)

Si Outlook = ”overcast” et Humidity =... alors playball = Yes

(17)

Un arbre pour prendre une d´ ecision

Classification `a l’aide d’un arbre

Outlook

Himidity Wind

Wind

sunny

overcast Rain

NO Temperature Weak Strong

NO NO

YES NO

High Normal

Strong Weak

NO

YES NO YES Wind

Strong Weak

NO YES NO

NO NO cool midl hot

Remarque : un arbre code en fait un ensemble de r`egles (conjonctions, disjonctions)

Si Outlook = ”overcast” et Humidity =... alors playball = Yes

(18)

Exemple

Exercice

Compl´eter le tableau en utilisant l’arbre de d´ecision Calculer le taux d’erreur de cet arbre de d´ecision

Outlook

Himidity Wind

Wind

sunny

overcast Rain

NO Temperature Weak Strong

NO NO YES NO

High Normal

Strong Weak

NO NO

YES YES Wind

Strong Weak

NO YES NO

NO NO cool midl hot

Outlook Temperature Humidity Wind Playball

Sunny Hot High Weak

Sunny Hot High Strong

Overcast Hot High Weak

Rain Mild High Weak

Rain Cool Normal Weak

Rain Cool Normal Strong

Overcast Cool Normal Strong

Sunny Mild High Weak

Sunny Cool Normal Weak

Rain Mild Normal Weak

Sunny Mild Normal Strong

Overcast Mild High Strong

Overcast Hot Normal Weak

Rain Mild High Strong

(19)

Algorithme d’apprentissage

Apprentissage par arbre de d´ecision Construction un arbre :

Noeuds internes :s´electionnerd’un attribut comme ´etiquette, les arcs sont ´etiquet´es par les valeurs de l’attribut

Feuilles : couper l’arbre avec une valeur de l’attribut cible

On veut en g´en´eral : Un taux d’erreur faible Une bonne g´en´eralisation

Un arbre de petite taille compr´ehensible pour un non expert etc.

Nombreux algos : ID3, C4.5, CART, CHAID, algo. ´evo., etc.

(20)

Une classe d’algorithmes d’apprentissage

Algorithme top-down

Proc´edure : construireArbre(X)

if tous les exemple de X appartiennent `a la mˆeme classethen Cr´eer une feuille portant le nom de cette classe

else

Choisir un attribut pour cr´eer un noeud

Le test associ´e `a ce noeud s´epareX enXd et Xg construireArbre(Xg)

construireArbre(Xd) end if

(21)

Une classe d’algorithmes d’apprentissage

Algorithmes top-down greedy Pour chaque noeud interne,

le ”meilleur” attribut est s´electionn´e selon l’ensemble d’apprentissage

l’ensemble d’apprentissage est partitionn´e selon les valeurs possibles de l’attribut du noeud

Le processus est r´ep´et´e en chaque noeud et s’arrˆete lorsque : tous les exemples ont la mˆeme valeur d’attribut cible un nouveau partitionnement n’augmente pas la qualit´e de la pr´ediction

Top-down : construction `a partir de la racine

Greedy : meilleur choix local, pas de remise en cause Les optima locaux guettent ! Optimalit´e localevs. globale

(22)

Critique

Avantages

Simple `a comprendre et `a interpr´eter

Le mod`ele est ”white-box”

(r´es. neurones est black-box) Peu de pr´eparation des

donn´ees : pas de normalisation, etc.

Donn´ees num´eriques et cat´egorielles possibles Robuste aux donn´ees aberrantes (outliers)

Inconv´enients

Apprendre un arbre de d´ecision optimal : NP-complet

Heuristique d’apprentissage greedy : arbre sous optimal Cr´eation d’arbres trop complexes, sur-sp´ecialis´e Biais vers certaines formes : attribut avec plus de valeurs, petit arbre, etc.

etection difficile des interactions entre attributs Certains probl`emes sont difficiles `a apprendre sous forme d’arbre (xor, parit´e, multiplexer)

(23)

ID3 (Iterative Dichotomiser 3)

Ross Quinlan, 1986

Algorithme top-down greedy

bas´e sur le gain d’information (information gain) Principe

1 Calculer l’entropie de tous les attributs en utilisant l’ensemble d’apprentissage S

2 Partitionner l’ensemble S en utilisant l’attribut pour lequel l’entropie est minimum (gain d’information maximum)

3 Construire le noeud de l’arbre avec cet attribut

4 Recommencer r´ecursivement sur chaque sous arbre avec chaque sous-ensemble

(24)

Mesure d’entropie

EntropieH

Mesure de la quantit´e d’incertitude dans un ensemble (dispersion) H(S) =−X

x∈X

p(x) log2p(x)

S : ensemble des donn´ees DS : ensemble des classes de S

p(s) : proportion de la classe s ∈DS dans S

LorsqueH(S) = 0, S est parfaitement class´e.

(25)

Mesure d’entropie

Voir exemple de calcul au tableau

(26)

Gain d’information

Information mutuelle (entropie crois´ee)

Mesure de l’information conjointe de 2 variables al´eatoires (information d’une variable par rapport `a l’autre)

I(S,T) =− X

s∈DS,t∈DT

p(s,t) log2 p(s,t) p(s)p(t)

Information gain ( - information mutuelle)

Mesure de la diff´erence d’entropie entre avant et apr`es le partitionnement selon un attribut

IG(S,T) =−I(S,T) =H(S)−X

t

p(St)H(St) T ={S1, . . .} partitionnement deS =∪tSt

p(St) =]St/]S

H(S),H(St) : entropies de S et de St

(27)

Mesure d’entropie

Voir exemple de calcul au tableau

(28)

Pseudo code

ID3(exemples, cible, attributs) :

sitous les exemples sont positifs (resp. n´egatifs) alors

retourner une feuille avec l’´etiquette positif (resp. n´egatif) siattributs est vide alors

retourner une feuille avec l’´etiquette la plus fr´equente sinon

A←attribut de plus grand gain d’information construireun noeud avec l’´etiquette A pour chaque valeursvi deA

ajouterla branchevi au noeud siexemples(A=vi) est videalors

ajouter`a la branche la feuille avec l’´etiquette la plus fr´equente sinon

ajouter`a la branche le sous-arbre

ID3(exemples(A=vi), cible, attributs −A)

(29)

C4.5

Ross Quinlan, 1993

Am´elioration de ID3

Utilisation du ratio de gain d’information au lieu de IG : IG(S,T) biais´e vers attributs ayant un grand nombre de valeurs

ratioIG(S,T) =IG(S,T)/H(T) Possibilit´e de valeur ”null” :

Exemple ignor´e lors dans le calcul du noeud Prise en compte des attributs `a valeur continue :

Discr´etisation parP(A<ai)

pour toutes les valeurs possibles deA, calcul deIG Elagage (pruning) pour r´eduire la taille de l’arbre :

Technique bottom-up : branches finales ´elagu´ees

lorsque taux d’erreur plus grand qu’en rempla¸cant par une feuille

Wind Strong Weak

NO YES NO 3/5 1/5 avec classe

majoritaire 3/10

(30)

Les erreurs

Relation entre erreurs

Erreur d’apprentissage : taux d’erreur sur l’ensemble des exemples d’apprentissage

Erreur ”vraie” : erreur sur l’ensemble de tous les exemples possibles

taille ens. d'apprentissage tx erreur erreur "vraie"

erreur entrainement

(31)

Sur-apprentissage

Exces d’apprentissage

Sur-sp´ecialisation du mod`ele sur l’ensemble d’entrainement

⇒Perte de capacit´e de g´en´eralisation

≈Apprentissage ”par coeur”

complexité du modèle tx erreur erreur "vraie"

erreur entrainement

sur-apprentissage

Mesure de complexit´e d’un arbre de d´ecision : nombre de feuilles

(32)

Evaluation d’un mod` ele d’apprentissage

Technique

Partitionner l’ensemble des exemples en : un ensemble d’apprentissage (≈70%) un ensemble ind´ependant de test (≈30%)

Le taux d’erreur est estim´e (sans biais) sur l’ensemble de test.

Inconv´enient

Requiert un nombre important d’exemples Dilemme :

Plus on met d’exemples dans le test, plus l’estimation est pr´ecise

Plus on met d’exemples dans l’apprentissage, meilleur est le mod`ele (a priori)

(33)

M´ ethode de r´ e-´ echantillonnage

Permet d’estimer l’erreur de g´en´eralisation.

K-folds cross-validation

Partitionner al´eatoirement l’´echantillon enK blocs Pour chaque bloc k,

Construire le mod´ele sur les k−1 autres blocs Calculer l’erreur en test ek sur le blockk Calculer l’erreur moyenne des erreursek

Autres techniques :

Leave-one-out (K =n) Bootstrap, bagging, etc.

Références

Documents relatifs

´ el´ ements plus petit que l’´ etiquette sont dans l’arbre gauche et tous les ´ el´ ements plus grand que l’´ etiquette sont dans l’arbre droit. searchOrd _ Empty

M´ ethode : Pour un nombre d’´ evaluation fix´ e, ex´ ecuter plusieurs fois la recherche al´ eatoire (au moins 30 fois), puis calculer les statistiques de la qualit´ e des

sep indique le caract` ere de s´ eparation des donn´ ees header indique si la premi` ere ligne contient le nom des colonnes. Pour obtenir les vecteurs constituant le data frame

Une fois la solution courante dans un optimum local, Perturbation (grande modification) de la solution courante pour initier une nouvelle recherche locale ` a partir de

´ el´ ements plus petit que l’´ etiquette sont dans l’arbre gauche et tous les ´ el´ ements plus grand que l’´ etiquette sont dans l’arbre droit. rechercheOrd( _, {arbre}

Outlook ∈ { Sunny , Overcast, Rain } ; Temperature ∈ { Hot, Mild, Cool } ; Humidity ∈ { High , Normal } ; Wind ∈ { Strong , Weak }. 1 cible : Playball ∈ { No, Yes } 14 exemples

Savoir d´ efinir les notions d’apprentissage automatique Savoir d´ efinir apprentissage supervis´ e et non-supervis´ e Connaitre la notion de sur-apprentissage.. Connaitre les

Guillaume Wacquet ; Emilie Poisson Caillault ; Denis Hamad ; Pierre-Alexandre H´ ebert Pattern Recognition Letters, Available online 19 February 2013, Detection of