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 OAest une relation. O\A a1 a2 a3 a4 a5 a6 a7 a8 01 1 02 03 04 05 06 07
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
Propriétés des fonctions ƒ, g et h,h’ • ƒ et g sont des applications monotones décroissantes O1 O2 ƒ(O1) ƒ(O2) • h et h’ sont des applications monotones croissantes, extensives et idempotentes. O1 O2 h(O2) h(O1) O1 h(O1) h(O1)=h(h(O1))
Concept Pour 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 concept A1 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 concept en 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’
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].
Treillis de Galois (Treillis des concepts) Théorème L’ensemble L de tous les concepts d’un contexte (O,A,I), muni de la relation d’ordre ≥, possède la structure mathématique de treillis et est appelé treillis de Galois (ou des concepts) du contexte (O,A,I). [g(A’),A’=A1A2] [O1,A1] [O2,A2] [O’=O1O2,ƒ(O)]
Complexité • Opération entre concepts Calcul de l’intersection de deux ensembles A1,A2 O(|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|)
Algorithmes Il y a de nombreux algorithmes Un algorithme Norris (Repris par Godin avec relation d’ordre) Entrées: Une liste L de concepts Un nouvel exemple {e, Ae} Pour Ci:(Oi,Ai)L Si AeAi ajoute e à Oi Sinon Faire Cn=Ci {e, Ae} Si Cn est nouveau ajout à L Si {e, Ae} nouveau (non = Ae) ajout à L Sortie: Nouveau L => algorithme incrémental
Exemple [{01,02,03,04,05,06,07}{a1}] [{01,02,03,04,05,06}{a1,a2}] [{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}]
Généralisation
Deux treillis Treillis des f classes g Treillis des descriptions Treillis de Galois
Concepts et Relations. Cas propositionnel Concepts: Extension Intention E A Structure de l’espace Ordre partiel Eg E1 E2 Ag=A1 A2 E A E E’ et A ’ E1 A1 E2 A2 E’ A’ Es = E1 E2 As A1 A2
Concepts et Relations. Cas général Concepts: Extension Intention Description E D Structure de l’espace Ordre partiel Eg E1 E2 Dg=D1 D2 E D E E’ et D D’ E1 D1 E2 D2 E’ D’ Es = E1 E2 Ds ≤ D1 D2
L-Langage de description Catégorie Objet: expression du langage de description -> : Ordre partiel (être plus général que) : Opérateur de généralisation (produit catégoriel) D’ D1 D2 D1 D2 Exemple Langage propositionnel Objet: Liste d’attributs ->: :
Relation entre graphes Morphisme Un homomorphisme entre deux graphes étiquettés G1:(V1,E1,L1), G2:(V2,E2,K2à est une application ƒ:V1 -> V2 telle que v V1 , L(v)=L(ƒ(v)) et pour (v1,v2) E1 alors (ƒ(V1),ƒ(V2)) E2 Notation G1 ≥ G2 Complexité NP-Complet pour des graphes quelconques Ordre ?: Pre-ordre entre les graphes (manque l’anti-symétrie)
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 une relation d’ordre partiel. Théorème La structure de l’ordre partiel basé sur l’homomorphisme entre des graphes irredondants est un treillis.
Graphe -> Graphe irredondant On considére que deux graphes sont équivalents ssi g1 ≥ g2 et g2 ≥ g1. Propriété Pour un ensemble de graphes équivalents il existe un unique graphe irredondant minima (plus petit nombre de sommets). 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 alors la complexité de l’opération de réduction est aussi polynomiale.
Homomorphisme polynomial • L’homomorphisme d’un arbre dans un graphe est polynomial • Un graphe étiquetté G:(V,E) est dit localement injectif ssi pour chaque sommet vV, v1,v2 N(v) (voisins de V) alors si v1≠v2, L(v1)≠L(v2) Notation LIG graphe Cette définition peut facilement être étendue au cas des graphes orientés. Propriétés L’homomorphisme entre deux LIG est polynomial. Un LIG connexe est irredondant.
Produit de deux graphes Pour 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 L2 V 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|)
Opérateur de généralisation Pour deux graphes irredondants G1,G2 G1G2=Reduction(G1*G2) Propriété L’opération est un opérateur de généralisation sur les graphes
Questions:Morphisme injectif • Ordre partiel => gestion ensembliste • opérateur de généralisation ???
Exemples de L-Langages ≥ Complexité Ensemble P Séquence du début Plus long préfixe commun {Séquences} Utilisant pour des séquences KMR + sous ensemble XML Inclusion d’arbre Sous-arborescence maximale Graphe irredondant Morphisme Produit et réduction NP P pour GLI Clause réduite -subsumption lgg
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)
Treillis de Galois pour L=GLI rectangle rectangle {0,1} right on {1,4} on {2,4} rectangle on square rectangle circle circle right rectangle rectangle on on {0,1,2} {0,1,3} {0,1,4} circle on rectangle on right rectangle circle {0,1,2,3} {0,1,3,4} {0,1,2,4} {0,1,2,3,4}
Propositionnalisation
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 ?
Exemple Structurel / propositionnel Rb(f3),Rn(f7),Fn(c2),Cb(a7),Pb(c6),Pb(h6),Pn(f6),Pn(h4) 1 c7 Bf5 2 Nc6 Bh3 3 Ne7 Bd7 4 h7 Kg7 5 Ng6 Kxh7 6 Nf8+ Egalité matérielle Non Opposition Fou noir 2° Grande Diagonale Cavalier blanc Coin 2 Pions blancs avancés 1 Pion noir avancé Rectangle arrêt Roi blanc ….
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
Irréductibles et Treillis A partir de l’ensemble des irréductibles et des irréductibles d’un Treillis 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)
Equivalence entre L-langages Définition Deux L-Langages L1 et L2 sont dit équivalent pour un même ensemble d’exemples O TG(L1,O,d1) TG(L2,O,d2) Théorème Pour tout L-Langage L et un ensemble d’exemple O décrit par des expression de L. Il existe un L-langage propositionnel LP minimal équivalent à L. Ce langage LP est construit à partir de l’ensemble des irréductibles du treillis de Galois TG(L,O)
Irréductibles et Treillis de Galois rectangle S3 rectangle S4 right on on {2,4} rectangle on square {0,1} rectangle {1,4} circle circle right rectangle rectangle on on circle {0,1,2} on rectangle on right {0,1,3} rectangle {0,1,4} circle S5 S6 S7 {0,1,2,3} {0,1,2,4} {0,1,3,4} {0,1,2,3,4}
L-Langage propositionnel
Parcours de l’espace des descriptions Expression de L Etre plus générale que ••• 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 Aveugle Spécialisation infinie
Espace de spécialisation et exemple ••• Expression apparaissant En même temps Expression n’apparaissant Pas sur les exemples
Complexité de la recherche des irréductibles Idée 1) Construction du treillis en généralisation construction complète: taille du treillis importante complexité 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
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, ……An Retour au cas propositionnel !! Spécialisation des langages LD1
Langage de décomposition Définition Pour 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 Exemple Langage de description Graphe Langage de décomposition Chemin de longueur k
Algorithme RechIrre Entree : un contexte (E,A,R) (relation binaire) Sortie ; l’ensemble des -irreductibles R=Ø 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 à R retourner Complexité: O(|A]2*|E|)
Exemple chemin longueur 0 -irréductibles [{0,1,4},{right}] [{0,1,3,4},{Circle}] [{2,4},{Square}]
Exemple chemin longueur 1 Recherche des -Irréductibles: Polynomiale ici!!
Complexité La recherche des -irréductibles dépend de la complexité de la recherche des éléments de LD du calcul de la relation d’ordre entre les éléments de LD du 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 LD alors la méthode est polynomiale Exemple L=graphe et LDk={chemins élémentaires de longueur k} Calcul polynomial à chaque étape (anytime)
Opérateur de spécialisation pour 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 graphes S:(e1,e2,…em) >>>> S’:(e’1,e’2,…e’n) ssi e S , e’ S’ tel que (e,e’) G