Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
853,87 KB
Nội dung
m´emoire de fin d’´etudes Extraction de sous-trajectoires d’abeilles Rédigé par : NGUYEN Van Tho Promotion 17 - IFI Encadrant : Karell BERTET La Rochelle, Avril – Octobre, 2014 Ce stage a été réalisé au Laboratoire Informatique, Image et Interaction L3i et a été financé par la région Poitou-Charentes TIEU LUAN MOI download : skknchat@gmail.com Remerciements Je tiens tout d’abord remercier Madame Karell Bertet, responsable de mon stage pour le temps qu’elle m’a consacré durant ce stage, ses conseils précieux pendant mois de mon stage Je tiens remercier également les professeurs et les personnels de l’Institut de la Francophonie pour l’Informatique, des professeurs invités de m’avoir donné des cours de haut qualité et pour leur soutien tout au long de mes études Je tiens remercier Monsieur Bruno Lescalier pour le fournissement de données Mes remerciements vont aussi aux ma femme, ma famille et mes amis pour leur encouragement i TIEU LUAN MOI download : skknchat@gmail.com Résumé L’objectif de ce stage est de rechercher les sous-trajectoires maximales fréquentes d’abeilles L’Analyse Formelle de Concepts (AFC) est souvent utilisée pour analyser les données décrivant la relation entre un ensemble d’objets et d’un ensemble d’attributs Les fondements mathématiques derrières l’AFC, le treillis de Galois et le système de fermeture permettent d’en étendre le cadre applicatif des descriptions plus sophistiquées, telles que les séquences Dans ce stage nous présentons une méthode d’analyse formelle de concepts séquentiels ; une extension de l’AFC et la recherche de concepts pertinents en utilisant les treillis de Galois Elle consiste d’abord discrétiser les trajectoires d’abeilles en séquences Et puis, calculer le treillis de Galois du contexte séquentiel (une extension du contexte formel) qui consiste rechercher les sous-séquences communes maximales l’ensemble de séquences Des expérimentations et de nombreuses évaluations ont été effectués pour valider la faisabilité de l’approche et illustrent la possibilité d’une application des méthodes d’apprentissage supervisé ou non-supervisé Mots-clés treillis de Galois, analyse formelle de concepts, trajectoire,données séquentielles, fouille de données Abstract The aim of this thesis is to mine the frequent closed sub-trajectories of bees The Formal Concept Analysis (FCA) is often used to analyze the data describing the relationship between a set of objects and a set of attributes The mathematical foundation behind the FCA, the Galois lattice and closure system allow to extend the application of FCA to more sophisticated data descriptions, such as sequence In this work, we present a formal analysis of sequential concepts; an extension of the FCA and its application for mining relevant concepts Firstly, we discretize the trajectories of bees to sequences Then, we construct the Galois lattice of sequential context (an extension of the formal context) which consists of searching the maximum common sub-sequences of a set of sequences Experiments were conducted to validate the feasible of the proposed approach, as well as illustrate the possibility of applying the supervised or unsupervised learning methods Keywords Galois lattices, formal concept analysis, trajectory, sequential data, data mining ii TIEU LUAN MOI download : skknchat@gmail.com Table des matières Page Introduction 1.1 Contexte 1.2 Problématique 1.3 Principales contributions 1.4 Organisation du mémoire État de l’art 2.1 Analyse formelle de concepts 2.1.1 Contexte formel 2.1.2 Structure de treillis 2.1.3 Calcul du treillis 2.2 Recherche des motifs séquentiels 2.2.1 Préliminaires 2.2.2 Recherche des motifs séquentiels maximaux 2.2.3 Recherche des motifs séquentiels fermés 2.3 Arbre des suffixes généralisés 2.3.1 Définitions 2.3.2 Construction de arbre des suffixes généralisés 2.3.3 Arbre des suffixes généralisés (GST) 2.4 Recherche des sous-séquences communes maximales 2.4.1 Définitions 2.4.2 Calcul de U(v) pour chaque noeud interne v 2.4.3 Algorithme pour calculer lca(x,y) Analyse formelle de concepts séquentiels 3.1 Treillis de Galois des contextes séquentiels 3.1.1 Définitions 3.1.2 Treillis de Galois des séquences 3.1.3 Calcul de treillis de Galois de contexte séquentiel 3.1.4 Recherche des concepts pertinents 1 4 8 10 10 11 11 12 14 15 15 16 17 24 24 24 26 27 29 iii TIEU LUAN MOI download : skknchat@gmail.com Application aux trajectoires d’abeilles 4.1 Discrétisation des trajectoires d’abeilles 4.1.1 Discrétisation selon la vitesse 4.1.2 Discrétisation selon la direction 4.2 Expérimentations 31 31 31 33 34 Conclusion et perspectives 5.1 Conclusion 5.2 Perspectives 38 38 38 iv TIEU LUAN MOI download : skknchat@gmail.com List of Figures 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 3.2 3.3 3.4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Le treillis des concepts du contexte formel 2.1 Arbre des suffixes de la chne xabxac [Gus97] Arbre des suffixes et arbre des suffixes implicites de la séquence xabxa Arbre des suffixes généralisés de "xabxa" et "babxba"[Gus97], le premier nombre indique la séquence, le deuxième nombre indique la position du commencement du suffixe Les feuilles en rectangle ayant identifieur i, les nœuds en cercle sont lcas des feuilles de Γi [Gus97] Les nombres de chemin d’un arbre binaire entier de 15 noeuds Les partitions des noeuds 11 14 Contexte séquentiel et treillis de Galois Treillis de concepts du contexte de table 3.1 Intégration de méthode proposée la bibliothèque java-lattices : Le diagramme de paquetages avec principales classes Les bordures et les concepts pertinents avec min_sup = 30% et min_long=3 26 26 Un vecteur vitesse avec ses trois composants Un exemple de trajectoires en 3D et un exemple de contexte séquentiel des vitesses Angle entre deux vecteurs créés par trois points d’une fenêtre Nombre des concepts pertinents et nombre total de concepts avec une taille de fenêtre de Ratio entre le nombre de concepts pertinents et le nombre total de concepts (pour des séquences de vitesse) Ratio entre le nombre de concepts pertinents et le nombre total de concepts (pour des séquences de direction) Treillis des concepts des séquences de direction 32 14 17 21 22 29 30 33 33 35 36 36 37 v TIEU LUAN MOI download : skknchat@gmail.com List of Tables 2.1 2.2 2.3 2.4 La table binaire décrivant la relation I du contexte (O, S , I) Un exemple de concept formel Base de données transactionnelles des clients Version séquentielle de la base de données 9 3.1 Un exemple de contexte séquentiel 25 4.1 4.2 4.3 Correspondant entre les vitesses et les codes Correspondance entre les directions et les codes Un exemple de contexte séquentiel des directions 32 34 34 vi TIEU LUAN MOI download : skknchat@gmail.com Chapter Introduction 1.1 Contexte L’abeille est une espèce bio-indicatrice (ou dite "sentinelle de l’environnement") Depuis plusieurs années nous sommes forcés de constater que le cheptel mondial des abeilles est en déclin L’équipe du projet APIALERTE du laboratoire L3i s’est rendu dans les ruchers du domaine du Magneraud plusieurs reprises pour capturer des vidéos de l’activité des d’abeilles devant la ruche Les travaux réalisés dans le cadre de la thèse de Guillaume Chiron permettent de suivre individuellement en 3D chaque abeille en vol devant la ruche, et ainsi extraire les trajectoires des abeilles partir d’une carte de profondeur L’idée de ce stage est d’étudier la faisabilité des méthodes d’extraction de motifs séquentiels aux trajectoires des abeilles Ces méthodes ont pour objectif d’extraire les sous-séquences fréquentes dans un contexte supervisé ou non Ainsi, une telle extraction est envisageable partir de l’ensemble des trajectoires des abeilles pour en extraire les sous-séquences fréquentes, ou bien partir d’une base d’apprentissage de trajectoires préalablement catégorisées (abeilles normales ou anormales par exemple), permettant ainsi d’identifier ou de caractériser les sous-trajectoires fréquentes ou non fréquentes par catégorie 1.2 Problématique Alors que les premiers travaux d’extraction de motifs fréquents visaient calculer tous les sous-ensembles de motifs pour en extraire les plus pertinents [AS+94], de récentes méthodes issues de l’analyse formelle des concepts (AFC) reposent sur l’extraction de motifs fermés L’AFC, outil de représentation et d’extraction des connaissances sous http://l3i.univ-larochelle.fr/APIALERTE Laboratoire Informatique, Image et Interaction (L3i), Université de La Rochelle TIEU LUAN MOI download : skknchat@gmail.com forme de règles d’association ou de concepts, ainsi la possibilité de classification dans le cas supervisé et de segmentation dans le cas non supervisé Malgré des traitements souvent exponentiels, les fondements mathématiques de l’AFC, qui reposent sur la théorie des treillis [Bir67] et des fermetures, garantissent des algorithmes efficaces et souvent optimaux La plupart de ces algorithmes sont implémentés dans la bibliothèque java-lattices [Ber14] développée au laboratoire L3i où ce stage est réalisé L’AFC analyse les données décrit par la relation entre un ensemble d’objets et d’un ensemble d’attributs Alors que les objets sont classiquement décrits par des ensembles d’attributs, les propriétés d’un opérateur de fermeture permettent d’en étendre le cadre applicatif des descriptions plus sophistiquées, telles que les graphes [GK01], les intervalles [Pol98], les formules logiques [FR04], les séquences, et plus généralement aux patterns [Kuz01] Plus formellement, ces extensions sont rendues possibles par la mise en place d’un opérateur de fermeture dans l’espace de description considéré Dans le cas des séquences, il est nécessaire de définir un opérateur de fermeture qui correspond au calcul des sous-séquences communes maximales un ensemble de séquences Les objets sont alors décrits par des séquences, formant ainsi un contexte séquentiel partir duquel il est possible de générer le treillis de Galois de séquences L’objectif de ce stage est donc d’implémenter le calcul des sous-séquences communes maximales qui possède les propriétés d’un opérateur de fermeture Puis de l’intégrer au sein de la bibliothèque java-lattices par la mise en place d’un opérateur de fermeture sur les séquences, et d’un contexte séquentiel Des expérimentations seront menées sur des trajectoires d’abeilles qu’il s’agira de discrétiser en séquences 1.3 Principales contributions Le travail de ce stage présente les contributions suivantes : (1) Deux méthodes de discrétisation de discrétiser les trajectoires d’abeilles en séquences : discrétisation selon la vitesse et discrétisation selon la direction (2) Implémentation du calcul des sous-séquences communes, puis mise en place d’un contexte séquentiel, extension d’un contexte classique, avec les sous-séquences communes comme opérateur de fermeture La construction du treillis de Galois du contexte séquentiel est ainsi rendue possible en utilisant l’algorithme de Bordat [Bor86] ou l’algorithme Next Closure [Gan84] déjà implémentés au sein de la bibliothèque java-lattices (3) Expérimentations sur 20 trajectoires d’abeilles et accompagnées de quelques mesures d’évaluation Bien que l’apprentissage est non-traité dans le carde de ce projet, nos résultats montrent que l’apprentissage supervisé/non-supervisé sur les trajectoires sont faisables TIEU LUAN MOI download : skknchat@gmail.com 1.4 Organisation du mémoire Le mémoire est organisé de la manière suivante : Dans le chapitre 2, nous présentons un état de l’art sur l’analyse formelle de concepts (AFC) et la recherche de sous-séquences communes maximales Dans le chapitre 3, nous décrivons la méthode proposée, le treillis de Galois du contexte séquentiel et la recherche des concepts pertinents Le chapitre présente les expérimentations et ses résultats TIEU LUAN MOI download : skknchat@gmail.com 3.1.3 Calcul de treillis de Galois de contexte séquentiel Étant donné un contexte séquentiel, nous calculons le treillis de Galois correspondant en utilisant un algorithme existant et en utilisant un système de fermeture sur les objets du contexte séquentiel O, α ◦ β Parmi les algorithmes proposés (cf section 2.1.3), nous tiendrons l’algorithme de Bordat [Bor86] (cf algorithme 6) qui permet de calculer le treillis de Galois en construisant son digramme de Hasse Introduit dans le cas particulier où le système de fermeture est un contexte (O, I, (α, β)), cet algorithme génère récursivement partir du concept minimal les successeurs immédiats d’un concept (cf algorithme 7) dans le diagramme de Hasse L’algorithme de Bordat s’étend facilement un système de fermeture quelconque, les successeurs immédiats d’un fermé sont alors générés récursivement partir du fermé minimal ϕ(∅) où ϕ = α ◦ β (cf algorithmes 8, 9, 10) Nous pouvons étendre cet algorithme pour réduire le temps de calcul en ne calculant qu’une partie du treillis (pour un fermé donné, de ne générer que ses seuls successeurs immédiats, et pas le treillis dans sa globalité) Nous avons réalisé les algorithmes en java qui nous permet de les intégrer facilement au sein de la bibliothèque java − lattices [Ber14] qui est aussi implémenté en java La diagramme 3.3 représente l’architecture du système et comment les nouvelles classes sont intégrées au sein de la bibliothèque java − lattices Algorithm Bordat: bordat(C,ϕ) Entrée: un système de fermeture (S , ϕ) Sortie: Le diagramme de Hasse (F, ≺) du treillis de fermés de C 1: F = {ϕ(∅)} 2: for f ∈ F non encore marqué 3: succ = immediateSuccessor(C,F); 4: for x ∈ succ 5: f = f +x 6: if f f then 7: ajouter l’arc f ≺ f 8: end if 9: Marquer f 10: end for 11: end for 12: return (F, ≺) 27 TIEU LUAN MOI download : skknchat@gmail.com Algorithm Successeurs immédiats : immediateSuccessor(C,F) Entrée: un système de fermeture (S , ϕ), un fermé F Sortie: Les successeurs immédiats de F dans le treillis 1: Initialiser la famille Succ vide 2: for x ∈ X\F For s ∈ F 3: ajouter ϕ(x ⊕ s) dans S ucc 4: end for 5: return Les éléments minimaux de Succ selon ⊆ Algorithm Closure: closure(A) 1: return getExtent(getIntent(A)) Algorithm α: getIntent(A) Entrée: (O, S , I) : un contexte séquentiel, A ⊆ O Sortie: lcs : les sous-séquences communes maximales aux objets O 1: sequences ← ∅ 2: for o ∈ A 3: seq ← séquence associée objet o 4: sequences ← sequences ∪ seq 5: end for Calcul les sous-séquences communes maximales de sequences (cf algorithme 3) 6: lcs ← getLCS (sequences) 7: return lcs Algorithm 10 β: getExtent(B) Entrée: B : un ensemble des séquences, (O, S , I) : un contexte séquentiel Sortie: objects : les objets possédant les séquences B comme sous-séquence 1: ob jects ← ∅ 2: for ss ∈ B 3: ob jss ← ∅ 4: for s ∈ S ss est sous-séquence de s 5: if ss s then 6: o ← objet possedant la séquence s 7: ob js ← ob js ∪ o 8: end if 9: end for 10: ob jects ← ob jects ∩ ob js 11: end for 12: return ob jects 28 TIEU LUAN MOI download : skknchat@gmail.com package class diagram Java-lattices Sequence ClosureSystem ContextSequence Sequence Context GeneralizedSuffixTree LowestCommonAncestor ConceptLattices CompleteBinaryTree Figure 3.3 – Intégration de méthode proposée la bibliothèque java-lattices : Le diagramme de paquetages avec principales classes 3.1.4 Recherche des concepts pertinents La notion de concept pertinent est une extension la notion de concept fréquent qui est défini similaire au motif fréquent (cf définition 2.2.4) La notion "support" est aussi définie similaire celle de motif fréquent (cf définition 2.2.3), Soit K = (O, S , I) un contexte séquentiel, nous définissons pour un concept séquentiel (C = A, B) : Définition 3.1.3 (Support) Le support de C est son nombre d’objets |A| supp(C) = |O| Définition 3.1.4 C est dit fréquent par rapport un seuil min_sup si supp(C) est égal ou supérieur min_sup Définition 3.1.5 C est dit pertinent si : • C est un concept fréquent • et la longueur maximale de B est égale ou supérieure un seuil min_long où la longueur maximale est la longueur de la plus grande des séquences de B La pertinence ainsi définie est monotone, et ainsi permet de définir deux bordures (tous les concepts étant entre ces deux bordure sont pertinents, et les autres ne le sont pas) car elle possède les propriétés suivantes : 29 TIEU LUAN MOI download : skknchat@gmail.com Propriété 3.1.1 Tout sous-concept d’un concept fréquent est un concept fréquent Propriété 3.1.2 Soit (A, B) un concept avec la longueur maximale de B est égale ou supérieure min_long, tout super-concept de (A, B) a la longueur maximale égale ou supérieure min_long Exemple 3.1.3 Dans le treillis 3.4, la bordure définie par la propriété 3.1.1 est en rouge, la bordure définie par la propriété 3.1.2 est en vert Ces deux bordures définissent une frontière pour les concepts pertinents Tous les concepts situés entre ces bordures sont pertinents Le concept ({3, 5}, { f f f f tt, f ttt, n f, tt f }) est un concept pertinent car son support est 0.4 et sa longueur maximale est Le concept ({3}, {n f f f f tt f t f tttt}) n’est pas pertinent car son support est inférieur que le min_sup= 0.3 Le concept ({1, 3, 5}, { f f, n f }) n’est pas pertinent car son sa longueur maximale est ; inférieure que la min_long= Figure 3.4 – Les bordures et les concepts pertinents avec min_sup = 30% et min_long=3 30 TIEU LUAN MOI download : skknchat@gmail.com Chapter Application aux trajectoires d’abeilles Dans ce chapitre, nous présentons une application de l’extraction de sous-séquences pertinentes aux trajectoires d’abeilles Pour cela, les trajectoires doivent être discrétisées en séquences, puis intégrées au sein du contexte séquentiel que nous avons implémenté Il est alors possible d’utiliser les algorithmes de génération des concepts séquentiels intégrés au sein de la bibliothèque java-lattices pour extraire les sous-séquences pertinentes des trajectoires d’abeilles L’objectif ici est seulement de valider la faisabilité de l’approche, et non de mener une étude poussée d’analyse du comportements des abeilles C’est pourquoi nous nous sommes limités 20 trajectoires d’abeilles et quelques expérimentations combinatoires 4.1 Discrétisation des trajectoires d’abeilles Les données utilisées dans nos expérimentations sont les données de trajectoires d’abeilles en coordonnée 3D La discrétisation de trajectoires consiste traduire ces trajectoires en des séquences selon certains comportements Dans nos expérimentations, ces comportements sont la vitesse d’abeilles et les directions de vols d’abeilles Les données consistent en 20 trajectoires d’abeilles Les séquences correspondant ces trajectoires ont une cardinalité entre et 30, ajustable selon le nombre de points de la trajectoire associé chaque élément de la séquence, paramètre appelé "taille de la fenêtre" 4.1.1 Discrétisation selon la vitesse La discrétisation selon la vitesse consiste traduire les vitesses des abeilles dans l’espace 3D en séquences de caractères Un caractère d’une séquence corresponde la vitesse moyenne d’une abeille dans une fenêtre La vitesse d’une abeille dans l’espace 3D se consiste de composants : vitesse en x, vitesse en y et vitesse en z La figure 4.1 représente un exemple de la vitesse en 3D La magnitude se calcule par les trois 31 TIEU LUAN MOI download : skknchat@gmail.com composants : v= v2x + v2y + v2z (4.1) y vy vx v z x z Figure 4.1 – Un vecteur vitesse avec ses trois composants La vitesse moyenne v¯w d’une fenêtre w de taille n contenant n points p1 , p2 , · · · , pn est calculée par le formule 4.2 n vp v¯w = i=1 i (4.2) n Où : v pi est la vitesse de l’abeille au point pi Une fois les vitesses calculées, des seuils permettent de les traduire en séquence (cf table 4.1) Vitesse 10 Signification Très lent Lent Normal Rapide Très rapide Code l s n f t Table 4.1 – Correspondant entre les vitesses et les codes 32 TIEU LUAN MOI download : skknchat@gmail.com Trajectoire id 650 600 550 500 450 400 350 300 200 150 Séquence sffffnnftfnnsnnssssssss nttttnnnffttfnnnnnnssssss sffftfffftttfftftttttttt lllllllllllstfnsssss llssssffttttttffffffttttt 400 100 300 50 200 100 -50 -100 -100 -150 -200 Figure 4.2 – Un exemple de trajectoires en 3D et un exemple de contexte séquentiel des vitesses 4.1.2 Discrétisation selon la direction La discrétisation selon la direction consiste traduire les trajectoires en des séquences de comportements (direction du vol) d’abeilles Ces comportements sont projetés en 2D sur les plans Oxy, Oyz, Oxz Sur chaque plan, nous distinguons deux comportements : tout droit et virage Pour déterminer ces comportements, une fenêtre contenant points de coordonnées est utilisée La figure 4.3 représente la sous-trajectoire projetée en Oxy d’une abeille avec trois points a, b, c (une fenêtre) L’abeille vole de a b puis c L’angle α entre deux vecteur ba et bc peut nous aider de déterminer si l’abeille vole tout droit ou virage Il se calcule grâce au produit scalaire de ces deux vecteurs Le comportement d’une abeille correspond alors la direction de la trajectoire selon les trois plans La table 4.2 représente les comportements de l’abeille α = arccos( ba.bc ) ba bc (4.3) b α c a Figure 4.3 – Angle entre deux vecteurs créés par trois points d’une fenêtre 33 TIEU LUAN MOI download : skknchat@gmail.com Oxy tout droit tout droit tout droit tout droit virage virage virage virage Oyz tout droit tout droit virage virage tout droit tout droit virage virage Oxz tout droit virage tout droit virage tout droit virage tout droit virage Code a b c d e f g h Table 4.2 – Correspondance entre les directions et les codes Trajectoire id Séquence dhabddbbfdgghfhhhhhdgef gcbcdhfgcgccehhfhdfhadghd edaaagffccbaacaadaaaccgc hhcfhfhfhchhaddghgdf hhhhhhabaaaacdgchdbhgaaaa Table 4.3 – Un exemple de contexte séquentiel des directions 4.2 Expérimentations Nous avons expérimenté les données de trajectoires d’abeilles avec différentes valeurs de taille de fenêtre de la discrétisation La discrétisation selon la vitesse a été réalisée avec la taille de fenêtre de de Dans le cas de la discrétisation selon la direction, nous avons fixé la taille de fenêtre Nos expérimentations sont relatives au nombre de trajectoires considérées ({5,7,10,15,20}) Pour chaque expérimentation, nous mesurons le nombre total de concepts, le nombre de concepts pertinents et le ratio entre ces deux nombres La figure Figure 4.4 montre que le nombre total de concept du treillis et le nombre de concepts pertinents augmentent assez vite par rapport au nombre de séquences dans le cas des séquences de vitesses Cependant ces deux mesures augmentent avec différents ratios Le cas des séquences de directions a une autre tendance Le nombre de concepts est presque égal au cas des vitesses alors que le nombre de concepts pertinents est beaucoup plus petit Nous nous intéressons donc au ratio entre le nombre de concepts pertinents et le total nombre de concepts (γ) La figure Figure 4.5 montre que dans le cas des 34 TIEU LUAN MOI download : skknchat@gmail.com 1400 nb concepts pertinents - vitesse nb concepts pertinents - direction nb concepts - vitesse Nombre de concepts 1200 nb concepts - direction 1000 800 600 400 200 10 15 Nombre de sequences 20 Figure 4.4 – Nombre des concepts pertinents et nombre total de concepts avec une taille de fenêtre de séquences de vitesses, le ratio est plus important quand le nombre de séquences est petit (5,7,10) Il est plus stable quand le nombre de séquences augmente (15,20) Nous constatons le même phénomène dans le cas des séquences de directions Cependant, dans ce cas, le ratio est beaucoup plus petit(cf Figure 4.6) Une valeur trop grande du ratio γ indique un sur-apprentissage (nous avons trop de concepts pertinents) alors qu’une valeur très basse correspond un sous-apprentissage Une valeur de γ comprise entre 0.1 et 0.2 semble donc appropriée En sélectionnant un bon rang de γ nous pouvons choisir la meilleure taille de fenêtre d’échantillonnage Dans le cas d’une discrétisation par vitesse, fenêtre de taille permet d’obtenir le meilleur ratio Nous constatons aussi que la méthode de discrétisation par direction que nous utilisons ne donne pas beaucoup d’informations puisque le ratio γ est trop petit (moins de 0.01 quand le nombre de séquences est supérieur 15) 35 TIEU LUAN MOI download : skknchat@gmail.com Ratio nombre de concepts pertinents/nombre de concepts 0.7 0.6 0.5 0.4 Fenetre=3 Fenetre=4 0.3 0.2 Fenetre=5 Fenetre=6 Fenetre=7 0.1 0 10 Nombre de sequences 15 20 Ratio nombre de concepts pertinents/nombre de concepts Figure 4.5 – Ratio entre le nombre de concepts pertinents et le nombre total de concepts (pour des séquences de vitesse) 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 10 Nombre de sequences 15 20 Figure 4.6 – Ratio entre le nombre de concepts pertinents et le nombre total de concepts (pour des séquences de direction) 36 TIEU LUAN MOI download : skknchat@gmail.com La figure Figure 4.7 représente le treillis des concepts du contexte de séquences de direction 4.3 Les concepts pertinents extraits sont : • ({3,5}{aaac,baa,d,gc,hhhhh}) • ({2,3}{ad,cb,cc,cgc,e,f}) • ({4,5}{ch,dg,hg,hha}) • ({2,4}{c,df,dgh,had,hfh,hh}) • ({1,5}{db,dg,hab,hd,hhhhh}) • ({1,2}{b,dg,dh,e,gh,ha,hd,hfh,hh}) • ({1,4}{dd,dg,gh,ha,hfh,hh}) • ({1,2,4}[dg,gh,ha,hfh,hh}) Nous constatons que les abeilles {1,3,5} possèdent la sous-séquence "hhhhh" signifiant que ces abeilles tournent consécutivement fois dans les trois directions Les abeilles {2,4} possèdent de courtes sous-trajectoires communes Ces informations peuvent avoir une signification comportementale Par exemple, il serait intéressant de pouvoir associer le comportement "tourner fois consécutivement" un label de classe si les abeilles étaient classées (abeilles saines, malades, ) [] [dhabddbbfdgghfhhhhhdgef,edaaagffccbaacaadaaaccgc,gcbcdhfgcgccehhfhdfhadghd,hhcfhfhfhchhaddghgdf,hhhhhhabaaaacdgchdbhgaaaa] [3] [edaaagffccbaacaadaaaccgc] [3,5] [aaac,baa,d,gc,hhhhh] [2,3] [ad,cb,cc,cgc,e,f] [5] [hhhhhhabaaaacdgchdbhgaaaa] [2,5] [b,cd,dg,gc,ha,hd,hh] [2,3,5] [a,b,d,gc] [2] [gcbcdhfgcgccehhfhdfhadghd] [4,5] [ch,dg,hg,hha] [2,3,4] [ad,c,f,g] [2,3,4,5] [a,c,d,g] [2,4,5] [c,dg,ha,hh] [4] [hhcfhfhfhchhaddghgdf] [2,4] [c,df,dgh,had,hfh,hh] [1,2,3] [a,b,d,e,f,g] [1,2,3,5] [a,b,d,g] [1,2,3,4] [a,d,f,g] [1] [dhabddbbfdgghfhhhhhdgef] [1,5] [db,dg,hab,hd,hhhhh] [1,2,5] [b,dg,ha,hd,hh] [1,2] [b,dg,dh,e,gh,ha,hd,hfh,hh] [1,4] [dd,dg,gh,ha,hfh,hh] [1,2,4] [dg,gh,ha,hfh,hh] [1,2,4,5] [dg,ha,hh] [1,2,3,4,5] [a,d,g] Figure 4.7 – Treillis des concepts des séquences de direction 37 TIEU LUAN MOI download : skknchat@gmail.com Chapter Conclusion et perspectives 5.1 Conclusion Dans ce travail de stage, nous avons mis en place les outils nécessaires l’analyse de séquences de trajectoires, dans un objectif d’analyse de comportements La méthode proposée s’appuie sur les fondements mathématiques de l’Analyse Formelle de Concepts qui permet d’étendre la connexion de Galois des données non ensemblistes, et en particulier des séquences extension consiste définir un opérateur de fermeture sur les séquences partir de la relation d’ordre "sous-séquences" entre séquences Il est alors possible d’utiliser les algos classiques, et en particulier le calcul du treillis des concepts, pour générer le treillis des concepts de séquences et en extraire des concepts pertinents Ces concepts sont composés des sous-séquences communes et maximales un ensemble d’objets, éventuellement caractéristiques d’un comportement Des expérimentations ont été aussi réalisées sur des séquences des trajectoires d’abeilles non-classées pour valider l’approche Ces expérimentations nous permettent d’évaluer les paramètres du processus de discrétisation de données, et illustrent la possibilité d’une application des méthodes d’apprentissage supervisé ou non-supervisé Ainsi, nous avons identifié un concept pertinent associé au comportement "tourner fois consécutivement" 5.2 Perspectives Ce travail laisse envisager plusieurs perspectives pertinentes (1) Classification des séquences : De nombreuses méthodes de classification, supervisées ou non, sont envisageable pour extraire des comportements partir de séquences de trajectoires quelconques (abeilles, bateaux, ) 38 TIEU LUAN MOI download : skknchat@gmail.com (2) Exploitation de la bibliothèque java-lattices: la bibliothèque ne propose pas que la génération du treillis, mais de nombreux autres outils sont proposés Citons par exemple la possibilité de générer la demande certains concepts seulement pour limiter le coût de génération de la totalité du treillis Ou encore l’extraction de bases de règles d’association avec des sous-séquences en prémisse et en conclusion (3) Réduction de temps de calcul en générant qu’une partie du treillis 39 TIEU LUAN MOI download : skknchat@gmail.com Bibliography [AS95] Rakesh Agrawal and Ramakrishnan Srikant “Mining sequential patterns” In: Data Engineering, 1995 Proceedings of the Eleventh International Conference on IEEE 1995, pp 3–14 [AS+94] Rakesh Agrawal, Ramakrishnan Srikant, et al “Fast algorithms for mining association rules” In: Proc 20th int conf very large data bases, VLDB Vol 1215 1994, pp 487–499 [Agr+96] Rakesh Agrawal et al “Fast Discovery of Association Rules.” In: Advances in knowledge discovery and data mining 12.1 (1996), pp 307–328 [Ber14] Karell et al Bertet java-lattices: a Java library for lattices computation http://kbertet.github.io/java-lattices 2014 [Bir67] Garrett Birkhoff Lattice theory Vol 25 American Mathematical Soc., 1967 [Bor86] Jean-Paul Bordat “Calcul pratique du treillis de Galois d’une correspondance” In: Mathématiques et Sciences humaines 96 (1986), pp 31–47 [CR93] Claudio Carpineto and Giovanni Romano “GALOIS: An Order-Theoretic Approach to Conceptual Clustering.” In: ICML Vol 90 1993, pp 33–40 [Che69] Michel Chein “Algorithme de recherche des sous-matrices premieres d’une matrice” In: Bull Math Soc Sci Math RS Roumanie 13.61 (1969), pp 21– 25 [FR04] Sébastien Ferré and Olivier Ridoux “Introduction to logical information systems” In: Information Processing & Management 40.3 (2004), pp 383– 419 [Gan84] Bernhard Ganter Two basic algorithms in concept analysis FB4–Preprint 831 TH Darmstadt, 1984 [GK01] Bernhard Ganter and Sergei O Kuznetsov “Pattern structures and their projections” In: Conceptual Structures: Broadening the Base Springer, 2001, pp 129–142 40 TIEU LUAN MOI download : skknchat@gmail.com [GWW99] Bernhard Ganter, Rudolf Wille, and Rudolf Wille Formal concept analysis Vol 284 Springer Berlin, 1999 [GMA91] Robert Godin, Rokia Missaoui, and Hassan Alaoui “Learning algorithms using a Galois lattice structure” In: Tools for Artificial Intelligence, 1991 TAI’91., Third International Conference on IEEE 1991, pp 22–29 [Gus97] Dan Gusfield Algorithms on strings, trees and sequences: computer science and computational biology Cambridge University Press, 1997 [HT84] Dov Harel and Robert Endre Tarjan “Fast algorithms for finding nearest common ancestors” In: siam Journal on Computing 13.2 (1984), pp 338– 355 [Kuz01] SO Kuznetsov “Machine learning on the basis of formal concept analysis” In: Automation and Remote Control 62.10 (2001), pp 1543–1564 [McC76] Edward M McCreight “A space-economical suffix tree construction algorithm” In: Journal of the ACM (JACM) 23.2 (1976), pp 262–272 [Nor78] Eugene M Norris “An algorithm for computing the maximal rectangles in a binary relation” In: Revue Roumaine de Mathématiques Pures et Appliquées 23.2 (1978), pp 243–250 [Pol98] Geraldine Polaillon “Organisation et interprétation par les treillis de Galois de données de type multivalué, intervalle ou histogramme” PhD thesis 1998 [SV88] Baruch Schieber and Uzi Vishkin “On finding lowest common ancestors: simplification and parallelization” In: SIAM Journal on Computing 17.6 (1988), pp 1253–1262 [Ukk95] Esko Ukkonen “On-line construction of suffix trees” In: Algorithmica 14.3 (1995), pp 249–260 [WH04] Jianyong Wang and Jiawei Han “BIDE: Efficient mining of frequent closed sequences” In: Data Engineering, 2004 Proceedings 20th International Conference on IEEE 2004, pp 79–90 [Wei73] Peter Weiner “Linear pattern matching algorithms” In: Switching and Automata Theory, 1973 SWAT’08 IEEE Conference Record of 14th Annual Symposium on IEEE 1973, pp 1–11 [Wil82] R Wille “Restructuring lattice theory: an approach based on hierarchies of concept [C] MRivalI, ed” In: Ordered Sets Reidel, Dordrecht, Bost on (1982) [YHA03] Xifeng Yan, Jiawei Han, and Ramin Afshar “CloSpan: Mining closed sequential patterns in large datasets” In: Proceedings of SIAM International Conference on Data Mining SIAM 2003, pp 166–177 41 TIEU LUAN MOI download : skknchat@gmail.com ... trajectoires des abeilles partir d’une carte de profondeur L’idée de ce stage est d’étudier la faisabilité des méthodes d? ?extraction de motifs séquentiels aux trajectoires des abeilles Ces méthodes ont... capturer des vidéos de l’activité des d’abeilles devant la ruche Les travaux réalisés dans le cadre de la thèse de Guillaume Chiron permettent de suivre individuellement en 3D chaque abeille en vol devant... nombre de concepts pertinents et le nombre total de concepts (pour des séquences de vitesse) Ratio entre le nombre de concepts pertinents et le nombre total de concepts (pour des