• Aucun résultat trouvé

2.3 Le syst`eme Kardio

3.1.8 ICL : apprentissage par interpr´etations

3.1.8.1 Algorithmes

L’objectif d’ICL est de concilier l’efficacit´e de l’apprentissage attribut-valeur avec l’expressivit´e de la logique du premier ordre. Les syst`emes d’apprentissage attribut-valeur apprennent des th´eories sous forme normale disjonctive (DNF) alors que les syst`emes d’apprentissage par PLI cherchent classiquement `a apprendre des pro-grammes logiques sous forme normale conjonctive (CNF). Les auteurs ont tout d’abord cherch´e `a cr´eer un nouveau syst`eme de PLI apprenant des CNF en adaptant un algorithme d’apprentissage attribut-valeur nomm´e CN2 [Clark et Niblett, 1989, Clark et Boswell, 1991].

CN2, un algorithme propositionnel Dans CN2, les exemples sont d´ecrits par un nombre d’attributs fixe ayant chacun une valeur donn´ee. Chaque exemple poss`ede un attribut particulier qui d´etermine sa classe. Les hypoth`eses apprises sont de la forme classe = Class if Conditiono`u Condition est une disjonction de conjonctions de paires attribut-valeur (forme DNF). Dans ce formalisme, une r`egle couvre un exemple si la condition de la r`egle v´erifie l’exemple. Pour une classe Class donn´ee, les exemples positifs sont ceux pour lesquels la valeur Class est associ´ee `a l’attribut classe et les exemples n´egatifs sont tous les autres exemples. Dans la condition de la r`egle, chaque

conjonction de paires attribut-valeur couvre tous les exemples positifs et aucun exemple n´egatif.

L’algorithme de couverture de CN2 est l’algorithme de couverture s´equentielle sur les exemples positifs pr´esent´e en section 3.1.6.1. L’apprentissage s´equentiel des r`egles pour chaque classe c se fait par un parcours de l’espace de recherche en faisceau (beam) (cf. Algorithme 4).

Algorithme 4 (CN2 : Algorithme de recherche en faisceau d’une r`egle)

Trouver-une-r`egle{Pos, Neg,c}; 1. rpg := classe=c si vrai; 2. Beam := {rpg};

3. MeilleureR`egle := {}

4. tant que Beam est non vide faire (a) NewBeam := {}

(b) Pour chaque r`egle r dans Beam faire Pour tout raffinement Ref de r faire i. Si Ref est meilleur que MeilleureR`egle

et Ref est statistiquement significative alors - MeilleureRegle := Ref;

ii. Si Ref ne doit pas ^etre ´elagu´e alors - ajouter Ref `a NewBeam;

- si la taille de NewBeam > MaxBeamSize alors enlever la plus mauvaise r`egle de NewBeam; (c) Beam := NewBeam;

5. retourner MeilleureR`egle;

Dans l’algorithme 4, la recherche commence avec la r`egle la plus g´en´erale (rpg) de l’espace de recherche (classe=c si vrai) qui couvre tous les exemples. Durant la recherche, CN2 conserve un faisceau des r`egles candidates et la meilleure r`egle trouv´ee jusqu’`a pr´esent (MeilleureR`egle). `A chaque ´etape dans la recherche par faisceau, tous les raffinements Ref des r`egles dans Beam sont consid´er´es et ´evalu´es. Puis, selon le r´esultat de l’´evaluation, la r`egle issue de Ref devient la M eilleureRegle et/ou Ref est ajout´ee `a N ewBeam (seules les MaxBeamSize meilleures candidates restent dans le faisceau).

CN2 utilise une fonction heuristique d’´evaluation de la qualit´e de la meilleure r`egle bas´ee sur un estimateur de Laplace (cf. Section 3.1.5 sur les biais de pr´ef´erence). Cette mesure est utilis´ee pour diriger la recherche (comme seules les MaxBeamSize r`egles sont pr´esentes dans le faisceau) et pour d´eterminer la meilleure des r`egles trouv´ees dans le faisceau. L’espace de recherche peut ˆetre ´egalement r´eduit par ´elagage. En effet, la r`egle r peut ˆetre ´elagu´ee s’il n’y a aucun raffinement de r qui puisse donner un meilleur r´e-sultat que la meilleure r`egle du moment (cf. l’introduction de la Section 3.1.5). On peut arrˆeter le raffinement d’une r`egle lorsqu’il n’est plus possible qu’elle soit statistiquement significative, c’est-`a-dire, lorsqu’elle ne couvre plus assez d’exemples positifs. S’il existe

G´en´eralit´es sur la PLI 69

encore des exemples positifs possiblement couverts par les raffinements d’une r`egle non statistiquement significative, il sont consid´er´es, pour cette r`egle, comme du bruit.

L’algorithme d’ICL L’algorithme d’ICL est d´eriv´e de celui de CN2 de mani`ere `a ˆetre adapt´e `a la logique du premier ordre [Van Laer, 2002]. Le pouvoir d’expression de la logique du premier ordre ´etant beaucoup plus important que celui du langage attribut-valeur utilis´e dans CN2, Van Laer [Van Laer et De Raedt, 2001] a inclus un biais d´eclaratif permettant de restreindre l’espace de recherche. Le langage de biais uti-lis´e est le mˆeme que celui de Claudien [De Raedt et Bruynooghe, 1993]. La strat´egie de recherche est descendante en faisceau. L’op´erateur de raffinement est celui d´efini en Section 3.1.6.1. Les exemples sont des ensembles de faits clos (vu comme des interpr´e-tations de Herbrand de la th´eorie cible puisque les faits repr´esentent tous les atomes qui sont vrais pour un exemple donn´e, les faits non exprim´es dans l’exemple sont consid´er´es faux) et non pas des faits ou clauses comme pour la s´emantique normale.

ICL permet d’apprendre des th´eories sous forme CNF ou sous forme DNF. L’algo-rithme DNF est l’adaptation directe de l’algoL’algo-rithme de CN2 en prenant en compte la th´eorie du domaine T . Pour obtenir un algorithme qui apprend directement une th´eorie sous forme CNF, il faut inverser le rˆole des exemples positifs et des exemples n´egatifs dans l’algorithme de CN2 notamment lors de l’algorithme de couverture s´equentielle permettant de trouver une r`egle discriminante (cf. Algorithme 5) : la couverture se fait donc sur les exemples n´egatifs. Van Laer montre dans [Van Laer, 2002] que les r`egles obtenues en CNF pour une classe donn´ee sont les mˆemes (sous certaines conditions cf. Section 2.4.4 de [Van Laer, 2002]) que celles obtenues en prenant la n´egation du r´esultat obtenu avec un algorithme construisant des DNF sur la classe compl´ementaire (¬∃(A ∨ B) ⇔ ∀(¬A ∧ ¬B)). Dans l’algorithme CNF pr´esent´e ci dessous, chaque clause appartenant `a la th´eorie cible doit couvrir tous les exemples positifs et exclure cer-tains exemples n´egatifs. L’ensemble des clauses apprises permet d’exclure la totalit´e des exemples n´egatifs.

Algorithme 5 (Algorithme CNF de couverture d’ICL) Inductive-Contraint-Logic(Pos,Neg,T,c);

1. Initialiser H := {}

2. r´ep´eter tantque (la meilleure clause h n’est pas trouv´ee) ou (Neg non vide)

(a) h := Trouver-une-clause(Pos,Neg,T,c) (b) si la meilleure clause h est trouv´ee alors

i. ajouter h `a H

ii. enlever de Neg toutes les interpr´etations qui sont fausses pour h

3. retourner H

L’algorithme de recherche s´equentielle des clauses

Trouver-une-clause(Pos,Neg,T,c) est adapt´e de l’algorithme de recherche Trouver-une-r`egle(Pos,Neg,c) de CN2 de mani`ere `a prendre en compte les

connaissances du domaine T . La recherche commence `a partir de la clause la plus g´en´erale du treillis de raffinement (f alse ← true) qui ne couvre aucun exemple (la relation de couverture est d´efinie en section 3.5). ICL utilise deux fonctions heuristiques d’´evaluation : `a l’estimateur de Laplace est ajout´e le m estimateur (cf. Section 3.1.5 sur les biais de pr´ef´erences).

Notons qu’ICL, comme CN2 n’apprend que des concepts binaires, des classifieurs. Un exemple est soit accept´e par une r`egle soit rejet´e. Ce r´esultat est moins g´en´eral que celui des syst`emes de PLI classiques, qui apprennent des th´eories clausales, mais l’apprentissage est plus efficace.