apprentissage relationnel apprentissage data mining ilp
TRANSCRIPT
![Page 1: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/1.jpg)
Apprentissage relationnel
Apprentissage
Data Mining
ILP
![Page 2: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/2.jpg)
KDD
Knowledge discovery in Databases is the non-trivial process of Identifying
validnovelpotentially usefuland ultimately understandable
Struture in data
Data: ensemble de faitsStructure: patterns ou modèles
![Page 3: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/3.jpg)
Machine apprenantePrédiction
Classification (si catégorique)Régression (si numérique)
Recherche de regroupement (clustering)Recherche des propriétés permettant le regroupementde données considérés comme similaires.
Metric-distance methodsModel-based methodsPartition-based methods
Propositionnalisation (Data summarization)Recherche de pattern compact qui permettent de redécrire les
ExemplesRecherche de règles d’associations
![Page 4: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/4.jpg)
ILPRelationnal 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.
![Page 5: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/5.jpg)
Langages relationnelDB LP Bipartite GraphRelation name P Predicate symbol p Node relation PAttribute of relation P arguments of predicate P Voisin d’un nœudTuple(ai,..,an) fact p(a1,…,an)
![Page 6: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/6.jpg)
ILP
Langagetermformulesubstitution
Model theoryInterpretationimplication logiqueinterpretation de Herbrand
Proof Theoryderivation deduction
![Page 7: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/7.jpg)
ILPRelational rule induction
Soit un ensemble d’exemples E= P U NP: Exemples positifsN: Exemples négatifs
Et une ensemble de connaissances B
Le but est de rechercher des hypothèses H telles que eP : B H = e (H est complet) eN : B H ≠ e (H est consistant)
(Learning from entailment Muggleton 1991)…(Learning from interpretation 1994)
![Page 8: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/8.jpg)
ExempleOn connaît les prédicats femme et parent et on veut apprendre filleOn 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 …..
![Page 9: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/9.jpg)
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 cc’
![Page 10: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/10.jpg)
Exemple subsumption
Exemplec=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)
![Page 11: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/11.jpg)
Généralisation
Relation ≥Une clause C est au moins aussi générale qu’une clause c’ (c ≤ c’) sic -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.
![Page 12: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/12.jpg)
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 larelation d’équivalence défini par cc’ 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 borneinf de deux clauses (c c’) dans le treillis
![Page 13: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/13.jpg)
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)•
![Page 14: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/14.jpg)
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’espacedu plus général au plus spécifiquedu plus spécifique au plus général
![Page 15: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/15.jpg)
Opérateur de spécialisationOpérateur de spécialisation (ou de raffinement)Pour un langage de description des hypothèse H, un opérateur despé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écialisationsd’une clause c pour la relation d’ordre ≥ (basé sur la subsumption)
opération de raffinementApplication d’une substitution à une clauseAjout 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: clausesarcs: raffinement
![Page 16: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/16.jpg)
Exemple parcours spécialisationFille(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)
![Page 17: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/17.jpg)
Parcours de l’espace des hypothèses
BIAIS H est restreint au clauses• définit (pas de )• non-récursive
parcoursutilise le nombre exemple/contre-exemple pour choisirles clauses à raffinergestion de l’équivalence (plusieurs chemins)
Aveugle les exemples permettent de valider plutôt que de générer
![Page 18: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/18.jpg)
(I) LGG et RLGG
lgg• Si deux clauses c1 et c2 sont vrais, alors lgg(c1,c2) peut êtrevrai.• 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)
![Page 19: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/19.jpg)
Calcul du LGG de deux clauseslgg de deux termes
1 lgg(t,t)=t2 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 par1 si L1 et L2 sont des atomes => lgg(L1,L2) voir ci-dessus2 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
![Page 20: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/20.jpg)
Exemple LGGlgg (parent(ann,mary), parent(ann,tom))= parent(ann,X)lgg(parent(ann,mary), parent(ann,tom)) indéfinilgg(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)
![Page 21: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/21.jpg)
Rlgg
Relative least General generalisation:Pour deux clauses c1 et c2 il s’agit de la clause la moins généralequi est plus générale que c1 et c2 relativement à la base de connaissance B.
![Page 22: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/22.jpg)
Exemplerlgg(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 conjonctionsdes 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
![Page 23: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/23.jpg)
(II) Inversion de la resolutionInversion de la SLD résolution
SLD propositionnel A partir de (p q) & (q r) on déduit p r
SLD logique du premier ordreB: b1:Femme(mary)
b2:Parent(ann,mary)H={c}={Fille(x,y)<-Femme(x),Parent(y,x)}Soit T=HB.
Fille(mary,ann)?c1=resolvant(c,b1) avec la substitution{X/mary}Fille(mary,Y)<-Femme(mary),Parent(y,mary)...
![Page 24: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/24.jpg)
Un arbre de dérivationFille(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}
![Page 25: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/25.jpg)
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 substitutionest une fonction qui associe au terme dans W une variable tel queW -1 =W Exemplec=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.
![Page 26: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/26.jpg)
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 |= c1 invres(b2,e1)=c1Recherche c’=invres(b1,c1)...
![Page 27: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/27.jpg)
Lien entre ILP et KDD
Ce fait par principalement par:• limitation des langages utilisés• mise en place de contraintes statistiques
![Page 28: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/28.jpg)
Langage
<nomTable>(<V1>,<V2>,...,<Vn>) | Predicat(Terme,...)
<nomTable>(_,_,_...) | variable quelconque
<nomTable1>(_,_,X,_,_), | Variable<nomTable2>(X,_,_,_,_,_) |
<nomTable>(X) :- <nomTable1>().. | nomTable1(...)->nomTable(X)
Exempleclient(3478,34677,male,celibataire,s60-70k,32,...)client(_,_,femme,_,_ …)client(C,_,femme,_,_), Ordre(C,_,_,_,CarteCredit)BonClient(C):- Client(C,_,Femme,_),Ordre(C,_,_,CarteCredit)
![Page 29: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/29.jpg)
Exemple
membre non-membre_ 66,1% 33,9% 1371Femme 69,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)
![Page 30: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/30.jpg)
Gestion du parcours
QualitéTaille du groupeDistribution
RechercheTOP-DOWNBreadth-first
heuristiquesLIEN à traiter explicitement indiqués suppression groupes / critères
![Page 31: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/31.jpg)
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,_,_,_)
![Page 32: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/32.jpg)
Parcours
{}
Sexe=Homme
Sexe=Femme
Status:Celibataire
…
Sexe=hommeStatus=celibataire
Sexe=hommeStatus=Marié
![Page 33: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/33.jpg)
Arbre de décision
Propriété
oui non
Idée choisir les propriétés permettant de maximiser la séparation
Complexité réduiteGuidage par l’utilisateurGestion des erreursbonne théorisation
![Page 34: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/34.jpg)
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 vraifaux faux
7.827.51 6.08 6.73
![Page 35: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/35.jpg)
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
![Page 36: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/36.jpg)
Formal Concept Analysis
![Page 37: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/37.jpg)
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 38: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/38.jpg)
GeneralisationContexte• O un ensemble fini d’objets•(L,|=) un treillis de formules•i une application de O dans L
l:20 -> L l(o)= no i(n) (ou est l’opération de généralisation)e;L-> 20 e(ƒ)={o / i(o) |=ƒ}
ConceptDans un contexte (O,L,i) un concept est une paire (o,ƒ) ou o est unsous ensemble de O et ƒ un élement de L tel quel(o)=ƒ et e(ƒ)=0
![Page 39: Apprentissage relationnel Apprentissage Data Mining ILP](https://reader035.vdocument.in/reader035/viewer/2022062318/551d9d81497959293b8baf94/html5/thumbnails/39.jpg)
Ordre
(o1,ƒ1) ≤ (o2,ƒ2) <=> o1 o2 <=> ƒ1 |= ƒ2
ThéorèmePour un contexte (O,L,i)L’ensemble ordonnée de tous les concepts de (O,L,i) ordonnévia la relation ≤ est un treillis.