• Aucun résultat trouvé

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

N/A
N/A
Protected

Academic year: 2022

Partager "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"

Copied!
26
0
0

Texte intégral

(1)

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

(2)

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

(3)

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

(4)

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 :

(5)

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

(6)

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.

(7)

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

(8)

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 :

(9)

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

(10)

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]).

(11)

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

(12)

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

(13)

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

(14)

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 !

(15)

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

(16)

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).

(17)

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

(18)

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 :

(19)

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

(20)

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

(21)

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

(22)

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 :

(23)

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

(24)

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 ?

(25)

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

(26)

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.

Références

Outline

Documents relatifs

marge brute – remise – prix d’achat net – prix de vente hors taxe – coût d’achat prix de vente toute taxe comprise – prix d’achat net – frais d’achat – prix

Progressivement élaborée au fil de la carrière et de la vie de l’artiste au moyen d’un processus complexe d’interaction entre lui et le public via les médias, cette dernière

Pour effectuer une recherche, un arbre de recherche est construit ; la racine de l’arbre correspond à l’état initial, un état E ij est fils d’un autre état E i s’il existe

Nous rappelons aux propriétaires d’animaux qu’ils en sont responsables et qu’ils doivent prendre toutes les mesures nécessaires pour éviter toute gêne ou incident de quelque

Avec cinq graduations intermédiaires au minimum, celui-ci donne 40 configurations possibles qui incluent les deux qui viennent d’être mentionnées.. Pour L variant de 24

Question 5 : en ne considérant que les 5 mois d’hiver (novembre à mars), donner une estimation de la production d’énergie électrique sur une année pour l’ensemble

3- Ne cessant d’améliorer notre commande, nous avons constaté qu’un phénomène d’oscillation de l’eau autour d’un niveau provoque de nombreux démarrage et arrêt

Le 1% for the Planet France compte 13 administrateurs, représentant toutes nos parties prenantes : 2 sièges pour les fondateurs représentants du 1% for the Planet Global, 6 sièges