Page 1 L’expression Intelligence Artificielle a été proposée en 1956 au cours d’un congrès. La question qui s’est posée concernait la définition d’une machine intelligente. Deux types de réponses ont été proposées :
1. Une machine intelligente reproduit le comportement d’un être humain.
2. Une machine intelligente modélise le fonctionnement d’un être humain.
L’ambition de fabriquer des machines intelligentes existait depuis l’antiquité ;Hephaistos créa des femmes en or qui avaient des capacités de parler et de travailler.
Jusqu’au milieu du XIXe siècle, la logique faisait partie de la philosophie. Ensuite la logique com- mence à migrer dans la discipline de la mathématique (Boole, 1850). La notion de systèmes formels utilisant un langage défini et des axiomes logiques a été ensuite élaborée. Ces systèmes formels seront ensuite utilisés dans la démonstration et la déduction automatique en intelligence artificielle.
Les deux notions de décidabilité et de la calculabilité ont été ensuite introduites en tant que critères dans les systèmes formels. Un système est décidable s’il existe une procedure permettant de décider en un temps fini si une formule est déduite des axiomes. D’un autre côté, une fonction est calculable s’il existe un algorithme qui permet de déterminer en un temps fini la valeur à partir des paramètres. La notion de calculabilité est parfaitement caractérisée par la notion de machine de Turing.
Aujourd’hui, les domaine de l’intelligence artificielle sont très diversifiés , nous citons : les systèmes experts, le calcul formel, la représentation des connaissances, la simulation du raisonnement humain, l’apprentissage et la résolution de problèmes. L’intelligence artificielle est aussi appliquée dans les do- maines de reconnaissances de traitement de langage naturel. De point de vue sub-symbolic, nous citons les réseaux de neurones et les algorithmes génétiques.
L’objectif de ce poly est d’élaborer une introduction aux bases de resolution des problèmes et plus particulièrement les problèmes de planification et de satisfaction de contraintes ainsi qu’à la problé- matique de l’apprentissage automatique. Les algorithmes d’exploration dans un espace d’états sont détaillés et notamment les algorithmes d’exploration arborescente aveugle, heuristique et stratégique.
Les éléments principaux de la théorie de jeux, tels que les noyaux de graphes et les algorithmes minmax et alpha-beta sont ensuite détaillés. Un ensemble de cours sur l’apprentissage symbolique est présenté afin d’illustrer à l’élève les techniques d’apprentissage de concepts, les arbres de décision, la résolu- tion inverse, les règles d’association ainsi que l’inference grammaticale. Finalement, les algorithmes de résolution de contraintes utilisant le backtracking simple et amélioré ainsi que la notion de l’arc consistance sont présentés et validés sur des cas d’école.
Maria Malek - EISTI - Deuxième année
Table des matières
1 Recherche dans un espace d’états 3
1.1 Introduction . . . 3
1.2 Notions utilisées . . . 3
1.2.1 Comment résoudre un problème de planification ? . . . 4
1.3 Recherche aveugle . . . 4
1.3.1 Les différents problèmes de recherche d’une solution . . . 4
1.4 Introduction d’un coût . . . 6
1.5 Recherche guidée . . . 6
1.5.1 Propriétés d’une heuristique . . . 6
1.5.2 Présentation de l’algorithme A* . . . 7
1.6 Implémentation en Prolog . . . 8
1.6.1 Le parcours en Profondeur d’abord . . . 8
1.6.2 Le parcours en Largeur d’abord . . . 8
1.6.3 La modélisation du problème du taquin . . . 9
2 APPRENTISSAGE SYMBOLIQUE DE CONCEPTS 11 2.1 Introduction . . . 11
2.2 L’apprentissage de concepts . . . 12
2.2.1 Notations . . . 12
2.3 L’algorithme Find-S . . . 13
2.4 L’espace de version . . . 14
2.5 L’algorithme Candidate-Elimination . . . 15
2.6 Exercices . . . 15
Chapitre 1
Recherche dans un espace d’états
1.1 Introduction
L’objectif de ce chapitre est d’introduire les principes de la résolution d’un problème donné en uti- lisant un espace de recherche. Cet espace de recherche permet de recenser les états d’un système donné et de trouver parmi ces états une ou plusieurs solutions. Le passage d’un état à un autre se fait par l’application d’une action donnée. Nous verrons que le problème de recherche de l’état solution dans l’espace nous ramènera à développerun arbre de recherche et à définir une stratégie de recherche sur cet arbre. Le but de la recherche dans un tel arbre serait la diminution du temps de recherche en trouvant une stratégie qui converge rapidement vers la solution. Nous allons dans un premier temps présenter les algorithmes de recherche classique : en profondeur et en largeur qu’on appellera la recherche aveugle.
Ce seront les algorithmes les plus coûteux évidemment en temps ou en espace car ils ont tendance à développer l’arbrecompletpour aboutir à une solution où à l’ensemble de solutions. Ensuite, nous étu- dions l’algorithme A* qui intègre une heuristique courant le développement de l’arbre de recherche ; cette heuristique permettra d’élaguer un ensemble de branches de l’arbre et de converger rapidement vers une solution si cette solution existe. Dans la suite, nous définissons les notions utilisées à savoir : les états et les actions. Ensuite, nous montrons les techniques de résolution en effectuant une recherche dans un espace d’états. L’application la plus directe à ces méthodes sera les problèmes de planification pour lesquels on ne connaît pas d’algorithme général ; mais on sait que étant donnés, un état initial, un état final et un ensemble d’actions élémentaires valides nous permettant de passer d’un état à un autre, on doit trouver une séquence d’action à executer pour résoudre le problème.
Il existe d’autre types d’application des méthodes de recherche dans un espace comme la démons- tration de théorèmes, les jeux et la résolution de contraintes .
1.2 Notions utilisées
Nous modélisons dans cette section un problème général de planification. Un problème de planifi- cation est modélisé par le quadruplet(S, E0, F, T)où :
S est l’ensemble de tous les états.
3
1.3. RECHERCHE AVEUGLE Page 4 E0 est l’état initial,E0 ∈S
F est l’ensemble des états finauxF ⊂S
T est la fonction de transition qui associe à chaque étatEi dansS un ensemble de couples(Aij, Eij) tels queAj soit une action élémentaire permettant de passer de l’étatEià l’étatsEij.
1.2.1 Comment résoudre un problème de planification ?
Résoudre un problème de planification signifie trouver une séquence E0, E1, .., Ej, ..En tel que
∃A1, ..Aj, ..An tels que (Aj, Ej) ∈ T(Ej−1) et En ∈ F. Pour effectuer une recherche, un arbre de recherche est construit ; la racine de l’arbre correspond à l’état initial, un étatEij est fils d’un autre état Eis’il existe une action qui permet d’obtenirEijà partir deEi. Si une des feuilles de l’arbre correspond à un état final, la solution est trouvée par la stratégie de la recherche.
1.3 Recherche aveugle
La recherche aveugle de la solution peut s’effectuer en profondeur ou en largeur, le parcours en profondeur signifie le développement d’une branche entière avant de parcourir le reste de l’arbre en effectuant du "backtracking". Ce développement peut ramener à trois situations différentes :
– La solution est trouvée et dans ce cas le développement de la branche s’arrête avec une possibilité de "backtraking" si d’autres solutions sont encore sollicitées.
– La solution n’est pas trouvée et un état d’échec est détecté (c’est un état qui n’engendre pas d’autres états) et dans ce cas le "backtraking" est appliqué pour poursuivre la recherche.
– Une branche infinie est à explorer et dans ce cas, un test d’arrêt sur une profondeur maximale doit être appliqué.
Nous remarquons que les performances de la recherche en profondeur sont liées à l’ordre d’explora- tion des branches de l’arbre. Autrement dit, si la solution se trouve dans la première branche à explorer cette stratégie devient optimale.
Par contre la recherche en largeur signifie que les états doivent être visités en parcourant l’arbre niveau par niveau ; autrement dit, tous les successeurs d’un état donné sont visités l’un après l’autre avant le passage au niveau suivant. Pour effectuer le parcours en largeur, une file est utilisée. Le parcours s’arrête quand un état final est trouvé ou quand une profondeur maximale est atteinte. Ce parcours est très cher en temps et en espace mais il garantie de trouver la solution si elle existe ; tandis que le parcours en profondeur peut ne pas converger même si la solution existe à cause d’une branche infinie.
Nous présentons l’algorithme d’exploration en profondeurExplorationProf (Ei, DejaV u, N) : BOO- LEEN qui prend en paramètre Ei : l’état actuel en cours de visite, DejaV u : la liste des états déjà visités, etN : la profondeur de l’état actuel. Remarquer bien que la première appelle de cette fonction sera :ExplorationP rof(E0,[E0], d)oùdest la profondeur maximale tolérée.
1.3.1 Les différents problèmes de recherche d’une solution
Nous pouvons distinguer trois types de problèmes de recherche d’une solution :
1.3. RECHERCHE AVEUGLE Page 5
Algorithm 1Recherche en profondeur
FONCTION ExplorationProf (Ei, DejaV u, N) : BOOLEEN VAR res : BOOLEEN
SIEi ∈F ALORS res←V RAI SINON
SIN = 0ALORS res←F AUX SINON
POUR TOUT(Aj, Ej)∈T(Ei)ET NON (Ej ∈DejaV u)FAIRE SIExplorationP rof(Ej, DejaV u∪Ej, N −1) =V RAI ALORS
Af f icherAj, Ej res←V RAI FIN SI
FIN POUR FIN SI
FIN SI
RETOURNER res
Algorithm 2Recherche en largeur
FONCTION ExplorationLarg(E0) : LISTE VAR F : FILE
F ←f ileV ide L←listeV ide Ajouter(F, E0)
TANTQUENON vide(F)FAIRE inserer(L,premier(F))
SINONpremier(F)∈F ALORS
POUR TOUT(Aj, Ej)∈T(premier(F))FAIRE ajouter(F, Ej)
FIN POUR supprimer(F) SINON
F ←f ileV ide FIN SI
FIN TANTQUE RETOURNER L
Maria Malek - EISTI - Deuxième année
1.4. INTRODUCTION D’UN COÛT Page 6 1. Le problème de la recherche d’une solution quelconque. On peut utiliser les algorithmes de re-
cherche en profondeur d’abord pour effectuer ce type de recherche.
2. Le problème de la recherche de toutes les solutions. Nous pouvons dans ce cas là construire l’arbre en largeur d’abord en introduisant une stratégie qui n’explore pas les branches ne menant pas à une bonne solution (à condition de les détecter le plus rapidement possible).
3. Le problème de la recherche de lameilleure solution selon un critère donné. Souvent ce critère est formalisé par un coût qui sera associé à l’ensemble desactionsformalisant le problème. Nous pouvons également explorer l’arbre en largeur avec une stratégie qui assure la non exploration de certaines branches.
1.4 Introduction d’un coût
On suppose qu’on associe à chaque action Ai un coût (réel positif). Le coût associé à une suite d’états est la somme des coûts associés aux actions exécutées.
Une solution estoptimale s’il n’existe pas aucune solution de coût strictement inférieur. Une mé- thode est diteadmissiblesi chaque fois qu’il existe une solution optimale, elle est trouvée en un temps fini. Dans la suite nous adoptons les notations suivantes :
k(Ei, Ej) Le coût de l’action la moins chère pour aller deEiàEj si elle existe.
k∗(Ei, Ej) Le coût de la séquence d’actions la moins chère pour aller deEi àEj. g∗(Ei) g∗(Ei) =k∗(E0, Ei)
h∗(Ei) h∗(Ei) = mink∗(Ei, Ej)avecEj ∈F, autrement dith∗(Ei)représente le coût minimal pour atteindre l’objectif si ce chemin existe.
f∗(Ei) f∗(Ei) = g∗(Ei) +h∗(Ei) Autrement ditf∗(Ei) représente le coût minimal d’une solution passant parEi si elle existe.
Nous utilisons dans la suite la notion de successeur d’états qui est définie par : Succ(Ei) = {Ej : (Aj, Ej)∈T(Ei)}
1.5 Recherche guidée
Nous allons montrer comment introduire uneheuristiquequi permet de guider le parcours en largeur en recherchant une solution dans l’arbre de recherche. Cette heuristique tente de diriger le parcours en coupant certaines branches et en allant en profondeur dans d’autres. Une heuristique est une mesure associée à un état donné qu’on noterah(Ei).
1.5.1 Propriétés d’une heuristique
Une heuristiqueh(Ei)est ditecoïncidentesi elle reconnaît les états de l’objectif :∀Ej ∈F, h(Ej) = 0.
1.5. RECHERCHE GUIDÉE Page 7 Elle estpresque parfaitesi elle donne sans erreur la branche à explorer :h(Ej) < h(Ei)oùEj est un état qui suitEi.
Elle est diteconsistantesi pour toute paires d’états nous avons :h(Ei)−h(Ej)≤k∗(Ei, Ej).
Elle estmonotonesi∀(Ei, Eij),(Aij, Eij)∈T(Ei), h(Ei)−h(Eij)≤k(Ei, Eij).
Une heuristique est dite minorante si elle sous-estime systématiquement le coût du chemin restant à parcourir :h(Ei)≤h∗(Ei)
Théorème 1.5.1 h est monotone ssi h est consistante
Supposons que h est consistante , dons pour toute paire d’états nous avons h(Ei) − h(Ej) ≤ k∗(Ei, Ej) et plus particulièrement si Ej ∈ Succ(Ei) alors h(Ei)−h(Ej) ≤ k∗(Ei, Ej) et par dé- finition nous avonsk∗(Ei, Ej)≤k(Ei, Ej).
Maintenant supposons que la stratégie est monotone Soient(E0, En)une paire d’états pour laquelle il y a un chemin optimalE1, ..En−1, En, nous avons∀i(h(Ei−1)−h(Ei)≤k(Ei−1, Ei))En sommant nous obtenons :h(E0)−h(En)≤Pn
i=1k(Ei−1, Ei)et donc :h(E0)−h(En)≤k∗(E0, En) Théorème 1.5.2 Si h est monotone et coïncidente, alors h est minorante.
Par hypothèse de monotonie et sur un chemin optimal, on obtient queh(E0)−h(En)≤k∗(E0, En) et puisque le chemin est optimal alorsh(E0)−h(En)≤h∗(E0)et puisque l’heuristique est coïncidente alorsh(E0)≤h∗(E0)
1.5.2 Présentation de l’algorithme A*
L’algorithme A* effectue un parcours en largeur guidé par une heuristique définie préalablement.
Deux files sont utilisées pour stocker les états visités et à visiter ; la fileActifcontient les états à visiter tandis que la fileInactifcontient les états déjà visités. Parmi tous les successeurs d’un état donné, sont ajoutés à la fileActif, les états non visités ou les états déjà visités mais dont le coût du passage actuel est moins élevé qu’avant. Une mesuref(e) = g(e) +h(e)est associée à chaque état ; cette mesure combine l’heuristiqueh(e) avec le coût actuel du passage par l’état g(e). La file Actifest triée par ordre de f croissant. Autrement dit, l’état dont le coût estimé est le moins élevé sera sélectionné.
Théorème 1.5.3 Si tout chemin de longueur infinie a un coût infini, si sur un chemin optimal, la valeur de l’heuristique est bornée et si chaque état a un nombre fini de successeurs alors l’algorithme A*
termine.
Théorème 1.5.4 Si les conditions de terminaisons sont réalisées et si l’heuristique est minorante alors l’algorithme A* est admissible.
Selon ce théorème, toute heuristique qui sous-estime la réalité est une heuristique qui permet de trouver le chemin optimal. Nous disons que h2 estplus informéeque h1 si toutes les deux sont mino- rantes et sih2(e) > h1(e),∀e ∈ S. En effet h2 permet de trouver le chemin optimal plus rapidement parcequ’elle est plus proche deh∗(e).
Maria Malek - EISTI - Deuxième année
1.6. IMPLÉMENTATION EN PROLOG Page 8 Algorithm 3l’algorithme A*
PROCEDURE A*() VAR e,e’ : ETAT,
Actif, Inactif : FILE Actif ←[e0] Inactif ←[]
g(e0)←0 E ←e0
TANTQUEnon fileVide(Actif) ET none∈F FAIRE supprimer(Actif)
inserer(Inactif, e)
POUR TOUTe0 ∈Succ(e)FAIRE
SI non (e0 ∈Actif ETe0 ∈Inactif) OU g(e’) > g(e)+k(e,e’) ALORS g(e0)←g(e) +k(e, e0)
f(e0)←g(e0) +h(e0) pere(e0)←e
ajouterTrier(Actif,e’) FIN SI
FIN POUR
SInon(fileVide(Actif))ALORS e←premier(Actif)
FIN SI
FIN TANTQUE
1.6 Implémentation en Prolog
1.6.1 Le parcours en Profondeur d’abord
Nous présentons un programme prolog qui effectue la recherche en profondeur d’abord. Ce pro- gramme est basé sur la récursivité. Le prédicat solve permet de retrouver l’état final à partir d’un état donné. Les états déjà visités sont stockés dans une liste. Le prédicatmoveassocie des actions à des états de départs. Le prédicatupdatechange l’état en appliquant une action. Finalement le prédicatlegalteste si un état existe ou non. Le programme en prolog est donné par :
solve(State,History,[]) :-etat_final(State).
solve(State,History,[Move|Moves]) :-
move(State,Move), update(State,Move,State1), legal(State1), not member(State1,History), solve(State1,[State1|History],Moves).
test(Moves) :-etat_initial(State), solve(State,[State],Moves).
1.6.2 Le parcours en Largeur d’abord
Ce programme est composé de trois prédicats :
1.6. IMPLÉMENTATION EN PROLOG Page 9 solveB effectue l’exploration en largeur et s’arrête dès qu’il trouve une solution ;
update-set met à jour la liste des nœuds à explorer en remplaçant le premier élément par ses fils (ces fils sont insérés à la fin) ;
insertF insert un élément à la fin d’un liste donnée si jamais cet élément correspond à un nœud non visité auparavant.
solveB([state(State,Path)|Reste],_,Moves) :- etat_final(State), reverse(Path,Moves).
solveB([state(State,Path)|Reste],History,Finalpath) :- not(etat_final(State)), findall(M,move(State,M),Moves),
update-set(Moves,State,Path,History,Reste,Reste1), solveB(Reste1,[State|History],Finalpath).
update-set([M|Ms],State,Path,History,R,R1) :-
update(State,M,State1), insertF(state(State1,[M|Path]),History,R,R2), update-set(Ms,State,Path,History,R2,R1).
update-set([],S,P,H,R,R).
insertF(state(State,_),History,[],[]) :-
member(State,History), !. insertF(X,History,[],[X]).
insertF(X,History,[T|Reste],[T|Reste1]) :- insertF(X,History,Reste,Reste1).
test(Moves) :-etat_initial(State), solveB([state(State,[])],[State],Moves).
1.6.3 La modélisation du problème du taquin
Nous modélisons le problème du taquin en utilisant quatre prédicats qui sont :
etat_initial décrit l’état initial du taquin en le lisant de haut en bas et de gauche à droite ; etat_final décrit l’état final du taquin ;
move décrit un action possible appliquée à un état donné ;
update décrit l’état résultant de l’application d’une action à un état donné.
etat_initial([1,b,2,3]).
etat_final([2,1,3,b]).
move([b,X,Y,Z],droite) :-X ¯=b,Y ¯=b,Z ¯=b.
move([b,X,Y,Z],bas) :-X ¯=b,Y ¯=b,Z ¯=b.
move([X,b,Y,Z],gauche) :-X ¯=b,Y ¯=b,Z ¯=b.
move([X,b,Y,Z],bas) :-X ¯=b,Y ¯=b,Z ¯=b.
move([X,Y,b,Z],droite) :-X ¯=b,Y ¯=b,Z ¯=b.
move([X,Y,b,Z],haut) :-X ¯=b,Y ¯=b,Z ¯=b.
move([X,Y,Z,b],gauche) :-X ¯=b,Y ¯=b,Z ¯=b.
move([X,Y,Z,b],haut) :-X ¯=b,Y ¯=b,Z ¯=b.
update([b,X,Y,Z],bas,[Y,X,b,Z]).
update([b,X,Y,Z],droite,[X,b,Y,Z]).
update([X,b,Y,Z],bas,[X,Z,Y,b]).
update([X,b,Y,Z],gauche,[b,X,Y,Z]).
update([X,Y,b,Z],haut,[b,Y,X,Z]).
Maria Malek - EISTI - Deuxième année
1.6. IMPLÉMENTATION EN PROLOG Page 10 update([X,Y,b,Z],droite,[X,Y,Z,b]).
update([X,Y,Z,b],haut,[X,b,Z,Y]).
update([X,Y,Z,b],gauche,[X,Y,b,Z]).
Chapitre 2
APPRENTISSAGE SYMBOLIQUE DE CONCEPTS
2.1 Introduction
Étant données une tâche T à effectuer par un programme informatique donné, et une mesure de performance par rapport à cette tâcheP; on dit que ce programme apprend à partir d’une expérienceE si la mesurePaugmente avec l’expérience.
Par exemple dans le domaine de la Reconnaissance de manuscrits :T est la tâche de reconnais- sance et de classement des lettres manuscrites données en entrée.Pest le pourcentage des mots classés correctement par le programme.Eest une base de données contenant des mots avec une fonction qui permet d’effectuer la classification.
Pour mettre en œuvre un système d’apprentissage automatique, il faut choisir l’expérience qui per- met au système d’apprendre ainsi que la fonction cible à apprendre. L’expérience est souvent exprimée en terme d’un ensemble d’exemples qui peuvent, dans certains domaines, être appuyés par une théorie qui décrit quelques aspects du domaine en question. La fonction cible est apprise à partir de l’ensemble d’exemples, chaque exemple serait représenté par le couple (b,f(b)), b étant les données de l’exemple et f(b) est la valeur de la fonction cible sur cette donnée.
Nous présentons dans la suite, un cas particulier de système d’apprentissage dans lequel la fonction cible étant l’appartenance ou non d’un exemple donné à un concept donné.
En d’autres mots, l’objet de ce chapitre est de présenter deux algorithmes (Find-S et Candidate- Elimination) qui permettent de décrire des concepts appris à partir d’un ensemble contenant d’exemples positifs et négatifs. Cette description sera formalisée en utilisant la terminologie des espaces d’hypo- thèses et de versions. Ce chapitre permettra à l’élève d’avoir un premier aperçu de l’apprentissage automatique à partir de données en utilisant un langage simple de description de concept qu’est celui des hypothèses.
11
2.2. L’APPRENTISSAGE DE CONCEPTS Page 12
2.2 L’apprentissage de concepts
La pluspart de systèmes d’apprentissage ont comme objectif d’apprendre de concepts généraux à partir d’exemples spécifiques. Chaque concept peut être représenté (par extension) par le
sous-ensemble d’exemples qu’il représente, ou (par intension) par une fonction booléenne qui décrit l’appartenance au concept en fonction de certaines caractéristiques.
Par conséquent, on peut dire que l’apprentissage de concept consiste à inférer une fonction boo- léenne à partir d’un ensemble d’exemples contenant chacun les entrées et la sortie correspondante.
2.2.1 Notations
Nous adoptons dans la suite la terminologie suivante qui nous permettra de décrire la tâche de l’apprentissage de concept.
Une instance étant donné un ensemble d’attributs, chacun ayant un domaine de valeurs, une instance est une valuation possible de cet ensemble d’attributs dans leurs domaines respectifs.
La fonction concept Soit X un ensemble donné d’instances, la fonction concept :c(X) → {0,1}est une fonction qui permet d’effectuer une appartenance à une instancex ∈X au concept en cours d’apprentissage.
L’ensemble d’apprentissage Est un ensemble d’instances munis de leurs valeurs d’appartenance au concept.
L’espace d’hypothèses Une hypothèse est définie comme étant une conjonction de contraintes sur la liste d’attributs : <val1,..,valN>. Une contrainte sur un attribut peut être une valeur appartenant au domaine de l’attribut ou, peut prendre la valeur ? ouφ. La valeur ? signifie que l’attribut en question peut prendre n’importe quelle valeur tandis que la valeurφsignifie que l’attribut ne peut prendre aucune valeur dans son domaine. L’espace d’hypothèses comprend toutes les hypothèses possibles pour décrire un domaine donné.
Par exemple, la table 2.1 nous montre un ensemble d’apprentissage. Une instance est décrite par les attributs : {CIEL, T EMP, HU MI, V ENT} définis respectivement sur les domaines suivants : D(CIEL) ={ensoleille, couvert, pluvieux},D(T EM P) = {eleve, moyenne, basse},D(HUM I) = {f orte, normale, moyenne},D(V EN T) = {oui, non}. Cette table comporte deux exemples positifs (ayant c(x)=1) et deux exemples négatifs (avec c(x)=0).
Une hypothèse possible serait h=<ensoleillé, élevé,forte, ?> qui couvre les deux exemples négatifs dans l’ensemble d’apprentissage.
L’hypothèse < ?, ?, ?, ?> est appelée l’hypothèse la plus générale car elle représente tous les exemples possibles tandis que toute hypothèse contenant la valeurφreprésente l’ensemble vide, autrement dit elle ne satisfait1aucun exemple.
1. Un hypothèse h satisfait un exemple x ssih(x) = 1
2.3. L’ALGORITHME FIND-S Page 13
NUM CIEL TEMP. HUMI. VENT Concept
1 ensoleillé élevé forte non 0
2 ensoleillé élevé forte oui 0
3 couvert élevé normale non 1
4 pluvieux moyenne normale non 1
TABLE2.1 – Description des conditions météorologiques et du concept JouerFoot
Schéma de description d’une tâche
La tâche à apprendre par le système peut être décrite par le schéma suivant : étant donné un ensemble d’instances X, munie de la fonction ciblec(X)→ {0,1}, appelé ensemble d’apprentissage et contenant des exemples positifs et négatifs, il s’agit de déterminerh∈Hoù H est l’espace d’hypothèses possible tel que h(x)=c(x)∀x∈X
Autrement dit, il faut que l’hypothèse inférée classe correctement les exemples positifs et rejette les exemples négatifs.
Ce type d’apprentissage appartient à l’apprentissage par induction qui exprime l’hypothèse sui- vante :une hypothèse trouvée à partir d’un ensemble d’exemples contenant des exemples suffisamment représentatifs du domaine doit classer assez correctement les nouveaux exemples.
Relation d’ordre sur l’espace d’hypothèses
Il existe une relation d’ordre partielle sur l’espace d’hypothèses qui nous permettra dans la suite de trouver un treillis d’hypothèses consistantes. Cette relation est basée sur la relation PGE (Plus général ou Égal) qu’on définira ainsi : Soithj,hkdeux hypothèses définies sur X.hjest PGE quehk: (hj ≥hk) ssi(∀x∈X)[hk(x) = 1→hj(x) = 1].
De même,hj est PG (plus général strictement) quehk(hj > hk) ssi(hj ≥hk)∧(hk hj).
2.3 L’algorithme Find-S
Nous présentons dans cette section l’algorithme Find-S dont l’objectif est de trouver l’hypothèse la plus spécifique qui satisfait tous les exemples positifs dans l’ensemble d’apprentissage.
1. Initialiser h à< φ, .., φ >, l’hypothèse la plus spécifique.
2. Pour chaque exemple positif x faire
– Pour toute valeurai de contrainte dans h – Siaiest satisfait par x Alors (Ne rien faire).
– Sinon, remplacerai dans h par la contrainte suivante la plus générale qui satisfait x.
3. Retourner h.
Par exemple, en appliquant Find-S sur les quatre exemples présenté au dessus , nous initialisons h
parh=< φ, φ, φ, φ >, après lecture de l’exemple numéro 3, nous aurions :h =< couvert, eleve, f orte, non >;
Maria Malek - EISTI - Deuxième année
2.4. L’ESPACE DE VERSION Page 14 et après lecture de l’exemple 4, nous aurions :h=<?,?, normale, non >.
L’inconvénient majeur de cet algorithme est qu’il ignore complètement les exemples négatifs. Par conséquence, il est possible d’avoir une hypothèse qui satisfait tous les exemples positifs mais qui ne rejette pas obligatoirement tous les exemples négatifs car aucune vérification n’est effectuée dans l’algorithme. Autrement dit, l’algorithme Find-S est incapable dans ce cas de retourner une hypothèse vide.
D’un autre côté, Find-S trouve l’hypothèse la plus spécifique qui couvre les exemples positifs sa- chant qu’il peut exister d’autres hypothèses plus générales qui seront consistantes avec l’ensemble d’apprentissage. Nous présentons dans la suite un algorithme permettant de construire l’espace des hypothèses consistantes avec un ensemble donné d’exemples. Cet espace est appeléespace de version.
2.4 L’espace de version
La construction de l’espace de version est fondée sur la recherche deshypothèses consistantesavec l’ensemble d’apprentissage D dans H. Une hypothèse h est diteconsistanteavec un ensemble d’appren- tissage donné ssi h(x) = c(x) pour chaque exemple (x,c(x)) dans D. L’espace de version est donné par
V SH,D ={h∈H|Consistant(h, D)}
Nous définissons dans la suite lalimite généraleetla limite spécifiqued’un espace d’hypothèses H par rapport à un ensemble d’apprentissage D, notés respectivement parGetS.
La limite générale G est l’ensemble des hypothèses les plus générales qui seront consistantes avec D et est donnée par
G={g ∈H |Consistant(g, D)∧(@g0 ∈H)[(g0 > g)∧Consistant(g0, D)]}
De même, la limite spécifique S est l’ensemble des hypothèses les plus spécifiques qui seront consis- tantes avec D et est donnée par
S ={s∈H |Consistant(s, D)∧(@s0 ∈H)[(s0 < s)∧Consistant(s0, D)]}
Théorème 2.4.1 L’espace de version est donnée par :
V SH,D ={h∈H |(∃s ∈S)(∃g ∈G)|(s≤h≤g)}
Soit h une hypothèse appartenant à l’ensembleV SH,Dsoitx∈Xun exemple positif, par définition s satisfait x, et puisqueh > snous avons h(x) = 1. De même, soity ∈ X un exemple négatif, g ne satisfait pas y :g(y) = 0, par conséquence h(y) ne peut prendre que la valeur 0 car sih(y) = 1alors g(y) = 1(car g est plus général que h).
Nous avons démontré que toute hypothèse appartenant à V SH,D est consistante avec l’ensemble d’apprentissage D. Il reste à démontrer que toute hypothèse consistante appartient à l’ensembleV SH,D; cette démonstration est laissée à la charge du lecteur intéresse !
2.5. L’ALGORITHME CANDIDATE-ELIMINATION Page 15
2.5 L’algorithme Candidate-Elimination
L’algorithme Candidate-Elimination calcule l’espace de version en trouvant les deux limitesGetS.
Les deux limites sont initialisées aux hypothèses<?, ..,? >et< φ, .., φ > respectivement. A chaque lecture d’un exemple positif x la limite S est généralisée d’une façon minimale pour que l’exemple positif soit consistant avec les éléments de S ; de même, les éléments de G non consistants avec x sont supprimés. Un comportement symétrique par rapport à(G, S)est effectué lors de la lecture d’un exemple négatif.
Nous donnons dans la suite l’algorithme détaillé : 1. Initialiser G à{<?, ..? >}
2. Initialiser S à{< φ, ..φ >}
3. Si d est un exemple positif
– Supprimer de G les hypothèses inconsistantes avec d.
– Pour chaque hypothèses∈S qui n’est pas consistante avec d faire – Supprimer s de S.
– Ajouter à S toutes le généralisations minimales h de s tel que h soit consistante avec d et il existe une hypothèseg ∈Gplus général que h.
– supprimer de S chaque hypothèse plus générale que d’autre hypothèse incluse également dans S.
4. Si d est un exemple négatif
– Supprimer de S les hypothèses inconsistantes avec d.
– Pour chaque hypothèseg ∈Gqui n’est pas consistante avec d faire – Supprimer g de G.
– Ajouter à G toutes le spécialisations minimales h de g tel que h soit consistante avec d et il existe une hypothèses∈Splus spécifique que h.
– supprimer de G chaque hypothèse plus spécifique qu’autre hypothèse incluse également dans G.
2.6 Exercices
Exercice 2.1 En analysant des actifs financiers côtés en bourse, nous voulons apprendre le concept- cible l’actif distribue des dividendes. Pour ce faire nous avons les exemples du tableau suivant :
No Prix Bénéfices Secteur Actif Bourse Croissance Dividende
1 Élevé Élevés Manufacture Action NYSE Forte 1
2 Élevé Élevés Services Action NYSE Forte 1
3 Faible Faibles Services Action NYSE Faible 0
4 Élevé Élevés Services Action Nasdaq Faible 1
1. Appliquer les algorithmes FIND-S et CANDIDAT-ELIMINATION et discuter les étapes de chaque algorithme.
Maria Malek - EISTI - Deuxième année
2.6. EXERCICES Page 16 2. Calculer le nombre d’éléments de l’espace d’hypothèses et de l’espace d’instances.
3. Donner ces mêmes nombres si on rajoute un attribut nouveau qui a k valeurs différentes.
4. Ranger les exemples dans un autre tableau en ordre inverse et appliquer de nouveau l’algorithme CANDIDAT-ELIMINATION. Expliquer pour quelles raisons l’espace des versions final est le même dans les deux cas.
5. Pouvez-vous envisager une stratégie pour ordonner les exemples, afin de réduire le nombre d’opé- rations nécessaires lors de l’apprentissage du concept ?
Exercice 2.2 Nous voulons apprendre le concept voiture familiale japonaise. Pour cela nous avons les exemples suivants :
Pays Constructeur Couleur Année Type Exemple
Japon Honda Bleue 2000 Familiale 1
Japon Toyota Verte 1997 Sportive 0
Japon Toyota Bleue 1999 Familiale 1
Étas-Unis Chrysler Rouge 2000 Familiale 0
Japon Honda Blanche 2000 Familiale 1
1. Appliquer les algorithmes FIND-S et CANDIDAT-ELIMINATION et discuter les résultats.
2. Ajouter les deux nouveaux exemples suivants :
Pays Constructeur Couleur Année Type Exemple Japon Toyota Verte 2000 familiale 1
Japon Honda Rouge 1999 Familiale 0
En appliquant l’algorithme CANDIDAT-ELIMINATION évaluer l’évolution des ensembles S(X) et G(X).
Exercice 2.3 Considérons les exemples suivants qui décrivent le concept-cible « couple de gens qui vivent dans la même maison ».
No Couple Ensemble
1 (homme, chatain, grand, USA) (femme, noire, petite, USA) 1 2 (homme, chatain, petit, France) (femme, noire, petite, USA) 1 3 (femme, chatain, grande, Allemagne) ( femme, noire, petite, Inde) 0 4 (homme, chatain, grand, Irlande) (femme, chatain, petite, Irlande) 1 1. Appliquer l’algorithme CANDIDAT-ELIMINATION.
2. Considérons l’exemple suivants :
Indiquer l’évolution des ensembles S(X) et G(X).
2.6. EXERCICES Page 17
No Couple Ensemble
5 (homme, noir, petit, Portugal) (femme, blonde, grande, Inde) 1
Maria Malek - EISTI - Deuxième année
Chapitre 3
Les arbres de décisions
3.1 Introduction
Nous présentons dans ce chapitre les méthodes et les techniques des arbre de décision qui sont au- jourd’hui très connues et utilisées dans le domaine de l’intelligence artificielle, de la fouille de données et de l’extracation de connaissances à partir des données.
Les arbres de décisions sont utilisés en tant qu’approche inductive qui permet d’exprimer les don- nées et de prédire la classe d’une nouvelle donnée.
L’arbre est construit en utilisant une méthode d’apprentissage supervisée fondée sur l’utilisation de la théorie d’information et plus particulièrement l’entropie de Shannon.
Dans la suite, nous présentons d’une façon générale les définissions et les tâches effectuées dans le domaine de l’extraction de connaissances en traitant particulièrement la problématique de la clas- sification et des classeurs. Nous détaillons ensuite l’algorithme ID3 qui permet de construire un arbre de décision à partir d’un ensemble d’apprentissage. Nous présentons finalement une version simple et descriptive de l’algorithme C4.5 qui constitue une amelioration de l’algorithme ID3 et qui permet de traiter les attributs continus.
3.2 Extraction de connaissance à partir de données
Une donnéeest un enregistrement au sens bases de données, un individu (statistique), une instance (orienté objet), un point, dans un espace euclidien ou un vecteur dans un espace vectoriel.
Un attributpeut être de nature qualitative ou quantitative, ou même un enregistrement (comme la date).
Il existe deux tâches principales pour l’extraction d’information :
La classification chaque donnée est affectée d’une caractéristique, le problème de classification consiste à prédire une caractéristique d’un exemple donné étant donné l’ensemble d’apprentissage. Il existe diverses approches à ce problème :
3.3. REPRÉSENTATION PAR ARBRE DE DÉCSION Page 19 – Construction d’un modèle arborescent permettant de prédire la classe d’une donnée, ou d’un
modèle exprimé sous forme de règles.
– Estimation directe de la classe d’une donnée en fonction des exemples : il n’y a pas de construc- tion de modèles mais les exemples d’apprentissage sont utilisés (comme par exemples les ap- proches probabilistiques et par cas).
– Construction d’un modèle interprétable par un humain (les réseaux de neurones, et les ma- chines à vecteurs supports).
La segmentation On dispose d’un ensemble de points, la tâche consiste à repérer des groupes de points qui se ressemblent.
Recherche des association On recherche de régularité ou de co-occurrence entre certaines valeurs d’attributs.
3.2.1 La classification
On dispose d’un ensembleX, comportantN données étiquetées. Chaque donnéexiest caractérisée, parP attributs et par sa classeyi ∈Y. Dans un problème de classification, la classe prend sa valeur dans un ensemble fini. Le problème consiste alors en s’appuyant sur l’ensembleX ={(xi, yi), i∈ {1..N}}, à prédire la classe de toute nouvelle donnée x.
un exempleest une donnée pour laquelle on dispose de sa classe.
Un classeur est un algorithme qui à partir d’un ensemble d’exemples, produit une prédiction de la classe de toute donnée.
3.2.2 Validation d’un classeur
L’erreur d’un classeur Er est la probabilité que ce classeur ne prédise pas correctement la classe d’une donnée de l’espace de données. Le taux de succès est1−Er.
L’erreur apparenteErappest mesurée sur les exemples utilisés pour la construction du classeur.
Pour estimer la qualité d’un classeur nous mettons en œuvre deux ensembles dont l’intersection est vide :
1. L’ensemble d’apprentissageXapp;
2. L’ensemble de testXtest qui permet d’estimer l’erreur de classification ; on connaît la classe de chaque exemple dans cet l’ensemble.
3.3 Représentation par arbre de décsion
Nous détaillons ici des méthodes d’apprentissage à partir d’exemples et plus particulièrement les systèmes de la famille TDIDT (Top Down Induction of Decision Trees) proposées par Quinlan (1986).
Leur but est d’effectuer une tâche d’induction en construisant une fonction de classification sous forme d’arbres de décisions.
Dans un arbre de décision : – une feuille indique un classe, Maria Malek - EISTI - Deuxième année
3.3. REPRÉSENTATION PAR ARBRE DE DÉCSION Page 20 – un nœud spécifie un test que doit subir un certain attribut, chaque branche sortant de ce nœud
correspond à une valeur possible de l’attribut en question.
Pour garantir l’obtention d’un arbre d’induction, il faut avoir un ensemble d’exemples pertinents : 1. un ensemble qui couvre le domaine et inclut les cas rares,
2. un ensemble qui ne contient pas de redondance.
Considérons par exemple la tâche qui consiste à classifier les conditions météorologiques en deux classes nommés P, N selon les valeurs de quatre attributs qui décrivent respectivement la situation du ciel, la température, l’humidité et le vent.
14 exemples de classification sont donnés par le tableau suivant (voir tableau 2.1) :
NUM CIEL TEMP. HUMI. VENT CLASSE
1 ensoleillé élevé forte non N
2 ensoleillé élevé forte oui N
3 couvert élevé forte non P
4 pluvieux moyenne forte non P
5 pluvieux basse normale non P
6 pluvieux basse normale oui N
7 couvert basse normale oui P
8 ensoleillé moyenne forte non N
9 ensoleillé basse normale non P
10 pluvieux moyenne normale non P
11 ensoleillé moyenne normale oui P
12 couvert moyenne forte oui P
13 couvert élevé normale non P
14 pluvieux moyenne forte oui N
TABLE3.1 – Description des conditions météorologiques
En cherchant à construire un arbre de décision qui classifie correctement ces exemples, on remarque qu’un tel arbre n’est pas unique (voir figure??et figure??).
Chacun de ces arbres définit un algorithme avec des caractéristiques différentes comme par exemple : – le nombre des nœuds,
– la longueur d’un chemin de la racine vers une feuille.
Puisque la différence de qualité est importante, il n’est pas question de se contenter d’un arbre quel- conque construit au hasard.
Un arbre de décision exprime un ensemble de règles propositionnelles qui décrit les classes cibles et qui vérifie (classe correctement) tous les exemples inclus dans l’ensemble d’apprentissage ; par exemple l’arbre??exprime l’ensemble des règles suivantes :
– SI CIEL= Ensoleille & HUMI=Forte ALORS CLASSE=N – SI CIEL= Ensoleille & HUMI=Normale ALORS CLASSE=P – SI CIEL= Couvert ALORS CLASSE=P
– SI CIEL= Pluvieux & VENT=Oui ALORS CLASSE=N
3.4. PRINCIPE DE ID3 Page 21
Ensoleillé Faux
Normale Pluvieux
Faux Vrai
VENT.
P P VENT VENT HUMI. N HUMI
P
N N P P VENT P
N P P
Moyenne
Ensoleillé Couvert
Pluvieux Ensoleillé Vrai Faux
Haute
Vrai Couvert
Vrai Faux Normale Haute
. CIEL
CIEL TEMP.
CIEL
Basse élevé
N
FIGURE3.1 – Un des arbres possibles obtenus à partir de l’ensemble des exemples météorologique – SI CIEL= Pluvieux & VENT=Non ALORS CLASSE=P
Autrement dit, le concept Classe=P est décrit par intention par l’hypothèse :(CIEL = Ensoleille∧ HUMI =Normale)∨(CIEL=Couvert)∨(CIEL=P luvieux∧V ENT =Non)
3.4 Principe de ID3
Étant donné un ensemble d’apprentissage E = {ei}, chaque exemple est défini par un vecteur d’attributs, et sa classeki. A chaque attribut on associe un testTi. Un test est donc une fonction :
VENT.
N Vrai .
CIEL
Ensoleillé Couvert Pluvieux HUMI
N P
Faux P Haute Normale
P
FIGURE3.2 – Un des arbres possibles obtenus à partir de l’ensemble des exemples météorologique
Maria Malek - EISTI - Deuxième année
3.4. PRINCIPE DE ID3 Page 22
Ti :E →Vj ={Vji} Vj est l’ensemble des valeurs pour un test donné.
Par exemple le test pour l’attribut ciel sur l’ensembleEest donné par :T1 :E → {ensoleille, couvert, pluvieux}.
L’algorithme est récursif, on choisit un testTipour la racine. Ce test induit une partition des exemples selon les valeursVji, ensuite l’algorithme est appliqué récursivement sur chaque élément de la partition.
Algorithm 4l’algorithme ID3
PROCEDURE construire-arbre(E :exemples,{T1,..,Tn} :tests) : arbre de décision SIles exemples sont tous d’une même classeALORS
construire−arbre←la feuille étiquetée par cette classe SINON
SITi ←bon−choix({T1, .., Tn}) ALORS soit{Ei1, .., Eim}la partition deEpourTi
construire−arbre←arbre de racineTi l←1
TANTQUEl <=mFAIRE
sous−arbresl ←construire−arbre(Eil,{T1, .., Tn}\Ti) l←l+ 1
FIN TANTQUE FIN SI
FIN SI
Le critère utilisé par ID3 pour lebon-choixest inspiré de lathéorie de l’information: on cherche à maximiser le gain d’information apporté par chaque test.
La quantité d’information donnée par un sous-ensemble de cardinalitén d’un ensemble deN évé- nements est :
Q= log2 N
n (3.4.1)
L’entropie d’une partitionE1,..,Ekd’un ensembleE de cardinalitéN aveccard(Ei) = ni est I(partition) =
Xk
i=1
(ni
N) log2 N
ni (3.4.2)
Sipi est la fréquence c’est à dire :pi = nNi : I(partition) =
Xk
i=1
(pi) log2 1
pi (3.4.3)
Considérons par exemple un problème de classification avec deux classe, soitple nombre d’exemples de la classeP,nle nombre d’exemples de la classeN. Un arbre de décision est un source d’information qui émet :
3.5. L’ALGORITHME C4.5 Page 23
I(p, n) = ( p
p+n) log2(p+n
p ) + ( n
p+n) log2(p+n
n ) (3.4.4)
L’information moyenne fournie par les sous-arbres d’un arbre de racineT est : E(T) =
Xk
i=1
(pi+ni
p+n )I(pi, ni) (3.4.5)
Le gain d’information pour un testT est défini par :
gain(T) =I(p, n)−E(T) (3.4.6)
Remarquons queI(p, n)étant constant, le maximum de gain est atteint pourE(T)minimal.
3.4.1 Exemple
Si on applique l’algorithme de ID3 sur l’ensemble des exemples figurant dans 2.1, on obtient les gains d’information suivants pour chacun des attributs :
– gain(CIEL) = 0.246 bits, – gain(TEMP.) = 0.029 bits, – gain(HUMI.) = 0.151 bits, – gain(VENT) = 0.048 bits
Donc, pour construire l’arbre on commence par placer l’attribut qui fournit le gain d’information le plus important dans la racine ; ensuite, pour construire le sous arbre lié à chaque branche sortant de la racine, on re-calcule les gains des sous ensembles, etc.
3.5 L’algorithme C4.5
C4.5 est un descendant de ID3 qui a été proposé par Quinlan en 1994 ; les améliorations qui ont été ajoutées sont :
Normalisation du gain : Il est possible dans ID3 d’avoir un test qui implique un grand nombre de sous-ensembles, chacun contenant un seul exemple. Prenons par exemple le cas d’un attribut dé- crivant l’identité d’un patient dans une base de cas médicale. La valeur deE(T)pour cet attribut est égale à 0, et la partition selon cet attribut donnen (n est le nombre de patients) ensembles, chacun contenant un exemple.
Pour résoudre ce problème, on propose dans C4.5 de considérer l’information potentielle générée pour la divion ennsous ensembles selon le testTi:
SplitInf o(T) =− Xn
i=1
kTik
kTk log2 kTik
kTk (3.5.1)
Maria Malek - EISTI - Deuxième année
3.6. EXERCICES Page 24 Donc, le gain est normalisé de la façon suivante :
GainRatio(T) = gain(T)
SplitInf o(T) (3.5.2)
Traitement des valeurs continues : Des méthodes pour la discrétisation des valeurs continues ont été ajoutées dans C4.5, le principe est de choisir comme seuil de discrétisation celui qui maximise le gain.
Groupement des valeurs des attributs : Puisque le dénominateur du gain croit avec le nombre des sous ensembles, des méthodes ont été ajoutées dans C4.5 pour rendre possible le fusionnement des valeurs d’attributs et de permettre de choisir celui qui maximise le gain.
Traitement des valeurs manquantes : Supposons que la valeur de l’attributaiest manquante : – l’ensemble des exemples est organisé enngroupes selon lesnvaleurs possibles deai;
– l’exemple est affecté à chacun de ces groupes avec une probabilité d’appartenance qui dépend de la fréquence de l’occurrence de cette valeur pour l’attributai;
– cette probabilité est propagée dans l’arbre, elle est en plus prise en compte lors du calcul du gain.
Élagage de l’arbre de décision : Des mécanismes ont été également ajoutés pour se débarrasser de quelques branches des sous-arbres sans trop influencer sur le taux de classification de l’arbre.
3.6 Exercices
EXERCICE 4.1 Donner les arbres de décisions qui expriment les fonctions booléennes suivantes : 1. A∧ ¬B
2. A∨(B∧C) 3. AXORB
4. (A∧B)∨(C∧D)
EXERCICE 4.2 Soient les exemples suivants :
Instance Classe a1 a2
1 + T T
2 + T T
3 - T F
4 + F F
5 - F T
6 - F T
1. Calculer l’entropie de l’ensemble d’exemples par rapport à la valeur de la classe.
2. Quel le gain de l’attribut a2 ?
3. Quel est l’arbre de décision appris à partir des six exemples ?
3.6. EXERCICES Page 25
NUM CIEL TEMP. HUMI. VENT Concept
1 couvert élevé normale non 1
2 pluvieux moyenne normale non 1
3 ensoleillé élevé forte non 0
4 ensoleillé élevé forte oui 0
TABLE3.2 – Description des conditions météorologiques et du concept JouerFoot EXERCICE 4.3 Soient les exemples suivants :
Comparer l’arbre de décision calculé par ID3 avec les hypothèses trouvées selon l’algorithme candidate-elimination. Commenter.
EXERCICE 4.4 Appliquer l’algorithme ID3 sur les 14 exemples vus en cours afin d’apprendre le concept "play au tennis".
EXERCICE 4.5 Installer le logiciel Weka à partir du site : http ://www.cs.waikato.ac.nz/ml/weka/.
1. Choisir l’applicationexplorer.
2. Ouvrir le fichier "data/weather.nominal".
3. A l’aide du bouton edit vérifier le contenu du fichier (vous trouvez les 14 exemples traités en cours).
4. Choisirclassifyet ensuite choisir via le boutonchoosela méthode ID3 (classés dans le répertoire trees.
5. Appuyer surstart: l’arbre de décision est construit.
6. Ouvrez avec un éditeur externe le fichier weather.nominal. Étudier le codage des données pour pouvoir faire l’exercice suivant.
7. Après avoir retiré les colonnes Couleur et Année, appliquer ID3 (via Weka) sur l’ensemble d’exemples suivants et comparer avec le résultat de candidate-elimination :
Pays Constructeur Couleur Année Type Exemple
Japon Honda Bleue 2000 Familiale 1
Japon Toyota Verte 1997 Sportive 0
Japon Toyota Bleue 1999 Familiale 1
Étas-Unis Chrysler Rouge 2000 Familiale 0
Japon Honda Blanche 2000 Familiale 1
8. Éditer les 16 exemples (A∧ B)∨ (C ∧D) Appliquer ID3 (via Weka) sur l’ensemble de ces exemples.
Maria Malek - EISTI - Deuxième année
Bibliographie
[1] R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between sets of items in large databases. InACM SIGMOD Conference on Management of Data, 1993.
[2] Dean, Allen, and Aloimonos. Artificial Intelligence : Theory and Practice. Benjamin/Cummings Publishing Company, Inc. Redwood City,CA 94065, 1995.
[3] N. Nilsson. Spécification algébriques, algorithmique et programmation. Morgan Kaufman, 1998.
[4] S.J. Russel and P. Norvig.Artificial Intelligence : A Modern Approach. Prentice Hall, Upper Saddle River,New Jersey 07458, 1995.
[5] L. Sterling and E. Shapiro. The Art of Prolog. MIT Press, England, 1994.