apprentissage relationnel apprentissage data mining ilp

Post on 03-Apr-2015

143 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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