|
|
Un arbre de décision est un arbre au sens informatique du terme. On rappelle que les noeuds d'un arbre sont repérés par des positions qui sont des mots sur {1,...,p}*, où p est l'arité maximale des noeuds. Si on note le mot vide par e, les positions pour l'arbre de la figure ?? sont :
| gorge irritée | gorge non irritée | |
| température < 37,5 | (6 S, 37 M) | (91 S, 1 M) |
| température ³ 37,5 | (2 S, 21 M) | (1 S, 41 M) |
|
| client | M | A | R | E | I |
| 1 | moyen | moyen | village | oui | oui |
| 2 | élevé | moyen | bourg | non | non |
| 3 | faible | âgé | bourg | non | non |
| 4 | faible | moyen | bourg | oui | oui |
| 5 | moyen | jeune | ville | oui | oui |
| 6 | élevé | âgé | ville | oui | non |
| 7 | moyen | âgé | ville | oui | non |
| 8 | faible | moyen | village | non | non |
Laquelle des quatre possibilités faut-il choisir ? Si on regarde le test sur le type de résidence R, on remarque que ce test ne permet une discrimination sur aucune des branches, on peut donc se dire que le choix de ce test ne fait rien gagner, il sera donc à rejeter. Par contre, pour le test sur l'âge A, on remarque que sur la première branche, tous les éléments correspondants de l'échantillon sont de classe oui et que sur la troisième branche, tous les éléments sont de classe non. Ce test peut donc être considéré comme << intéressant >>. Ce raisonnement informel doit être automatisé.
(3,5) ® M (1,2) (2,1) (0,2) (3,5) ® A (1,0) (2,2) (0,3) (3,5) ® R (1,1) (1,2) (1,2) (3,5) ® E (3,2) (0,3)
Figure 2.2 : choix possibles en racine où les branches du test M sont labellés dans l'ordre par faible, moyen et élevé ; du test A dans l'ordre par jeune, moyen et âgé ; du test R dans l'ordre par village, bourg et ville ; du test E dans l'ordre par oui et non.
|
| Algorithme d'apprentissage générique |
| entrée : langage de description ; échantillon S |
| début |
| Initialiser à l'arbre vide ; la racine est le noeud courant |
| répéter |
| Décider si le noeud courant est terminal |
| Si le noeud est terminal alors |
| Affecter une classe |
| sinon |
| Sélectionner un test et créer le sous-arbre |
| FinSi |
| Passer au noeud suivant non exploré s'il en existe |
| Jusqu'à obtenir un arbre de décision |
| fin |
|
| g(p) = |
|
, |
| Dapp(p) = |
|
, |
|
|
|
Although this method does have the subtle flaw of << indirecly training on test cases >> it performs quite well on large samples with at least 1000 test cases. With fewer cases, the risks of training on the test cases is greater.Cette méthode est présentée dans l'exercice ??. Une autre heuristique est proposée par C4.5. On construit le système à base de règles associé à l'arbre de décision produit en sortie de la phase d'expansion. On choisit ensuite une méthode permettant de coder à la fois les règles et les exceptions (exemples mal classifiés par les règles). Lorsqu'on supprime une règle, on risque de voir augmenter le nombre d'exceptions. Mais il se peut aussi que la taille du codage diminue globalement. Dans ce cas, on choisit la règle dont la suppression produit la plus forte diminution. On applique ce procédé de façon itérative tant que la taille des codages diminue. Cette méthode est une application du principe MDL (Minimum Description Length) qui consiste à choisir parmi plusieurs théories celle dont le codage (théorie plus exceptions) est minimal.
|
|