• Aucun résultat trouvé

4.4 Extension du syst`eme RuLe-Clust `a la logique du premier ordre

4.4.1 Apprentissage disjonctif d’un concept

Apprentissage disjonctif par

d´ecomposition de concepts

Sommaire

4.1 Introduction . . . 104 4.2 Bases de la logique du premier ordre . . . 104 4.3 Apprentissage disjonctif . . . 105 4.3.1 Le syst`eme FOIL . . . 106 4.3.2 Le syst`eme GOLEM . . . 107

4.4 Extension du syst`eme RuLe-Clust `a la logique du premier ordre108

4.4.1 Apprentissage disjonctif d’un concept . . . 108 4.4.2 L’approche par d´ecomposition . . . 109 4.4.3 Exemple 1 : sous-concepts non-disjoints I . . . 110 4.4.4 Exemple 2 : description num´erique . . . 111 4.5 Mesure de similarit´e . . . 113 4.5.1 Langage infini . . . 114 4.5.2 Exp´erimentations . . . 117 4.6 Vue g´en´erale de la m´ethode . . . 122 4.6.1 Apprentissage d’une clause . . . 123 4.6.2 Complexit´e de la m´ethode globale . . . 123 4.6.3 Exp´erimentations . . . 124 4.7 Conclusion . . . 126

4.1 Introduction

Dans ce quatri`eme chapitre, nous proposons d’´etendre le principe g´en´eral illustr´e par le syst`eme RuLe-Clust, `a l’apprentissage de r`egles en logique du premier ordre (avec va-riables). Comme nous allons le voir, ce formalisme est plus expressif et permet de traiter des probl`emes difficiles voire impossibles `a repr´esenter dans le formalisme propositionnel, utilis´e jusqu’ici. Cependant, cette transition n’est pas sans poser des probl`emes, r´ecurrents en Programmation Logique Inductive (ILP), comme par exemple, la difficult´e `a tester la couverture d’un exemple par une r`egle ou la construction mˆeme de cette r`egle. L’approche par d´ecomposition, que nous avons ´etudi´e dans le chapitre pr´ec´edent, implique ´egalement la d´efinition d’une mesure de similarit´e, qui semble moins ´evidente en premier ordre.

Apr`es quelques rappels importants concernant la th´eorie de la logique du premier ordre, le probl`eme g´en´eral de l’apprentissage disjonctif dans ce formalisme est ´enonc´e. Nous pr´esentons alors deux strat´egies de base pour la construction d’une disjonction de r`egles logiques, illustr´ees par les syst`emes FOIL [150] et GOLEM [132]. Le principe d’ap-prentissage disjonctif par d´ecomposition de concepts est ensuite introduit, et compl´et´e par la proposition d’une mesure de similarit´e sur des objets d´ecrits dans ce formalisme. Des exemples adapt´es, permettent tout au long de cette ´etude d’illustrer et d’´evaluer les deux principaux choix op´er´es pour cette approche : la mesure de similarit´e et l’algorithme de classification non-supervis´ee PoBOC.

4.2 Bases de la logique du premier ordre

Nous consid`erons le probl`eme qui consiste `a apprendre le concept grand-p`ere, `a partir de la base de connaissances suivante :

m`ere(fran¸cois, marie), p`ere(marie, jean), p`ere(paul, pierre), p`ere(pierre, jean), p`ere(jeanne, pierre)

Dans cette base de connaissance (BK1), l’´el´ement m`ere(fran¸cois, marie) doit ˆetre in-terpr´et´e de la mani`ere suivante : “fran¸cois a pour m`ere marie”. Ce concept peut ˆetre d´efini par les deux r`egles

grand-p`ere(X,Y)←p`ere(X,Z),p`ere(Z,Y), grand-p`ere(X,Y)←m`ere(X,Z),p`ere(Z,Y).

Dans cet exemple, grand-p`ere, m`ere et p`ere sont les symboles de pr´edicat (tous d’arit´e 2), marie, fran¸cois, pierre, jean, paul et jeanne les constantes, X, Y et Z sont des va-riables.

– Un litt´eral est un atome (ou la n´egation d’un atome), de la forme p(t1, . . . , tn) o`u p est un pr´edicat et o`u les ti repr´esentent des variables ou constantes2.

– Les deux r`egles, pr´esent´ees ci-dessus, sont appel´ees des clauses (ou r`egles logiques), telles que la partie gauche d´esigne la tˆete (ou le cons´equent) tandis que la partie droite d´esigne le corps de la clause (ou les ant´ec´edents). Le corps d’une clause est constitu´e par la conjonction de litt´eraux (positifs) et la tˆete d’un unique litt´eral.

1Background Knowledge.

2Pr´ecisons que l’on se restreint, dans cette ´etude, `a des langages en logique du premier ordre, ne contenant pas de symboles de fonction.

– Un atome clos est un atome ne contenant aucune variable (e.g. p`ere(pierre, jean)). D´efinition 4.1. Soient deux ensembles d’atomes clos E+ et E et une base de connais-sances BK. Un exemple e est couvert par une clause C : p(X)← l1, . . . ln relativement `a BK si et seulement si il existe une instanciation σ des variables de C telle que l1σ, . . . lnσ est vrai dans BK∪ E+ et p(X)σ = e.

Dans notre exemple, les atomes clos grand-p`ere(fran¸cois, jean), grand-p`ere(paul, jean) et grand-p`ere(jeanne, jean) correspondent aux exemples positifs (E+) du concept cible grand-p`ere. L’exemple grand-p`ere(fran¸cois, jean) est couvert par la premi`ere clause via l’instanciation σ1 ={X/fran¸cois, Z/marie, Y/jean} ; les exemples grand-p`ere(paul, jean) et grand-p`ere(jeanne, jean) sont couverts par la seconde clause via les instanciations res-pectives suivantes : σ2 ={X/paul, Z/pierre, Y/jean} et σ3 ={X/jeanne, Z/pierre, Y/jean}. Le formalisme logique pr´esent´e ci-dessus, permet une repr´esentation plus riche, que le formalisme propositionnel. Les clauses logiques permettent ´egalement une d´efinition r´ecursive d’un concept, ce qui est impossible dans le formalisme propositionnel. Par exemple, si on souhaite apprendre le concept ancˆetre, une d´efinition r´ecursive naturelle est :

ancˆetre(X,Y)←p`ere(X,Y) ancˆetre(X,Y)←m`ere(X,Y)

ancˆetre(X,Y)←p`ere(X,Z),ancˆetre(Z,Y) ancˆetre(X,Y)←m`ere(X,Z),ancˆetre(Z,Y).

Dans une telle d´efinition r´ecursive, le pr´edicat de tˆete est utilis´e ´egalement dans le corps de la clause.

4.3 Apprentissage disjonctif

Un concept est g´en´eralement appris par construction d’un ensemble de clauses, dont la disjonction permet de couvrir l’ensemble des instances positives pour ce concept cible. Il existe une d´efinition triviale de ce concept, permettant de couvrir tous les exemples positifs et de rejeter tous les exemples n´egatifs (except´e lorsqu’un exemple poss`ede `a la fois les deux ´etiquettes positif et n´egatif), cette d´efinition correspond `a la disjonction des exemples positifs. Or, comme nous l’avons d´ej`a ´evoqu´e dans le cadre propositionnel, ce r´esultat n’est pas (ou peu) r´eutilisable pour le traitement d’une nouvelle instance. De plus, l’espace des hypoth`eses est tr`es important si l’on consid`ere les disjonctions. Il devient alors impossible de l’explorer totalement.

Les syst`emes propos´es pour apprendre un ensemble de clauses caract´eristiques3 d’un concept cible, doivent tenir compte de cet aspect. Ils s’accompagnent donc g´en´eralement d’une limitation de l’espace des hypoth`eses par un biais syntaxique sur les clauses (taille et forme des clauses). Ces syst`emes peuvent ˆetre vus, pour les plus connus, comme des exten-sions des syst`emes d’apprentissage de r`egles propositionnelles (chapitre 3). Par exemple, le syst`eme FOIL [150] constitue une extension des syst`emes utilisant un algorithme de couverture s´equentielle, tels que CN2 ou pFOIL.

3Dans la suite, nous parlerons d’une clause “caract´eristique” d’un ensemble d’exemples ou d’un concept, si cette clause couvre l’ensemble de ces exemples et rejette tous les exemples n´egatifs de ce concept. Il ne s’agit en aucun cas d’une “r`egle de caract´erisation”, utilis´ees dans d’autres perspectives en Fouille De Donn´ees.

4.3.1 Le syst`eme FOIL

FOIL [150] recherche une d´efinition disjonctive d’un concept par construction it´erative d’une description conjonctive qui couvre des exemples positifs et rejette les exemples n´egatifs. Nous pr´esentons l’algorithme g´en´eral en figure 4.1.

Algorithme FOIL :

Soit P os l’ensemble des exemples pour lesquels le pr´edicat cible est V rai, Soit N eg l’ensemble des exemples pour lesquels le pr´edicat cible est F aux, Soit R, l’ensemble des r`egles apprises, initialis´e `a vide.

Tant que P os n’est pas vide : (Apprendre une r`egle)

r est une r`egle contenant le pr´edicat cible en tˆete et de corps vide Soit N eg0= N eg

Tant que N eg0 n’est pas vide : (Sp´ecialiser r par ajout d’un litt´eral) Soit C l’ensemble des litt´eraux candidats pour la r`egle r S´electionner l∈ C tel que l maximise une mesure de gain Ajouter l au corps de r

Supprimer de N eg0, l’ensemble des exemples rejet´es par r Ajouter r `a l’ensemble des r`egles apprises R

Supprimer de P os, l’ensemble des exemples couverts par r Retourner R.

Fig. 4.1 – L’algorithme d’apprentissage de r`egles logiques FOIL.

Chaque clause dans FOIL est g´en´er´ee par une approche du plus g´en´eral au plus sp´ecifique. Partant de la clause la plus g´en´erale (e.g. ancˆetre(X,Y)← ), FOIL sp´ecialise la clause par construction de l’ensemble des litt´eraux candidats, puis s´election du “meilleur” litt´eral parmi cet ensemble.

L’ensemble des litt´eraux candidats est d´efini par tous les litt´eraux qui v´erifient l’une des formes suivantes :

– p(V1, . . . , Vn) ou ¬p(V1, . . . , Vn), o`u p est un symbole de pr´edicat et l’une au moins des variables V1, . . . , Vn apparaˆıt d´ej`a dans la r`egle en cours de construction4, – egal(Vi, Vj) ou¬egal(Vi, Vj), o`u Vi et Vj apparaissent d´ej`a dans la r`egle en cours de

construction.

Parmi les symboles de pr´edicats p, le pr´edicat associ´e au concept cible (pr´edicat de la tˆete) peut ˆetre consid´er´e, de fa¸con `a g´en´erer une d´efinition r´ecursive (pour d´efinir ancˆetre(X,Y) par exemple), avec certaines restrictions sur les variables.

La s´election du meilleur litt´eral parmi l’ensemble des litt´eraux candidats est effectu´ee

4Le symbole “¬” correspond `a la n´egation. FOIL propose en effet un langage plus expressif que les clauses de Horn, en autorisant les litt´eraux n´egatifs.

au moyen d’une mesure de gain. Cette mesure ´evalue les proportions d’exemples positifs et n´egatifs couverts par la clause, avant et apr`es l’ajout du litt´eral ´evalu´e.

Il est tr`es fr´equent que l’heuristique “gloutonne” utilis´ee dans FOIL n’aboutisse pas `a la construction d’une clause (de complexit´e raisonnable) rejetant tous les exemples n´egatifs du concept cible. Ainsi, un processus de retour arri`ere (backtracking) est g´en´eralement envisag´e, pour reconsid´erer le dernier litt´eral ajout´e en le rempla¸cant par un autre litt´eral un peu moins discriminant. Dans FOIL, l’espace de recherche est alors born´e, d’une part en limitant la complexit´e des clauses possibles `a g´en´erer, d’autre part en ne consid´erant `a chaque ajout, que les litt´eraux les plus discriminants.

4.3.2 Le syst`eme GOLEM

Contrairement `a FOIL, le syst`eme GOLEM [132] utilise une strat´egie de construction de r`egle du plus sp´ecifique vers le plus g´en´eral. Cet algorithme est pr´esent´e dans la figure 4.2

Algorithme GOLEM :

Soit P os l’ensemble des exemples positifs non couverts, Soit N eg l’ensemble des exemples n´egatifs,

Soit E un ensemble de k paires d’exemples < ei, ej > de P os (choisies al´eatoirement)

Soit C, l’ensemble de tous les PPGa : C ={P P G(ei, ej)| < ei, ej >∈ E}, Supprimer de C les hypoth`eses qui couvrent des exemples n´egatifs S´electionner dans C l’hypoth`ese g qui couvre le plus d’exemples de P os Supprimer de P os les exemples couverts par g

Tant que g augmente sa couverture sur P os :

Soit E0 un ensemble de k exemples de P os (choisis al´eatoirement), Soit C, l’ensemble de tous les PPG : C ={P P G(g, e0)|e0 ∈ E0}, Supprimer de C les hypoth`eses qui couvrent des exemples n´egatifs, S´electionner dans C l’hypoth`ese g qui couvre le plus d’exemples positifs, Supprimer de P os les exemples couverts par g,

Retourner : l’hypoth`ese g.

aPlus Petit G´en´eralis´e.

Fig. 4.2 – Algorithme de construction d’une r`egle par g´en´eralisation : GOLEM.

Chaque clause g´en´er´ee par GOLEM est construite `a partir d’un tirage de k paires d’exemples positifs (g´en´eralement k = 2), et pour chaque paire, une hypoth`ese sp´ecifique pertinente est recherch´ee, puis g´en´eralis´ee. La construction d’une clause bas´ee sur le tirage d’un ou plusieurs exemples se retrouve dans les syst`emes INDUCE [84] ou encore PROGOL [131] - ce dernier utilisant une approche de construction par sp´ecialisation. Le probl`eme du choix des exemples est r´ecurrent pour ce type d’approche. Dans GOLEM, ce probl`eme est

en partie r´esolu, par le tirage de plusieurs exemples, donnant lieu `a diff´erentes hypoth`eses parmi lesquelles seulement la meilleure est retenue pour ˆetre g´en´eralis´ee.

Notons que le syst`eme GOLEM utilise la notion de Plus Petit G´en´eralis´e (PPG) [144]. On peut parler du PPG de termes, de litt´eraux ou de clauses. ´Etant donn´ees des des-criptions sp´ecifiques d’un concept, il s’agit de construire une d´efinition de ce concept, plus g´en´erale que les descriptions des exemples, et la moins g´en´erale possible parmi celles g´en´eralisant les exemples.

Enfin, la meilleure hypoth`ese correspond `a celle qui couvre le plus d’exemples positifs, parmi ceux non-encore couverts.

Nous avons pr´esent´e deux syst`emes d’apprentissage d’une disjonction de clauses per-mettant de caract´eriser un concept. Ces deux syst`emes sont repr´esentatifs des deux ap-proches de construction de clauses : du plus g´en´eral au plus sp´ecifique (FOIL) et du plus sp´ecifique au plus g´en´eral (GOLEM). Nous choisissons, dans la suite, de conserver la strat´egie utilis´ee dans le syst`eme RuLe-Clust (cf. chapitre 3), `a savoir la couverture d’un ensemble d’exemples par sp´ecialisation.

4.4 Extension du syst`eme RuLe-Clust `a la logique du

pre-mier ordre

4.4.1 Apprentissage disjonctif d’un concept

L’introduction de la disjonction dans l’espace des hypoth`eses est importante parce que beaucoup de concepts peuvent ˆetre vus de fa¸con disjonctive et leur d´efinition n´ecessite alors plusieurs r`egles. Par exemple, le concept grand-p`ere, ´etant donn´e le langage que nous avons d´efini, se compose en fait de deux sous-concepts : p`ere paternel” et “grand-p`ere maternel”. Ce concept peut donc ˆetre d´efini par deux clauses :

grand-p`ere(X,Y)←p`ere(X,Z),p`ere(Z,Y). grand-p`ere(X,Y)←m`ere(X,Z),p`ere(Z,Y).

chaque r`egle d´efinissant un sous-concept du concept initial. Ainsi, les instances sont di-vis´ees naturellement en deux sous-ensembles d’exemples (ou groupes), satisfaisant `a l’une ou l’autre des deux r`egles. Le principe du syst`eme d’apprentissage que nous proposons ici, consiste `a rechercher d’abord des groupes d’exemples, afin de guider, ensuite, la g´en´eration des clauses.

Nous motivons cette approche par le fait que les syst`emes tels que FOIL, utilisant une approche gloutonne pour construire les clauses, d´ependent essentiellement de fonctions heuristiques qui induisent un biais tr`es important dans la recherche des litt´eraux `a ajouter. Les fonctions heuristiques utilis´ees, comme par exemple la mesure d’Utilit´e (utilis´ee pour FOIL) permettent de mesurer le pouvoir discriminant (not´e Γ(l, C)) d’un litt´eral l par rapport `a une clause C. Soient E+ (resp. E) l’ensemble des exemples positifs (resp. n´egatifs) et cov(E, C) le nombre d’exemples5de E couverts par la clause C, Γ(l, C) d´epend au minimum des deux valeurs suivantes : cov(E+, C∪ l) et cov(E, C∪ l) o`u C ∪ l d´esigne la clause obtenue par l’ajout du litt´eral l dans le corps de C. La d´efinition de Γ(l, C) joue un rˆole central dans le processus, et donc sur l’ensemble des sous-concepts induits. De plus,

5En Programmation Logique Inductive, le nombre d’instanciations de C couvrant un ´el´ement de E peut ´egalement ˆetre utilis´e pour d´efinir le pouvoir discriminant.

Γ(l, C) est fortement d´ependant des ensembles E+ et E: quelques changements dans ces ensembles peuvent conduire `a des solutions tr`es diff´erentes, et donc `a des sous-concepts diff´erents.

Enfin, si h← p, q est une clause couvrant certains exemples positifs et aucun exemple n´egatif, les valeurs Γ(p, h←) et Γ(q, h ←) ne sont pas n´ecessairement ´elev´ees. Par cons´equent, il peut ˆetre impossible, pour une m´ethode gloutonne, d’apprendre la clause h← p, q parce que, partant de la clause g´en´erale h ←, ni p, ni q ne semblent ˆetre discriminants. Ce probl`eme est plus g´en´eral que celui des litt´eraux d´etermin´es, ´etudi´e dans [150, 163].