Apprentissage relationnel Apprentissage Data Mining ILP
KDD Knowledge discovery in Databases is the non-trivial process of Identifying valid novel potentially useful and ultimately understandable Struture in data Data: ensemble de faits Structure: patterns ou modèles
Machine apprenante Prédiction Classification (si catégorique) Régression (si numérique) Recherche de regroupement (clustering) Recherche des propriétés permettant le regroupement de données considérés comme similaires. Metric-distance methods Model-based methods Partition-based methods Propositionnalisation (Data summarization) Recherche de pattern compact qui permettent de redécrire les Exemples Recherche de règles dassociations
ILP Relationnal Data Mining Les Pattern trouvés en ILP sont via des expressions de la logique du premier ordre. En général on utilise des ensemble de clauses.
Langages relationnel DBLPBipartite Graph Relation name PPredicate symbol pNode relation P Attribute of relation Parguments of predicate PVoisin dun nœud Tuple(ai,..,an)fact p(a1,…,an)
ILP Langage term formule substitution Model theory Interpretation implication logique interpretation de Herbrand Proof Theory derivation deduction
ILP Relational rule induction Soit un ensemble dexemples E= P U N P: Exemples positifs N: Exemples négatifs Et une ensemble de connaissances B Le but est de rechercher des hypothèses H telles que e P : B H = e (H est complet) e N : B H e (H est consistant) (Learning from entailment Muggleton 1991) … (Learning from interpretation 1994)
Exemple On connaît les prédicats femme et parent et on veut apprendre fille On utilise lensemble dexemples suivant: Parent(ann,mary), Femme(ann), Fille(mary,ann)+ Parent(ann,tom), Femme(mary) Fille(eve,tom)+ Parent(tom,eve), Femme(eve) Fille(tom,ann)- Parent(tom,ian) Fille(eve,ann)- Le predicat recherché est le suivant: Fille(X,Y) <- Femme(X), Parent(Y,X) => Comment ? Complexité Heuristiques …..
Structuration de lespace des clauses Substitution={vi/ti … vn/tn} qui assigne les termes ti aux variables vi. Une clause c -subsume c si il existe une substitution, avec c c
Exemple subsumption Exemple c=Fille(x,y) <- Parent(y,x) équivalent {Fille(x,y), Parent(x,y)} Si lon applique la substitution ={X/mary, Y/ann} sur c cela donne c =Fille(mary,ann)<-parent(ann,mary) c= Fille(x,y) <- Femme(x), Parent(y,x) = {Fille(x,y), Femme(x), Parent(y,x)} La clause c -subsume c avec la substitution ={} Ou avec la substitution ={X/mary, Y/ann} c=Fille(mary,ann)<-Femme(mary), Parent(ann,mary)
Généralisation Relation Une clause C est au moins aussi générale quune clause c (c c) si c -subsume c La clause c est plus générale que c (c < c) if c c et non c c. c est une spécialisation de c. c est un raffinement de c. Remarque c -subsume c => c |= c linverse nest pas toujours vrai.
Treillis et clause Propriété La relation permet davoir un treillis dans le cas des clauses réduites. (plotkin 71) Les clauses réduites étant le réprésentant minimal (quotient) pour la relation déquivalence défini par c c ssi c c et c c Nous nommons lgg (least general generalisation) de deux clauses c,c (noté lgg(c,c)) est la borne sup de deux clauses (c c) dans le treillis. Nous nommons glb (greatest lower bound) de deux clauses c,c la borne inf de deux clauses (c c) dans le treillis
Interêt -subsumption permet Structuration de lespace de recherche => parcours de lespace de recherche général vers spécifique (top-down) spécifique vers général (bottom-up)
Recherche dans lespace des Hypothèses Mise en place dune relation dordre partielle entre les hypothèses +général / +spécifique parcours de lespace du plus général au plus spécifique du plus spécifique au plus général
Opérateur de spécialisation Opérateur de spécialisation (ou de raffinement) Pour un langage de description des hypothèse H, un opérateur de spécialisation s H- >H n associe à une clause c un ensemble de clauses s(c) qui sont des spécialisations de c. s(c) ={c | c H, c<c} Bon opérateur Recherche lensemble minimal le plus général des spécialisations dune clause c pour la relation dordre (basé sur la subsumption) opération de raffinement Application dune substitution à une clause Ajout dun littéral au corps de la clause Parcours dun sous ensemble de lespace de recherche (treillis) Graphe de spécialisations Nodes: clauses arcs: raffinement
Exemple parcours spécialisation Fille(x,y)<- Fille(x,y)<- x=y Fille(x,y)<-Femme(x) Fille(x,y)<-Parent(y,x) Fille(x,y)<-Femme(x), Femme(y)Fille(x,y)<-Femme(x),Parent(y,x) Fille(x,y)<-Parent(x,z) s(c)={Fille(x,y) <-L} avec L est un des littérals littéraux utilisant les variables de la tête de la clause (ex x=y) littéraux avec une nouvelle variable Parent(x,z)
Parcours de lespace des hypothèses BIAIS H est restreint au clauses définit (pas de ) non-récursive parcours utilise le nombre exemple/contre-exemple pour choisir les clauses à raffiner gestion de léquivalence (plusieurs chemins) Aveugle les exemples permettent de valider plutôt que de générer
(I) LGG et RLGG lgg Si deux clauses c1 et c2 sont vrais, alors lgg(c1,c2) peut être vrai. Si une clause d subsume c1 et c2 il subsume aussi lgg(c1,c2) (product). calcul du lgg polynomial (calcul du lgg pour clauses reduites NPC)
Calcul du LGG de deux clauses lgg de deux termes 1 lgg(t,t)=t 2 lgg(f(s1,...sn), f(t1...tn))= f(lgg(s1,t1),... lgg(sn,tn)) 3 lgg(f(s1,...sm),g(t1,...tn)) = V, avec fg et V est une variable qui représente lgg(f(s1,..sm), g(t1...tn)) 4 lgg(s,t)= V, avec st, V est une variable représentant lgg(s,t) Exemplelgg([a,b,c],[a,c,d])= [a,X,Y] lgg(f(a,a),f(b,b))= f(lgg(a,b), lgg(a,b)) = f(V,V) Le lgg de deux atomes est: 1 lgg(p(s1,...sn),p(t1...tn))=p(lgg(s1,t1),..,lgg(sn,tn)) 2 lgg(p(s1,...sm),q(t1,...tn)) est indéfini si pq Le lgg de deux littéraux lgg(L1,L2) est défini par 1 si L1 et L2 sont des atomes => lgg(L1,L2) voir ci-dessus 2 si L1= A1 et L2= A2 sont des littéraux négatifs lgg( A1, A2)= lgg(A1,A2) 3 si L1 est un litteral positif est L2 littéral négatif lgg(L1,L2) est indéfini
Exemple LGG lgg (parent(ann,mary), parent(ann,tom))= parent(ann,X) lgg(parent(ann,mary), parent(ann,tom)) indéfini lgg(parent(ann,x), Fille(mary,ann)) indéfini c1= Fille(mary,ann) <- Femme(mary), Parent(ann,mary) c2= Fille(eve,tom) <- Femme(eve), Parent(tom,eve) lgg(c1,c2) = Fille(x,y)<- Femme(x), parent(y,x) Ou x est le lgg( mary,eve) et y le lgg(ann,tom)
Rlgg Relative least General generalisation: Pour deux clauses c1 et c2 il sagit de la clause la moins générale qui est plus générale que c1 et c2 relativement à la base de connaissance B.
Exemple rlgg(A1,A2)=lgg((A1<-k),(A2<-k)) pour deux exemples e1=Fille(mary,ann) e2=Fille(eve,tom) B:Parent(ann,mary), Femme(ann), Fille(mary,ann)+ Parent(ann,tom), Femme(mary) Fille(eve,tom)+ Parent(tom,eve), Femme(eve) Fille(tom,ann)- Parent(tom,ian) Fille(eve,ann)- rlgg(e1,e2)=lgg((e1<-k),(e2<-k))ou k dénote la conjonctions des littéraux parent(ann,mary), parent(ann,tom), parent(tom,eve) parent(tom,ian), femme(ann), femme(mary), femme(eve) rllg croissance exponentielle avec le nombre dexemples
(II) Inversion de la resolution Inversion de la SLD résolution SLD propositionnel A partir de (p q) & (q r) on déduit p r SLD logique du premier ordre B:b1:Femme(mary) b2:Parent(ann,mary) H={c}={Fille(x,y)<-Femme(x),Parent(y,x)} Soit T=H B. Fille(mary,ann)? c1=resolvant(c,b1) avec la substitution{X/mary} Fille(mary,Y)<-Femme(mary),Parent(y,mary)...
Un arbre de dérivation Fille(x,y)<-Femme(x),Parent(y,x) b1=Femme(mary) c1=Fille(mary,y)<-Parent(y,mary) b2=Parent(ann,mary) c2=Fille(mary,ann) s1={X/mary} s2={y/ann}
Inversion de la résolution Opérateur de généralisation basé sur une inversion de la substitution A partir dune formule W, un substitution inverse -1 dune substitution est une fonction qui associe au terme dans W une variable tel que W -1 =W Exemple c=Fille(x,y) <- Femme(x), Parent(y,x) et = {x/mary,y/ann} donne c=c = Fille(mary,ann) <- Femme(mary),Parent(ann,mary) -1 ={mary/X, ann/y} on retrouve c. en général chaque occurence dun terme peut etre remplacé par différente variables.
Exemple c=Fille(x,y)<-Femme(x),Parent(y,x) b1=Femme(mary) c1=Fille(mary,y)<-Parent(y,mary) b2=Parent(ann,mary) e1=Fille(mary,ann) 1 -1 ={mary/x} 2 -1 ={ann/y} Recherche clause c1 qui avec b2 |= c1invres(b2,e1)=c1 Recherche c=invres(b1,c1)...
Lien entre ILP et KDD Ce fait par principalement par: limitation des langages utilisés mise en place de contraintes statistiques
Langage (,,..., )|Predicat(Terme,...) (_,_,_...)|variable quelconque (_,_,X,_,_), |Variable (X,_,_,_,_,_)| (X) :- ()..| nomTable1(...)->nomTable(X) Exemple client(3478,34677,male,celibataire,s60-70k,32,...) client(_,_,femme,_,_ …) client(C,_,femme,_,_), Ordre(C,_,_,_,CarteCredit) BonClient(C):- Client(C,_,Femme,_),Ordre(C,_,_,CarteCredit)
Exemple membre non-membre _66,1%33,9%1371 Femme69,9%30,1%478 ID=order.customer ID, order.delivery Mode=express, order.paymt mode= CarteCredit 72.0%28%311 On cherche a caractériser des sous-groupes intéressants (c.a.d différent de la distribution classique) La caractérisation de ces sous-groupes ce faisant via des propriétés de ces sous groupes (propriétés relationnelle -> query relationnelle)
Gestion du parcours Qualité Taille du groupe Distribution Recherche TOP-DOWN Breadth-first heuristiques LIEN à traiter explicitement indiqués suppression groupes / critères
Exemple client(_,_,homme,_,i60-70k,_,_,_) client(C,_,homme,_,i60-70k,_,_,_) ordre(C,_,_,_,_,_) Le client a indiqué client[1] -> ordre[1] le client a indiqué ordre[3]->store[1] client(C,_,homme,_,i60-70k,_,_,_) ordre(C,_,S,_,_) store(S,_,_,_)
Parcours {} Sexe=Homme Sexe=Femme Status:Celibataire … Sexe=homme Status=celibataire Sexe=homme Status=Marié
Arbre de décision Propriété ouinon Idée choisir les propriétés permettant de maximiser la séparation Complexité réduite Guidage par lutilisateur Gestion des erreurs bonne théorisation
Passage au relationnel Propriété sont des propriétés structurelles (Formule, graphe) atome(C,A1,cl) Bond(C,A1,A2,bt) atom(C,A2,n) atom(C,A3,o) vrai faux vrai faux
ILP -> Propositionnel Transformation du problème de relationnel en propositionnel Recherche dune solution à partir dune méthode propositionnelle Retour à la description relationnelle de lhypothèse (si besoin) inconvénients Choix des attributs ??? perte des relations, perte dinformations??? nombre dattributs
Formal Concept Analysis
E D E E et D D E D ExtensionIntention Description Concepts: Ordre partiel E1 D1E2 D2 Eg E1 E2 Dg=D1 D2 Es = E1 E2 Ds D1 D2 Structure de lespace Concepts et Relations.Cas général
Generalisation Contexte O un ensemble fini dobjets (L,|=) un treillis de formules i une application de O dans L l:2 0 -> Ll(o)= n o i(n) (ou est lopération de généralisation) e;L-> 2 0 e(ƒ)={o / i(o) |=ƒ} Concept Dans un contexte (O,L,i) un concept est une paire (o,ƒ) ou o est un sous ensemble de O et ƒ un élement de L tel que l(o)=ƒ et e(ƒ)=0
Ordre (o1,ƒ1) (o2,ƒ2) o1 o2 ƒ1 |= ƒ2 Théorème Pour un contexte (O,L,i) Lensemble ordonnée de tous les concepts de (O,L,i) ordonné via la relation est un treillis.