• Aucun résultat trouvé

3.2 Notre méthode de classification

3.2.4 Module d’apprentissage

3.2.4.3 Aleph

Dans nos travaux, nous utilisons le système de PLIAlephréalisé par Srinivasan [Sri07].

D’autres systèmes de PLI existent. Les plus connus sont Foil [Qui90], Progol [Mug95] et

Claudien [DRD97]. La dernière modification du système de PLI date de l’année 2007 ce

qui fait d’Aleph un système de PLI récent.

L’algorithme de PLI d’Alephest présenté dans l’algorithme 3. Pour généraliser une règle

de classification, Aleph se base sur le Mode Directed Inverse Entailment, MDIE [Mug95].

Aleph construit donc une règle dite la plus spécifique à partir des exemples et la généralise.

Il utilise pour cela un mixte des approches descendante et ascendante. Les étapes de

construction de la règle de classification la plus spécifique et de généralisation de cette

règle peuvent être contrôlées par des « biais ». Ces biais orientent l’algorithme vers la

fonctionf à apprendre. Un exemple de biais simple est le fait d’imposer à toutes les règles

d’utiliser au moins un prédicat spécifique donné. Nous détaillons, dans les paragraphes

suivants, la construction de la règle de classification la plus spécifique, la généralisation

de cette règle de classification, l’évaluation des règles de classification et l’utilisation des

biais.

Aleph

Entrées:

E

+

: Ensemble d’exemples positifs, prédicats de classe ;

E−: Ensemble d’exemples négatifs, prédicats de classe ;

P

description

: Ensemble de prédicats de segment ;

Sorties:

h

f

: Ensemble de règles de classification ;

Début

1: poure

i

∈ E

+

faire

2: Construire la règle de classification la plus spécifique à partir d’e

i

et de P

description

;

3: Trouver des règles de classification plus générales que la règle de

classification la plus spécifique ;

4: Ajouter àh

f

la règle de classification possédant le meilleur score

d’évaluation suivantE

+

etE−. Cette règle est plus générale que la

règle de classification la plus spécifique ;

5: fin pour

Fin

Algorithme 3 – Généralisation de règles logiques de classification suivantAleph.

Construction de la règle de classification la plus spécifique

La méthode de construction de la règle de classification la plus spécifique est présentée

dans [Mug95]. Cette étape est appelée « saturation ». Elle permet de borner l’espace de

recherche des règles. En pratique, cette méthode consiste à ajouter à un exemple positif,

e

i

∈ E

+

, des instanciations de prédicats de segment de l’ensemble des prédicats de segment

P

description

. La règle de classification la plus spécifique obtenue peut être infinie. Elle est

donc limitée par des biais appropriés qui contrôlent, par exemple, le choix du nombre de

prédicats de segment à ajouter.

Nous illustrons cela par un exemple. L’exemple positif, e

i

, se traduit par

l’instancia-tion d’une classe : IP(S

A

). Des instanciations de prédicats de segment sont ajoutées à cet

exemple. Nous obtenons la règle de classification :

IP(S

A

)← NbRepetition(S

A

,3),Position(S

A

,S

N

,15),MemeRepetition(S

B

,S

N

), . . .

. . . ,Position(S

A

,S

ZZ

,32),Duree(S

ZZ

,[7,5secondes,12,5secondes[).

Généralisation de la règle de classification la plus spécifique

Cette étape est appelée « réduction » de la règle de classification la plus spécifique. Elle

utilise des opérateurs de construction des règles aussi appelés opérateurs de raffinement

(refinement operators). La règle de classification la plus spécifique est construite à partir

d’instanciations de prédicats de segment. Le principe des opérateurs de généralisation est

de sélectionner des sous-ensembles des instanciations utilisées dans la règle de classification

la plus spécifique puis de remplacer les instanciations par des variables. Nous obtenons

ainsi des prédicats décrits en intension.

Dans l’exemple précédent, «IP(S

A

)←NbRepetition(S

A

,3).» est un sous ensemble de

la règle de classification la plus spécifique. «IP(X)←NbRepetition(X,3).» est une règle

potentielle.

Le processus de recherche des règles potentielles utilise des arbres pour représenter

les hiérarchies entre les sous-ensembles d’instanciations de la règle de classification la

plus spécifique. Ces arbres permettent de parcourir efficacement l’ensemble des règles

potentielles. Certains biais permettent alors d’élaguer certaines branches de l’arbre de

recherche pour plus d’efficacité.

Évaluation des règles de classification construites

Cette étape permet de calculer le score d’évaluation d’une règle potentielle par

rap-port à l’ensemble d’apprentissage. Pour déterminer le score d’évaluation d’une règle, la

couverture de cette règle est déterminée. Nous obtenons le nombreN

P

des exemples

posi-tifs couverts par la règle et le nombreN

N

des exemples négatifs également couverts. Une

bonne règle, selon le score d’évaluation, est une règle qui maximise N

P

et minimise N

N

.

Le score d’évaluation Eval que nous utilisons pour une règle potentielle R est le suivant :

Eval(R) = N

P

N

P

+N

N

.

Biais

Les biais sont des informations a priori utilisées pour optimiser la recherche de la

fonctionf à apprendre.Alephdispose d’un moyen flexible de définition des biais.Alephest,

en effet, implémenté entièrement dans le langage logique Prolog [SS94] qui est un langage

interprété

4

. Les biais sont donc écrits dans le langage prolog suivant les consignes d’Aleph.

Ils sont ensuite directement compris par l’algorithme sans avoir à modifier l’algorithme lui

même.

La PLI différencie trois types de biais que nous utilisons : les biais syntaxiques, les

biais sémantiques et les biais de recherche.

1) Les biais syntaxiques spécifient la forme des règles de classification

cons-truites. Ils permettent de limiter le nombre de prédicats dans les règles

de classification, de limiter le nombre de variables utilisées ou de vérifier

qu’il n’y a pas de variables inutiles.

2) Les biais sémantiques imposent des contraintes sur la nature des

prédi-cats et de leurs arguments. Les biais sémantiques déclarent

explicite-ment quels prédicats sont autorisés pour la construction des règles de

classification. Ils indiquent aussi quels arguments peuvent être utilisés

en entrée, en sortie ou comme symbole. Un argument en entrée peut être

un argument du prédicat de tête de la règle de classification. Sinon, un

argument en entrée dans un prédicat F

i

est un argument qui apparait

en sortie dans un prédicat précédent F

i

dans la règle de classification.

Un argument symbole est un argument fixé à partir de la description

fournit par l’ensemble d’apprentissage.

3) Les biais de recherche restreignent le parcours des arbres lors de la

re-cherche de généralisation. Ces biais permettent d’élaguer certaines

bran-ches. Ces branches peuvent contenir des prédicats qui ne sont pas utiles.

Par exemple, à partir d’un prédicat Positionnous élaguons toutes les

sous branches qui partent d’un autre prédicat Position. De cette

ma-nière nous assurons que les règles ne contiennent pas deux prédicats

Positionà la suite. Ce biais de recherche permet d’assurer une certaine

homogénéité dans les règles recherchées. Un autre biais de recherche est

une limite sur le nombre de nœuds à évaluer pendant la recherche. Nous

la fixons à 30000. Ce biais permet de contrôler la complexité

tempo-relle de l’apprentissage. Les biais de recherche que nous utilisons sont les

suivants :

– nous interdisons l’utilisations du prédicat de classe de tête dans le

corps de la règle. Nous utilisons ce biais pour éviter les tautologies dans

la récursivité ;

– nous interdisons l’utilisation consécutive du même prédicatPosition

ou Occurrence. Pour obtenir des règles biens formées, nous imposons

l’utilisation de prédicats de segment simples après chaque prédicat de

voisinage ;

– les positions que nous avons définies peuvent se répéter. La position

D de S

A

à S

B

est aussi la position −D de S

B

à S

A

. Nous interdisons la

répétition d’une position.