1 / 39

Apprentissage relationnel

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.

Download Presentation

Apprentissage relationnel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Apprentissage relationnel Apprentissage Data Mining ILP

  2. 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

  3. 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 d’associations

  4. 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.

  5. Langages relationnel DB LP Bipartite Graph Relation name P Predicate symbol p Node relation P Attribute of relation P arguments of predicate P Voisin d’un nœud Tuple(ai,..,an) fact p(a1,…,an)

  6. ILP Langage term formule substitution Model theory Interpretation implication logique interpretation de Herbrand Proof Theory derivation deduction

  7. ILP Relational rule induction Soit un ensemble d’exemples 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)

  8. Exemple On connaît les prédicats femme et parent et on veut apprendre fille On utilise l’ensemble d’exemples 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 …..

  9. Structuration de l’espace 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’

  10. Exemple subsumption Exemple c=Fille(x,y) <- Parent(y,x) équivalent {Fille(x,y),  Parent(x,y)} Si l’on 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)

  11. Généralisation Relation ≥ Une clause C est au moins aussi générale qu’une 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’ l’inverse n’est pas toujours vrai.

  12. Treillis et clause Propriété La relation ≤ permet d’avoir 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

  13. Interêt -subsumption permet • Structuration de l’espace de recherche • => parcours de l’espace de recherche • général vers spécifique (top-down) • spécifique vers général (bottom-up) •

  14. Recherche dans l’espace des Hypothèses • Mise en place d’une relation d’ordre partielle entre les hypothèses +général / +spécifique • parcours de l’espace du plus général au plus spécifique du plus spécifique au plus général

  15. 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- >Hn 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 l’ensemble minimal le plus général des spécialisations • d’une clause c pour la relation d’ordre ≥ (basé sur la subsumption) • opération de raffinement • Application d’une substitution à une clause • Ajout d’un littéral au corps de la clause Parcours d’un sous ensemble de l’espace de recherche (treillis) Graphe de spécialisations Nodes: clauses arcs: raffinement

  16. Exemple parcours spécialisation Fille(x,y)<- Fille(x,y)<-Parent(x,z) Fille(x,y)<- x=y Fille(x,y)<-Parent(y,x) Fille(x,y)<-Femme(x) Fille(x,y)<-Femme(x), Femme(y) Fille(x,y)<-Femme(x),Parent(y,x) 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)

  17. Parcours de l’espace 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

  18. (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)

  19. 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 f≠g et V est une variable qui représente lgg(f(s1,..sm), g(t1...tn)) 4 lgg(s,t)= V, avec s≠t, V est une variable représentant lgg(s,t) Exemple lgg([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 p≠q 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

  20. 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)

  21. Rlgg Relative least General generalisation: Pour deux clauses c1 et c2 il s’agit de la clause la moins générale qui est plus générale que c1 et c2 relativement à la base de connaissance B.

  22. 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 d’exemples

  23. (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) ...

  24. Un arbre de dérivation Fille(x,y)<-Femme(x),Parent(y,x) b1=Femme(mary) s1={X/mary} c1=Fille(mary,y)<-Parent(y,mary) s2={y/ann} b2=Parent(ann,mary) c2=Fille(mary,ann)

  25. Inversion de la résolution • Opérateur de généralisation basé sur une inversion de la substitution • A partir d’une formule W, un substitution inverse -1 d’une 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 d’un terme peut etre remplacé par différente variables.

  26. Exemple c’=Fille(x,y)<-Femme(x),Parent(y,x) b1=Femme(mary) 1-1 ={mary/x} c1=Fille(mary,y)<-Parent(y,mary) 2-1 ={ann/y} b2=Parent(ann,mary) e1=Fille(mary,ann) Recherche clause c1 qui avec b2 |= c1 invres(b2,e1)=c1 Recherche c’=invres(b1,c1)...

  27. Lien entre ILP et KDD Ce fait par principalement par: • limitation des langages utilisés • mise en place de contraintes statistiques

  28. Langage <nomTable>(<V1>,<V2>,...,<Vn>) | Predicat(Terme,...) <nomTable>(_,_,_...) | variable quelconque <nomTable1>(_,_,X,_,_), | Variable <nomTable2>(X,_,_,_,_,_) | <nomTable>(X) :- <nomTable1>().. | 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)

  29. Exemple 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) membre non-membre _ 66,1% 33,9% 1371 Femme 69,9% 30,1% 478 ID=order.customer ID, order.delivery Mode=express, order.paymt mode= CarteCredit 72.0% 28% 311

  30. Gestion du parcours Qualité Taille du groupe Distribution Recherche TOP-DOWN Breadth-first heuristiques LIEN à traiter explicitement indiqués suppression groupes / critères

  31. 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,_,_,_)

  32. Parcours Sexe=homme Status=celibataire Sexe=Homme {} Sexe=homme Status=Marié Sexe=Femme Status:Celibataire …

  33. Arbre de décision Propriété oui non Idée choisir les propriétés permettant de maximiser la séparation Complexité réduite Guidage par l’utilisateur Gestion des erreurs bonne théorisation

  34. Passage au relationnel Propriété sont des propriétés structurelles (Formule, graphe) atome(C,A1,cl) faux vrai atom(C,A3,o) Bond(C,A1,A2,bt) atom(C,A2,n) vrai vrai faux faux 7.82 7.51 6.08 6.73

  35. ILP -> Propositionnel • Transformation du problème de relationnel en propositionnel • Recherche d’une solution à partir d’une méthode propositionnelle • Retour à la description relationnelle de l’hypothèse (si besoin) • inconvénients • Choix des attributs ??? • perte des relations, perte d’informations??? • nombre d’attributs

  36. Formal Concept Analysis

  37. Concepts et Relations. Cas général Eg  E1  E2Dg=D1 D2 E1 D1 E D E D E2 D2 Es = E1  E2Ds ≤ D1  D2 Concepts: Extension Intention Description Structure de l’espace Ordre partiel E  E’ et D D’ E’ D’

  38. Generalisation • Contexte • O un ensemble fini d’objets • (L,|=) un treillis de formules • i une application de O dans L • l:20 -> L l(o)=noi(n) (ou  est l’opération de généralisation) • e;L-> 20 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

  39. Ordre (o1,ƒ1) ≤ (o2,ƒ2) <=> o1 o2 <=> ƒ1 |= ƒ2 Théorème Pour un contexte (O,L,i) L’ensemble ordonnée de tous les concepts de (O,L,i) ordonné via la relation ≤ est un treillis.

More Related