Apprentissage de règles à partir de données multi-instances Soutenance de thèse de Yann...

Post on 03-Apr-2015

106 views 0 download

Transcript of Apprentissage de règles à partir de données multi-instances Soutenance de thèse de Yann...

ApprentissageApprentissage

de règles à partir dede règles à partir de

données données multi-instancesmulti-instances

Soutenance de thèse de Yann Chevaleyre

sous la direction de Jean-Daniel Zucker Université de Paris VI – LIP6 - équipe ACASA

Cadre et motivation

ReprésentationReprésentationintermédiaire ?intermédiaire ?

Une image contientun extincteur ssiR > 110 et B < 180Contient un

extincteur+Ne contient pasd ’extincteur

-

R V B128 55 182

R V B47 75 200

mutagène+ non mutagène-

Une molécule M est mutagène ssiatom(M,A1,X),charge(A1,0.17), atom(M,A2,c),bond(A1,A2),...

atom(m1,a1,c), charge(a1,0.21),atom(m1,a2,h), charge(a2,-0.1),bond(a1,a2), atom(m1,a3,c), ...

Représentationrelationelle

ReprésentationAtt/Val

multi-instancesmulti-instances

La représentation multi-instances

est représenté par Vecteur A/V xi

exemple iest représenté par

Vecteur A/V xi,1

Vecteur A/V xi,2

Vecteur A/V xi,r

exemplei

instancessac

Représentation Att/Val classique:

Représentation multi-instance:

R V B128 55 182

R V B101 129 45

25 190 194 1 20

Sources de données multi-instances

Données « naturellement » multi-instances, i.e. ayant Données « naturellement » multi-instances, i.e. ayant plusieurs configurationsplusieurs configurations

Reformulation de représentations plus complexes (Reformulation de représentations plus complexes (clauses clauses prolog, BD relationelles …) prolog, BD relationelles …) [Zucker et Ganascia 96], [Zucker et Ganascia 96], [Alphonse et Rouveirol 2000],[Lavrac01][Alphonse et Rouveirol 2000],[Lavrac01]

x1

x245°

x1

x245° x1 x2

3.1 1.32.5 1.2

atom(m1,a1,c), charge(a1,0.21),atom(m1,a2,h), charge(a2,-0.1),bond(a1,a2), atom(m1,a3,c), ...

ProblématiquProblématiquee

Concevoir des Concevoir des algorithmes efficacesalgorithmes efficacestraiter des données traiter des données symboliques et numériquessymboliques et numériquesgénérer des générer des hypothèses compréhensibleshypothèses compréhensibles

IteratedDiscrimAPR [Dietterich97]* hyper-rectangles

DiverseDensity [Maron98]* point dans l ’espace des inst.

citation-kNN [Zucker et Wang 00]* k-ppv

Les algorithmes existants

Numériques Symboliques & numériques

Enigme+ [Zucker et Ganascia94]* ensembles de règles

Relic [Ruffo00]* arbres de décision

Plan

• 1) L ’apprentissage multi-instances linéaire

• 2) Extension d ’un algorithme top-down

- principe, extension de RIPPER, complexité

• 3) Analyse et amélioration de l ’extension multi-instances de Ripper

– les littéraux indiscernables, les modèles génératifs, mesure de

couverture probabiliste

• 4) Prise en compte du bruit multi-instances

• 5) Expérimentations

• Conclusion et perspectives

Le problème d ’apprentissage

A partir de B+,B- ensembles desacs positifs (resp. négatifs),

trouver une hypothèse correcte

Problème d ’apprentissageProblème d ’apprentissagemulti-instancesmulti-instances

langage langage k-linéairek-linéaire un sac est classé + ssiil possède une instance ayant la propriété P1et une instance ayant la propriété P2,etc...

langage langage multi-linéairemulti-linéaire

Le problème d ’apprentissage

A partir de B+,B- ensembles desacs positifs (resp. négatifs),

trouver une hypothèse correcte

un sac est classé + ssiil possède k instances ayant la propriété P

Problème d ’apprentissageProblème d ’apprentissagemulti-instancesmulti-instances

langage langage k-linéairek-linéaire

Le problème d ’apprentissage MI linéaire

A partir de B+,B- ensembles desacs positifs (resp. négatifs),

trouver une hypothèse correcte

Problème d ’apprentissageProblème d ’apprentissagemulti-instancesmulti-instances

Problème Problème multi-instancesmulti-instances[Dietterich 97][Dietterich 97]

Trouver une fonction h qui couvreau moins une instances de chaque sac positifet aucune instance des sacs négatifs

un sac est classé + ssiil possède une instance ayant la propriété Plangage langage linéairelinéaire

Avec le langage linéaire, on cherche un concept Avec le langage linéaire, on cherche un concept hh propositionnel. propositionnel.

Algorithmes propositionnels efficaces et précisAlgorithmes propositionnels efficaces et précisRipper (Cohen 95), C4.5 (Quinlan 93)Ripper (Cohen 95), C4.5 (Quinlan 93)

adapter un algorithme propositionnel au cas multi-instancesadapter un algorithme propositionnel au cas multi-instances

Approche: Approche: Extension d ’un algorithme d apprentissage top-down

Représenter Représenter l ’ensemble des sacs l ’ensemble des sacs sous la forme sous la forme d ’un d ’un ensemble de vecteursensemble de vecteurs..

att1 att21.2 c-33 a

att1 att27.9 a

b1+b1+

b2-b2-ajout de bag-id et du

label à chaque instance

att1 att2 bag-id lab1.2 c 1 +-33 a 1 +

7.9 a 2 -

Mesurer la couverture Mesurer la couverture au sens multi-instances au sens multi-instances de l ’hypothèse en de l ’hypothèse en cours de raffinementcours de raffinement

Extension de l ’algorithme Ripper (Cohen 95)

• Naive-RipperMi Naive-RipperMi [Chevaleyre, Zucker 00] est l ’extension de Ripper[Chevaleyre, Zucker 00] est l ’extension de Ripper au cas multi-instances au cas multi-instances

Algorithme Accuracy Type d'hypothèseIterated Discrimin 92.4 APRDiverse Density 88.9 point dans l'espace des instRipper-MI 88 ens. de règles (avg 7 litterals)Tilde 87 arbre de décision d'ordre 1All positive APR 80.4 APR

Multi-Inst 76.7 APR

Naive-Ripper-MINaive-Ripper-MI a été testé sur les bases multi-instances a été testé sur les bases multi-instances musk musk (Dietterich 97)(Dietterich 97)

Sur Sur musk1 musk1 (5,2 inst. par sac en moyenne), bonnes performances.(5,2 inst. par sac en moyenne), bonnes performances.Sur Sur musk2musk2 (65 instances par sac), performances moyennes (77%). (65 instances par sac), performances moyennes (77%).

Complexité et précision de NaiveRipperMi

• Validation de NaiveRipperMi sur des BD artificielles• Temps CPU : linéaire en fonction du nb de sacs et d ’instances (50000 sacs, 10 inst / sac, 12 attributs : 1 min)

5 10 15 20 250

10

20

30

40

50

Nombre d ’instances par sac

Tau

x d 

’err

eur

(%)

TILDE [blockheel98]

FOIL [quinlan90]

NaiveRipperMI

90 s700 s3 s

Chausses trappes de l ’apprentissage multi-instances

3 chausses trappes survenant lors de l ’apprentissage3 chausses trappes survenant lors de l ’apprentissage

Les Les littéraux erronés littéraux erronés modification de l ’élagage modification de l ’élagage

Les Les littéraux contradictoires littéraux contradictoires partitionnement de l ’espace partitionnement de l ’espace des instances des instances

Les Les littéraux indiscernableslittéraux indiscernables

5 sacs +5 sacs +• sac de triangles blancs• sac de carrés blancs...

• sac de triangles noirs• sac de carrés noirs• ...

5 sacs -5 sacs -

Y

X2 4 6 8 10 12

2

4

6

8

X

Y

2 4 6 8 10 12

2

4

6

Chausses trappes: les littéraux indiscernables

Quand le nombre d ’instances par sac augmente, les littéraux Quand le nombre d ’instances par sac augmente, les littéraux initiaux couvrent tous les sacs. initiaux couvrent tous les sacs.

Concept cible

Y > 5

X

Y

2 4 6 8 10 12

2

4

6

Chausses trappes: les littéraux indiscernables

Quand le nombre d ’instances par sac augmente, les littéraux Quand le nombre d ’instances par sac augmente, les littéraux initiaux couvrent tous les sacs. initiaux couvrent tous les sacs.

Concept cible

X > 7

Important lorsque nb d ’instances >> nb d ’attributsImportant lorsque nb d ’instances >> nb d ’attributs

Remèdes en PLIRemèdes en PLI lookahead lookahead FoilFoil [Quinlan90], [Quinlan90], TildeTilde [Blockheel98] [Blockheel98]

top-down / bottom-up top-down / bottom-up ProgolProgol [Muggleton 95] [Muggleton 95]

relational clichés relational clichés [Morin, Matwin 00][Morin, Matwin 00]

Accroissement de la complexitéAccroissement de la complexité

Prendre en compte le nombre d ’instances couvertesPrendre en compte le nombre d ’instances couvertes

Chausses trappes: les littéraux indiscernables

Modèles génératifs multi-instances

Modèle < Modèle < DD,,ff> > (d ’après (d ’après [Blum 98][Blum 98]))• r instances sont tirées i.i.d. d ’une distribution D• le sac résultant est étiqueté selon un concept f

Limitations•Nb instance/sac Proba(sac- ) •Une seule distribution pour les + et les -Les données réelles respectent rarement ce modèle

il modélise la façon dont les données ont été construites

Un nouveau modèle génératif multi-instances

Modèle < Modèle < DD++, , DD--, , f,qf,qnegneg>>

Caractéristiques• Pr(sac- ) = qneg

• Deux distributions pour les + et les -• Facilement extensible à un nombre variable d’instances• Ne subsume pas < < DD,,ff>>

+ r-1 instances tirées de D+

1 instance tirée du concept f

- r instances tirées de

D-

Une heuristique basée sur le nouveau modèle

Calculer pour chaque sac positif:Calculer pour chaque sac positif: Pr(l’une des instances couvertes Pr(l’une des instances couvertes concept cible) concept cible)

X

Y

2 4 6 8 10 12

2

4

6

Concept cible

Y > 5

Calcul Analytique de la Probabilité

k= nb d ’instances de b+ couvertesk= nb d ’instances de b+ couvertes r= nb d ’inst. total de b+ r= nb d ’inst. total de b+

Pr(l ’une des instances couvertes de b+ Pr(l ’une des instances couvertes de b+ concept cible) = concept cible) =

1− 1−kr

⎛ ⎝ ⎜

⎞ ⎠ ⎟ ×PD+ ¬f( )

k

• Nombre d’ instance variable• 0 instances couvertes Pr = 0• r instances couvertes Pr = 1

• Si les données ne respectent pas ce modèle, cela n ’a pastrop d ’impact négatif

k

Propriétés

Analyse de RipperMi: expérimentations

Sur le problème de la mutagénèseSur le problème de la mutagénèse représenté sous forme représenté sous forme multi-instances, multi-instances, NaiveRipperMi: 78% RipperMi-refined-cov: NaiveRipperMi: 78% RipperMi-refined-cov: 82%82%

5 10 15 20 250

10

20

30

40

50

Nombre d ’instances par sac

Tau

x d 

’err

eur

(%) TILDE

FOILNaiveRipperMIRipperMI-refined-cov

Le bruit multi-instances

Modèles usuels de bruit:bruit de classification, d’attribut, bruit malicieux

Modèles de bruit typiquement multi-instances Instances de sac + remplacée par

des instances de sac -

Instances manquantes

Sources de bruit d ’instances manquantes Propositionalisation stochastique [Sebag 97] occlusion d ’une partie de l ’objet

• Soit b, un sac positif, et h une hypothèse• On suppose que q instances par sac ont été retirées

• Si h ne couvre aucune instance de b :

P(hcouvrel'unedesqinst.)≥1−r

r−1PINST+(¬h)

⎛ ⎝ ⎜

⎞ ⎠ ⎟ q

Le bruit multi-instances: q instances retirées

• connaissance de q• exponentiellement imprécis en q

• Alternative à la mesure de couverture probabiliste• Même si le nombre « q réel » est grand, utiliser q petit plutot que rien

-

+

Prise en compte du bruit multi-instances

•BD Musk1: Seules les configurations les plus probables ont été encodées

q (1

0 -v a

l ida

tio

n c

rois

ée

)

Application : apprentissage perceptif d ’un robot

[Collaboration Bredeche]

W

IF Color = red AND size > 53 THEN Extincteur

Main color Size X/Y ratio YposRed 12 1,5 152Green 56 0,34 11Blue 176 0,2 11

Que voistu ?

Je voisun extincteur

lab = extinct

Images étiquetées350 images

160 x 120 pixels6,3 Mo

PorteHumain

PorteCendrierAscenseur

Description abstraite de l’image m x n pixels

PorteCendrierExtincteurAscenseur

Application à apprentissage perceptif d ’un robot: résultats

Application à apprentissage perceptif d ’un robot: complexité

Application à l ’apprentissage supervisé d ’un robot

Description abstraite de l ’image 8 x 6 pixels

…… …

Motif de reformulation:

PLIC [Bredeche,chevaleyre 01] : Reformulation Reformulation itérative d ’une grille de pixelsitérative d ’une grille de pixels

Conclusion

La représentation MI offre La représentation MI offre une bonne alternativeune bonne alternative à Att/val à Att/val

Analyse de la Analyse de la spécificitéspécificité de l ’apprentissage MI de l ’apprentissage MI

Nouveau modèle génératif Nouveau modèle génératif < < DD++, , DD--, , f,qf,qnegneg> > plus réaliste plus réaliste

Identification de trois chausses-trappesIdentification de trois chausses-trappes

Conception et validation d ’un modèle de bruit MI Conception et validation d ’un modèle de bruit MI

Algorithme Algorithme RipperMIRipperMI capable de gros volumes de données capable de gros volumes de données (40Mo)(40Mo)rapidement (linéaire) et générant des hyp. concicesrapidement (linéaire) et générant des hyp. concices

Les Les littéraux erronés littéraux erronés modification de l ’élagage modification de l ’élagage Les Les littéraux contradictoires littéraux contradictoires partitionnement de l ’espace partitionnement de l ’espace

des instances des instances Les Les littéraux indiscernables littéraux indiscernables couverture probabiliste couverture probabiliste

Perspectives

Développement de modèles plus réalistes, pour obtenir de Développement de modèles plus réalistes, pour obtenir de meilleurs heuristiques (éventuellement meilleurs heuristiques (éventuellement non linéairenon linéaire))

Développement de techniques de Développement de techniques de sélection d’instancessélection d’instances et et d d ’attributs’attributs lorsque le nombre d ’instances est grand, lors d ’une lorsque le nombre d ’instances est grand, lors d ’uneMI-propositionalisation par exempleMI-propositionalisation par exemple

Autres algorithmes : méthode bottom-upAutres algorithmes : méthode bottom-up

Extension des techniques d Extension des techniques d ’estimation de densité et p-concepts’estimation de densité et p-concepts au multi-instances au multi-instances

Fiabilité et rapidité de RipperMI => Nombreuses applications, en Fiabilité et rapidité de RipperMI => Nombreuses applications, en particulier particulier intégrées dans des robots mobilesintégrées dans des robots mobiles

---------------------- calling RippMi -------------------RippMi -m -R -k10 -c -a+freq -ins "/home/bredeche/Experimentations/SdgAll/w23.data" ---------------------------------------------------------Handling MIP problem option: will set random seed from clock 10-fold cross-validation data is noisy find rules for least frequent classes first allow numerical symbolic improvements Final hypothesis is: true :- valH1>=254, stdevB1<=56, stdevS1<=58, valB2<=128 (64/0). true :- ampH3>=254, y1>=3, ampV1>=250, S1<=91 (47/0). true :- ampH3>=254, V3<=110.5, ampR3<=220.5, S1<=185 (31/0). true :- ampH3>=253, ampV1>=239, ampG3<=227, H2<=50, stdevG3>=47 (12/0). true :- ampH3>=253, y1>=3, ampR1>=245, stdevV2<=37, H1>=71 (7/0). true :- B3<=1, stdevS1>=44, R1<=74 (4/0). true :- R3>=244, B1>=211, ampR1>=151 (3/0). true :- stdevV1>=89, ampH2<=23, B3<=44 (2/0). default false (178/1). =============================== summary =============================== Train error rate: 14.93% +/- 0.70% << Average time: 11.94 +/- 0.16 sec Hypothesis size: 8 rules, 40 conditions

123