apprentissage data mining ilp kdd. formal concept analysis un contexte est un triplet (o,a,i) où o...

44
Apprentissage Data mining ILP KDD

Upload: guarin-fievet

Post on 03-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

ApprentissageData mining

ILPKDD

Page 2: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Formal Concept AnalysisUn contexte est un triplet (O,A,I) où O et A sont des ensembleset I OAest une relation.O\A a1 a2 a3 a4 a5 a6 a7 a8

01 1 1 1 1 1 1 1

02 1 1 1 1 1 1 1

03 1 1 1 1 1 1 1

04 1 1 1 1 1

05 1 1 1 1 1

06 1 1 1 1 1

07 1 1 1

Page 3: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Correspondance de Galois• Soit

ƒ l’application qui à tout élément o de O associe ƒ(o)={aA / (o,a) I}

g l’application qui à tout élément a de A associe g(a)={oO / (o,a) I}

• ƒ et g sont étendues aux parties de O et de A comme suit:Pour O1O et A1Aƒ(O1)=oO1 ƒ(o) g(A1)= aA1 g(a)

• On note h=g o ƒ et h’= ƒ o g

Page 4: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Propriétés des fonctions ƒ, g et h,h’

• ƒ et g sont des applications monotones décroissantesO1 O2 ƒ(O1) ƒ(O2)

• h et h’ sont des applications monotones croissantes, extensiveset idempotentes.

O1 O2 h(O2) h(O1)O1 h(O1)h(O1)=h(h(O1))

Page 5: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

ConceptPour un contexte (O,A,I)Le couple [01,A1] O1 O, A1 A est un concept ssiƒ(O1)=A1 et g(A1)=O1

O1 est appelé l’extension du conceptA1 est appelé l’intention du concept

Exemple pour la relation binaire précédente[{01,02,03,04},{a1,a2,a3,a4}] est un concept[{01,02,03},{a4,a5}] n’est pas un concepten effet

ƒ({01,02,03})={a1,a2,a3,a4}≠{a4,a5}de plus g({a3,a4})={01,02,03,04}≠{01,02,03}

Remarque Du point de vue de la relation binaire, un concept est un rectangle maximal rempli de ‘1’

Page 6: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Ordre sur les concepts

• Pour deux concepts [O1,A1] et [O2,A2] d’un contexte (O,A,I)[O1,A1]≥ [ 02,A2] A1A2 O2 O1

On dit que le concept [01,A1] est plus général que le concept [O2,A2].

Page 7: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Treillis de Galois (Treillis des concepts)

ThéorèmeL’ensemble L de tous les concepts d’un contexte (O,A,I), muni dela relation d’ordre ≥, possède la structure mathématique de treillis etest appelé treillis de Galois (ou des concepts) du contexte (O,A,I).

[O1,A1] [O2,A2]

[g(A’),A’=A1A2]

[O’=O1O2,ƒ(O)]

Page 8: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Complexité

• Opération entre conceptsCalcul de l’intersection de deux ensembles

A1,A2O(|A1|+|A2|) si A1 et A2 sont triès

Calcul de g(A)O(|ƒ(a)|) aA

Ceci peut être fait par des opérations binaires rapides. Polynomialité du calcul des (et )

• La taille du treillis peut être en 2k ou k=min(|O|,|A|)

Page 9: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

AlgorithmesIl y a de nombreux algorithmes

Un algorithme Norris (Repris par Godin avec relation d’ordre)Entrées:

Une liste L de conceptsUn nouvel exemple {e, Ae}

Pour Ci:(Oi,Ai)LSi AeAi ajoute e à OiSinon

Faire Cn=Ci {e, Ae}Si Cn est nouveau ajout à L

Si {e, Ae} nouveau (non = Ae) ajout à LSortie: Nouveau L

=> algorithme incrémental

Page 10: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

[{01,02,03,04,05,06,07}{a1}]

[{01,02,03,04,05,06}{a1,a2}] [{01,02,03,04,06,07}{a1,a3}]

[{01,02,03,04,05}{a1,a2,a4}] [{01,02,03,05,06}{a1,a2,a5}] [{01,02,03,04,06}{a1,a2,a3}] [{01,02,04,07}{a1,a3,a6}]

[{01,02,03,05}{a1,a2,a4,a5}] [{01,02,03,04}{a1,a2,a3,a4}] [{01,02,03,06}{a1,a2,a3,a5}]

[{01,02,05}{a1,a2,a4,a5,a7}] [{01,02,03}{a1,a2,a3,a4,a5}] [{01,02,03}{a1,a2,a3,a4,a6}] [{02,03,06}{a1,a2,a3,a5,a8}]

[{01,03}{a1,a2,a3,a4,a5,a7}] [{01,02}{a1,a2,a3,a4,a5,a6}] [{01,03}{a1,a2,a3,a4,a5,a8}]

[{03}{a1,a2,a3,a4,a5,a7,a8}] [{01}{a1,a2,a3,a4,a5,a6,a7}] [{02}{a1,a2,a3,a4,a5,a6,a8}]

[{}{a1,a2,a3,a4,a5,a6,a8}]

Exemple

Page 11: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Généralisation

Page 12: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Deux treillis

Treillis desclasses

Treillis des descriptions

g

f

Treillis de Galois

Page 13: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Concepts et Relations.

E A

E’ A’

E E’ et A ’

E AExtension IntentionConcepts:

Ordre partiel

E1 A1 E2 A2

Eg E1 E2 Ag=A1 A2

Es = E1 E2 As A1 A2

Structure de l’espace

Cas propositionnel

Page 14: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

E D

E’ D’

E E’ et D D’

E DExtension IntentionDescription

Concepts:

Ordre partiel

E1 D1 E2 D2

Eg E1 E2 Dg=D1 D2

Es = E1 E2 Ds ≤ D1 D2

Structure de l’espace

Concepts et Relations. Cas général

Page 15: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

L-Langage de description

CatégorieObjet: expression du langage de description-> : Ordre partiel (être plus général que) : Opérateur de généralisation

(produit catégoriel)

Exemple Langage propositionnel

Objet: Liste d’attributs->: :

D1 D2

D1 D2

D’

Page 16: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Relation entre graphes

Morphisme

Un homomorphisme entre deux graphes étiquettésG1:(V1,E1,L1), G2:(V2,E2,K2à est une application ƒ:V1 -> V2telle que v V1 , L(v)=L(ƒ(v)) etpour (v1,v2) E1 alors (ƒ(V1),ƒ(V2)) E2

Notation G1 ≥ G2Complexité NP-Complet pour des graphes quelconques

Ordre ?: Pre-ordre entre les graphes (manque l’anti-symétrie)

Page 17: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Graphe irredondant

Graphe irredondant (code graph):Un graphe irredondant est un graphe qui n’a pas d’homomorphisme sur un de ses sous-graphes.

La relation d’homomorphisme, pour les graphes irredondants, est unerelation d’ordre partiel.

ThéorèmeLa structure de l’ordre partiel basé sur l’homomorphisme entre desgraphes irredondants est un treillis.

Page 18: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Graphe -> Graphe irredondant

Complexité de la Recherce du graphe minima Réduction: NP-complet

PropriétéSi, pour une sous-classe spécifique de graphes, l’opération d’homomorphisme est polynomiale alorsla complexité de l’opération de réduction est aussipolynomiale.

On considére que deux graphes sont équivalents ssig1 ≥ g2 et g2 ≥ g1.

Propriété Pour un ensemble de graphes équivalents il existe un unique grapheirredondant minima (plus petit nombre de sommets).

Page 19: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Homomorphisme polynomial

• L’homomorphisme d’un arbre dans un graphe est polynomial

• Un graphe étiquetté G:(V,E) est dit localement injectif ssipour chaque sommet vV,v1,v2 N(v) (voisins de V)alors si v1≠v2, L(v1)≠L(v2)Notation LIG grapheCette définition peut facilement être étendue au cas desgraphes orientés.

PropriétésL’homomorphisme entre deux LIG est polynomial.Un LIG connexe est irredondant.

Page 20: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Produit de deux graphesPour deux graphes étiquetés G1:(V1,E1,L1) G2:(V2,E2,L2)Le produit G(V,E,L)= G1*G2 est défini par:L = L1 L2V V1 x V2= {v / v=[v1,v2] avec L(v1)=L(v2)=L(v)}U={(v=[v1,v2],v’=[v’1,v’2]) / (v1,v’1) V1 et (v2,v’2) V2}

Complexité: Polynomiale O(|V1|*|V2|)

Page 21: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Opérateur de généralisation

Pour deux graphes irredondants G1,G2G1G2=Reduction(G1*G2)

PropriétéL’opération est un opérateur de généralisation sur lesgraphes

Page 22: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Questions:Morphisme injectif

• Ordre partiel => gestion ensembliste• opérateur de généralisation ???

Page 23: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Exemples de L-LangagesL-Langage ≥ Complexité

Ensemble P

Séquence du début Plus long préfixe commun

P

{Séquences} Utilisant pour des séquences

KMR + sous ensemble

P

XML Inclusion d’arbre Sous-arborescence maximale

P

Graphe

irredondant

Morphisme Produit et réduction NP

P pour GLI

Clause réduite -subsumption lgg NP

Page 24: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Treillis de Galois

Théorème pour un ensemble d’exemples O, un L-langage de description L et une application d de O dans L, l’espace de recherche (classification) est structuré sous la forme d’un treillis de Galois

Notation TG(L,O,d)

Page 25: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

E4

square

rectangles

on

circleright

Treillis de Galois pour L=GLI

E0

circle

rectangle

rectangleright

on

E1

rectangles

rectangle

circleright

on

circle

rectangle

rectangle

righton{0,1}

rectangle

circle right

on{1,4} rectangle on square{2,4}

{0,1,2}rectangle

on rectangle

on circle

rectangle

on

{0,1,3}

rectangle

circle

righton{0,1,4}

rectangle

onrectangle

on rectangle

circle

on

rectangle

on

E2

square

square

rectangleon

on

E3

rectangle

on

circle

{0,1,2,3} {0,1,2,4} {0,1,3,4}

{0,1,2,3,4}

Page 26: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Propositionnalisation

Page 27: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Propositionnalisation

• Passage d’une description structurelle à une description propositionnelle équivalente.Interêt

gain en utilisation, réutilisation,explication (création d’une ontologie)

• équivalence ?• complexité de la recherche ?

Page 28: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

1 c7 Bf5 2 Nc6 Bh3 3 Ne7 Bd74 h7 Kg7 5 Ng6 Kxh7 6 Nf8+

Rb(f3),Rn(f7),Fn(c2),Cb(a7),Pb(c6),Pb(h6),Pn(f6),Pn(h4)

Egalité matérielleNon Opposition Fou noir 2° Grande DiagonaleCavalier blanc Coin2 Pions blancs avancés1 Pion noir avancéRectangle arrêt Roi blanc ….

Exemple Structurel / propositionnel

Page 29: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Irréductibles

irréductible: Elément d’un treillis ayant un seul prédécesseur irréductible : Elément d’un treillis ayant un seul successeur.

irréductibles

irréductibles

Page 30: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

{0,1,2,3,4}

{0,1,2,3} {0,1,2,4} {0,1,3,4}

{0,1,3} {0,1,4}{0,1,2}

{0,1} {1,4} {2,4}

{0} {1} {2} {3} {4}

Concepts

∧-irreductibles

Ordrepartiel

Généralisatio n∨

Page 31: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Irréductibles et Treillis

A partir de l’ensemble des irréductibles et des irréductibles d’unTreillis T on construit la relation binaire R suivante:

A chaque élément irréductibles x on associe l’ensemble R(x) des éléments irréductibles ≥ à x

Théorème le Treillis de Galois construit à partir de la relation binaire R et isomorphe au treillis T. (Birkhoff)

Page 32: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Equivalence entre L-langages

Définition Deux L-Langages L1 et L2 sont dit équivalent pour un mêmeensemble d’exemples O TG(L1,O,d1) TG(L2,O,d2)

ThéorèmePour tout L-Langage L et un ensemble d’exemple O décrit par desexpression de L. Il existe un L-langage propositionnel LP minimaléquivalent à L.

Ce langage LP est construit à partir de l’ensemble des irréductiblesdu treillis de Galois TG(L,O)

Page 33: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

E4

square

rectangles

on

circleright

Irréductibles et Treillis de Galois

E0

circle

rectangle

rectangleright

on

E1

rectangles

rectangle

circleright

on

circle

rectangle

rectangle

righton

{0,1}

rectangle

circle right

on

{1,4} rectangle on square{2,4}

{0,1,2}

rectangle

on rectangle

on circle

rectangle

on

{0,1,3}

rectangle

onrectangle

on rectangle

circle

on

rectangle

on

E2

square

square

rectangleon

on

E3

rectangle

on

circle

{0,1,2,3} {0,1,2,4} {0,1,3,4}

{0,1,2,3,4}

S1 S2

S3 S4

S5 S6 S7

rectangle

circle

righton

{0,1,4}

Page 34: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

L-Langage propositionnel

S1 S2 S3 S4 S5 S6 S70 1 1 1 11 1 1 1 12 1 1 13 1 1 14 1 1 1 1

Page 35: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Parcours de l’espace des descriptions

•••

Opérateur de spécialisation S:S(d)=d1 tel que d > d1

Opérateur de spécialisation complet:S(d)=d1 tel que d > d1 et d2 / d > d2 > d1-----> Base de certaines méthodes ILP:

Parcours AveugleSpécialisation infinie

Expression de LEtre plus généraleque

Page 36: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Espace de spécialisation et exemple

•••

Expression n’apparaissantPas sur les exemples

Expression apparaissantEn même temps

Page 37: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Complexité de la recherche des irréductibles

Idée 1) Construction du treillis en généralisationconstruction complète: taille du treillis importantecomplexité de l’opération -Irréductibles dans le haut du treillis

Idée 2) Parcours de l’espace en spécialisation avec utilisation de l’opération

Page 38: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Principe

E1 A1 E2 A2 E2 A3 En An……

Es = E1 E2 As ≤ A1 A2 Es = E1 En As ≤ A2 An2…

Nécessite A1, A2, ……AnRetour au cas propositionnel !!

LD1

Spécialisation des langages

Page 39: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Langage de décomposition

Exemple Langage de description

GrapheLangage de décomposition

Chemin de longueur k

DéfinitionPour un langage de description L,Un langage de décomposition LD est

inclus dans L,il existe un opérateur permettant de trouver les

expressions de LD présente dans une expression de L

Page 40: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Algorithme RechIrreEntree : un contexte (E,A,R) (relation binaire)Sortie ; l’ensemble des -irreductiblesR=ØElimination des égalités (réunion en un seul attribut des attributs tel que e(a1)= e(a2))Pour chaque attribut a

si estIrreductible(a) ajouter a à Rretourner

Complexité: O(|A]2*|E|)

Page 41: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Exemple chemin longueur 0

Rect On Circle right squareE0 1 1 1 1E1 1 1 1 1E2 1 1 1E3 1 1 1E4 1 1 1 1 1

irréductibles[{0,1,4},{right}][{0,1,3,4},{Circle}][{2,4},{Square}]

Page 42: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Exemple chemin longueur 1

Rect On Rect->on

On->rect

Circle right On->circle

square On->square

Circle->right

Rect->right

Right->circle

Right->rect

Square->on

Circle->on

Right->Square

E0 1 1 1 1 1 1 1 1 1E1 1 1 1 1 1 1 1 1 1E2 1 1 1 1 1 1 1E3 1 1 1 1 1E4 1 1 1 1 1 1 1 1 1 1

a() partieirredondante

{0,1,2,4} {rect,rect->on} {rect->on}{0,1,2,3} {rect,on->rect} {on->rect}{0,1,3,4} {rect,circle} {circle}{2,4} {rect,rect->on,square,on->square} { square }{1,4} {rect,rect->on,circle,circle->right} { circle->right}{0} {rect,rect->on,on->rect,circle,right->circle} { right->circle}{3} {rect,on->rect,circle,circle->on} {circle->on}

Recherche des -Irréductibles: Polynomiale ici!!

Page 43: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Complexité

La recherche des -irréductibles dépend de la complexité de la recherche des éléments de LDdu calcul de la relation d’ordre entre les éléments de LDdu calcul de l’appariement d’un élément de LD avec un élément de L

Pour une étape k, si ces trois calcul sont polynomiaux / nombre d’exemples et le nombre d’expressions du langage LDalors la méthode est polynomiale

Exemple L=graphe et LDk={chemins élémentaires de longueur k} Calcul polynomial à chaque étape (anytime)

Page 44: Apprentissage Data mining ILP KDD. Formal Concept Analysis Un contexte est un triplet (O,A,I) où O et A sont des ensembles et I O Aest une relation. O\A

Opérateur de spécialisationpour les graphes

Produit de Graphes G1:(E1,A1) G2:(E2,A2)On calcule E1xE2 puis on met un arc entre (e1,e2) et (e’1,e’2)(e1,e’1) A1 et (e2,e’2) A2

Généralisation de l’opération produit pour n graphes:Principe: Pour un ensemble de graphesS:(e1,e2,…em) >>>> S’:(e’1,e’2,…e’n) ssi e S , e’ S’ tel que (e,e’) G