L�apprentissage � partir de graphes et autres donn�es by b898L2T

VIEWS: 8 PAGES: 33

									    L’apprentissage à partir de
    graphes et autres données
           structurées
(« Classique » = données ensemblistes = données « non
                     structurées »)

                 frederic.pennerath
                @supelec.fr & @loria.fr
                    Plan
1. Les données structurées
2. Le problème de la fouille de graphes
3. Les travaux existants
  A. Les pattern structures
  B. Le graph-based data mining. Exemple de
     gSpan.
4. Vers une plateforme d’apprentissage de
   graphes.
              Partie I :
       les données structurées


  pour qui les méthodes d’apprentissage
symbolique ensembliste ne s’appliquent plus
               La fouille de réactions chimiques
•       Nombreuses bases de réactions stockées sous forme développée




•       Comment exploiter ces données ?
    –     Organisation grossière : familles de réactions triées par similarité …
                 Exemple : réactions créant un groupe carbonyle
    –     Organisation fine : schémas génériques de réactions, conditions (T,P,
          …)
                      2
                          O                                  O
                                   +                                            +     2
                  R       C   OH         R’       OH    R    C       O   R’         H 2O
                                              1                  1

    –     Prédiction d’une réaction : espace des versions, fouille de motifs
          fréquents 2 O                            O
                                   +                                            +    2
                CH3   C       OH       C2H5       OH   CH3   C       O   C2H5       H 2O
                                              1                  1

•       Réponse : apprentissage, fouille de données, FCA, …
    –     Objets : réactions chimiques
    –     Mais quelle description, quels attributs ?
     1ère approche : réduction au cas classique

•    Thèse de Sandra Berasaluce
       •   An Experiment on Knowledge Discovery in Chemical
           Databases, Berasaluce Laurenço Napoli & Niels 2004
•    Principe
    1. Identification de groupes fonctionnels




                 aryl                              aryl      ester
    hémiacétal          alcène   +   anhydride
                                                 carbonyle   alcène
       1ère approche : réduction au cas classique


  2.     Décompte des groupes détruits, stables et créés.

                Blocs détruits           Blocs créés        Blocs stables
            anhydride   hémiacétal   carbonyle    ester   alcène       aryl
  Sans
correspon                                                         
 dance
  Avec
correspon                                                          
 dance
                                                                    
  3.    Utilisation de méthodes applicables à des données non
        structurées

  Exemple : règles d’association
      anhydride + hémiacétal + alcène → ester + alcène
              Limitation de la 1ère approche

•    Problème du choix des groupes
    – Groupes trop petits → projection sur la formule brute
      → tout est stable → on apprend le principe de
      Lavoisier !
    – Groupes trop grands → tout est instable → on
      apprend rien !
    → Projection à un niveau intermédiaire = connaissance
      apriori

•    Perte de l’information topologique :
    –   L’espace de projection est un ensemble de groupes
        fonctionnels où tous les éléments permutent …
    –   Espace des versions vite contradictoire !
                 Autres exemples de données «
                  naturellement » structurées

•       Graphes
    –     Toxicité des molécules
         •   Toxicology analysis by means of JSM-Methods, Kuznetsov 2001
    –     Réseaux de relations (sociales, d’écosystème …)
    –     Représentation des connaissances : documents RDF, …
•       Cartes
    –     Configuration spatiale
    –     Image
•       Arbres
    –     Documents semi structurés (balise XML)
•       Séquences
    –     Scénarii & journaux d’événements
    –     Génome
                    Conclusion : une 2ère approche ?

•       Bilan de la 1ère approche « non structurée »:
    +       Couvre la majorité des cas en pratique
    +       Passage des attributs multi-valués à des attributs mono-valués par le
            truchement de treillis
    ―       Nécessite des connaissances a priori
    ―       Pas de descriptions récursives (arbres de description) et encore moins
            cycliques (graphes).
        i.e. les individus ne peuvent être décrits en terme des relations qu’ils ont entre eux.

•       Espoir d’une 2ème approche « structurée » exprimant les notions de:
    •       Voisinage (topologie discrète)
    •       Cardinalité (valence)
    •       Asymétrie (séquences)
    •       Récursivité (arbres)
    •       Cyclicité (graphes)
    •       Qui peut le plus peut le moins :
                           séquences  arbres  cartes  graphes

         NB: rapprochement – simpliste - avec les modèles de représentation des
                         connaissances (logique de description).
        Partie II :
le problème de la fouille
      de graphes
              ou
une définition et des difficultés
                       Une définition du problème

•       Modélisation des données
    –      Graphes étiquetés : Gi(V,E,lv,le)
    –      Treillis des étiquettes (Lv,v,v), (Le,e,e)
•       Objectif : isoler le ou les sous-structures caractéristiques   v
    –      discriminantes (version space, arbre de décision,…)
    –      ou récurrentes (règles d’association).
•       Relation d’ordre partielle de subsomption :
    –      Sous structure = sous graphe,
    –      Restrictions éventuelles :                                  v
          •    Maximaux, fermés
                                                                       e
          •    Connectés, induits, …
          •    Arbres ordonnés, enracinés …
•       Opérateur de généralisation (treillis ?)
                                                                       e
•       Hypothèse sous-jacente de l’apprentissage :

         Principe de localité : les hypothèses sont décrites par des
             disjonctions de sous-graphes étiquetés connectés
              1ère difficulté : l’isomorphisme de graphes
                                  3                    2



                   1     2
                                  4
                                      =   4    1
                                                       5



                                  5                    3

•       Difficulté fondamentale :
    –     Isomorphisme = permutation des sommets préservant les
          étiquettes et le voisinage
    –     Paradoxe :
          •   L’information contenue par un graphe s’exprime à un isomorphisme
              près (les atomes d’une molécule ne portent pas de numéros !)
          •   Au niveau des structures de données informatiques, nécessité d’une
              numérotation arbitraire des sommets d’un graphe (deux graphes
              isomorphes sont distincts, informatiquement parlant)
•       Notion de graphe canonique :
    –     Définition d’un ordre lexicographique (total)
    –     Sélection du graphe minimum dans une classe d’équivalence →
          algorithme simple et efficace pour le test d’isomorphisme
             2ème difficulté : les sous-graphes isomorphes

•       Notion centrale de l’apprentissage : ordre de
        subsomption
                                         M1  M2  g1  g2
                                                      3
                                              b
                                                      c
                                                            I↔1 I↔2 I↔3       I↔4
                             
                                     a            d   4

    I    A   II    B   III       1       2            e
                                                            A↔a      A↔b A↔c A↔c A↔d
                             ?
                                              f
                                                      5
                  v                                        II ↔ 2              II ↔ 2
                                     e
                                                          B ↔b B ↔e             B↔a

                                                               III ↔ 4          III ↔ 1


                  v                     e

•       Difficulté fondamentale :
    –     Recherche dans un espace d’état exponentiel → backtracking
    –     Problème NP complet
             3ème difficulté : les sous-graphes isomorphes
                          communs maximaux

•       Opération de généralisation (version space, FCA, …) :
    –     M1  M2  g1  g2 → Sous graphe isomorphe commun maximal
                                             v
                                                        e



                                             v         e




•       Difficulté ultime :
    –     Pas d’unicité du résultat !
    –     Complexité : au moins NP-complet
                   1ères conclusions :
        analogies avec les attributs mono-valués
       Notions                Cas non structuré                    Graphes


        Attribut              Symbole mono valué          Graphe étiqueté mono valué


Description d’individus    Ensemble d’attributs mono-           Graphe étiqueté
                                    valués

Egalité des descriptions   Egalité des ensembles O(m)     Isomorphisme des graphes de
                                                                  description
                                                            NP-complet ? (polynomial)
      Relation de                Sous ensemble               Sous graphe isomorphe
     subsomption                      O(m)                         NP-complet

 Plus petit subsumant             Intersection          Sous graphes isomorphes communs
       commun                         O(m)                       maximaux (MCS)
                                                                  EXP-SPACE ?
 Plus grand subsumé                  Union                 Super graphes isomorphes
       commun                        O(m)                     communs minimaux
                                                                 EXP-SPACE ?
         Partie III :
  les travaux existants


A. Les pattern structures
B. Le graph-based data-mining
  Une représentation structurée de l’apprentissage
    symbolique de données « non structurées »
                                  Supervisés                           Non supervisés


  Stratégies
 d’extraction   Version             Arbres de               Réseaux           Règles
     de la      space               décision               bayésiens       d’association
connaissance



                      Représentation des                      Complexité des algorithmes :
    Axes               connaissances :                               en temps & espace

d’évaluation    qualité (taux de prédiction), concision,
                   robustesse, pouvoir sémantique




                Treillis de Galois (FCA), inférence             Structures de données (trie),
   Outils        logique, théorie des probabilité              théorie des ensembles, SGBD,
 théoriques               et de l’information                  théorie des probabilités et de
                                                                        l’information
  Une représentation structurée de l’apprentissage
       symbolique de données « structurées »
                                  Supervisés                           Non supervisés


  Stratégies
 d’extraction   Version             Arbres de               Réseaux            Règles
     de la      space               décision               bayésiens        d’association
connaissance
                                                                               GBDM


                      Représentation des                      Complexité des algorithmes :
    Axes               connaissances :                               en temps & espace

d’évaluation    qualité (taux de prédiction), concision,
                   robustesse, pouvoir sémantique




                   Pattern structures, inférence               Structures de données (arbres
   Outils        logique, théorie des probabilité               d’énumérations), théorie des
 théoriques             et de l’information                    graphes, CSP, SGB objets et de
                                                              graphes, théorie des probabilités
                   Pattern structures                                et de l’information
            Partie III.A :
       les pattern structures

                    ou
une intégration dans l’analyse de concepts
                  formels
               Les pattern structures et la FCA

•    Extension de la FCA aux graphes :
        Pattern Structures and Their Projections, Ganter & Kuznetsov,
        2001
        Hypotheses and version space, Ganter & Kuznetsov, 2003

•     Construction rigoureuse d’un treillis de Galois ((, G,I), , ) à
      partir de graphes étiquetés G :
    –   Objet o  , description (o)  G
    –   attributs = tous les sous-graphes étiquetés de (o)
    –   Intensions  des concepts C = idéaux :
                        g  (C) & g’  g  g’  (C)
    –   Idéal (C)  ensemble de ses graphes maximaux
    –   Définition de (,  ,) :
        • ( C1  C2)=(C1) (C2)
        • ( C1  C2)= ((C1)  (C2))’=  (o,(o)) pour o  (C1) 
             (C2)
    –   Pas de concept top : treillis infini
                Les pattern structures : un exemple
                        Etape 1 : construction du contexte


    Attributs   a   b    c    d   e   f       g   h   i       j   k
                                                                      v

Objets
1
                     
                                                                      v
2

                                      
3
                                                                      e
                                                        
4

                                                                    e
Les pattern structures : un exemple
    Etape 2 : construction des concepts


                  /f


       4/e                /c


                /b                3/i


      1/ad             2/ghjk
         Les pattern structures : limitations pratiques

•       Pas de « calcul direct » :
    –     Le graphe d’un individu est remplacé par l’ensemble de ses
          sous-graphes :
                         ((o)) =  {gi } pour gi  (o)
    –     Les concepts se déduisent de ces ensembles (idéaux) :
                         ( C1  C2)=(C1)  (C2)
    –     Les sous graphes maximaux sont extraits.
→ complexité en temps et espace garantie exponentielle
→ recours aux projections conformément au principe de
    localité :
    –     Restriction aux très petits sous-graphes :
                  ((o)) =  {gi } pour gi  (o) & taille(gi) 5
    –     Mais perte importante de l’information « topologique »
→ Apport essentiellement théorique
→ Orientation de la thèse sur le calcul direct et ses apports
Les pattern structures : exemple de projection
                                          v




                                           v



                                          e



                                           e
     Partie III.B :
le graph-based data
       mining
  et l’algorithme gSpan
    La communauté du Graph-based Data Mining
                    (GBDM)
•       Adaptation des algorithmes de recherche de motifs
        fréquents aux graphes
          State of the art of Graph-based Data Mining, Washio & Motoda , 2003


•       Principe récurrent :
    –     Arbre d’énumération (trie généralisé) de graphes canoniques
    –     Algorithme en 2 temps alternés :
          1. Génération de graphes candidats selon 3 principes :
          → La relation père fils de l’arbre d’énumération correspond à l’ajout d’une arête.
          → L’arbre ne génère que des graphes canoniques
          → Chaque graphe canonique est énuméré une et une seule fois
          → Elagage de l’arbre grâce à la monotonicité de la fréquence
          2. Parcours de la base et test g  (tid)


•       Différentes stratégies, différents codes canoniques :
    –     Apriori (parcours en largeur) :
          •   AGM, Inokuchi, Washio & Motoda, 2000
          •   FSG, Kuramochi & Karypis, 2001
    –     Parcours en profondeur :
          •   gSpan, Yan & Han, 2002
                    gSpan : code DFS et graphe canonique
                1                1                                                      1                3


                                                <        <        <
          5          2       5       2                                                      2                2
                                                                                    5                4
                3                3
                                         ordre total sur les étiquettes                 3                5
      4              6   4           6                                         4                 6
                                                                                             6               1


     graphe initial                                                                         graphe canonique

1.   Parcours P en profondeur des sommets selon un arbre : ((1-5) (5-3) (3-6) (6-4) (6-2))
2.   A chaque nouveau sommet, on ordonne les arêtes arrière en fonction de l’indice de parcours du
     sommet d’arrivée,puis on suit l’arête avant suivante du parcours :
      ((1-5) (5-3) (3-6) (6-4) (4-5) (4-3) (6-2) (2-1) (2-3)) →
              code DFS(G,P) = ((1-2,V,J) (2-3,J,B) (3-4,B,J) (4-5,J,R) (5-2) (5-3) (4-6,J,J) (6-1) (6-3))
3.   Ordre lexicographique sur les arêtes (ordre de l’arête, ordre sur l’étiquette) puis sur le code DFS
     entier.
4.   Construction du code DFS minimal par élimination:
     (1,V),(2,J),(3,B),(4,R),(5,J),(6,J) → (2-6,J,J), (5-1,J,V) , (6-2,J,J)
     → ((2-6) (6-3,J,B)), ((6-2) (2-1,J,V))
     → ((6-2) (2-1) (1-5) (5-3) (3-6) (3-2) (3-4) (4-6) (4-5))
5.   Construction du graphe canonique
6.   Test d’isomorphisme = test d’égalité entre graphes canoniques (O(n+m))
                         gSpan : arbre d’énumération
                          1



                                                                  <               <   <
                          1                               ordre total sur les étiquettes
                          2



                     1        1
                     2        2       3                       1

                     3                                                3       4
                                                      2



                     1
                                                                          1
                          3                   1
                 2
                                                          4                       3
                                                  3               2
                                          2
     1                                                                4
                              1

         3   4                    3   4
2                         2

    Non fréquent
         Partie IV :
   vers une plateforme
d’apprentissage à partir de
         graphes
              Vers une plateforme adaptée

•    Cahier des charges:
    –   Opérations directes et optimisées sur les idéaux de
        graphes sans recours aux projections.
    –   Etiquettes dans un treillis.
    –   Gère de manière transparente les cas des arbres,
        séquences et cartes.
    –   Intégration dans le formalisme général de la FCA et
        des pattern structures.
    –   Validation : application aux bases de réactions
        chimiques
•    Projet similaire :
    –   Generic Pattern Mining via Data Mining Template
        Library, Zaki et al 2005
                 Choix d’implémentation


•    Choix du langage de programmation :
    –   Critères : nombreuses indirections mémoire, ramasse
        miette efficace, héritage objet, rapidité
    –   Candidats : LISP (concision du code (tout est liste !),
        ramasse miette, héritage puissant), Java (ramasse
        miette, large adoption, réutilisabilité, GUI), C++
        (rapidité)
•    Problème du stockage :
    –   Couplage avec une base de données objet ?
•    Problème de visualisation et d’interaction avec
     l’utilisateur …
                  Conclusion
• Un défi :
  –   Par sa complexité
      • au sens propre,
      • comme au sens algorithmique → risque !
• Un point de départ :
  –   Elargir les possibilités de requête/résultat
      (transitivité, composition …) → modularité du
      code, langage, logique (ILP), …
Merci

								
To top