Arbres de décision flous

24
Arbres de décision flous

description

Arbres de décision flous. Plan. Les arbres de décision binaire Partitionnement flou de données numériques Construction d’arbres de décision flous Procédure d’inférence pour la classification. Les arbres de décision binaire. - PowerPoint PPT Presentation

Transcript of Arbres de décision flous

Page 1: Arbres  de  décision flous

Arbres de décision flous

Page 2: Arbres  de  décision flous

Plan

2

Les arbres de décision binaire Partitionnement flou de données

numériques Construction d’arbres de décision flous Procédure d’inférence pour la

classification

Page 3: Arbres  de  décision flous

Les arbres de décision binaire

3

Classifient les données selon une hiérarchie d’attributs ordonnés selon leur pouvoir représentatif.

L’arbre idéal est compact avec un pouvoir de prédiction maximum.

Un arbre de décision binaire possède : Un ensemble de nœuds organisés hiérarchiquement qui

testent chacun la valeur d’un attribut pour effectuer un branchement conséquent.

Un ensemble de feuilles qui sont reliées à différentes classes.

Page 4: Arbres  de  décision flous

Un arbre de décision binaire typique

4

Une même classe peut se retrouver dans des feuilles multiples

Page 5: Arbres  de  décision flous

Limitations des arbres classiques

5

Le processus de décision dépend de valeurs seuils

NOM <= 20 -> class 1

NOM > 20 -> class 0

D’où vient 20 ? Pourquoi pas 19.9 ou 20.1 ?

La division des données pour construire l’arbre n’est pas toujours parfaite.

L’arbre est sensible au bruit dans l’ensemble d’apprentissage.

Page 6: Arbres  de  décision flous

6

• Le processus de classification suit le premier chemin valide

Exemple (classe avec DIT=3, CLD=0, NOM=4)

DIT >> 2

CLD >> 0 NOM >> 8

0 11 0

TDIDT

0.4

DIT >> 2

CLD >> 0 NOM >> 8

0 11 0

0.6 0.4

0.4 0.6 0.1 0.9

0.4 0.6 0.1 0.4

TDIFDT

DIT >> 2

CLD >> 0 NOM >> 8

0 11 0

0.6 0.4

0.4 0.6 0.1 0.9

0.4 0.6 0.1 0.40.35

Limitations des arbres classiques

Page 7: Arbres  de  décision flous

Avantages potentiels d’un arbre flou

7

Les valeurs linguistiques éliminent le problème des seuils durs

Tous les chemins sont évalués lors du processus de classification

Meilleure robustesse face au bruit Meilleur pouvoir de généralisation entre

l’ensemble d’apprentissage et l’ensemble test

Règles plus facilement interprétables

Page 8: Arbres  de  décision flous

Apprentissage de classes multiples

8

(A1, C1)(A2, )(A3, )(A4, C1) (A5, )(A6, C1)

(A1, )(A2, C2 )(A3, )(A4, )(A5, C2 )(A6, )

(A1, )(A2, )(A3, C3)(A4, )(A5, )(A6, )

(A1,C1) (A2,C2) (A3,C3) (A4,C1) (A5,C2) (A6,C1)

Arbre binaire (C2, )

Arbre binaire (C3, )

Arbre binaire (C1, )

 

2C

2C

2C

2C

2C

1C1C

1C

1C

3C3C

3C3C3C

3C

• On crée un arbre pour chaque paire (Ci, ) (potentiel

d’explosion combinatoire!)iC

Page 9: Arbres  de  décision flous

Le processus de classification

9

(A1, )

(A1,C1)

Arbre binaire (C2, )

Arbre binaire (C3, )

Arbre binaire (C1, ) 2C1C 3C

• Déterminer sans ambiguïté la classe d’une donnée

Page 10: Arbres  de  décision flous

Partitionnement flou des données

10

C-centroïdes (version floue des k-centroïdes) Morphologie mathématique :

Opérations de base :

Ouverture:

Fermeture: Filtre:

Page 11: Arbres  de  décision flous

Partitionnement flou des données

11

FPMM algorithm :

.

Page 12: Arbres  de  décision flous

Partitionnement flou des données

12

Example :

Mot d’apprentissage

Mot filtré

Page 13: Arbres  de  décision flous

Partitionnement flou des données

13

Page 14: Arbres  de  décision flous

Création d’un arbre de décision binaire par induction

Algorithme C4.5 :

Si exemples d`apprentissage épuisés: Stop;Sinon: Si tous les exemples d’apprentissage appartiennent à la même classe

- Créer un feuille portant le nom de la classe ;

Sinon: - Utiliser un test pour trouver le meilleur attribut discriminant dans l`ensemble d’apprentissage ;- Diviser l'ensemble d’apprentissage en deux selon les valeurs de l’attribut identifié ;

Fin si ;Fin si

• L’entropie est utilisée comme mesure d’information

• Comme chaque attribut est commun à toutes les classes, Il faut tenir compte de son pouvoir discriminant pour chacune d’elles

)a|c(Plog)a|c(P)a(PE ij2ijji

iAn

Page 15: Arbres  de  décision flous

Induction d’un arbre de décision flou

15

Similaire à l’algorithm TDIDT de QuinlanFonction induire_arbre_flou (Ensemble_d_exemples E, Proprités P) Si tous éléments dans E sont dans la même classe

alors retourner une feuille (nœud terminal) étiquetée avec la classe sinon

si P est vide alors retourner une feuille étiquetée avec la disjonction de toutes les classes de E

sinon flouïfier E;

sélectionner une propriété pr de P comme racine de l’arbre courant; for chaque partition floue f de pr,

créer une branche correspondante dans l’arbre étiquetée f ; trouver la partition pa des éléments de E qui ont f comme valeur ; appeler induire_arbre_flou(pa, P)

attacher le nœud résultat à la branche f fin pour

Page 16: Arbres  de  décision flous

Entropie 101 L’information véhiculée par un attribut définit son pouvoir

discriminatoire L’entropie représente “l’information moyenne” de l’attribut pour un attribut A pris dans un ensemble, l’information véhiculée

par la valeur v augmente avec sa rareté :infA (v) =1/p(v) p(v) : probabilité de v

p(v)=0 => infA (v)= ; p(v)=1 => infA (v)=1

On peut faire varier la formule entre 0 et au lieu de 1 et en prenant le logarithme

inflog_A (v)=log[1/p(v)]=-log[p(v)]

L’entropie est l’information moyenne (au sens des probabilités) véhiculée par l’ensemble des valeurs de a

H(A)=-v p(v)log[p(v)]

Page 17: Arbres  de  décision flous

Dans l’approche floue, v représente des valeurs linguistiques et l’entropie est l’information moyenne véhiculée par ces valeurs

La probabilité d’un valeur de v doit inclure toutes les valeurs numériques qui peuvent la représenter

oú v(ai) représente le degré d’appartenance de ai à v and p(ai) est sa

fréquence relative dans le domaine de v

17

Entropie 101

)(2

log)()( *** PPAH

i iiv aPavP )()()(*

Page 18: Arbres  de  décision flous

Sélection de l’attribut ayant le meilleur pouvoir de représentation pour une classe

18

Dans TDIDT, on utilise l’entropie classique. Pour A={ai }i=1,…,n :

où p( ) est la probabilité que A=

Dans la version floue, on utilise l’entropie floue, ou entropie-étoile :

où est une variable linguistique et P*( ) est la probabilité floue que A= :

: fonction d’appartenance d’une valeur ai à P(ai) : fréquence de ai dans l’ensemble d’apprentissage

i iivA aPavP )()()(*

)( iv a

n

PPAH1

)(2

log)()(

pn

PPAH1

)(2

log)()( ***

Page 19: Arbres  de  décision flous

1919

Sélection de l’attribut ayant le meilleur pouvoir de représentation pour toutes les classes

Chaque attribut étant commun à toutes les classes, Il faut tenir compte de son pouvoir discriminant dans chacune d’elles => entropie conditionnelle :

Choisir Aj ayant min. comme critère de division

)a(P)a()v(P llnl1

vi*

i

)|(log)|()( *2

***ijij

jiiA cPcPPE

j

)(

),()|(

*

**

i

ijij P

cPvcP

)a,c(P))a(),c(min()v,c(P klql1 nk1

kvlcij*

ij

*

jAE

Page 20: Arbres  de  décision flous

Procédure d’inférence possible pour la classification

20

1. Pour chaque arbre :a) Les données entrent par la racine de chaque arbre et

sont propagées vers les feuilles .b) Utiliser l’algorithme max-min* pour :

Déterminer les valeurs d’appartenance de chacune des feuilles au label associé (min)

En déduire la valeur floue de chaque label (max).

2. Partant de tous les arbres, utiliser la méthode du vote majoritaire pour identifier la classe d’appartenance des données

*Max-min : min() le long de chaque chemin, max() pour chaque label de sortie

Page 21: Arbres  de  décision flous

Exemple

21

• Données : (NOM=11, NOP=11, DAM=0.6)

1

1 DAM

NOM

9 15

0.55 0.78

DAMNOP

NOM

0.65 0.35

0 1 01

0.2 0.8 0.7 0.3

0.2 0.65 0.35 0.3

• L’utilisation de max- min donne :

• (1) = 0.65 ; (2) = 0.3

« petit » « grand »

1 NOP

5 12

Page 22: Arbres  de  décision flous

Exemple - suite

22

Ex. Tree 1 Tree 2 Tree 3 Vote

C1   C2   C3   C1 C2 C3

E1 1 0 0 0.3 0 0.8 0.78 0.2 0.08

E2 0.55 0.6 0.3 0.7 0.32 0.48 0.57 0.42 0.48

E3 0.1 0 0.8 0.1 0 0.6 0.22 0.55 0.02

• Méthode du vote :

• On prend la classe qui obtient le plus grand . Ex : pour E1,

1C 2C 3C

1

})({1

1})({

)(

n

cn

c

c ij

jcc

jci

i

775.02/8.03.0(2/11)C( 1

Page 23: Arbres  de  décision flous

23

Et si on changeait de fonctions d’appartenance ?

1

1 NOP

NOP

9 15

5 12

Cas 1

Cas 2

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.15

0.2

0.25

0.3

0.35

number_of_serversmean_delay

nu

mb

er_

of_

spa

res

• Utiliser un outil d’analyse (simulateur)

• Passer à la logique floue de niveau II !

Page 24: Arbres  de  décision flous

Références

24

[1]. Marsala C. , and Bouchon-Meunier B. , “Fuzzy partitioning using mathematical morphology in a learning scheme,” actes de 5th IEEE Conference on Fuzzy Systems, New Orleans, 1996.

[2]. Marsala C. , Apprentissage inductif en présence de données imprécises : construction et utilisation d’arbres de décision flous, thèse de doctorat, Universite Pierre et Marie Curie, Paris (France), 1998. Rapport LIP6 No. 1998/014.

[3]. Boukadoum, M., Sahraoui, H. & Lounis, H. “Machine Learning Approach to Predict Software Evolvability with Fuzzy Binary Trees” actes de ICAI 2001, Las Vegas, juin 2001.

[4]. Sahraoui, H., Boukadoum, M., Chawiche, H. M., Mai, G. & Serhani, M. A. “A fuzzy logic framework to improve the performance and interpretation of rule-based quality prediction models for object-oriented software,” actes de COMPSAC 2002, Oxford (Angleterre), août 2002.

[5] Boukadoum, M., Sahraoui, H. and Chawiche H. M. “ Refactoring object-oriented software using fuzzy rule-based prediction,” actes de MCSEAI 2004, Sousse (Tunisie), mai 2004.