apprentissage relationnel apprentissage data mining ilp
Post on 03-Apr-2015
131 Views
Preview:
TRANSCRIPT
Apprentissage relationnel
Apprentissage
Data Mining
ILP
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
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
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.
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)
ILP
Langagetermformulesubstitution
Model theoryInterpretationimplication logiqueinterpretation de Herbrand
Proof Theoryderivation deduction
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)
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 …..
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’
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)
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.
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
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)•
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
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
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)
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
(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)
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
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)
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.
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
(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)...
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}
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.
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)...
Lien entre ILP et KDD
Ce fait par principalement par:• limitation des langages utilisés• mise en place de contraintes statistiques
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)
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)
Gestion du parcours
QualitéTaille du groupeDistribution
RechercheTOP-DOWNBreadth-first
heuristiquesLIEN à 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=hommeStatus=celibataire
Sexe=hommeStatus=Marié
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
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
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
Formal Concept Analysis
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
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
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.
top related