Apprentissage relationnel Apprentissage Data Mining ILP.

39
Apprentissage relationnel Apprentissage Data Mining ILP

Transcript of Apprentissage relationnel Apprentissage Data Mining ILP.

Page 1: Apprentissage relationnel Apprentissage Data Mining ILP.

Apprentissage relationnel

Apprentissage

Data Mining

ILP

Page 2: 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

Page 3: Apprentissage relationnel Apprentissage Data Mining ILP.

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.

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.

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.

ILP

Langagetermformulesubstitution

Model theoryInterpretationimplication logiqueinterpretation de Herbrand

Proof Theoryderivation deduction

Page 7: Apprentissage relationnel Apprentissage Data Mining ILP.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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.

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

Parcours

{}

Sexe=Homme

Sexe=Femme

Status:Celibataire

Sexe=hommeStatus=celibataire

Sexe=hommeStatus=Marié

Page 33: Apprentissage relationnel Apprentissage Data Mining ILP.

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.

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.

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.

Formal Concept Analysis

Page 37: Apprentissage relationnel Apprentissage Data Mining ILP.

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.

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.

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.