REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE D’ORAN FACULTE DES SCIENCES DEPARTEMENT D’INFORMATIQUE MEMOIRE Présenté par : ABDICHE FETHI Pour obtenir LE DIPLOME DE MAGISTER Spécialité : Informatique Option : Informatique et automatique Intitulé : EXPLOITATION DES BASES DE DONNEES A REFERENCES SPATIALES POUR LA FOUILLE DE DONNEE : ADAPTATION ET EXPLOITATION DE LA MACHINE CELLULAIRE. Soutenu le : / / Devant le jury composé de : Pr. Beldjilali Bouziane Président (Professeur à l'Université d’Oran) Dr. Atmani Baghdad Rapporteur (Maître de conférences à l'Université d’Oran) Dr. Benamrane Nacera Examinatrice (Maître de conférences à l’USTMB d’Oran) Dr. Abdi Mustapha Kamel Examinateur (Maître de conférences à l'Université d’Oran) 2008/2009 Dédicace Je dédie ce travail A: Toi mon Dieu Tout Puissant, pour ton amour, ta grâce et ton assistance sans fin. Je lève mes yeux vers toi et le secours me vient oh Eternel qui a fait les cieux et la terre. Mon Dieu tu es un bouclier pour moi, tu es ma gloire, celui qui relève ma tête. Mes parents, parce qu'il est impossible de trouver des qualificatifs et de mots à la hauteur de l'amour et le soutien que vous m’avez toujours témoigné. A mes frères Hocine, Zakaria, Karim et ma soeur Wahida et, ma Grandmère Hadja Fatima, pour votre chère et solide affection. A mon directeur de thèse, Mr. ATMANI pour m’avoir orienté vers un sujet aussi intéressant et formateur, et son aide remarquable dans mon travail tout en me laissant un maximum de libertés et d'initiatives. A tous mes amis dont je ne saurais passer sous silence l'amour et l'affection qu'ils ne cessent de me faire preuve. A vous, qui êtes entrain de lire cette dédicace à cet instant-ci. ABDICHE Fethi Remerciement Grâce à Dieu, j’ai terminé ce travail qui a été jugé difficilement réalisable dans un tel délai, mais comme je viens de dire, c’est le Dieu tout Puissant qui m’a facilité la tâche, soit par la force morale qui a été forgée dans mon esprit au cours de ces dernières années, soit par m’avoir récompensé après une longue attente, par un thème d’actualité. Au seuil de ce travail, j’ai l'obligation morale d'exprimer nos sentiments de gratitude et de profonds remerciements à tous ceux qui m’ont apporté leur aide tout au long de mes études et pendant la réalisation de ce travail, notamment : Mon directeur de thèse, Mr B. ATMANI pour la confiance qu’il à eu en moi, son aide, ces remarques rigoureuses qui visaient le perfectionnement de ce travail, sa patience en corrigeant ce mémoire mot par mot, je le remercie aussi pour ces orientations vers de futures perspectives. J’adresse mes vifs remerciements au président de jury Mr B. BELDJILALI et les membres Melle N. BENAMRANE et Mr M.K ABDI pour leurs honorables présences. Je remercie aussi Mr Med. Ghézzene et Mr K. Kadaoui pour m’avoir facilité l’accès aux différents bureaux de la Direction de la Sureté d’Oran et m’avoir fournie les données nécessaires afin de pouvoir réaliser ce travail. J’aimerai également Remercier tous ceux qui ont eu la gentillesse de nous en consacré leurs temps, leurs savoir et leurs expériences : A tous ceux qui n'ont pas vu leurs noms cités et qui m’ont toujours comblés de leurs animations, sentiments, amours et amitiés ; qu'ils trouvent ici l'expression de ma profonde gratitude. Table des Matières Remerciement Dédicace Tables des matières Liste des Figures Liste des Tables Glossaire Introduction générale 1 Chapitre 1 : Fouille de données spatiales 1.1. Introduction 8 1.2. Définition 9 1.2.1. Les domaines d’applications de la fouille de données 1.2.1.1. La gestion de relation client 9 9 1.2.1.2. Les banques et attribution de crédits 10 1.2.1.3. La médecine et la biologie 10 1.2.1.4. Le world Wilde web 10 1.3 Extraction de la connaissance à partir des données à références spatiales 11 1.3.1. Définition de la fouille de données spatiales 11 1.3.2. Le processus de la fouille de données spatiales 11 1.3.2.1. L’identification du problème 13 1.3.2.2. La sélection des données 14 1.3.2.3. Le nettoyage des données 14 1.3.2.4. La transformation et réduction 14 1.3.2.5. La fouille de données 14 1.3.2.6. L’évaluation des résultats 15 1.4. Les outils de la fouille de données spatiales 1.4.1. Les méthodes à base de clustering des données spatiale 15 16 1.4.1.1. La méthode des K-moyennes 16 1.4.1.2 La méthode PAM (partitioning around medoïdes) 17 1.4.1.3 La méthode CLARA (Clustering LARge Applications) 19 1.4.1.4 La méthode CLARANS 20 1.4.2 La méthode STING 21 1.4.3. Les règles d’associations 23 1.4.4. Hiérarchies et généralisation 24 1.4.5. Classification supervisée par arbres de décisions spatiales 26 1.5 Conclusion 27 Chapitre 2 : Apprentissage Artificielle par Graphe d’Induction 2.1. Introduction 32 2.2. Notations 33 2.3. Exemple illustratif 34 2.4. Définitions et Principe 38 2.4.1. Critère de segmentation 38 2.5. Les méthodes à base de graphe d’induction 2.5.1. Les méthodes ID3 et C4.5 41 41 2.5.1.1. La méthode ID3 (Induction Decision Tree) 41 2.5.1.2. La méthode C4.5 48 2.5.2. La méthode CART (Classification and regression Trees) 49 2.5.3. La méthode SIPINA (Système Interactif pour les processus d'Interrogation Non Arborescents) 2.5.3.1. Passage de la partition 50 À 2.5.3.2. Algorithme SIPINA 2.6. Conclusion 51 55 56 Chapitre 3 : Classification spatiale Guidée par CASI 3.1. Introduction 59 3.2. Travaux connexes 59 3.3. Problématiques 60 3.4. Primitives des relations spatiales 62 3.4.1. Les relations de voisinage 63 3.4.1.1. Les relations topologiques 63 3.4.1.2. Les relations de distance 63 3.4.1.3. Les relations de direction 3.5. La classification spatiale 63 65 3.5.1. Algorithme 66 3.5.2. Automate cellulaire pour des systèmes d’inférence CASI 66 3.5.2.1. Exemple d’apprentissage symbolique à partir de données à références spatiales 66 3.5.2.2. Complexité théorique 87 3.6. Conclusion 88 Chapitre 4 : CGISS, un Système d'Information Géographique Cellulo-Symbolique 4.1. Introduction 93 4.2. Les Systèmes d’informations Géographiques 93 4.2.1. L’acquisition de l’information géographique 4.3. Les bases de données géographiques 4.3.1. Archivage de l’information géométrique 4.3.2. Unification de format de stockage des images vectorielles 94 96 96 96 4.4. Déroulement du processus d’extraction de connaissances à partir des données à références spatiales 97 4.4.1. Sélection et préparation des couches thématiques 98 4.4.2. Analyse spatiale et extraction des relations de voisinage 100 4.4.3. Conception et implémentation 104 4.5. Expérimentation 106 4.5.1. Construction d’un graphe d’induction 107 4.5.2. Génération des règles conjonctives 109 4.6. Conclusion 110 Conclusion générale 113 Liste des Figures Figure 1.1 : Processus d’extraction de connaissance à partir des données 13 Figure 1.2 : (a) configuration initiale, (b) les centres initiaux et affectation selon la distance minimale (c) recalcule des centre (d) nouvelle affectation des points 17 Figure 1.3 : Algorithme des K-moyennes 17 Figure 1.4 : L’algorithme PAM 18 Figure 1.5 : L’Algorithme CLARA 20 Figure 1.6 : L’Algorithme CLARANS 21 Figure 1.7 : Exemple d’une hiérarchie de gilles STING à trois niveaux 22 Figure 1.8 : L’Algorithme de STING 23 Figure 1.9 : Hiérarchie et généralisation de concepts de partitionnement des types de productions d’agriculture 25 Figure 1.10 : La méthode de généralisation spatiale 25 Figure 2.1 : Arbre de décision 36 Figure 2. 2 : Construction de , Figure 2.3 : Construction de , 46 Figure 2.4 : Construction de , 47 , , 44 Figure 2.5 : Sélection de la borne de discrétisation 49 Figure 2.6 : La partition courante 52 Figure 2.7 : Les partitions générées par le regroupement des pairs 52 Figure 2.8 : Regroupement-Éclatement du premier regroupement à l’aide de trois variables 53 Figure 2.9 : Regroupement-Éclatement du deuxième regroupement à l’aide de trois variables 53 Figure 2.10 : Regroupement-Éclatement du troisième regroupement à l’aide de trois variables 54 Figure 2.11 : Éclatement du premier sommet avec les trois variables 54 Figure 2.12 : Éclatement du premier sommet avec les trois variables 55 Figure 2.13 : Éclatement du premier sommet avec les trois variables 55 Figure 3.1 : L’analyse spatiale entre les différentes couches et construction de l’échantillon d’apprentissage 60 Figure 3.2 : Analyse spatiale utilisant la technique du Buffering 62 Figure 3.3 : Les Régions pollués au tour d’une zone industrielle 63 Figure 3.4 : Les relations topologiques et de distance 64 Figure 3.5 : Arbre de décision spatial [Che, 02] 65 Figure 3.6 : Voisinage des objets spatiaux par rapport au lieu d’impact 67 Figure 3.7 : Diagramme général de notre système cellulaire CASI 70 Figure 3.8 : Construction de Figure 3.9 : Les partitions , , , . 72 , , …. 72 Figure 3.10 : (a) Base de connaissance, (b) Configuration initiale de l’automate cellulaire 75 Figure 3.11 : Les matrices d’incidence d’entrée RE et de sortie RS de l’automate 76 Figure 3.12 : Automate cellulaire pour des systèmes d’inférence 77 Figure 3.13 : Différents modes du chaînage avant 78 Figure 3.14 : Configuration abstenue après exécution de 79 Figure 3.15 : configuration = ∆( Figure 3.16 : Configuration finale ) obtenue après exécution de ( ) et ( obtenue après deux itérations synchrones ) 79 80 Figure 3.17 : Initialisation de l’automate cellulaire 82 Figure 3.18 : Génération des règles conjonctives 84 Figure 3.19 : Base de connaissances du graphe d’induction de la figure 3.9 86 Figure 3.20 : Validation de 87 par l’automate cellulaire Figure 4.1 : Le découpage administratif de la ville d’Oran : Carte vectorielle 94 Figure 4.2 : Vue satellitaire de la ville d’Oran : Image en raster 95 Figure 4.3 : Superposition des couches indépendantes 95 Figure 4.4 : La structure d’une image vectorielle sous MapInfo 95 Figure 4.5 : Processus d’extraction des règles à partir de la base de données à références spatiales 95 Figure 4.6 : Conversion des couches thématique vers le format MapInfo 99 Figure 4.7 : Connexion MapInfo à la Base de données Oracle 100 Figure 4.8 : Affichage des couches thématique candidates 101 Figure 4.9 : Sélection des couches thématique candidates 102 Figure 4.10 : Echantillon d’apprentissage suite à l’analyse de voisinage 102 Figure 4.11 : Approche cellulaire pour la fouille de données spatiales 103 Figure 4.12 : Cellular Geographic Information System for Spatial datamining (CGISS) 105 Figure 4.13 : Construction de l’arbre de décision par IGSS 108 Figure 4.14 : Génération des règles conjonctives par l’IGSS 109 Liste des Tables Table 1.1 Résumé des symboles et leurs définitions 19 Table 2.1 Un échantillon d’apprentissage 34 Table 2.2 Les attributs prédictifs, valeurs et significations 35 Table 2.3 Tableau de contingence 39 Table 3.1 Un exemple d’échantillon d’apprentissage 68 Table 3.2 attributs prédictifs, valeurs et significations 69 Table 3.3 Codage de l’échantillon d’apprentissage 71 Table 3.4 Exemple d’un échantillon test 86 Glossaire ADN : Acide désoxyribonucléique. API : Application programming interface. CASI : Automate cellulaire pour des systèmes d’inférence. CART : Classification and regression Trees. CIE : Cellular Inference Engine : Moteur d’inférence cellulaire. CGISS : Cellular Geographic Information System for Spatial datamining. CLARA : Clustering LARge Applications. CLARANS : Clustering Large Applications based on RANdomized Search. COG : Graphe cellulaire Optimisé. CV : Validation par automate cellulaire. ECD : Extraction des connaissances à partir des données. ECDRS : Extraction de Connaissances à partir des Données à Références Spatiales. FDS : fouille de données spatiales. GML : Geography Markup Language. ID3 : Induction Decision Tree. IGSS : Inductive Graph Symbolic system. JVM : Java Virtual Machine. J2SE : Java 2 Platform, Standard Edition. J2EE : Java 2 Platform, Entreprise Edition. PDA : Personal Digital Assistant. PAM : Partitioning around médoïdes. SIGFDS : Systèmes d’Informations Géographiques pour la Fouille de Données Spatiales. SIG : Systèmes d'informations géographiques. SIPINA : Système Interactif pour les processus d'Interrogation Non Arborescents. STING : Statistical Information Grid. SGBDR : Système de Gestion de Base de Données Relationnelle. SQL : Structured Query Language. TDIDT : Top Down Induction of Decision Trees. URBOR : Centre d'Etudes et de Réalisation en Urbanisme Oran. XML : Extensible Markup Language. Introduction Générale 1. INTRODUCTION Aujourd'hui, le Mégaoctet est l'unité pour la mémoire vive et nous produisons des machines stockant plusieurs Petaoctets (des millions de milliards d'octets). Ce besoin de stockage est justifié et il est indispensable. En effet, depuis quelques années une quantité croissante de données est générée de toute part par des organismes médicaux, industriels, commerciaux, etc... Cet écoulement continue et croissant d’informations peut maintenant être stocké et préparé à l’étude grâce aux nouvelles techniques d’Entrepôt de Données (ou Data Wharehouse). Les fournisseurs de la téléphonie, par exemple, gardent au moins un an les positions géographiques et les consommations de leurs abonnés. Les grands magasins et les entreprises de vente par correspondance (VPC) conservent les achats de leurs clients, collectent des informations sur leurs clients grâce à des systèmes de cartes de fidélité [Tom, 00] Les sites web conservent des traces de connexions sur leurs sites marchands. En résumé, les entreprises en secteur très concurrentiel conservent les données de leurs activités et achètent même des données. Les motifs qui ont présidé à la conservation de ces données étaient : des obligations légales pour pouvoir justifier les facturations, des raisons de sécurité pour pouvoir détecter les fraudes, des motifs commerciaux pour suivre l'évolution des clients et des marchés. Quelle que soit la raison initiale, les entreprises se sont rendues compte que ces données pouvaient être une source d'informations à leurs services [Tom, 00]. Ce constat, valable pour les sociétés du secteur marchand, peut être étendu à de nombreux domaines et services. Il faut donc définir des environnements permettant de mémoriser de grands jeux de données et d'en extraire de l'information. La complexité et la taille de ces bases de données dépasse la capacité humaine d’analyse. Delà, la nécessité est apparue de développer et appliquer des outils pour extraire des informations utiles. Ces derniers, sont reconnus comme un moyen très efficace d’analyse avancée de données, permettant d’extraire des connaissances cachées depuis de grandes masses de données pour des applications décisionnelles. Les techniques d’extraction de la connaissance (ECD) sont utilisées dans le monde professionnel pour l’aide à la décision dans différents domaines d’applications, allant de la gestion de relation client à la maintenance préventive, en passant par la détection des fraudes ou encore l'optimisation dans les sites Web. L’extraction de la connaissance pour certaines applications est limitée car elle ne prend pas en considération l’environnement géographique. En effet, la donnée géographique désigne 1 Introduction Générale toute information sur des objets ou des phénomènes (appelés entités géographiques) localisables à la surface de la terre, ce qui explique la naissance des Systèmes d'Informations Géographiques (SIG). On cite souvent comme première application des SIG l'étude menée avec succès par le docteur John Snow pendant l'épidémie de choléra dans le quartier de Soho à Londres en 1854 : ayant représenté sur un plan la localisation des malades et l'endroit où ils puisaient leurs eaux, il détermina que c'était l'eau d'un certain puits qui était le foyer de contamination. Donc, l’idée du SIG existe. En 1989, la Société française de Photogrammétrie et de télédétection définissait le SIG comme étant "un système informatique permettant, à partir de diverses sources, de rassembler et d'organiser, de gérer, d'analyser et de combiner, d'élaborer et de présenter des informations localisées géographiquement (géo référencées). L'ensemble des informations géographiques intégrées dans le SIG forment une base de données géographiques. En schématisant, un logiciel SIG est donc un système de gestion de bases de données (SGBD) localisées qui comprend une ou plusieurs couches géographiques qui peuvent conserver des relations entre elles en étant entre croisées, interrogées, etc... L’apparition des moyens matériels et logiciels de production, stockage et diffusion des images satellitaires et des cartes géographiques a pour conséquences la production des bases de données géographiques très volumineuses. Tout comme les bases de données traditionnelles, la taille des bases de données géographiques ne cesse d’augmenter, d’où le besoin d’un processus d’extraction de la connaissance à partir des données géographiques. L’ECD est reconnue comme un moyen très efficace d’analyse avancée, permettant d’extraire des connaissances cachées depuis des grandes masses de données [Gar, 99] Etant donné le volume croissant des données spatiales, la fouille de données spatiales, qui est l’étape majeure du processus de l’extraction des connaissances, qui permet d’extraire des propriétés de voisinages cachées dans ces données et qui présente donc un intérêt certain pour les applications spatiales décisionnelles. La fouille de données spatiale (FDS) est aujourd’hui identifiée comme un domaine de la fouille de données à part entière [Zei, 06a]. Elle résulte de la combinaison de la fouille de données et des bases de données spatiales. Dans ce contexte, beaucoup de travaux existent, mais la majorité consiste à appliquer des techniques de la fouille de données pour extraire de la connaissance à partir des données non spatiales. Nous pouvons citer à titre d’exemple les travaux de Han [Han, 97] qui proposent un algorithme pour l’extraction des relations d’hiérarchie. Cette technique suppose que l’utilisateur ou l’expert doit fournir à l’algorithme une hiérarchie de concepts, qui n’est souvent pas possible. Nous pouvons citer aussi la méthode STING [Wan, 97], qui est une 2 Introduction Générale méthode hiérarchique et qui consiste à diviser le territoire en plusieurs zones de taille plus réduite afin de minimiser la complexité de la recherche. Nous distinguons aussi les travaux sur les règles d’associations spatiales [Kop, 99] [Mic, 06] qui sont une extension des règles d’associations classiques appliquées pour l’extraction d’un motif fréquent. De même nous soulignons l’importance du clustering qui est une méthode de classification automatique permettant le regroupement d’objets par classes homogènes. Pour cela, elle cherche à maximiser la similarité intra-classe et à minimiser la similarité inter-classes. Les principales méthodes sont celles par agrégation autour de centres mobiles, comme les k-means, les nuées dynamiques, la classification automatique hiérarchique (CAH) et enfin, les méthodes par densité comme DBSCAN [Est, 96], BIRCH [Zha, 96] et OPTICS [Ank, 99]. La transposition au domaine spatial s’appuie sur une mesure de similarité d’objets localisés suivant leurs distances métriques. Néanmoins, l’application de ces méthodes au domaine spatial vise moins à classifier qu’à détecter les concentrations ou les points critiques d’un phénomène. Par exemple, dans l’étude de criminalité ou des zones accident en sécurité routière. 2. PROBLEMATIQUE DE LA THESE Cette thèse s’inscrit dans le cadre de l’extraction de la connaissance à partir des bases de données géographiques en sécurité routière. Ce type d’analyse a été souvent basée, comme il a était signalé par [Zei, 06a], sur les statistiques sans prendre en considération les relations spatiales relatives à l’accident. En effet, l’analyse en sécurité routière combine des informations concernant l’accident en lui-même, des informations thématiques du réseau routier, le tissus urbain et d’autres détails de voisinage géographique [Zei, 06a]. Toutes les méthodes citées précédemment considèrent l’espace avec une seule mesure, une catégorie unique. Or, les bases de données spatiales et la majorité des SIG organisent les données en couches thématiques, chacune avec une description ou schéma propre. Les méthodes à bases de clustering ou de généralisation ne prennent pas en compte cette organisation et par conséquent, ne peuvent révéler des relations inter-thèmes cachées. Dans ce travail, on utilise les graphes d’inductions comme un outil efficace de fouille de données. Ces derniers peuvent ramener l’analyse des relations de voisinages implicites entre l’accident et sont environnement à un problème de classification. Delà, une question fondamentale se pose : comment ramener le problème d’analyse de voisinages entre plusieurs couches thématiques vers une seule table à deux dimensions, exploitable par un graphe d’induction ? 3 Introduction Générale La réponse à cette impératif est déjà abordée dans les travaux de Chelghoum [Che, 02], par la proposition de l’algorithme SCART (Spatial CART) et les travaux de Zeitouni [Zei, 06a], [Zei, 06b] qui ont considéré le problème de la fouille de données spatiales comme étant l’optimisation d’exécution des requêtes topologiques dans la base de données en utilisant les index de voisinage. Dans cette thèse, nous avons développé des recherches sur les systèmes d’apprentissage automatiques symboliques, et en particulier sur la classification par graphe d’induction : acquisition automatique de règles de classification à partir de couches thématique. Un nouveau système, nommé CGISS a été étudié et réalisé. Notre système permet, à partir d’une base de données spatiale, de faire coopérer un graphe d’induction (GI) et un automate cellulaire (CA) pour l’exploration des relations de voisinage entre thèmes et la construction d’un modèle de prédiction des accidents de la route. Le résultat de la fouille de données spatiale ainsi obtenu, est affiné par un processus d’apprentissage automatique symbolique à base de graphe d’induction (méthode SIPINA). Ce raffinement se fait par l’automate cellulaire qui va assister SIPINA à l’optimisation du graphe d’induction et assurer, par la suite, la représentation et la génération des règles de production sous formes conjonctives avant d’entamer la phase de validation par un système expert cellulaire [Atm, 07], [Bel, 08], [Abd, 08a]. Nous avons deux principaux objectifs à réaliser dans cette thèse : • L’élaboration d’un processus d’extraction de la connaissance à partir des données spatiales et plus précisément le problème d’accidents de la route, en se basant sur une bases de données réelle issue de différentes sources d’information, en allant de la Direction Générale de la sureté de la wilaya d’Oran DGSN, vers les différents bureaux d’études. • L’exploitation de l’outil IGSS, déjà réalisé par l’équipe de recherche BIOSIF, pour analyser les données à références spatiales. Ce mémoire s’articule autour de quatre chapitres : Le chapitre I introduit l’extraction de la connaissance, les domaines d’application, la différence par rapport à une analyse de bases de données à références spatiales ainsi que des explications détaillées de l’Extraction de Connaissances à partir d’une base de Données à 4 Introduction Générale Références Spatiales (ECDRS). Nous présentons les différentes méthodes appliquées dans l’ECDRS et leurs inconvénients. Le chapitre II aborde le principe de l’apprentissage automatique ainsi que son apport pour la fouille de données. Nous y présentons les Graphes d’inductions comme étant une méthode d’apprentissage supervisé. Le chapitre III est consacré à l’adaptation des graphes d’induction cellulaires pour effectuer une fouille de données spatiales. Cette adaptation par automate cellulaire concerne l’élaboration, la représentation, l’optimisation par automate cellulaire du graphe engendré par la méthode SIPINA, suivi de la génération des règles de production conjonctives et la validation. Nous concluons ce chapitre par une étude de complexité et des expérimentations. Le chapitre IV est consacré à notre contribution dans ce domaine [Abd, 08b]. Nous présentons l’organisation générale du système CGISS et nous détaillons son mode de fonctionnement. Puis nous concluons par un ensemble de résultats obtenus. Finalement, nous concluons en synthétisant les différentes étapes de notre contribution et en discutant les perspectives envisagées pour poursuivre cette recherche. 5 Introduction Générale BIBLIOGRAPHIE [Abd, 08a] Abdelouhab, F., Atmani, B., Intégration automatique des données semistructurées dans un entrepôt cellulaire, Troisième atelier sur les systèmes décisionnels, Mohammadia, Maroc, PP 109—120, 10 et 11 octobre 2008. [Abd, 08b] Abdiche, F., Atmani, B., Vers un système d'unification des systèmes d'informations géographiques, International Conference on Web and Information Technologies "ICWIT '08", Université de Sidi Belabess, PP 140— 146, 29-30 juin 2008. [Ank, 99] Ankerst M., Breunig M.M., Kriegel H-P., Sander J., OPTICS: Ordering Points To Identify the Clustering Structure. SIGMOD Conference, PP 49—60, 1999. [Atm, 07a] Atmani, B., Beldjilali, B., Knowledge Discovery in Database : Induction Graph and Cellular Automaton, Computing and Informatics Journal, Vol.26, N°2, PP 171—197, 2007. [Bel, 08] Beldjilali, B., Atmani, B., Traitement des coefficients d’incertitudes dans les arbres de décision : application sur la machine cellulaire CASI, Journée des Jeunes Chercheurs en Informatique JCI'08, Université 08 Mai 45, Guelma – Algérie, PP 223—234, 20 Mai 2008 [Che, 02] Chelghoum N., Zeitouni K., Boulmakoul A., A Decision Tree for Multi-layered Spatial Data, In 10th International Symposium on Spatial Data Handling (SDH’02), Ottawa, Canada, PP 1-10, 2002 [Est, 96] Ester M., Kriegel H .P., Sander J., Xu X., A density-Based algorithm for discovering clusters in lager spatial databases with noise, In proceeding of second international conference on knowledge discovery and data mining, Portland, PP 226—231, 1996. [Han, 97] Han J., Koperski K., and Stefanovic N.: GeoMiner : A System Prototype for Spatial Data Mining, Proc. ACM-SIGMOD Int'l Conf. on Management of Data (SIGMOD'97), Tucson, Arizona (1997) System prototype demonstration, 1997. [Mic, 06] Michel, W.B., Murray B., Lecture Notes in data Mining, World Scientific Publishing Co. Pte. Ltd, 2006. [Kop, 99] Kopersky, K., A progressive refinement approach to spatial data mining, a thesis submitted in spatial fulfillment of the requirement for the degree of Doctor of Philosophy, Simon Fraser University, 1999. [Tom, 00] Tommasi, M., Gilleron, R., Découverte de connaissances à partir de données, Cours d’apprentissage à partir des exemples, université de Lille 3, 2008. [Wan, 97] Wang, W., Yang, J., Muntz, R., STING: A statistical information grid approach to spatial data mining, in Proceedings of the International VLDB Conference, 1997. 6 Introduction Générale [Zei, 06a] Zeitouni, K., Analyse et extraction de connaissances des bases de données spatiotemporelles. Habilitation à Diriger des Recherches Spécialité Informatique, Université de Versailles Saint-Quentin-en-Yvelines, 2006. [Zei, 06b] Zeitouni, K., Chelghoum, N., Application du Data Mining Spatial pour la prédiction du risque d’accidents de la circulation en milieu urbain : Extension du projet TOPASE par la prise en compte des interactions entre le réseau viaire et l’environnement urbain, Université de Versailles Saint-Quentin-enYvelines, 2006. [Zha, 96] Zhang T., Ramakrishnan R., Livny M., BIRCH: An Efficient Data Clustering Method for Very Large Databases, SIGMOD Conference, PP 103—114, 1996. 7 Chapitre 1 Fouille de Données Spatiales Plan 1.1. Introduction 1.2. Définition 1.2.1. Les domaines d’applications de la fouille de données 1.2.1.1. La gestion de relation client 1.2.1.2. Les banques et attribution de crédits 1.2.1.3. La médecine et la biologie 1.2.1.4. Le world Wilde web 1.3 Extraction de la connaissance à partir des données à références spatiales 1.3.1. Définition de la fouille de données spatiales 1.3.2. Le processus de la fouille de données spatiales 1.3.2.1. L’identification du problème 1.3.2.2. La sélection des données 1.3.2.3. Le nettoyage des données 1.3.2.4. La transformation et réduction 1.3.2.5. La fouille de données 1.3.2.6. L’évaluation des résultats 1.4. Les outils de la fouille de données spatiales 1.4.1. Les méthodes à base de clustering des données spatiale 1.4.1.1. La méthode des K-moyennes 1.4.1.2 La méthode PAM (partitioning around medoïdes) 1.4.1.3 La méthode CLARA (Clustering LARge Applications) 1.4.1.4 La méthode CLARANS 1.4.2 La méthode STING 1.4.3. Les règles d’associations 1.4.4. Hiérarchies et généralisation 1.4.5. Classification supervisée par arbres de décisions spatiales 1.5 Conclusion Fouille de Données Spatiales Chapitre 1 1.1. INTRODUCTION De nombreux organismes gouvernementaux, commerciaux, médicaux… collectent et gèrent des masses volumineuses d’informations dans leurs bases de données. Ces dernières sont dans le cas général très peu exploitées en vue d’extraire de nouvelles connaissances sur les divers phénomènes. Alors que la découverte de connaissances dans les bases de données devient un enjeu stratégique afin de mieux gérer les parts de marché, cibler les consommateurs, évaluer les risques financiers, diagnostiquer des patients, etc. une nouvelle préoccupation est apparue dans la recherche informatique depuis ces dernières années : L’Extraction de Connaissance à partir des données, qui est une succession d’opérations en allant de la sélection et le nettoyage des données jusqu’à la validation du modèle en passant par la fouille de données elle-même qui est la phase primordiale dans ce processus. La fouille de données classique est utilisée dans le monde professionnel pour résoudre des problématiques très diverses, allant de la gestion de relation client [Lef, 01] à la maintenance préventive, en passant par la détection des fraudes ou encore de l'optimisation dans les sites webs [Gar, 06]. De nos jours, une multitude d’applications utilisent des données à références spatiales, comme la gestion de l’environnement, le transport, la santé, la météo. D’un coté, ces données sont devenues une source importante pour l’aide à la décision quoi que le volume de ces données commence à se multiplier, et cela dépasse la capacité humaine d’analyse. De l’autre coté, environ 80% des données ont une composante spatiale qui est souvent implicite [Mar, 06]. La fouille de données est reconnue comme un moyen très efficace d’analyse avancée de données, permettant d’extraire des connaissances cachées depuis des grandes masses de données [Atm, 07a, 07b]. Etant donné le volume croissant des données spatiales, la fouille de données spatiales permet d’extraire des règles spatiales cachées dans ces dernières et présente donc un intérêt certain pour les applications décisionnelles [Zei, 06a]. Une multitude d’outils existent, ces derniers sont limités à cause de l’utilisation des données numériques classiques et ne permettent pas d’exploiter la référence spatiale implicite. Tans dit que la fouille de données spatiales est une extension de l’approche classique, permettant donc l’interaction avec l’environnement géographique [Zei, 06b] en incluant des relations spatiales. Le terme ECD désigne en réalité un processus complet interactif de découverte de la connaissance [Kod, 94]. D’une façon générale, les méthodes d’ECD exploitent les recherches 8 Fouille de Données Spatiales Chapitre 1 en intelligence Artificielle et en apprentissage automatique. En effet, l’apprentissage automatique peut être perçu comme un processus d’extraction de connaissance et les méthodes associées peuvent être désigner comme des méthodes d’ECD. Bien que ces dernières ont montré leurs efficacités sur des données alphanumériques mais n’exploitent pas le géo référencement. Notre contribution consiste à intégrer le caractère spatial des données par l’adaptation des méthodes de la fouille de données classique afin de pouvoir extraire les relations spatiales implicites. 1.2. DEFINITION La fouille de données est l’étape centrale du processus de l’extraction de la connaissance (ECD). Elle consiste à extraire automatiquement de la connaissance intéressante, intelligible et cachée dans les bases de données. Le terme fouille de données est souvent employé pour désigner l’ensemble des outils permettant d’accéder aux données et de les analyser [Gar, 99]. L’extraction de la connaissance à partir des bases de données par fouille de données est le processus qui consiste à identifier des modèles, valide, original, utiles et compréhensibles dans les données [Fay, 96]. 1.2.1. LES DOMAINES D’APPLICATIONS DE LA FOUILLE DE DONNEES Grace aux différentes méthodes de l’apprentissage automatique et la vulgarisation de l’outil informatique, la fouille de données n’est plus un ensemble de techniques expérimentées uniquement aux laboratoires de recherches, mais plutôt un outil utilisable dans beaucoup de secteurs : l’industrie, la médecine, biologie ou encore la gestion de relation clients qui est le champ d’application par excellence. Les entreprises bancaires et d’assurances, les grandes surfaces commerciales ont mis en œuvre ces outils afin de comprendre les habitudes de leurs clientèles ensuite prévoir leurs comportements [Khi, 07]. 1.2.1.1. LA GESTION DE RELATION CLIENT La gestion de la relation client consiste à cibler, attirer et à conserver les bons clients. Elle représente un facteur déterminant du succès de l’entreprise. Construire et développer des relations avec ses clients est un défi à entreprendre, Notamment lorsque l’entreprise possède des milliers (voir des millions) de clients qui sont en expansion continue. La fouille de données s'emploie en marketing pour l'analyse des données dans le but de d’étudier le comportement du client. Par exemple, des habitudes d'achat des consommateurs. 9 Fouille de Données Spatiales Chapitre 1 La fouille de données est donc utilisée dans les programmes informatiques pour développer une relation client stable, pérenne et rentable, car le client demeure à jamais au cœur de la stratégie des entreprises. On peut citer comme champs d’applications : • L’optimisation du réseau de distribution : Mieux connaître votre zone, mieux comprendre les habitudes de vos clients et consommateurs, mieux appréhender l’environnement sociodémographique, économique et social dans lequel vous évoluez. • L’identification des clients à risques : cette tâche consiste à détecter une éventuelle perte des clients en identifiant ceux qui vont aller chez le concurrent. Qui sont mes clients actuels et potentiels ? Que consomment-ils ? Quels sont leurs besoins ? Comment appréhender mon potentiel client et le valoriser ? • La prédiction du volume de vente d’un produit dans les mois qui suivent. • L’analyse du panier de la ménagère : Dans les grandes surfaces commerciales, regrouper les objets qui vont naturellement ensemble. 1.2.1.2. LES BANQUES ET ATTRIBUTION DE CREDITS Les banques possèdent une masse de données importantes qui stockent l’historique des clients ainsi que leurs comportements, donc elles peuvent aisément déterminer les bon clients, ainsi qu’anticiper les accidents financiers pour les clients fragiles. L’analyse de ces bases de données permet de cibler des clients afin de leur proposer des services spécifiques [Sch, 04]. 1.2.1.3. LA MEDECINE ET LA BIOLOGIE Les dix dernières années ont connu des avancés remarquables dans le domaine de la bioinformatique et particulièrement la recherche en ADN et les génomes humain. La technologie des séquences d’ADN ainsi que leurs publications a rendu possible l’application de la fouille de données en biologie. De nombreuses avancées en médecines ont eu lieu grâce à l’analyse des bio-séquences [Sch, 04]. 1.2.1.4. LE WORLD WILDE WEB La fouille de données sur internet est l’exploration des différentes formes d’accès de l’usagé sur des serveurs web. Les organisations collectent de larges volumes de données de leurs activités journalisées, générées automatiquement par les serveurs web et stockées sur des fichiers log. L’analyse de ces données peut fournir des informations utiles qui serviront à l’amélioration des performances des sites web [Khi, 06]. 10 Fouille de Données Spatiales Chapitre 1 1.3. EXTRACTION DE LA CONNAISSANCE A PARTIR DES DONNEES A REFERENCES SPATIALES Nous voyons notre monde quotidien changer de plus en plus vite, et l'information qui en est l'image instantanée, devient de plus en plus difficilement assimilable directement. Sa représentation classique, est maintenant peu adaptée. Elles nécessitent de connaître quasi instantanément les informations sur les besoins sanitaires, économiques, écologiques. Les systèmes d'informations géographiques (SIG) sont une réponse à ces impératifs dans différents domaines : intégrer de nouvelles sources de nature différentes, les combiner et les analyser pour présenter l'information de façon efficace et directement utilisable [Agr, 93]. Une masse considérable de données à références spatiales issues des différents SIG rend nécessaire le développement d’un outil pour l’extraction de connaissance utiles à partir des bases de données spatiales volumineuses [Kop, 99]. 1.3.1. DEFINITION DE LA FOUILLE DE DONNEES SPATIALES La fouille de données spatiales est définie comme l’extraction de connaissances implicites de relations spatiales ou d’autres propriétés non explicitement stockées dans les bases de données spatiales [Han, 97]. La fouille de données spatiales a pour objectif la découverte des connaissances implicite dans des données spatiales [Ber, 06]. Les algorithmes de fouille de données spatiales (FDS) dépendent largement du traitement efficace des relations de voisinage puisque chaque objet spatial est influencé par son voisinage. Par conséquent, l’intégration des notions générales pour des relations de voisinage ainsi qu'une exécution efficace des algorithmes de la fouille de données permettra une exécution efficace des algorithmes spatiaux d'exploitation de données au sein d’un système de gestion spatiale de base de données [Arm, 06]. 1.3.2. LE PROCESSUS DE LA FOUILLE DE DONNEES SPATIALES Le processus de la fouille de données spatiales est une succession d’étapes fortement interactives qui nécessitent l’implication de l’utilisateur afin de transformer les données en connaissances. Sa caractéristique par rapport au processus de la fouille de données classique est l’utilisation des prédicats d’analyse topologique ou spatiale [Kop, 99]. 11 Fouille de Données Spatiales Chapitre 1 Le processus global qui consiste à interpréter des modèles des données implique l'application répétée des étapes suivantes : • L’identification du problème : C’est le facteur clé du succès du processus de l’extraction de la connaissance (ECD). Par exemple, dans une entreprise de télécommunication qui cherche à cibler les interlocuteurs fréquents afin de les proposer des offres particuliers. • Le fenêtrage : cela consiste à sélectionner les données descriptives et spatiales utiles au lieu que toutes les données disponibles. • Le nettoyage des données : Les données réelles sont souvent incomplètes (valeurs manquantes) ou bruitées. • La transformation et réduction : Les données doivent encore être transformées afin de disposer d’une représentation standard et uniforme. • La fouille de données : Qui consiste à appliquer une méthode intelligente afin de déduire des hypothèses sur les données. • L’évaluation des résultats : C’est l’étape qui mesure l’intérêt du modèle extrait. 12 Fouille de Données Spatiales Chapitre 1 Evaluation Fouille de données Connaissance Modèle Transformation Pré traitement Données traitées Données transformées Sélection Données ciblées Données Figure 1.1. Processus d’extraction de connaissance à partir des données 1.3.2.1. L’IDENTIFICATION DU PROBLEME La tâche principale de cette étape est de mettre en évidence le projet de l’extraction de la connaissance, de cerner les besoins, fixer les objectifs, cibler les données et les ressources disponibles. C’est une étape très sensible et primordiale pour la réussite du processus de l’extraction de la connaissance. 13 Fouille de Données Spatiales Chapitre 1 1.3.2.2. LA SELECTION DES DONNEES Elle consiste à pré sélectionner et collecter les données nécessaires aux traitements. Il s’agit de recenser aussi les données utiles ainsi que les moyens à mettre en œuvre pour les récupérer. Les données sont généralement sélectionnées à partir d’un entrepôt de données « Data Warehouse », c’est un lieu particulier de stockage de toutes les données de l’entreprise. 1.3.2.3. LE NETTOYAGE DES DONNEES Parfois la base de données colletée contient des données erronées ou manquantes. Durant la phase du nettoyage et du pré traitement, les données floues sont éliminées. Les anomalies au niveau de ces données peuvent poser un problème du moment où l’objectif est de découvrir des modèles à partir de ces derniers. Les données manquantes se caractérisent par l’absence de valeur dans certains attributs, à cause du mauvais fonctionnement de l’équipement, non saisies ou considérées non importantes au moment de la saisie, d’où la nécessité de les inférer. Pour remédier aux problèmes des données manquantes, plusieurs solutions existent comme la suppression du tuple ou compléter manuellement les données ou même utiliser la moyenne de l’attribut 1.3.2.4. LA TRANSFORMATION ET REDUCTION Il s’agit de trouver les meilleurs dispositifs pour représenter les données selon l’objectif du projet de la fouille de données et réduire le nombre de variables. La réduction des données emploie des techniques de transformation qui son utilisées pour réduire le nombre de variables dans la base de données. Ces techniques peuvent aussi transformer la forme des données qui sont dans la plupart des cas inadaptées directement pour un algorithme de fouille de données. 1.3.2.5. LA FOUILLE DE DONNEES La fouille de données proprement dite est l’étape primordiale durant le processus de l’extraction de la connaissance. Il est important à ce niveau de décider l’algorithme de la fouille de données approprié (réseaux de neurones, règles associatives, arbres d’inductions, etc.) afin d’accomplir une tâche bien déterminée (classification, segmentation, génération des règles, etc.) 14 Fouille de Données Spatiales Chapitre 1 Nous distinguons deux familles de méthodes pour la fouille de données : • Supervisée : le but est de trouver une description générale et caractéristique décrivant une classe. Il faut extraire les points en communs entre les exemples d’apprentissage pour en déduire comme étant la description de la classe. Pour cela, les exemples d’apprentissages doivent être déjà groupés selon des classes prédéfinies. Comme principales approches, nous distinguons les algorithmes génétiques, le système CHARADE [Gan, 87], les réseaux de neurones, les graphes d’induction : CART [Bre, 94], C4.5 [Qui, 83], SIPINA [Zig, 92]…, etc. • Non supervisée : le système d’apprentissage considère un ensemble d’exemples d’apprentissages sans avoir une connaissance préalable s’ils appartiennent ou non à la même classe. L’objectif est de regrouper les objets de la meilleure façon possible [Rab, 96] 1.3.2.6. L’EVALUATION DES RESULTATS Cette étape consiste à mesurer l’intérêt du modèle extrait ainsi que visualiser les résultats selon les différentes techniques de visualisation. Cette dernière dépond de la tâche de la fouille de données. Après l’affichage et la validation des résultats par un expert, nous parlons plutôt de connaissances. 1.4. LES OUTILS DE LA FOUILLE DE DONNEES SPATIALES L’étape de la fouille de données du processus de l’extraction de la connaissance implique l’application ou la répétition interactive des méthodes particulières de la fouille de données. Dans ce qui suit, nous présentons un aperçu des objectifs principaux de la fouille de données et la description des méthodes utilisées pour atteindre ces objectifs. Les objectifs de fouille de données sont définis selon l’utilisation du système. Nous distinguons deux types d’objectifs : la vérification et la découverte [Fay, 96]. A l’aide de la vérification le système est limité à la vérification des hypothèses de l’utilisateur. Par contre, avec la découverte, le système cherche de nouveaux modèles de façon autonome. La plupart des méthodes de la fouille de données sont basées sur les techniques d’apprentissage et les statistiques : classification, régression, clustering, …etc. dans ce qui 15 Fouille de Données Spatiales Chapitre 1 suit, nous discutons les différentes méthodes en se focalisant sur celles appliquées à la fouille de données spatiales. 1.4.1. LES METHODES A BASE DE CLUSTERING DES DONNEES SPATIALE Le clustering consiste à rassembler les éléments du même ensemble en plusieurs clusters disjoints. Les éléments semblables sont regroupés dans le même cluster, et ceux appartenant à deux clusters différents sont différents [Gue, 94]. Le clustering était largement étudié dans le domaine de l’extraction de la connaissance [Fay, 96]. Le clustering joue un rôle important dans la fouille de données spatiales. Néanmoins, les données spatiales peuvent imposer des limitations ou des complications non réalisées dans d’autres domaines. Les algorithmes du clustering spatial regroupent les objets spatiaux selon leurs localités [Mic, 06]. Pour des objets de types points, la métrique Euclidienne ou la distance de Manhattan sont suffisantes. 1.4.1.1. LA METHODE DES K-MOYENNES Pour résoudre certains problèmes complexes, il peut s'avérer utile de commencer par diviser la population en groupes (segmenter) en espérant que le problème soit alors plus simple à résoudre sur les groupes ainsi constitués. La segmentation est une tâche d'apprentissage non supervisée car on ne dispose d’aucune information préalable à part la description des exemples. Une fois les groupes sont constitués, une expertise est nécessaire afin de dégagé la signification et l’intérêt de la segmentation. La méthode des K-moyens est basée sur la notion de similarité entre enregistrements constitués de n points : x1, x2,…,xn. Nous allons, pour introduire l'algorithme, considérer un espace géométrique Rd muni d'une distance (Euclidienne par exemple). L'algorithme suppose choisi a priori un nombre k de groupes à constituer. On choisit alors k enregistrements, soit k points de l'espace appelés les centres. On constitue alors les k groupes initiaux en affectant chacun des enregistrements dans le groupe correspondant au centre le plus proche. Pour chaque groupe ainsi constitué, on calcule son nouveau centre en effectuant la moyenne des points du groupe et on réitère le procédé. Le critère d'arrêt est : d'une itération à la suivante, aucun point n'a changé de groupe, c à d que les groupes sont stables [Fah, 06]. 16 Fouille de Données Spatiales Chapitre 1 Figure 1.2. (a) configuration initiale, (b) les centres initiaux et affectation selon la distance minimale (c) recalcule des centre (d) nouvelle affectation des points L’algorithme se déroule sur des enregistrements de dimension N (n-uplets), la mesure de distance est la formule euclidienne , ∑ , le calcule de moyenne pour les nouveaux centres. Algorithme des K-moyennes 1. Choisir k centres initiaux 1, …... k 2. Affecter chaque au cluster correspondant dont , est minimale avec j : 1…k 3. Si aucun élément ne change de groupe alors arrêté le déroulement. 4. Calculer les nouveaux centres : chaque (avec j : 1…k) est la moyenne des éléments du groupe 5. Aller à 2 Figure 1.3. L’Algorithme des K-moyennes 1.4.1.2 LA METHODE PAM (PARTITIONING AROUND MEDOÏDES ) Similaire à la méthode des K-moyennes, PAM (partitioning around médoïdes) ou l’algorithme des K-médoïdes crée itérativement des clusters au tour des médoïdes prédéfinies. 17 Fouille de Données Spatiales Chapitre 1 Au lieu de calculer la nouvelle moyenne dans un cluster, PAM améliore le groupement en remplaçant des médoïdes existantes par d’autres points en se basant sur une fonction de coût Le coût total de la permutation d’une médoïde par un non-médoïde est donné par : ! " !# $%&', ( $%&', $) " Où *+,- représente le gain en distance globale que l’on va avoir en remplaçant h par j, Si *+,- est négatif alors on va perdre en distance. Ça veut dire que les clusters seront plus compacts [Dun, 03]. La médoïde est l’objet représentatif dans le cluster (au lieu de la moyenne). L’algorithme commence par la sélection des k objets médoïdes parmi les n points de données puis associer pour chaque point à une médoïde de sorte que la similarité soit maximale. La mesure de similarité est définie par la distance d’Euclide, Manhattan ou Minkowski. Sélectionner aléatoirement un autre point non-médoïde O’ est calculer le coût S de remplacer un ancien médoïde par O’. Si S < 0 alors remplacer l’ancienne médoïde par O’, et répéter itérativement ce procédé jusqu’à ce qui n’y a aucun changement des médoïdes. 1. Choisir arbitrairement k médoïde 2. Affecter chaque au médoïde le plus proche k dont la distance est minimale 3. Choisir aléatoirement un non- médoïde Or 4. Pour chaque médoïde Oj Calculer le coût TC du remplacement de Oj par Or Si TC < 0 alors Remplacer Oj par Or Calculer les nouveaux clusters Finsi FinPour Jusqu’à ce ce qu’il n’y ait plus de changement 5. Aller à 2 Figure 1.4 L’algorithme PAM 18 Fouille de Données Spatiales Chapitre 1 1.4.1.3 LA METHODE CLARA (CLUSTERING LARGE APPLICATIONS ) Une multitude d’algorithmes de clustering sont proposés dans la littérature CLARA [Kau, 90], CLARANS [Ngr, 94]. Comme pour PAM, la méthode CLARA est également basée sur la recherche de k objets représentatifs. Mais l'algorithme CLARA est construit spécialement pour l'analyse des grands jeux de données. Donc nous choisissons un sous ensemble de données. Afin de faciliter la compréhension de la méthode, les symboles utilisés dans la formule cidessous ainsi que leurs définitions sont donnés dans la Table 1.1 Symbole Définition D L’ensemble de données n Nombre d’objets dans D Oi Objet i dans D K Nombre de cluster S Echantillon de D s La taille de S Table 1.1 Résumé des symboles et leurs définitions La méthode CLARA fonctionne en deux étapes. D'abord, un échantillon est tiré du jeu d'objets (observations) et partagé en k classes en utilisant la méthode PAM. Ensuite, chaque objet n'appartenant pas à l'échantillon est envoyé au plus proche des k objets représentatifs. Ce processus doit être réitérer sur 5 échantillons de taille 40+2k chacun. L’ensemble des méthoïdes retenues sont celles qui présentent une meilleure qualité. La qualité de cette classification est définie comme la distance moyenne entre chaque objet et son objet représentatif. Les échantillons sont tirés et classés chacun à leurs tour, et l'échantillon sélectionné est celui qui a obtenu la distance moyenne la plus petite selon la fonction coût (D, M) [Chi, 00]. ./û1 2, 3 ∑>,"? 4,55,6,789,1é ;, , 9<= 2, ;, > 19 Fouille de Données Spatiales Chapitre 1 La dissimilitude 4,55,6,789,1é ;, , 9<= 2, ;, , est la distance entre deux objets Oi et Oj et 9<= 2, ;, retourne la médoïde relative à l’objet Oi. Initialisation : Mincost = ∞ Répéter q fois : 1. Générer un sous ensemble S à partir de l’ensemble de données D. 2. Générer un ensemble de médoïde M à partir de S en appliquant l’algorithme PAM. 3. Si coût (D, M) < Mincost alors Mincost = coût (D, M) Fin si Fin répéter Figure 1.5 L’Algorithme CLARA CLARA répète le processus d’échantillonnage et de clustering un nombre prédéfinie de fois et selecte comme le résultat final l’ensemble des médoïdes dont le coût et minimal. 1.4.1.4 La méthode CLARANS CLARANS (Clustering Large Applications based on RANdomized Search) considère le problème de recherche des k médoïde comme étant une recherche dans un graphe [Ngr, 94], Sur ce graphe, un nœud est représenté par un ensemble de k objets@A, … . AC D, en indiquant que A , … . AC sont les médoïdes sélectionnées. Deux nœuds sont voisins (c à d connecté par un arc) s’ils diffèrent uniquement d’un seul élément. Du moment où chaque nœud représente une collection de k médoïdes, chaque nœud correspond à une solution de clustering possible. L’algorithme commence d’un nœud arbitraire dans le graphe et sélectionne aléatoirement un nœud voisin. Si le coût sur le nœud voisin sélectionné est inferieur au coût du nœud en court, CLARANS procède sur le nœud voisin. Le processus se déroule de la même manière sur tout le graphe jusqu’à ce qu’un nœud meilleur soit sélectionné ou le nombre prédéfini maximal de voisins à vérifier est atteint. La fonction du coût est la même que pour la méthode CLARA. 20 Fouille de Données Spatiales Chapitre 1 Initialisation : mincost = ∞ Max_voisin : Nombre maximum de voisins d’un nœud C dans le graphe 1. Sélectionner aléatoirement un nœud C comme le nœud en court dans le graphe. 2. initialiser J à 1 3. répéter : Sélectionner aléatoirement un nœud N voisin de C Si COST (N, D) < COST (C, D) alors Remplacer C par N Réinitialiser J à 1 Sinon J++ Fin si Jusqu’à J > Max_voisin Si COST (C, D)< Mincost Mincost = COST (D, M) Nœud_final = C Fin si Figure 1.6. L’Algorithme CLARANS 1.4.2 LA METHODE STING L’approche STING (STatistical Information Grid) pour la fouille de données spatiales a été introduite dans [Wan, 97]. STING est une méthode hiérarchique qui divise la zone spatiale en cellules à plusieurs niveaux avec des informations statistiques sur les objets dans chaque cellule. 21 Fouille de Données Spatiales Chapitre 1 Niveau 1 Niveau 2 Niveau 3 Figure 1.7. Exemple d’une hiérarchie de gilles STING à trois niveaux Contrairement à la technique de généralisation, STING ne nécessite pas une hiérarchie prédéfinie de concepts. L’étape initiale avant l’application de l’algorithme STING est de créer une structure hiérarchique de cellules, le premier niveau est une cellule singulière contenant toute la région spatiale en question. A partir de là, la région est divisée récursivement jusqu’à un niveau d’hiérarchie donné. La taille des cellules du plus bas niveau dépendent de la densité des objets spatiaux. [Wan, 97] suggère que le nombre moyen d’objets dans chaque cellule soit dans un intervalle allons de dizaines à des milliers. Une extension de SQL est proposée dans [Wan, 97] pour la prise en charge des requêtes STING : SELECT REGION FROM house-map WHERE DENSITY IN (100, ∞) AND price RANGE (400000, ∞) WITH PERCENT (0.7, 1) AND AREA (100, ∞) Cette requête sélectionne des régions contenant au moins 100 maisons par unité de zone, avec au moins 70% des maisons qui coûtent 400 000 $ et un nombre minimum de zones égale à 100. 22 Fouille de Données Spatiales Chapitre 1 L’algorithme STING effectue une recherche selon l’hiérarchie des cellules pour trouver les régions qui satisfont une requête donnée. Les régions des cellules satisfaisant les critères de recherches peuvent être fusionnées successivement jusqu’à ce qu’il n’y a aucune autre cellule à ajouter. Entrée : T {arborescence d’hiérarchie de gilles} Q {requête} Sortie : R {Régions contenant les cellules satisfaisant la Q} i=1 {le niveau hiérarchique actuel} c {cellule courante} Répéter Pour c Є Ti sachant que c est prometteuse faire Selon la requête Q, marqué c comme prometteuse ou non. Fin pour i ++ jusqu’à tous les niveau de l’arborescence sont parcourus. Retourner R Figure 1.8. L’Algorithme de STING 1.4.3. LES REGLES D’ASSOCIATIONS Une règle d’association est une forme générale de règle de dépendance et définie sur les bases de données transactionnelles [Agr, 93]. Elle est de la forme W→B, c’est une implication de la forme «Si W apparait dans la transaction alors, alors B aussi », avec W et B est un ensemble d’attributs. Formellement la force d’une règle W→B dans un ensemble D a une mesure de confiance C si le pourcentage des transactions dans D contenant la prémisse W contient aussi la conclusion B. par exemple, dans une base de données transactionnelle d’achats on peut trouver une règle de la forme ‘beurre → pain (90 %), cela veut dire que 23 Fouille de Données Spatiales Chapitre 1 90 % des clients qui achètent le beurre achètent aussi le pain. D’ailleurs, pour s’assurer qu’une règle est suffisamment intéressante, le concept du support est introduit, qui est défini comme étant le rapport entre le nombre d’occurrence de W et de B ensemble dans les transactions et le nombre total des transactions dans la base de données [Kop, 99]. La fouille de données spatiales à base du concept de généralisation, découvre les relations spatiales et non spatiales au niveau d’un concept plus général où les objets spatiaux sont comme étant des régions fusionnées [Mic, 06]. Cependant, cette méthode ne permet pas de découvrir les règles reflétant la structure des relations spatiales / spatiales ou spatiales / non spatiales qui contiennent des prédicats du genre : Inside, Covers, Touch, Equal, Contain, Within_Distance, Nearest_Neighbor, Neighbor [Adb, 07]. Une règle d’association spatiale est de la forme : A→B, dont A et B sont des ensembles de prédicats [Mic, 06]. .. De telles relations topologiques peuvent être vues comme des associations spatiales, avec 100 % de confiance nous citons à titre d’exemple la relation Contain : EF&G$F H, I J EF&G$F I, K L EF&G$F H, K Par contre, de telles règles dépendent habituellement du domaine d’étude, par exemple on peut trouver que 92% des villes de British Columbia (BC) sont adjacentes à des sources d’eau et prêts des états unis d’Amérique (US). $%H, $& J $F I, M J H, NG&OP L Q$&($F_ $%&GFO H, S% Bien que ces règles sont à 100 % vrais, elles sont porteuses de certaines connaissances non triviales, ceci est intéressant pour découvrir des associations spatiales dans les bases de données à références spatiales. Beaucoup de méthodes sont proposées dans la littérature. Pour d’avantage d’informations, le lecteur peut consulter [Kop, 99]. 1.4.4. HIERARCHIES ET GENERALISATION Une base de données contient souvent des informations détaillées. Il est désirable de les résumer et de les présenter à un niveau de concept plus haut, ce processus est appelé « Généralisation ». Elle consiste à remplacer les valeurs détaillées de bas niveaux par d’autres 24 Fouille de Données Spatiales Chapitre 1 moins détaillées. Cette méthode nécessite au préalable une hiérarchie de concepts donnée explicitement par l’expert ou automatiquement par analyse de données [Zei, 06b]. Agriculture Nourriture Grain Maïs Riz Non Nourriture Tissu Fruit Blé Pommes Coton Boisson Lin textile Thé Café Figure 1.9. Hiérarchie et généralisation de concepts de partitionnement des types de productions d’agriculture Une hiérarchie de concept est une structure arborescente qui montre un ensemble des relations entre les objets. Appliquée aux données spatiales, les niveaux hiérarchiques peuvent illustrer des relations spatiales. Un exemple de généralisation de concepts est présenté dans [Kop, 99], dans ce dernier, un intervalle de température de [20, 27] est généralisé à modérée, et la température dans [27,∞] est généralisée à chaud. Delà, les zones seront groupées en les fusionnant selon l’hiérarchie des concepts. Nord-est, modérée. Est-central, chaud ou modérée. Figure 1.10. La méthode de généralisation spatiale 25 Fouille de Données Spatiales 1.4.5. Chapitre 1 CLASSIFICATION SUPERVISEE PAR ARBRES DE DECISIONS SPATIALES 26 Fouille de Données Spatiales Chapitre 1 BIBLIOGRAPHIE [Adb, 07] Abdiche, F., Hamdadou, D., Proposition d'un Modèle pour l’Exploitation des Bases de Données à Références Spatiales Distantes. Les troisièmes journées internationales sur l’information graphique, Constantine , PP 229-234, 2007. [Agr, 93] Agrawal, R., Imielinski, T., Swami, A., Mining Association Rules Between Sets of Items in Large Data bases, In Proc. 1993 ACM-SIGMOD Int. Conf. Management of Data, Washington, DC, PP 207-216, 1993. [Arm, 06] Armitage T., Getting started with oracle spatial, Oracle Corporation, United States, 2006. [Atm, 07a] Atmani, B., Beldjilali, B., Knowledge Discovery in Database: Induction Graph and Cellular Automaton, Computing and Informatics Journal, V.26, N°2, PP 171-197, 2007. [Atm, 07b] Atmani, B., Beldjilali, B., Neuro-IG: A Hybrid System for Selection and Elimination of Predictor Variables and non Relevant Individuals, Informatica, Journal International, Vol. 18, N°2, PP 163-186, 2007. [Ber, 06] Berry. M.W., Browne. B.: Lecture notes in Data Mining, World Scientific Publishing Co. Pte. Ltd. United states, 2006. [Bre, 94] Breiman, L., Bagging Predictors. Technical Report No, 421, Department of statistics, University of California, 1994. [Chi, 00] Chih-Ping, W., Yen-Hsien, L., Che-Ming, H., Empirical Comparison of Fast Clustering Algorithms for Large Data Sets, Proceedings of the 33rd Hawaii International Conference on System Sciences, 2000. [Dun, 03] Dunham, M., Data Mining: Introductory and advanced Topics, Prentice Hall, Upper Saddle River, NJ, 2003. [Est, 97] Ester, M., Kriegel, H. P., Sander, J., Spatial data mining: A database approach, in Proceedings of the Fifth SSD Symposium, 1997. [Fay, 96] Fayyad, U., Piatetsky-Shapiro, G., and Smyth, P., From data mining to knowledge discovery: An overview, in Advances in Knowledge Discovery and Data Mining, AAAI Press/MIT Press, Menlo Park, CA,1996. [Fah, 06] Fahim, A.M., Salem, A.M., Torkey, F.A., Ramadan, M.A, An efficient enhanced K-means clustering algorithm, Journal of Zhejiang University, 2006. [Gar, 06] Gardarin, G., Le Data Mining : Méthodologie, support de cours, laboratoire PRISM, Université de Versailles Saint-Quentin-en-Yvelines, 2006. [Gar, 99] Gardarin, G., Internet / Intranet et bases de données: Data web, Data Media, Data warehouse, Data Mining, Edition Eyrolles, 1999. 28 Fouille de Données Spatiales Chapitre 1 [Gue, 94] Gueting R. H.: An Introduction to Spatial Database Systems, Special Issue on Spatial Database Systems of the VLDB Journal, Vol. 3, No. 4, October 1994. [Gan, 87] Ganascia, J.G., Deux techniques d’apprentissages symboliques appliquées à la construction de bases de connaissances. Thèse d’Etat. Université de paris-Sud, 1987. [Han, 97] Han J., Koperski K., and Stefanovic N.: GeoMiner : A System Prototype for Spatial Data Mining, Proc. 1997 ACM-SIGMOD Int'l Conf. on Management of Data (SIGMOD'97), Tucson, Arizona (1997) System prototype demonstration. [Kau, 90] Kaufman, L., Rousseeuw, P. J., Finding Groups in Data: An Introduction to Cluster Analysis, John Wiley & Sons, Inc., New York, NY, 1990. [Khi, 06] Khiat, S., Web Mining, Mini projet de post graduation : systèmes, réseaux et bases de données Département d’informatique Université USTO, 2006. [Khi, 07] Khiat, S., Data Mining Industriel : Application à la maintenance AVAL / SONATRACH, Mémoire en vue d’obtention du diplôme de magister, Université des sciences et de la technologies Oran, 2007. [Kod, 94] Kodratoff Y., “Induction and the Organization of Knowledge”, Machine Learning: A Multistrategy Approach, volume 4, 85-106. Morgan-Kaufmann, San Francisco CA, 1994 [Kop, 99] Kopersky, K., A progressive refinement approach to spatial data mining, a thesis submitted in spatial fulfillment of the requirement for the degree of Doctor of Philosophy, Simon Fraser University, 1999. [Lef, 01] Lefébure, R., Gilles Venturi, G., Data Mining : Gestion de la relation client, personnalisations de site web ,Eyrolles, mars 2001. [Mar, 06] Margareth M., Rodrigo F., Ramalho Filho, A., Heterogeneous Geographic Objects Interoperability. 8th brazilian symposium on GeoInformatics, 2006. [Mic, 06] Michel, W.B., Murray B., Lecture Notes in data Mining, World Scientific Publishing Co. Pte. Ltd, 2006. [Ngr, 94] Ng, R., Han, J., Efficient and Effective Clustering Methods for Spatial Data Mining, Proceedings of International Conference on Very Large Data Bases, Santiago, Chile, pp.144−155, 1994. [Qui, 83] Quinlan, J.R., Learning efficient classification procedures and their applications to chess endgames. In Machine Learning: An artificial Intelligence approach, Volume 1. Morgan Kaufmann, 1983. [Rak, 97] Rakotomalala .R., Graphes D’induction, Thèse pour l’obtention d’un diplôme de doctorat, université claude bernard, Lyon 1, 1997. 29 Fouille de Données Spatiales Chapitre 1 [Rab, 96] Rabaseda, L.S., Contribution à l’extraction autolatique de connaissance : application à l’analyse cllinique de lamarche, Mémoire présentée pour l’obtention du diplôme de doctorat, Université Claude Bernard-Lyon 1, 1996. [Sch, 04] Scharff, C., Introduction à la fouille de données, Cours de fouilles de données Institut Francophone d'Informatique (IFI), Hanoi, Vietnam, 2004. [Wan, 97] Wang, W., Yang, J., Muntz, R., STING: A statistical information grid approach to spatial data mining, in Proceedings of the International VLDB Conference, 1997. [Zig, 92] Zigher, D.A., Auray, J.P., Duru, G., SIPINA : Méthode et logiciel, Lacassagne, 1992. [Zei, 06a] Zeitouni, K., Analyse et extraction de connaissances des bases de données spatiotemporelles. Habilitation à Diriger des Recherches Spécialité Informatique, Université de Versailles Saint-Quentin-en-Yvelines, 2006. [Zei, 06b] Zeitouni, K., Chelghoum, N., Application du Data Mining Spatial pour la prédiction du risque d’accidents de la circulation en milieu urbain : Extension du projet TOPASE par la prise en compte des interactions entre le réseau viaire et l’environnement urbain, Université de Versailles Saint-Quentin-enYvelines, 2006. 30 Chapitre 2 Apprentissage Artificiel par Graphe d'Induction Plan 2.1. Introduction 2.2. Notations 2.3. Exemple illustratif 2.4. Définitions et Principe 2.4.1. Critère de segmentation 2.5. Les méthodes à base de graphe d’induction 2.5.1. Les méthodes ID3 et C4.5 2.5.1.1. La méthode ID3 (Induction Decision Tree) 2.5.1.2. La méthode C4.5 2.5.2. La méthode CART (Classification and regression Trees) 2.5.3. La méthode SIPINA (Système Interactif pour les processus d'Interrogation Non Arborescents) 2.5.3.1. passage de la partition 2.5.3.2. Algorithme SIPINA 2.6. Conclusion À Apprentissage Artificiel par Graphe d'Induction Chapitre 2 2.1. INTRODUCTION L’apprentissage automatique est certainement, en intelligence artificielle, le champ d’application le plus fertile de ces dernières années. On sait de manière générale qu’une des prérogatives de l’intelligence artificielle est d’apprendre à partir de l’expérience passée de sorte que son comportement devient adaptable [Atm, 07]. Rakotomalala [Rak, 97] confirme que Simon interprète l’apprentissage automatique comme un ensemble de changements dans un système qui permet à ce dernier d’accomplir mieux la même tâche, ou, une tâche similaire dans la même population dans l’avenir. Dietterich [Die, 86] propose une approche plus fonctionnelle à l’apprentissage automatique qui permet de l’évaluer, en le reliant à la notion de connaissance. Dietterich distingue ainsi trois niveaux de description d’un système d’apprentissage : • Un système qui ne reçoit aucune entrée et qui accomplit le mieux une tâche, • Un système qui reçoit des connaissances en entrée, mais n’accomplit aucune induction, • Et enfin, un système qui reçoit des entrées et en extrait des connaissances qui ne sont connues ni implicitement ni explicitement, c’est l’apprentissage inductif. C’est cette dernière qui nous intéresse dans cette thèse. Plus particulièrement l’apprentissage qui vise à produire des règles générales à partir d’une série d’observations : l’apprentissage supervisé. Parmi les méthodes d’apprentissage supervisé nous citons les graphes d’induction [Rak, 05]. Les statisticiens sont les premiers qui ont construit des arbres de régressions [Mor, 63] (où la variable à prédire est continue), pour donner ensuite lieu à toute la famille des classifieurs AID [Kas, 80], CART de [Bre, 84] et [Hun, 66] avec la méthode ACLS. Les méthodes de référence suivant cette voie sont : ID3 [Qui, 79] et C4.5 [Qui, 93]. Dans le domaine de la fouille de données, certains algorithmes produisent des graphes d’induction, utilisés pour répartir une population d'individus en groupes homogènes, selon un ensemble de variables discriminantes (l'âge, la catégorie socio-professionnelle, ...) en fonction d'un objectif fixé et connu (chiffres d'affaires, réponse à un mailing, ...). L’objectif derrière la construction des graphes d’induction est d’effectuer un classement. On parle de méthode d’induction descendante et on trouve dans la littérature anglaise le terme TDIDT (Top Down Induction of Decision Trees) [Rab, 96]. Le principe général des graphes d’induction s’exprime comme suit ; chercher à discriminer les exemples en fonction d’attributs considérés. On cherche sur l’échantillon d’apprentissage l’attribut qui discrimine le mieux les exemples, puis on dégage des sous ensembles 32 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 d’échantillons selon le nombre de valeurs que possède l’attribut. Le processus est itératif sur chaque sous ensemble. Jusqu’ici nous utilisons indifféremment les termes « Graphes » et « Arbres » d’induction. Du point de vue de la théorie des graphes, un arbre est un graphe orienté sans cycle avec une racine où à chaque nœud non terminal est assigné une variable X, à partir de laquelle est induit une segmentation par des arcs [Rak, 97]. 2.2. NOTATIONS Soit Ω =ω , ω , … , ω une population ou l’échantillon d’apprentissage, et soit A l’algorithme d’apprentissage qui produit un modèle M. Dans cet apprentissage, connu également sous le terme de classification, l’algorithme A utilise un vecteur d’attributs = , , … , . Dans l’apprentissage supervisé on vise toujours à partir d’un vecteur d’attributs X que l’on nomme attributs prédictifs ou variable exogènes, de construire une fonction . Les variables exogènes sont notées pour chaque ω ∈ Ω par : ω= ω, ω, … , ω Chaque variable exogène possède pour tout individu ω , des modalités ω avec = 1, 2,…, p. Y la variable à prédire, ou encore la variable endogène. Chaque individu peut être associé à une classe correspondante notée ω . La variable Y prend ses valeurs dans l’ensemble des étiquettes, appelé également ensemble des classes et noté C= ! , ! , … , !" . Y : Ω $ %= ! , ! , … , !" $ ω !& ' Nous adoptons la notation suivante pour la suite du chapitre. Soient : Le sommet de l’arbre ou l’échantillon considéré ( Le nombre d’exemples présents sur le sommet, %)*+ ' ( , !, !& , !" Le nombre de classes - ' Un attribut quelconque ayant - valeurs notées , , . Le nombre de modalité d’une variable Le sous échantillon compose des exemples ayant la valeur Les , classes, d’effectif (. sur le sommet ' ' = ∈ '; ω 33 Apprentissage Artificiel par Graphe d'Induction (. Chapitre 2 Le nombre d’exemples dans le sous échantillon ' %)*+ ' (. ( Le nombre d’exemple dans l’échantillon ' appartenant à la classe ! d’où 2' L’incertitude de sommet ' (. = ∑1 ( - 23 ' L’incertitude de sommet ' après segmentation selon les valeurs de . 2.3. EXEMPLE ILLUSTRATIF Un arbre de décision est un outil d'aide à la décision et à l'exploration de données. Il permet de modéliser simplement, graphiquement et rapidement un phénomène mesuré plus ou moins complexe. Sa lisibilité, sa rapidité d'exécution et le peu d'hypothèses nécessaires a priori expliquent sa popularité actuelle. Pour mieux illustrer le principe des graphes d’inductions, nous allons reprendre un exemple extrait de [Qui, 93]. Il s’agit de prédire le comportement des sportifs (Jouer ; variable à prédire) en fonction de données météo (Ensoleillement, Température, Humidité, Vent ; variables prédictives). Numéro Perspective Température (°F) Humidité (%) Venteux ? Jouer 1 soleil 75 70 Oui Oui 2 soleil 80 90 Oui Non 3 soleil 85 85 Non Non 4 soleil 72 95 Non Non 5 soleil 69 70 Non Oui 6 couvert 72 90 Oui Oui 7 couvert 83 78 Non Oui 8 couvert 64 65 Oui Oui 9 couvert 81 75 Non Oui 10 pluie 71 80 Oui Non 11 pluie 65 70 Oui Non 12 pluie 75 80 Non Oui 13 pluie 68 80 Non Oui 14 pluie 70 96 Non Oui Table 2.1. Un échantillon d’apprentissage 34 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 La variable à prédire jouer est le comportement du joueur, prenant deux modalité {oui, non}. Voici quelques notations pour les symboles utilisés : - n = !)*+ Ω , avec Ω l’échantillon d’apprentissage à partir duquel on va construire l’arbre. - p est le nombre d’attributs prédictifs Variable Signification Valeurs - 3 Perspective Soleil ; Couvert ; Pluie - 3 < -< 2 = -= 2 Température (°F) Humidité (%) Venteux ? <64° Fraîche ; 9 64° et <75° Tiède ; 9 75° Chaud <77.5% Normal; 9 77.5% Élevée Oui ; Non Table 2.2. Les attributs prédictifs, valeurs et significations Chaque individu ω ∈ Ω est donc représenté par une ligne de la Table 2.1. avec le 6 L’objectif de la construction de l’arbre est de composants suivant 4 ω5 … … 5 ω5ω7. poser successivement différentes questions de manière à produire des groupes homogènes selon la variable à prédire. Voici l’effectif du sommet initial : Effectif Jouer = oui Jouer = non Card({ω ∈ Ω / Jouer(ω) = oui}) Card({ω ∈ Ω / Jouer(ω) = non}) Si on considère l’exemple d’apprentissage dans Table 2.1, la population Ω est l’ensemble des sportifs et Y la réaction du joueur : Jouer noté ! et pas Jouer noté ! alors ω sera le résultat de la décision du joueur ω . 35 Apprentissage Artificiel par Graphe d'Induction Ω ω ω ω = Soleil ω ω 9 75% Chapitre 2 < ω ω I77.5 ω ω = Soleil ω 9 75% ω 977.5 ω= ω= = Soleil ω= ; 9 64° et <75° ω= 977.5 …. …. ω< ωJ …. ω< = Soleil ωJ = Soleil ω< 9 75% ωJ ; 9 64° et <75° = ω < ω = Oui ω = Oui < ω = Oui ω = Non < ω= = Non ω= = Non ω< 977.5 < ω< = Non ωJ < 77.5 < ωJ = Non …. ω ….. ω< = Non ωJ = Oui ….. Figure 2.1. Arbre de décision Sur chaque sommet de l’arbre est décrite la distribution de la variable à prédire. Dans le cas du premier sommet qui est la racine de l’arbre, nous constatons qu’il y a 14 observations dans notre fichier, 9 d’entre eux ont décidé de jouer (Jouer = oui), 5 ont décidé le contraire (Jouer = non). Ce premier sommet est segmenté à l’aide de la variable Ensoleillement, 3 sous-groupes ont été produits. Le premier groupe à gauche (Ensoleillement = Soleil) comporte 5 observations, 2 d’entre elles correspondent à Jouer = oui, 3 à Jouer = non. Ω >?@>ABC>1@D.>. = {1, 2, 3, 4, 5}, avec une distribution des classes EFGH 36 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 Chaque sommet est ainsi itérativement traité jusqu’à ce que l’on obtienne des groupes suffisamment homogènes. Ces derniers correspondent aux feuilles de l’arbre et sont appelés les sommets qui ne peuvent plus être segmentés. Ω >?@>ABC>1ADKC>?B = {6, 7, 8, 9}, avec la distribution de classes ELMH on peut dire que cette partition doit s’arrêter à ce niveau puisque on a que des représentations pour la classe (Jouer = oui). Ω >?@>ABC>1ADKC>?B = {10, 11, 12, 13, 14}, avec EGFH Nous constatons que le second groupe est pure et ne contient que les individus portant l’étiquette oui sur la variables Jouer, par opposition au premier et au troisième groupe sur lesquels nous posons à nouveau des questions mais à l’aide des variable restantes {humidité, venteux} afin d’améliorer la discrimination. On décide dans un premier temps de fixer le seuil à 77.5% pour la variable humidité. Ω >?@>ABC>1@D.>.,NK"OBéQRR.J% = {4, 5} avec la distribution de classes EFMH Ω >?@>ABC>1@D.>.,NK"OBéTRR.J% = {1, 2, 3} avec la distribution de classes EMGH De la même manière, nous partitionnons l’ensemble Ω>?@>ABC>1.K> mais en utilisant l’attribut venteux : Ω >?@>ABC>1.K>,U>B>K31DK = {10, 11} avec la distribution de classes EMFH Ω >?@>ABC>1.K>,U>B>K31D = {12, 13, 14} avec la distribution de classes EGMH Finalement, les feuilles de l’arbre de décision sont isolées en 5 groupes. La lecture d’un arbre de décision est très intuitive, c’est ce qui fait son succès. L’arbre peut être traduit en base de règles sans pertes d’informations. Si l’on considère la feuille la plus à gauche, nous pouvons 37 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 aisément lire la règle d’affectation suivante : « Si ensoleillement = soleil et humidité < 77.5% alors jouer = oui » 2.4. DEFINITIONS ET PRINCIPE Un graphe de décision est un graphe orienté sans cycle permettant de classifier une variable à prédire contenant k classes. On a les propriétés suivantes [Rak, 97]: • Il possède des feuilles terminales, chacune correspond à une classe. • Un nœud non terminal s’appelle nœud de branchement, il possède un label qui correspond à la variable de segmentation et possède l arcs correspondants au nombre de modalité de cette variable. • Le premier nœud s’appelle la racine, il ne possède pas de père. L’apprentissage permet de mettre à jour un modèle de prédiction M permettant pour un individu d’une population Ω dont on ne connais pas au préalable la classe à laquelle il doit appartenir mais tout en connaissant les valeurs des variables exogènes ce qui permettra de prédire la classe grâce au modèle M. La détermination d’une fonction de classement à partir d’un graphe d’induction repose sur trois éléments [Rab, 96] : • Un ensemble d’attributs et d’exemples. Dans un premier temps, nous supposons que les attributs sont tous de natures qualitatives. • Une stratégie de partition qui dépend de : • Un critère de sélection des attributs. • Un critère de limitation de la taille du graphe. • Une affectation à chaque feuille d’une classe. Le critère de sélection d’attribut repose sur le choix d’une variable qui permet de réduire l’incertitude dans laquelle on se trouve lorsque l’on veut classer des exemples. 2.4.1. CRITERE DE SEGMENTATION [RAK, 97] Un graphe d’induction a pour objectif la prédiction de la classe à laquelle un individu ω sera affecté avec le plus de certitude possible. Donc il repose sur le choix du meilleur attribut pour la segmentation des sommets. 38 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 Pour choisir la variable de segmentation, l’algorithme teste toutes les variables potentielles et choisit celles qui maximisent un critère donné. Il faut que le critère utilisé caractérise la pureté lors du passage du sommet à segmenter vers les feuilles produites par la segmentation. Et soit ' = V , V , … , V& une partition de k éléments ou sommet engendrés par l’ensemble des attributs X sur l’échantillon d’apprentissage Ω et I(S) la fonction d’incertitude relative à cette partition définie par la fonction : I : P Ω , $ 2W X ' $ 2' Avec P(Ω , X) ensemble des partitions et I(S) l’incertitude relative à chaque partition. • Selon la loi de Shannon : 2'=Y ∑& 1 _ 23 '=∑1 . • [._ [ log (Z. [ (Z. `Y ∑&1 [ [a_ log [._ [a_ [._ b Selon l’entropie quadratique : 2' = ∑&1 [_ [ _ 23 ' = ∑1 . [._ [ [ c1 Y d ._ef g∑&1 [ [a_ [._ [a_ h1 Y c [._ fij Avec 23 ' est la mesure d’incertitude du sommet S après la segmentation selon le critère X. à toute partitions S de Ω , on peut associer Table 2.3. de m lignes et de - colonnes. X=x1 ……. X=xj ……. X=. Total Y= c1 ( ……. ( Y= ck ( …….. ( ……. (. Ni. Y=cm (" …….. (" ……. (". Nm. Total N.1 …….. N.j ……. ……. (. (.. Table 2.3. Tableau de contingence 39 N1. ( Apprentissage Artificiel par Graphe d'Induction Chapitre 2 Propriété 1 : minimalité par répartition unimodale : L’incertitude est minimale lorsque la répartition est homogène. ∀si, {i=1,…..,k}, ∃yj ∈ {c1,…..,cm}, P(yj/si)=1 D’une autre manière : ∀l ∈ {1,…..,k}, ∃k ∈ {1,…..,k} tel que nkl=n.l l’incertitude est minimale. Cette formule se traduit par pour toutes les feuilles dans une partition S il existe au moins une classe majoritaire. Propriété 2 : maximalité par équirépartition : L’incertitude est maximale si dans chaque sommet les exemples ont la même probabilité d’appartenance aux différentes classes. ∀si, {i=1,…..,k}, ∀yj,yi∈ {c1,…..,cm}2, P(yj/si) = P(yi/si) D’une autre manière : ∀l ∈ {1,…..,k}, ∃k ∈ {1,…..,k} tel que n1l=…….....=nkl . Propriété 3 : symétrie : L’incertitude d’une partition ne doit pas être sensible à l’ordre des sommets. Si, les partitions S= {s1,s2,s3} et S’= {s’1,s’2,s’3}, alors l’une doit être déduite par une simple permutation des classes de l’autre. Donc I(S)=I(S’). Propriété 4 : indépendance : Le calcul des certitudes ne dépend que des sommets actifs lors d’une segmentation. Donc la variation des incertitudes d’une partition ∆I(S) ne dépend que du sommet qui a été segmenté. Si S= {s1, s2, s3} et S’= {s1, s3, s4, s5} où s4, s5 résultent de la segmentation du sommet s2. Alors ∆I(S) = ƒ(I({s2}),I({s4,s5})), l’attribut qui minimise l’incertitude entre S et S’ et le même qui que celui la minimise entre S2 et S4, S5. Le principe de construction d’une graphe d’induction est basé sur la répartition des ensembles d’individus en sous ensembles plus restreins qui minimisent l’incertitude 2'. Généralement, la construction d’un graphe d’induction respect les étapes suivantes : 1. Calculer l’incertitude 2' de la partition '. 2. Pour chaque attribut et sommet candidat à la segmentation, on calcule 2'm où 'm représente la partition issue de ' après la segmentation d’un sommet selon l’attribut . 40 Apprentissage Artificiel par Graphe d'Induction 3. Chapitre 2 Sélectionner l’attribut qui maximise la réduction de l’incertitude ∆2'= 2' - 2'm et effectuer la segmentation selon cet attribut. La réduction de l’incertitude peut être appelée un gain. 4. 5. ' o 'm Si ' est une partition homogène alors affecter à chacune des feuilles une classe majoritaire sinon aller en 1. Le critère de sélection des attributs candidats est le gain ∆2'= 2' - 2'm de réductions de l’incertitude. Parmi les critères possibles pour mesurer l’incertitude d’une partition 2' nous distinguons ceux provenant de la théorie de l’information en utilisant la mesure d’entropie comme l’entropie de Shannon ou quadratique. 2.5. LES METHODES A BASE DE GRAPHE D’INDUCTION Après avoir décrit les principes des graphes d’inductions et leurs principales caractéristiques ainsi que quelques notations générales. Nous nous focalisons sur les détails des principales méthodes qui sont à l’origine de beaucoup de travaux. Ces dernières sont ID3, C4.5, CART et SIPINA. 2.5.1. LES METHODES ID3 ET C4.5 2.5.1.1. LA MÉTHODE ID3 (INDUCTION DECISION TREE) Il existe de nombreuses variantes pour construire des arbres de décision. L'algorithme ID3 (Induction Decision Tree ) développé par Quinlan [Qui, 83] utilise la mesure statistique appelée Information de Gain. On constate expérimentalement que ces algorithmes sont très performants : ils construisent rapidement des arbres de décision qui prédisent avec une assez grande fiabilité la classe de nouvelles données. ID3 ne prend en compte que des attributs nominaux. Son successeur, C4.5, prend en charge des attributs quantitatifs. ID3 utilise la mesure d’incertitude basée sur l’entropie de Shannon [Sha, 48], L’entropie exprime l’information nécessaire pour identifier la classe des exemples d’un échantillon, cela revient à dire que l’entropie exprime l’incertitude dans laquelle on se trouve si l’on veut classer les exemples, notion héritée de la thermodynamique où l'entropie d'un système est d'autant plus grande qu'il est désordonné. 41 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 Soit * un nombre. Il existe un entier p unique tel que 2q Y 1 r * I 2q . Il faut alors p bits pour coder *. On dit que p est la quantité d’information [Mic, 09]. Soit une variable qualitative qui prend - modalités , , … , . . Soit s la taille de la population et (. la taille de la population prenant la valeur ) pour la variable . On a donc ( ( les fréquences suivantes : t (1. , ….., t. (u. La quantité d’information ou encore l’entropie est donné par v : v YEt w log2 t x . . . x t. w log2 t. H Le Gain d’information, noté y)Zs , , apporté par la segmentation du sommet ' selon les valeurs de l’attribut est défini par la réduction d'entropie causée par la partition de selon sa modalité z. y)Zs , = v – ∑C ∈ C.>K?@ O> 3_ avec : ∑C ∈ C.>K?@ O> 3_ • v 2'=Y ∑& 1 ~}_ ~ |}| (Z. [ 53_ 1 C5 |}| log v d 3_1C e 2 ' = ∑1 ._ [._ [ v d 3_1C e (Z. [ `Y ∑&1 [. - [ b [a_ d’où : y)Zs , = ∆2'= 2' - 2 ' _ [a_ ._ Déroulement de l’algorithme Sur la base de la population considérée dans la Table 2.1, on montre la construction d'un arbre de décision par ID3. L'attribut cible est donc : Jouer au tennis ? Étape 1. La création de la racine ' qui est la partition initiale contenant tout l’échantillon d’apprentissage, dont 9 individus appartenant à la classe oui et 5 à la classe non. Étape 2. La partition n’est pas pure et l’ensemble des attributs n’est pas vide, donc la partition suivante ' est engendrée en calculant le gain selon les variables restantes : • Calcule de l’entropie Nœud racine v = Y d14 log2 14 x 14 log2 14 e = 0,940 9 9 5 5 42 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 La partition suivante ' est engendrée sur la base des variables restantes qui maximisent le Gain : Perspective, Température (°F), Humidité (%),Venteux ?. • Calcule de gain par rapport à la variable = Perspective Perspective = soleil : v d 3_1@D.>. e = Y dJ log J x J log J e = 0,971 Perspective = couvert : v d 3_1 e = Y d Perspective = pluie : v d 3_1.K> e = Y d J = = log Gain(Perspective) = v Y v d 3_1C e < log = x J x = < log = e = 0 = log e = 0,971 < J < J = 0,940 – [(=) w (0,971) + (=) w (0) + (=) w (0,971)] = 0,247 J • = J Calcule de gain par rapport à la variable = Température Température = Chaud : v d 3_1KO e = Y d= log x = log e = 1 = = Température = Tiède : v d 3_1 è e = Y d log x log e = 0,918 = = Température = Fraîche : v d 3_1¡¢î£ e = Y d= log = x = log = e = 0,811 < < Gain(Température) = v Y v d 3_1C e = 0,940 – [(=) w (1) + (=) w (0,918) + (=) w (0,811)] = 0,029 = • = Calcule de gain par rapport à la variable = Humidité Humidité = Elevée : v d 3_1¦.>Cé> e = Y d < R log < R x = R log e = 0,985 = R Humidité = Normale : v d 3_1©ª¢« e = Y dR log R x R log R e = 0,592 Gain(Humidité) = v Y v d 3_1C e = 0,940 – [(=) w (0,985) + (=) w (0,592)] = 0,152 R • R Calcule de gain par rapport à la variable = Venteux ? Venteux ? = Oui : v d 3_1­K e = Y d® log ® x ® log ® e = 0,811 43 Apprentissage Artificiel par Graphe d'Induction Venteux ? = Non : v d 3_1[D e = Y d log < Gain(Venteux) = v Y v d 3_1C e < Chapitre 2 x log e = 1 < < = 0,940 – [( ) w (1) + ( ) w (0,811)] = 0,048 = ® = Donc, la racine de l'arbre de décision testera l'attribut Perspective puisque elle maximise le gain d’information. La partition ' est engendrée par la variable Perspective, c’est une variable de segmentation. Elle est composée de 3 modalités donc elle produit 3 sommets enfants. s ω ∈ Ω | X ω Soleil s ω ∈ Ω | X ω Couvert s< ω ∈ Ω | X ω Pluie La figure 2.2 illustre la construction des partitions ' , '. s 9 5 Partitions S X Soleil Partitions S s 2 3 X Couvert Oui s 4 Non 0 X Pluie Oui s< 3 Oui Non 2 Non Figure 2.2. Construction de s , s , s , s< Étape 3. La partition n’est pas pure et l’ensemble des attributs n’est pas vide, donc la partition suivante ' est engendrée en calculant le gain selon les variables restantes : Température (°F), Humidité (%),Venteux ?. • Calcule de l’entropie Nœud Perspective = ´µ¶·¸¶ v = Y d5 log2 5 x 5 log2 5 e = 0,97 3 3 2 2 44 Apprentissage Artificiel par Graphe d'Induction • Chapitre 2 Calcule de gain par rapport à la variable = Température Température = Chaud : v d 3_1KO e = Y d Température = Tiède : v d 3_1 è e = Y d log log Température = Fraîche : v d 3_1¡¢î£ e = Y d Gain(Température) = v Y v d 3_1C e x log x log e = 0 log e = 1 x log e = 0 = 0,97 – [(J) w (0) + (J) w (1) + (J) w (0)] = 0,57 • Calcule de gain par rapport à la variable = Humidité Humidité = Elevée : v d 3_1¦.>Cé> e = Y d< log < x < log < e = 0 < < Humidité = Normale : v d 3_1©ª¢« e = Y d log x log e = 0 Gain(Humidité) = v Y v d 3_1C e = 0,97 – [(J) w (0) + (J) w (0)] = 0,97 < • Calcule de gain par rapport à la variable = Venteux ? Venteux ? = Oui : v d 3_1­K e = Y d< log < x < log e = 0,91 < Venteux ? = Non : v d 3_1[D e = Y d log x log e = 1 Gain(Venteux) = v Y v d 3_1C e = 0,97 – [(J) w (0,91) + (J) w (1)] = 0,024 < Le Gain informationnelle le plus élevé est au niveau de la variable Humidité, cette dernière est donc sélectionnée a cette étape. La partition ' est engendrée par la variable Humidité, c’est une variable de segmentation. Elle est composée de 2 modalités donc elle produit 2 sommets enfants. s= ω ∈ Ω | X ω Normal sJ ω ∈ Ω | X ω Elevée 45 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 La figure 2.3 illustre la construction de la partition ' s 9 5 Partitions S X Soleil Partitions S X Couvert s 2 Oui s 4 Oui 3 Non 0 Non Partitions S X Normal X Pluie s< 3 Oui 2 Non X Elevée s= 2 Oui sJ 0 Oui 0 Non 3 Non Figure 2.3. Construction de s= , sJ Étape 4. La partition n’est pas pure et l’ensemble des attributs n’est pas vide, donc il reste la possibilité de segmentation sur le nœud s< en calculant le gain selon les variables restantes : Température (F°), Venteux ? • Calcule de l’entropie Nœud Perspective = ¹¶º¸· • Calcule de gain par rapport à la variable = Venteux ? v = Y d 2 5 log2 5 x 5 log2 5 e = 0,97 2 3 3 Venteux ? = Oui : v d 3_1­K e = Y d log x log e = 0 Venteux ? = Non : v d 3_1[D e = Y d< log < x < log < e = 0 Gain(Venteux) = v Y v d 3_1C e < < = 0,97 – [(J) w (0) + (J) w (0)] = 0,97 < 46 Apprentissage Artificiel par Graphe d'Induction • Chapitre 2 Calcule de gain par rapport à la variable = Température Température = Chaud : v d 3_1KO e = 0 Température = Tiède : v d 3_1 è e = Y d < log Température = Fraîche : v d 3_1¡¢î£ e = Y d Gain(Température) = v Y v d 3_1C e < x log < log e = 0.91 x < log e = 1 = 0,97 – [ (J) w (0.91) + (J) w (1)] = 0,024 < Le Gain informationnelle le plus élevé est au niveau de la variable Venteux, cette dernière est donc sélectionnée a cette étape. C’est une variable de segmentation. Elle est composée de 2 modalités donc elle produit donc 2 sommets fils. s ω ∈ Ω | X< ω Oui sR ω ∈ Ω | X< ω Non s 9 5 Partitions S X Soleil Partitions S Partitions S X Normal X Couvert s 2 Oui s 4 Oui 3 Non 0 Non X Elevée s= 2 Oui sJ 0 Oui 0 Non 3 Non s< X< Non 3 Oui 2 Non X< Oui s 3 Oui sR 0 Oui 0 Non 2 Non Figure 2.4. Construction de s , sR 47 X Pluie Apprentissage Artificiel par Graphe d'Induction Chapitre 2 2.5.1.2. LA METHODE C4.5 Successeur d'ID3, C4.5 prend en compte les attributs numériques, c'est-à-dire des attributs dont l'arité est élevée. La construction d'un arbre de décision par C4.5 est identique dans son principe à la construction par ID3. • Critère de sélection des attributs : Il est apparu que le Gain d’information d’ID3 favorisait les attributs avec beaucoup de valeurs. Ayant reconnu cette défaillance Quinlan utilise dans C4.5 [Qui, 93], [Qui, 90] une variante du Gain d’Information. La notion de Gain introduite plutôt tend à favoriser les attributs qui ont un nombre important de valeurs. Pour contrecarrer cet effet, C4.5 utilise le rapport de gain au lieu du gain d'information pour déterminer l'attribut à utiliser dans un noeud. W)½½*¾ +¿ )Zs , '½-Z¾2s , À Á y)Zs , '½-Z¾2s , C ∈ C.>K?@ O> 3_ ~ 3_1C ~ | | log ~ 3_1C ~  | | Cela ne favorisera pas la participation des attributs à la segmentations en ayant un nombre de modalité important du moment où le '½-Z¾2s , sera élevé et qui est un calcule d’entropie, ce qui affaiblira le W)½½*¾ +¿ )Zs , . • Traitement des variables continues : Ce sont les données entières ou réelles : l'âge, le revenu, La température, ... mais aussi les données pouvant prendre un grand nombre de valeurs ordonnées. Si nous considérons le sommet le plus à gauche sur la partition S du graphe donné dans la figure 2.4, ce dernier couvre 5 individus et a été segmenté à l’aide de l’attribut humidité, le seuil de coupure utilisé étant <77.5% Normal; 9 77.5% Élevée. Ce résultat est la conséquence de deux tâches élémentaires : 48 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 • Sélectionner la meilleure valeur de coupure pour chaque variable continue. • Sélectionner globalement la meilleure segmentation en comparant la pertinence de tous les descripteurs : les descripteurs discrets et les descripteurs continus qui ont été découpés en intervalles. La première opération consiste à déterminer le meilleur point de coupure pour les variables continues. Nous considérons le cas du découpage binaire. Les études évaluant l’opportunité d’une discrétisation n-aire ont par ailleurs montré qu’il n’y avait pas d’avantage à réaliser ce type de découpage, mis à part que l’on réduit visuellement le nombre de niveaux de l’arbre, sans en réduire le nombre de feuilles [Rak, 05]. 70 x 85 77.5 2 70 Jouer 85 Hum< 77.5 Hum>=77.5 Jouer 90 Hum< 77.5 Hum>=77.5 95 Jouer Hum< 77.5 Hum>=77.5 Oui 2 0 Oui 2 0 Oui 2 0 Non 0 3 Non 1 2 Non 2 1 Figure 2.5. Sélection de la borne de discrétisation Détaillons les calculs et commentons-les. • Il y a 5 observations sur le sommet, avec 4 valeurs distinctes de la variable humidité . Nous pouvons tester 3 points de coupures candidats. • Généralement, le point de coupure est pris à mi-chemin entre 2 points successifs ; en réalité toute valeur située dans l’intervalle pourrait être utilisée. Si on coupe entre deux valeurs z et w (z < w) de l'attribut, le seuil q est fixé à • ÃXÄ ) Choisir s de telle manière que le gain d'information soit maximal. 49 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 2.5.2. LA METHODE CART (CLASSIFICATION AND REGRESSION TREES) La méthode CART est basée sur le même algorithme d’induction utilisé par la méthode C4.5 et ses prédécesseurs pour la sélection des attributs candidats à la segmentation [Ber, 06]. Dans la méthode CART, une segmentation est toujours binaire. Les attributs d’une modalité > 2, sont systématiquement rendus binaires en regroupant les valeurs en deux nouvelles modalités. Les attributs symboliques à È valeurs nominales produisent 2&É Y 1 groupements binaires possibles. Par exemple, un attributs nominal à quatre modalités produits sept groupement possibles : 1 et 2, 3, 4 4 et 1, 2, 3 2 et 1, 3, 4 1, 2 et 1, 2 1, 2 et 3, 4 3 et 1, 2, 4 1, 3 et 2, 4 Lors de la construction du graphe ou bien l’arbre de décision, CART examine tous les attributs, recherche pour chacun d’entre eux le meilleur regroupement binaire qui maximise le gain d’incertitude [Rab, 96]. 2.5.3. LA METHODE D'INTERROGATION SIPINA (SYSTEME INTERACTIF POUR LES PROCESSUS NON ARBORESCENTS) [ZIG, 85], [Rab, 96] Dans les méthodes présentées jusqu’ici, la démarche est arborescente et la seule opération l’hors du passage d’une partition S à S X est la segmentation des exemples. Un graphe d’induction dans ce cas là est désigné aussi par le terme Arbre de décision. L’algorithme SIPINA procède de la même manière que les autres algorithmes (ID3, C4.5,...) à l’exception du concept du fusionnement, le passage d’une partition S à S X ne se fais pas uniquement par éclatement mais par fusionnement ou fusionnement éclatement, ce que qualifie SIPINA comme une méthode non arborescente. Si on passe à des éclatements on risque d’avoir un graphe qui est statistiquement faible par diminution des effectifs. Pour cette raison nous procédons à des fusions ou des fusions – éclatements en vue d’obtenir une meilleure partition, Le gain d’incertitude, noté Gain , apporté par la segmentation du sommet ' selon les modalité de la variables est définie comme suit : 2' = ∑&1 [._ X Ë [X "Ë 50 c1 Y d [._ X Ë [X "Ë ef Apprentissage Artificiel par Graphe d'Induction _ 23 ' = ∑1 . [_. [ Chapitre 2 [a_ X Ë g∑&1 [ _. X "Ë [a_ X Ë h1 Y c[ _. X "Ë fij Gain ∆2'= 2' - 2'm Le paramètre λ de la mesure d’incertitude contrôle la construction de l’arbre en pénalisant les sommets de faibles effectifs. Le paramètre λ peut être fixé à 1 [Zig, 96]. Soit S= (s1|…|si|…|sj|…|sL) un tableau de contingence. S’il existe un doublet si , sj alors la fusionnée S" =( s1|…|si+sj|…|sL) et tel que la qualité de partition de S" soit maximale par rapport à T. Cette qualité est la minimisation de l’incertitude si sj t t+1 0 0 … … 0 0 Avec Si est le sommet de faible effectif, en fixant un effectif minimal noté (t), ainsi tout sommet dont l’effectif est inférieur à (t) est indésirable même s’il est homogène. La valeur de λÍ est telle que λÍ Î)E2' Í Y 2' X H 2' Í et 2' X sont calculées à partir de la mesure d’incertitude basée sur l’entropie quadratique : 2' Í = BX "Ë c1 Y dBX "Ëef x , Y 1 dBX "Ë c1 Y dBX "Ëef e BX Ë 2' X = BXX Ë BXX "Ë BXË Ë Ë c1 Y dBXX "Ëef x , Y 1 dBXX "Ë c1 Y dBXX "Ëef e BXXË Ë Ë et soit ÏÐ= 2' Í Y 2' X = Ð , Y 1 dBX"ËÑ BXX "ËÑ e "ËXBXB Ñ XB"Ë La valeur de λÍ est telle que ÒË = 0. ÒÓ 51 Apprentissage Artificiel par Graphe d'Induction 2.5.3.1. PASSAGE DE LA PARTITION ´¸ Chapitre 2 À ´¸XÔ Soit la partition ' = V , V , V< de p éléments, Pour passer de la partition ' à la partition 'X nous effectuerons les trois phases suivantes [Zig, 00] : Phase 1 : Passage par regroupement Sur la base de l’exemple de la figure 2.3 nous pouvons de générer trois partitions par regroupement : S3 S1 S2 Figure 2.6. La partition courante ' 'X = {V U V , V< } qui donne un gain d'incertitude 2' Y 2E'X H 'X = {V , V U V< } qui donne un gain d'incertitude 2' Y 2E'X H 'X < = {V U V , V< } qui donne un gain d'incertitude 2' Y 2E'X < H La partition choisie est celle qui maximise le gain informationnel, c à d : y)Zs Î)1,,< d2' Y 2E'X He S3 S1 S2 S4 S3 S1 S2 S3 S1 S4 S2 S4 Figure 2.7. Les partitions générées par le regroupement des pairs V , V , V< 52 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 Phase 2 : Passage par Regroupement - Éclatement Après avoir effectué toutes les fusions possibles présenté dans la Figure 2.7, on cherche par éclatement des nœuds fusionnés selon toutes les variables possibles ; la meilleur partition admissibles. S3 S1 S2 S1 S4 S1 S2 S5 S2 S4 S4 X1 S6 S5 S3 S3 X2 S6 S5 X3 S6 Figure 2.8. Regroupement-Éclatement du premier regroupement à l’aide de trois variables S3 S1 S2 S3 S1 S2 S4 S1 S2 S4 X1 S5 S3 S4 X2 S6 S5 X3 S6 S5 S6 Figure 2.9. Regroupement-Éclatement du deuxième regroupement avec trois variables 53 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 Parmi les différents gains, faire le choix du maximum positif. S'il existe au moins une partition admissible on ré exécute la phase 1, sinon on passe à la phase 3. S3 S3 S1 S1 S2 S2 S1 S2 S4 S4 X1 S5 S3 S4 X2 S5 S6 X3 S6 S5 S6 Figure 2.10. Éclatement du premier regroupement avec trois variables Phase 3 : Passage par Éclatement Nous cherchons par éclatement sur chaque sommet de la partition ' , avec toutes les variables , la meilleure partition admissible. S3 S1 S3 S2 S1 X1 S4 S3 S2 S1 X2 S5 S4 S2 X3 S5 S4 S5 Figure 2.11. Éclatement du premier sommet ' avec les trois variables 54 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 S3 S1 S3 S2 S1 S2 X1 S4 S3 S1 S2 X2 S5 X3 S4 S5 S4 S5 Figure 2.12. Éclatement du premier sommet ' avec les trois variables S3 S1 S3 X1 S2 S4 S1 S3 X1 S2 S5 S4 S1 X1 S2 S5 S4 S5 Figure 2.13. Éclatement du premier sommet '< avec les trois variables 2.5.3.2. Algorithme SIPINA Début 1. Choix de la mesure d'incertitude, la formule de calcul utilisée est l'entropie quadratique, donnée par : 2. [ XË [ XË 2' = ∑&1 [X._ "Ë c1 Y d[X._ "Ëef Fixation du paramètre λ 55 Apprentissage Artificiel par Graphe d'Induction 3. Génération de la première partition à partir du sommet initial; 4. Tentative de fusion : Chapitre 2 Si gain > 0 alors Générer la partition (fusion) et Aller à 4 5. Tentative de fusion — éclatement : Si gain > 0 alors Générer la partition (fusion - éclatement) et Aller à 4 6. Tentative d'éclatement , si succès (gain > 0) Si gain > 0 alors Générer la partition (éclatement) et Aller à 4 7. Fin de l'algorithme. Fin. 2.6 CONCLUSION Nous avons présenté dans ce chapitre les méthodes à base de graphes d'inductions, ces dernières se basent sur le même principe que celui adapté dans la construction d’un graphe, c'est-à-dire segmenter récursivement les nœuds afin de réduire l'incertitude. Cependant, les méthodes à base de graphes d'inductions diffèrent dans la stratégie de réduction de la taille du graphe. Pour ce dernier point, on a vu que par rapport aux différentes méthodes utilisées dans l’extraction des règles, la méthode SIPINA a pallié à l’inconvénient majeur de toutes les autres qui est le faible apport statistique du graphe d’induction dû au faible effectif des feuilles de ce dernier. Dans le chapitre suivant, nous étudions l’adaptation des graphes d’inductions pour le traitement des données géo référencés et leurs optimisations en utilisant une technique à base d’automate cellulaire. 56 Apprentissage Artificiel par Graphe d'Induction Chapitre 2 BIBLIOGRAPHIE [Bre, 84] Breiman, L., J.H. Friedman, R.A., Olshen, C.L., Stone, Classification and Regression Trees, Chapman and Hall, 1984. [Die, 86] Dietterich, T. G., Learning at the knowledge level, Machine Learning, PP 287-316, 1986. [Hun, 66] Hunt, E.B., Martin, P.J. Stone, Experiments In 1966. [Kas, 80] Kass, G., An exploratory technique for investigating large quantities of categorical data, Applied Statistics, PP 119-127, 1980. [Mor, 63] Morgan, J., Sonquist J.A., Problems in the Analysis of Survey Data, and a Proposal, Journal of the American Statistical Association, PP 415-435, 1963. [Mic, 09] Micheli, A., Arbres de décision, Cours de Licence BI, Université de Paris Diderot. [Qui, 79] Quinlan, J.R., Discovering rules by induction from large collections of examples, Expert Systems in the Microelectronic age, PP 168-201, 1979. [Qui, 93] Quinlan, J.R., C4.5: Programs for Machine Learning, Morgan Kaufman, 1993. [Qui, 90] Quinlan, J.R, Probabilstic decision trees, In Machine Learning : An Artificial Intelligence Approch, Volume 3, Morgan Kaufman, 1990. [Rak, 05] Rakotomalala, R., Arbre de decision, Revue MODULAR, 2005. [Rak, 97] Rakotomalala, R., Graphes d’induction, These pour l’obtention du Diplôme de Doctorat, Université Claude Bernard-Lyon 1, 1997. [Sha, 48] Shannon. C., A mathematical theory of communication. The Bell System Technical Journal, 27, 1948. [Zig, 85] Zighed, D.A., Méthodes et outils pour les processus d'interrogation non arborescents. PhD thesis, Université Claude Bernard - Lyon 1, 1985. [Zig, 96] Zighed, D.A., Rakotomalala, R., Rabaseda, S., A discretization method of continuous attributes in induction graphs. Proceedings of the 13th European Meetings on Cybernetics and System Research, PP 997-1002, 1996. [Zig, 00] Zighed, D.A., R.Rakotomalala, Graphes automatique et data mining. Hermès 2000. 57 Induction. Academic Press, d’induction : apprentissage Chapitre 3 Classification Spatiale guidée par CASI Plan 3.1. Introduction 3.2. Travaux connexes 3.3. Problématique 3.4. Primitives des relations spatiales 3.4.1. Les relations de voisinage 3.4.1.1. Les relations topologiques 3.4.1.2. Les relations de distance 3.4.1.3. Les relations de direction 3.5. La classification spatiale 3.5.1. Algorithme 3.5.2. Automate cellulaire pour des systèmes d’inférence CASI 3.5.2.1. Exemple d’apprentissage symbolique à partir de données à références spatiales 3.5.2.2. Complexité théorique 3.6. Conclusion Classification Spatiale guidée par CASI Chapitre 3 3.1. INTRODUCTION La plupart des méthodes de classification ne prennent en charge que la représentation des données sous format relationnelles. Une donnée spatiale est généralement composée de trois parties : une partie géométrique (la forme par exemple ligne, point, polygone), une partie descriptive (par exemple le nom, la population d’une ville) et une partie métrique calculée (par exemple la superficie, le périmètre) [Rig, 02]. La description non-spatiale des objets spatiaux peut être stockée dans une base de données relationnelle classique alors qu’un attribut supplémentaire est un pointeur vers la description spatiale de l’objet [Are, 91]. Pendant le processus de la fouille de données spatiales, on cherche à trouver les règles qui divisent l’ensemble des objets on plusieurs classes en utilisant non seulement leurs attributs descriptifs mais aussi leurs relations spatiales. La représentation de la connaissance est aussi une question fondamentale dans la conception d’un système d’apprentissage automatique, car la représentation utilisée peut réduire la complexité en terme de traitement et de stockage. Dans ce chapitre nous nous focalisons sur la classification des objets spatiaux en adaptons les techniques d’arbres de décision existantes afin de lancer une fouille sur des données spatiales, représentées sous forme de couches thématiques. 3.2. Travaux connexes Parmi les travaux qui se sont focalisés sur la classification des données spatiales nous pouvons citer ceux de Fayyad [Fay, 96] par l’utilisation des arbres de décision pour la classification des objets stellaires pour les étoiles et les galaxies. Environs 3 Terabytes d’images ont été analysées. Ces données ont été traitées à l’aide du système FOCAS, qui sélectionne les objets et fourni des attributs de base comme : la magnitude, les régions, l’intensité, l’orientation, …. Les objets ont été classifiés par des astronomes. Basé sur cette classification, dix bases de données d’apprentissages ont été conçues pour construire l’arbre de décision et extraire les règles. La méthode ne s’applique pas à la base de données sous format vectoriel, souvent utilisée dans les systèmes d’informations géographiques. Une méthode de classification des objets spatiaux utilisant les graphes de voisinages a été proposée par Ester [Est, 97]. L’algorithme est basé sur la méthode ID3. Les objets sont traités comme voisins si les relations de voisinages suivantes sont vérifiées : 59 Classification Spatiale guidée par CASI 3.3. • Les relations topologiques • Les relations de métriques • Les relations de directions Chapitre 3 PROBLEMATIQUES La complexité d’aboutir à un modèle prédictif pour prévoir les accidents de la route est située à deux niveaux : • En tenant compte du contexte géographique de l’accident d’un coté. De l’autre coté, la structure de l’information spatiale qui est organisée en couche sous une représentation vectorielle [Abd, 07]. Alors, le calcule de la relation de voisinage d’un accident par rapport aux différents objets voisins doit être effectuer entre l’accident lui-même et les différents objets spatiaux voisins qui appartiennent à des couches thématiques distinctes afin d’aboutir à un échantillon d’apprentissage, où chaque tuple constitue un exemple à classer par les graphes d’inductions. Le principe est illustré par la Figure 3.1. Distance (Accident, équipement publique) ID_Accident Age Date_Accident distance Nature de l’accident Accident_1 01 33 13/09/1999 78 Piéton Accident_2 02 28 13/09/1999 88 voiture Accident_3 03 44 13/09/1999 120 Piéton ………. …………… ………. …………. … … Figure 3.1. L’analyse spatiale entre les différentes couches et construction de l’échantillon d’apprentissage 60 Classification Spatiale guidée par CASI • Chapitre 3 On doit cerner nos besoins vis à vis la structure de l’entité géographique car c’est l’unité de base dans tous systèmes d’informations géographiques. Elle est caractérisée par plusieurs types d’informations. On peu classifier les attributs décrivant et les opérations applicables sur l’entité géographique, en quatre catégories distinctes [Kos, 99]: a . Les attributs non spatiaux des objets comme le type d’accident ou l’âge de la victime. b. Les attributs spatiaux relatifs, comme la localisation de l’objet par rapport à son voisinage, comme la population au sein d’un périmètre de 1 Km à partir d’un point donné. c. Les prédicats spatiaux : Dénote la relation en question entre deux objets géométriques comme la proximité de deux entités dans un périmètre de 10 Kilomètres : Distance_less_than10_KM (magasin, centre commercial) d. Les fonctions spatiales : C’est l’application des différentes opérations sur des données géographiques Ces fonctions d'analyse de données géographiques peuvent être utilisées dans plusieurs contextes, comme un programme SQL interactif, mysql ou une application écrite dans un langage qui dispose du support des bibliothèques clientes Comme MapXtreme Chacune de ces catégories peut être utiliser pour extraire des valeurs pour les attributs prédictifs ou à prédire. Par exemple le calcul de la population dans un périmètre de 1 kilomètre à partir d’un magasin exige d’effectuer la somme de cette dernière dans tous les bloques en intersection avec le buffer au tour du magasin, comme l’illustre la Figure 3.2. 61 Classification Spatiale guidée par CASI Chapitre 3 Figure 3.2. Analyse spatiale utilisant la technique du Buffering Dans notre démarche de fouille de données spatiales, les données sont organisées sous plusieurs couches thématiques donc en plusieurs tables relationnelles. Pour ce fait, nous proposons d’organiser les données en une seule table relationnelle et en mettant en valeurs dans les différents champs, toutes les relations de voisinages. Par exemple, dans le cas de la Figure 3.1, un ou plusieurs champs sont ajoutés à la table des accidents, ce dernier correspond à la distance du lieu d’accident par rapport à un équipement publique. En représentant les relations topologiques sous forme relationnelle, nous pourrons aisément appliquer les méthodes à base d’arbres de décisions. Dans la suite de ce chapitre, des primitives de relations spatiales sont présentées, qui permettent de calculer les relations de voisinages. 3.4. PRIMITIVES DES RELATIONS SPATIALES La construction de l’exemple d’apprentissage est basée sur la prise en compte des relations spatiales entre les différents objets géométriques. Ces derniers représentent des entités dans l’espace ou des phénomènes du territoire urbain (accident, épidémie, séisme, …) qui fournissent des informations implicites, nécessaires pour le processus de l’extraction de la connaissance. L’extraction de la connaissance à partir des données à références spatiales est une extension de l’extraction de la connaissance classique [Est, 99]. 62 Classification Spatiale guidée par CASI Chapitre 3 3.4.1. LES RELATIONS DE VOISINAGE [EST, 99] L'influence mutuelle entre deux objets dépend des facteurs tels que la topologie, la distance ou la direction entre les objets. Par exemple, un nouvel ensemble industriel peut polluer son voisinage selon la distance et sur la direction principale du vent. La Figure 3.3 montre une carte utilisée dans l'évaluation d'un endroit possible pour un nouvel ensemble industriel. La carte montre trois régions avec différents degrés de pollution (indiquées par les différentes couleurs) provoqués par l'usine prévue. Figure 3.3. Les Régions pollués au tour d’une zone industrielle Dans cette section, nous présentons trois types de relations spatiales : relation topologique, de distance et de direction qui sont des relations binaires, entre les paires d'objets. Les objets spatiaux peuvent être des points ou des objets dans l'espace prolongés tels que des lignes, des polygones. Des objets dans l'espace prolongés peuvent être représentés par un ensemble de points sur sa surface, par exemple par les bords d'un polygone (représentation de vecteur) ou par les points contenus dans l'objet, par exemple les Pixels d'un objet. 3.4.1.1. LES RELATIONS TOPOLOGIQUES Les relations topologiques sont les relations qui restent invariables sous des transformations topologiques, elles sont préservées si les deux objets sont changés d’échelle, translatés ou pivotés simultanément. Les définitions formelles sont basées sur les frontières, les intérieurs et les compléments des deux objets connexes. 63 Classification Spatiale guidée par CASI Chapitre 3 Ces relations selon les extensions SQL d’oracle spatial sont [Arm, 06]: Inside, Touch, Covers, Equal, Contains, Disjoint, Coverded By, Overlap Boundary. 3.4.1.2. LES RELATIONS DE DISTANCE Les relations de distance sont ces relations comparant la distance de deux objets à une constante donnée utilisant un des opérateurs arithmétiques. La distance entre deux objets est définie par la distance minimum entre leurs points. Nous citons selon SQL étendu d’oracle spatial les relations [Arm, 06] : Within Distance, Nearest Neighbor. 3.4.1.3. LES RELATIONS DE DIRECTION Pour définir les relations de direction , nous distinguons l'objet source et l'objet destination de la relation de direction. Il y a plusieurs possibilités pour définir des relations de direction selon le nombre de points qu'ils considèrent dans la source et l'objet de destination. Nous définissons la relation de direction de deux objets dans l'espace prolongé utilisant un représentant de l'objet de source et tous les points de la destination de l’objet . a. Relation topologique b. Relation de distance c. Relation de direction Figure 3.4. Les relations topologiques et de distance Dans la construction de l’échantillon d’apprentissage, nous nous basons sur les relations de distance comme relations de voisinage entre les points de la couche thématique des accidents et les équipements publiques de la seconde couche (École, administration, supermarché , …). 64 Classification Spatiale guidée par CASI 3.5. Chapitre 3 LA CLASSIFICATION SPATIALE La tâche de la classification consiste à assigner un objet à une classe donnée basée sur les valeurs d'attributs de cet objet. Dans la classification spatiale les valeurs d'attribut des objets voisins sont également considérées. L'algorithme présenté dans [Kop, 98] fonctionne comme suit : Les attributs en question sont extraits en comparant les valeurs d'attributs des objets cibles aux valeurs d'attribut de leurs voisins plus proches. La détermination des attributs appropriés est basée sur le concept du voisin le plus proche (le voisin le plus proche appartenant à la même classe) et le voisin manqué le plus proche (le voisin le plus proche appartenant à des classes différentes). Dans la construction de l'arbre de décision, les voisins des objets cibles ne sont pas considérés individuellement. Un Buffer est créé autour de l’objet cible et les valeurs d'attributs de tous les objets contenus dans le Buffer sont agrégés. Par exemple, dans le cas des centres commerciaux un Buffer peut représenter le secteur où ses clients vivent ou travaillent. La taille du Buffer rapportant le gain maximum de l'information est choisi et cette taille est appliquée pour calculer les agrégats pour tous les attributs appropriés. La Figure 3.5 montre un exemple d’arbre de décision spatial. 150 accidents Distance>= 100 m (Accident, École)=Vrai Distance>= 100 m (Accident, École)=Vrai 55 accidents piétons 95 accidents Distance>= 100 m (Accident, École)=Vrai Distance>= 100 m (Accident, École)=Vrai 45 accidents piétons 15 accidents piétons Figure 3.5. Arbre de décision spatial [Che, 02] 65 Classification Spatiale guidée par CASI Chapitre 3 3.5.1. ALGORITHME Les paramètres d’entrés de l’algorithme : • N tables qu’on sélectionne à partir de la base de données, n≥2. : a. Target_Tab : la table contenant les objets à classer b. Neighbor_Tab : la J è table contenant les voisins des objets des tables cibles. c. Les attributs d’analyse qu’on choisit parmi les attributs des objets à classer et les objets voisins. Répéter Pour chaque Neighbor_Tab , insérer dans la table cible une colonne correspondant à la description du voisinage avec Target_Tab, et enregistrer dans cette colonne la relation spatiale de voisinage. Les paramètres de sortie est la tables cible Target_Tab, avec les attributs non spatiaux et les évaluations de voisinages des attributs spatiaux. Une fois les données restructurées dans une seule table Target_Tab ou ce qu’on appel l’échantillon d’apprentissage. N’importe quel algorithme de construction d’arbre de décision est applicable. Dans ce qui suit, nous présentons notre approche de construction d’arbre de décision cellulaire basés sur le principe de la méthode SIPINA. 3.5.2. AUTOMATE CELLULAIRE POUR DES SYSTEMES D’INFERENCE (CASI) 3.5.2.1. EXEMPLE D ’APPRENTISSAGE REFERENCES SPATIALES SYMBOLIQUE A PARTIR DE DONNEES A Nous présentons dans cette section un exemple d’apprentissage basé sur le principe de la méthode SIPINA. Nous appliquons l’algorithme décrit dans la section précédente. Les données en entrée est l’ensemble d’accidents de routes comme Target_Tab. 66 Classification Spatiale guidée par CASI Chapitre 3 a. La table contenant les objets à classer : • Target_Tab : PLAN_ORAN_ACCIDENTS, la couche thématique représentant les accidents de routes sous forme de points. b. Les autres couches thématiques candidates pour un calcule de voisinage par rapport à Target_Tab sont : • Neighbor_Tab 1 : PLAN_ORAN_BAT_PUB, la couche thématique des bâtiments publiques concernant les différentes administrations (PTT, Police, banque, …) • Neighbor_Tab 2 : PLAN_ORAN_SCOLARITE, la couche thématique des différentes établissements scolaires (écoles primaires, CEM, Lysée) • Neighbor_Tab 3 : PLAN_ORAN_PASSAGE : la couche thématique à proximité des passages piétons. • Neighbor_Tab 4 : PLAN_ORAN_MARCHE : la couche thématique des marchés. L’exemple d’apprentissage final est constitué d’attributs de la table des accidents de la route ainsi que quatre attributs supplémentaires correspondants à la distance entre le lieu de chaque accidents par rapport au objets de voisinages des autres couches thématiques déjà citées. Figure 3.6. Voisinage des objets spatiaux par rapport au lieu d’impact Soit Ω =ω , ω , … , ω l’ensemble des accidents représentants l’échantillon d’apprentissage. Les attributs prédictifs représentent le voisinage des différentes couches thématiques par rapport au lieu d’accident. Chaque individu est associé à une classe 67 Classification Spatiale guidée par CASI Chapitre 3 correspondante notée ω . La variable à prédire Y prend ses valeurs dans l’ensemble des étiquettes C= è !, " #$%, avec: 1 : accident de type voiture, 2 : accident de piéton. Y : Ω & '= è !, " #$% & ω ( )* Après avoir effectuer le calcule de voisinage entre le lieu d’accident et la couche thématique concernée, la population Ω est donnée par Table 3.1 Ω ID Date_Accident BAT_PUB SCOLARITE PASSAGE MARCHE Nature 01 13/09/1999 78 240 OUI 450 voiture 02 13/09/1999 8 40 NON 12 Piéton + 03 13/09/1999 120 13 OUI 129 Piéton , 04 13/09/1999 76 22 NON 348 Piéton - 05 13/09/1999 16 445 OUI 98 Piéton . 06 13/09/1999 80 18 NON 100 Voiture / 07 13/09/1999 10 11 NON 755 Voiture 0 08 13/09/1999 120 700 OUI 453 Piéton 1 09 13/09/1999 7 12 OUI 300 Piéton 10 13/09/1999 34 300 NON 204 Voiture 11 13/09/1999 300 13 OUI 543 Piéton 12 13/09/1999 23 33 OUI 32 Piéton + 13 13/09/1999 5 24 NON 513 Piéton , 14 13/09/1999 200 323 OUI 300 Piéton - 15 13/09/1999 234 150 OUI 411 Piéton . 16 13/09/1999 40 900 NON 623 Voiture / 17 13/09/1999 403 16 OUI 12 Piéton 0 18 13/09/1999 340 103 NON 311 Voiture 1 19 13/09/1999 120 230 NON 45 Piéton 20 13/09/1999 19 22 OUI 750 Piéton Table 3.1 Un exemple d’échantillon d’apprentissage 68 Classification Spatiale guidée par CASI Chapitre 3 Nous adoptons les notations mentionnées dans le chapitre précédent. Pour illustrer cette forme de notation, considérons le problème de l’identification du type d’accident et supposons qu’un individu peut être décrit, par exemple, par quatre variables exogènes : 1. 2 : BAT_PUB : Voisinage du lieu l’accident par rapport aux bâtiment publique, qui prend les valeurs : 2 : PRET,1 : LOIN. 2. 2 : SCOLARITE : Voisinage du lieu l’accident par rapport aux établissements scolaires, prend les valeurs : 2 : PRET,1 : LOIN. 3. 2+ : PASSAGE : Voisinage du lieu l’accident par rapport au passage piéton, prend les valeurs : 2 : NON, 1 : OUI. 4. 2, : MARCHE : Voisinage du lieu l’accident par rapport aux marchés, prend les valeurs : 2 : PRET,1 : LOIN. Variable Signification Valeurs 2 3 ( 2 BAT_PUB 2 3 ( 2 SCOLARITE 2+ 3+ ( 2 PASSAGE OUI ; NON 2, 3, ( 2 MARCHE Distance 4 50 PRET , Distance 7 50 LOIN Distance 4 50 PRET , Distance 7 50 LOIN Distance 4 50 PRET , Distance 7 50 LOIN Table 3.2 attributs prédictifs, valeurs et significations Le processus général d’apprentissage que le système cellulaire CASI [Atm, 07] applique à une population Ω est organisé sur quatre étapes : 1. Initialisation du graphe d’induction par automate cellulaire (coopération entre les modules COG et CIE) 2. Optimisation du graphe d’induction cellulaire (coopération entre les modules COG et CIE) 3. Génération des règles de production (coopération entre les modules COG et CIE) 4. Validation des règles cellulaires (coopération entre les modules CV et CIE) 69 Classification Spatiale guidée par CASI Chapitre 3 Figure 3.7. Diagramme général du système cellulaire CASI A partir de l’échantillon Ω nous commençons le traitement symbolique pour la construction du graphe d’induction (méthode SIPINA). 1. Choisir la mesure d’incertitude (Shannon ou quadratique). 2. Initialiser les paramètres λ, µ et la partition initiale S0. 3. Appliquer la méthode SIPINA pour passer de la partition 8 à 89 et générer le graphe d’induction. 4. Enfin, génération des règles de prédiction [Rab, 96]. L’algorithme de la méthode SIPINA est une heuristique non arborescente pour la construction d’un graphe d’induction. Son principe consiste à générer une succession de partitions par fusion et/ou éclatement des nœuds du graphe. Dans ce qui suit nous allons décrire le déroulement du processus. Supposons que notre échantillon d’apprentissage Ω se compose de 20 accidents de la route qui répartissent en deux classes 1 et 2 (voir la table 3.3). 70 Classification Spatiale guidée par CASI Chapitre 3 Ω 2 2 2+ 2, '3:;;% 1 1 1 1 1 2 2 2 2 2 + 1 2 1 1 2 , 1 2 2 1 2 - 2 1 1 1 2 . 1 2 2 1 1 / 2 2 2 1 1 0 1 1 1 1 2 1 2 2 1 1 2 2 1 2 1 1 1 2 1 1 2 2 2 1 2 2 + 2 3 2 1 2 , 1 1 1 1 2 - 1 1 1 1 2 . 2 1 2 1 1 / 1 2 1 2 2 0 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 2 Table 3.3 Codage de l’échantillon d’apprentissage La création de la racine 8 qui est la partition initiale contenant tout l’échantillon d’apprentissage, dont 6 individus appartenant à la classe voiture et 14 à la classe piéton. La partition 8 est engendrée par la variable PASSAGE, c’est la variable de segmentation. Elle est composée de 2 modalités (OUI, NON) elle fournie donc 2 sommets enfants. s ( ω = Ω | X+ ω ( 1 s ( ω = Ω | X+ ω ( 2 71 Classification Spatiale guidée par CASI Chapitre 3 La Figure 3.8 illustre la construction des partitions 8 , 8. s 6 Partitions S 14 Partitions S X+ ( 1 X+ ( 2 s s 1 5 10 4 Figure 3.8. Construction de s , s , s . à partir de la partition S1 le processus est réitéré à la recherche de meilleurs partitions. Sur la figure 3.9 sont résumées les étapes principales qui ont conduit à ce graphe. s X+ ( 1 X+ ( 2 s s Éclatement X, ( 1 X, ( 2 s+ s, Fusion s- X ( 1 X ( 2 s. s/ Figure 3.9 Les partitions S, S , S+ , ….. 72 Classification Spatiale guidée par CASI Chapitre 3 Définition d’un automate cellulaire Un automate cellulaire est une grille composée de cellules qui changent d’état dans des étapes discrètes. Après chaque étape, l’état de chaque cellule est modifié selon les états de ses voisines dans l’étape précédente. Les cellules sont mises à jour d’une manière synchrone, et les transitions sont effectuées dans la théorie, simultanément [Sch, 99]. En appliquant des règles simples et des transitions spécifiques, un automate cellulaire peut effectuer d’une manière globale, des opérations complexes [Cho, 96], [Ker, 02], [Nan, 94], [Sir, 02], [Wol, 99]. Certains des concepts principaux pour les automates cellulaires sont : • Configuration : L’état global de l’automate cellulaire, appelé configuration, est défini par les états de toutes ses cellules. • Voisinage : Le prochain état de chaque cellule dépend de l’état actuel de ses voisines. La transition de l’automate cellulaire, d’une configuration à une autre, est la conséquence des transitions locales de toutes les cellules. Le voisinage d’une cellule est défini par l’ensemble de ses voisines dont les états sont pris en compte pour chaque transition. • Parallélisme : Toutes les cellules constituant l’automate cellulaire sont mises à jour d’une manière simultanée et synchrone. • Déterministe : Le nouvel état de chaque cellule est déterminé par son état, et l’état de son voisinage seulement. • Homogénéité : Toutes les cellules utilisent la même règle de transition pour déterminer leur prochain état. • Discrétisation : Un automate cellulaire évolue discrètement dans le temps. Un automate cellulaire peut être décrit par les quatre composants suivants : – Dimension : Il n’y a aucune limite à la dimension d’un automate cellulaire, mais dans la pratique on utilise des automates avec 1, 2 ou, 3 dimensions. –Voisinage de la cellule : Ceci définit l’ensemble de cellules voisines dont l’état sera pris en compte pour déterminer le prochain état de chaque cellule. –Espace d’état : C’est l’ensemble fini d’éléments que peut prendre une cellule. –Fonction de transition : C’est l’ensemble de règles qui détermine le nouvel état de chaque cellule selon son état précédant, et les états précédents des cellules de son voisinage. 73 Classification Spatiale guidée par CASI Chapitre 3 Moteur d’inférence cellulaire –CIE– Le module CIE (Cellular Inference Engine) [Atm, 07] simule le fonctionnement du cycle de base d’un moteur d’inférence en utilisant deux couches finies d’automates finis. La première couche, CELFACT, pour la base des faits et, la deuxième couche, CELRULE, pour la base de règles. Chaque cellule au temps t+1 ne dépend que de l’état des ses voisines et du sien au temps t. Dans chaque couche, le contenu d’une cellule détermine si et comment elle participe à chaque étape d’inférence : à chaque étape, une cellule peut être active (1) ou passive (0), c’est-à-dire participe ou non à l’inférence. Le principe est simple : – Toute cellule i de la première couche CELFACT est considérée comme fait établi si sa valeur est 1, sinon, elle est considérée comme fait à établir. – Toute cellule j de la deuxième couche CELRULE est considérée comme une règle candidate si sa valeur est 1, sinon, elle est considérée comme une règle qui ne doit pas participer à l’inférence. Nous supposons qu’il y a l cellules dans la couche CELFACT, et r cellules dans la couche CELRULE. Notations et définitions Les états des cellules se composent de trois parties : EF, IF et SF, respectivement ER, IR et SR, sont l’entrée, l’état interne et la sortie d’une cellule de CELFACT, respectivement d’une cellule de CELRULE. L’état interne, IF d’une cellule de CELFACT indique le rôle du fait : dans le cas d’un graphe d’induction IF = 0 correspond à un fait du type sommet s , IF = 1 correspond à un fait du type attribut=valeur (2 = valeur). Pour une cellule de CELRULE, l’état interne IR peut être utilisé comme coefficient de probabilité que nous ne l’utiliserons pas dans ce mémoire. Pour illustrer l’architecture et le principe de fonctionnement du module CIE, nous considérons la partie du graphe, extraite de la Figure 3.9, obtenue en utilisant les partitions S ( s , S ( s , s , S ( s+ , s, . 74 Classification Spatiale guidée par CASI Chapitre 3 La Figure 3.10 montre comment la base de connaissance extraite à partir de ce graphe est représentée par les couches CELFACT et CELRULE. Initialement, toutes les entrées des cellules dans la couche CELFACT sont passives (EF = 0), excepté ceux qui représentent la base des faits initiale (EF(1) = 1). Dans la Figure 3.11 sont respectivement représentées les matrices d’incidence d’entrée RE et de sortie RS de l’automate. (a) Base de connaissance Prémisse : Règle : Conclusion : Règle 1 8 ; Alors 2+ ( 1, ; Règle 2 8 ; Alors 2+ ( 2, ; Règle 3 8 ; Alors 2, ( 1, ;+ Règle 4 8 ; Alors 2, ( 2, ;, (b) Configuration initiale de l’automate cellulaire Fait i EF IF SF Règle j ER IR SR Fait 1 ; 1 0 0 Règle 1 1 1 1 Fait 2 2+ ( 1 0 1 0 Règle 2 0 1 1 Fait 3 ; 0 0 0 Règle 3 + 0 1 1 Fait 4 2+ ( 2 0 1 0 Règle 4 , 0 1 1 Fait 5 ; 0 0 0 Fait 6 2, ( 1 0 1 0 Fait 7 ;+ 0 0 0 Fait 8 2, ( 2 0 1 0 Fait 9 ;, 0 0 0 CELRULE CELFACT Figure 3.10 : (a) Base de connaissance, (b) Configuration initiale de l’automate cellulaire 75 Classification Spatiale guidée par CASI Chapitre 3 – la relation d’entrée, notée iREj, est formulée comme suit : ∀i = [1, l], ∀j = [1, r], si (le Fait i = à la Prémise de la règle j) alors RE(i, j) ← 1. – la relation de sortie, notée iRSj, est formulée comme suit : ∀i = [1, l], ∀j = [1, r], si (le Fait i = à la Conclusion de la règle j) alors RS(i, j) ← 1. Les matrices d’incidence RE et RS représentent la relation entrée/sortie des Faits et sont utilisées en chaînage avant. On peut également utiliser RS comme relation d’entrée et RE comme relation de sortie pour lancer une inférence en chaînage arrière [ELG, 99], [Den, 00], [Ham, 00]. Notez qu’aucune cellule du voisinage d’une cellule qui appartient à CELFACT (respectivement à CELRULE) n’appartient pas à la couche CELFACT (respectivement à CELRULE). Enfin, puisqu’il y a l cellules dans la couche CELFACT, EF, IF et SF seront considérées en tant que vecteurs de dimension l (EF, IF, SF = {0, 1}l). De même, puisqu’il y a r cellules dans la couche CELRULE, ER, IR et SR seront considérées en tant que vecteurs de dimension r (ER, IR, SR = {0, 1}r). La Figure 3.12 représente le schéma général de notre automate cellulaire. RE R1 R2 ; 1 1 R3 RS R4 R1 R2 R4 ; 2+ ( 1 2+ ( 1 1 ; ; 1 2+ ( 2 2+ ( 2 1 ; 1 ; R3 1 1 2, ( 1 2, ( 1 1 ;+ ;+ 1 2, ( 2 2, ( 2 1 ;, ;, 1 Figure 3.11 Les matrices d’incidence d’entrée RE et de sortie RS de l’automate 76 Classification Spatiale guidée par CASI Couche des Faits Chapitre 3 Couche des Règles RE CELFACT Couche des Faits RS CELRULE Figure 3.12 Automate cellulaire pour des systèmes d’inférence Les fonctions de transition du moteur d’inférence cellulaire –CIE– Le cycle de base d’un moteur d’inférence, pour établir un fait F en chaînage avant, fonctionne traditionnellement comme suit : 1. Recherche des règles applicables (évaluation et sélection) ; 2. Choisir une parmi ces règles, par exemple R (filtrage) ; 3. Appliquer et ajouter la partie conclusion de R à la base des faits (exécution). Le cycle est répété jusqu’à ce que le fait F soit ajouté à la base des faits, ou s’arrête lorsque aucune règle n’est applicable. La dynamique de l’automate cellulaire CIE [Atm, 07], pour simuler le fonctionnement d’un Moteur d’Inférence, utilise deux fonctions de transitions BCDE et BFGHI , où BCDE correspond à la phase d’évaluation, de sélection et de filtrage, et JKLMN correspond à la phase d’exécution. - La fonction de transition BCDE : (EF, IF,SF, ER, IR, SR) → BCDE (EF, IF, EF, ER + (OP · EF), IR,SR) - La fonction de transition BFGHI : (EF, IF,SF, ER, IR, SR) → BFGHI (EF + (Q · ER), IF, SF, ER, IR, SSSS R ) Où la matrice OP désigne la transposé de O . 77 Classification Spatiale guidée par CASI Chapitre 3 Nous considérons T la configuration initiale de notre automate cellulaire (voir la Figure 3.10) et, ∆ = BFGHI ◦ BCDE la fonction de transition globale : ∆(T ) = T , si T → BCDE T′ et T′ → BFGHI T. Supposons que T = UT , T , … , TV W est l’ensemble des configurations de notre automate cellulaire. L’évolution discrète de l’automate, d’une génération à une autre, est définie par la séquence T , T , … , TV , où T9 = ∆(T ). Essayons, par exemple, d’établir le fait s4 avec la base de connaissance de la Figure 3.9 et sans employer le principe cellulaire. La Figure 3.13 illustre le déroulement du moteur d’inférence, en chaînage avant, selon différents modes : – mode synchrone en largeur, où toutes les règles candidates sont déclenchées ; – mode asynchrone en largeur ; – mode asynchrone en profondeur. En utilisant maintenant notre principe cellulaire, la Figure 3.14 présente l’état global des deux couches, CELFACT et CELRULE, après évaluation, sélection et filtrage en mode synchrone : application de la première loi de transition BCDE ). Mode 1 : mode synchrone en largeur Cycle Évolution de la base de Faits Règles 1 ; X 2+ ( 1, 2+ ( 2, ; , ; 1, 2 2 ; X 2 ( 1, 2 ( 2, ; , ; X 2, ( 1, 2, ( 2, ;+ , ;, 3, 4 Mode 2 : mode asynchrone en largeur Cycle Évolution de la base de Faits Règles 1 ; X 2+ ( 1, ; 1 2 ; , 2+ ( 1, ; X 2+ ( 2, ; 2 3 ; , 2+ ( 1, ; , 2+ ( 2, ; X 2, ( 1, ;+ 3 4 ; , 2+ ( 1, ; , 2+ ( 2, ; , 2, ( 1, ;+ X 2, ( 2, ;, 4 Mode 3 : mode asynchrone en profondeur Cycle Évolution de la base de Faits Règles 1 ; X 2+ ( 1, ; 1 2 ; , 2+ ( 1, ; X 2, ( 2, ;, 4 Figure 3.13. Différents modes du chaînage avant. 78 Classification Spatiale guidée par CASI Fait i Chapitre 3 EF IF SF Règle j ER IR SR Fait 1 ; 1 0 1 Règle 1 1 1 1 Fait 2 2+ ( 1 0 1 0 Règle 2 1 1 1 Fait 3 ; 0 0 0 Règle 3 + 0 1 1 Fait 4 2+ ( 2 0 1 0 Règle 4 , 0 1 1 Fait 5 ; 0 0 0 Fait 6 2, ( 1 0 1 0 Fait 7 ;+ 0 0 0 Fait 8 2, ( 2 0 1 0 Fait 9 ;, 0 0 0 CELFACT CELFACT Figure 3.14. Configuration abstenue après exécution de BCDE De même, après l’application de la seconde règle de transition, BFGHI , nous obtenons la configuration T qui est illustrée par la Figure 3.15. La fonction ∆ constitue une loi de transition globale en chaînage avant, qui transforme itérativement, notre automate cellulaire d’une configuration initiale T en une configuration finale T présentée dans la Figure 3.16. Fait i EF IF SF Règle j ER IR SR Fait 1 ; 1 0 1 Règle 1 1 1 0 Fait 2 2+ ( 1 1 1 0 Règle 2 1 1 0 Fait 3 ; 1 0 0 Règle 3 + 0 1 1 Fait 4 2+ ( 2 1 1 0 Règle 4 , 0 1 1 Fait 5 ; 1 0 0 Fait 6 2, ( 1 0 1 0 Fait 7 ;+ 0 0 0 Fait 8 2, ( 2 0 1 0 Fait 9 ;, 0 0 0 CELFACT CELFACT Figure 3.15. configuration T = ∆(T ) obtenue après exécution de BCDE (T ) et BFGHI (T ) 79 Classification Spatiale guidée par CASI Fait i Chapitre 3 EF IF SF Règle j ER IR SR Fait 1 ; 1 0 1 Règle 1 1 1 0 Fait 2 2+ ( 1 1 1 1 Règle 2 1 1 0 Fait 3 ; 1 0 1 Règle 3 + 1 1 0 Fait 4 2+ ( 2 1 1 1 Règle 4 , 1 1 0 Fait 5 ; 1 0 1 Fait 6 2, ( 1 1 1 0 Fait 7 ;+ 1 0 0 Fait 8 2, ( 2 1 1 0 Fait 9 ;, 1 0 0 CELFACT CELFACT Figure 3.16. Configuration finale T obtenue après deux itérations synchrones Élaboration du graphe d’induction cellulaire –COG– Pour la construction du graphe d’induction à partir de Ω , en utilisant le principe de la méthode SIPINA, nous devons générer les deux couches CELFACT et CELRULE. Le module COG utilise, pour cette finalité, trois procédures et agit comme suit : – Choisir la mesure d’incertitude (Shannon ou Quadratique). – Initialiser les paramètres λ, µ et la partition initiale S0. – i ← 2 ; (indice de ligne) – j ← 1 ; (indice de colonne) – (EF, IF, SF)[1] ← (0, 0, 0) ; ( initialisation du noeud s0) – Appliquer la méthode SIPINA pour passer de la partition 8 à 89 et générer le graphe d’induction cellulaire. Pour passer de la partition 8 à 89 , le module COG [Atm, 07] utilise l’algorithme suivant : Répéter Si la Fusion est possible Alors appeler Fcell Sinon Si la Fusion-Eclatement est possible Alors appeler FScell 80 Classification Spatiale guidée par CASI Chapitre 3 Sinon Si l’Eclatement est possible Alors appeler Scell Sinon Fin ; Afin de définir les procédure Fcell , FScell et Scell , nous reprenons le graphe d’induction déjà obtenue, illustré par la Figure 3.9. La procédure Scell : La première partition 8 possède un seul élément ; qui regroupe tout l’échantillon d’apprentissage Ω . La deuxième partition 8 = s , s . est engendrée par la variable 2+. s ( ω = Ω | X+ ω ( 1 s ( ω = Ω | X+ ω ( 2 La procédure Scell trouve dans la couche CELFACT l’indice de ligne de s , noté iracine (iracine = 1 dans ce cas), et effectue les opérations suivantes pour chaque sommet sY avec j=1, 2. 1. J ← iracine ; 2. initialiser la matrice d’incidence d’entrée : RE[iracine, j] ← 1 ; 3. créer deux cellules dans CELFACT d’indices J + 1 et J + 2; 4. créer une cellule dans CELRULE d’indice j ; 5. initialiser la matrice d’incidence de sortie : RS[J+1, j] ← 1 et RS[J+2, j] ← 1 ; 6. J ← J + 2; 7. aller à 2 (pour la prochaine modalité de X+ ) ; Pour la partition 8 , par exemple, les opérations effectuées par la procédure Scell sont : – pour j = 1 – initialiser la matrice d’incidence d’entrée : RE[1, 1] ← 1 ; – créer deux cellules dans CELFACT : (EF, IF, SF)[2] ← (0, 1, 0) pour représenter le fait (2+ = 0) et (EF, IF, SF)[3] ← (0, 0, 0) pour représenter le fait s ; – créer une cellule dans CELRULE : (ER, IR,SR)[1] ← (0, 1, 1) pour représenter la règle si s alors ((X+ = 0) et s ) – initialiser la matrice d’incidence de sortie : RS[2, 1] ← 1 et RS[3, 1] ← 1 81 Classification Spatiale guidée par CASI Chapitre 3 CELFACT CELRULE CELFACT CELRULE CELFACT CELRULE CELFACT (0,0,0)[1] (0,1,1)[1] (0,0,0)[1] (0,1,1)[1] (0,0,0)[1] (0,1,1)[1] (0,0,0)[1] (0,1,1)[1] (0,1,0)[2] (0,1,1)[2] (0,1,0)[2] (0,1,1)[2] (0,1,0)[2] (0,1,1)[2] (0,1,0)[2] (0,1,1)[2] (0,0,0)[3] (0,0,0)[3] (0,1,1)[3] (0,0,0)[3] (0,1,1)[3] (0,0,0)[3] (0,1,1)[3] (0,1,0)[4] (0,1,0)[4] (0,1,1)[4] (0,1,0)[4] (0,1,1)[4] (0,1,0)[4] (0,1,1)[4] (0,0,0)[5] (0,0,0)[5] (0,0,0)[5] (0,1,1)[5] (0,0,0)[5] (0,1,1)[5] (0,1,0)[6] (0,1,0)[6] (0,1,0)[6] (0,1,1)[6] (0,0,0)[7] (0,0,0)[7] (0,0,0)[7] (0,1,1)[7] (0,1,0)[8] (0,1,0)[8] (0,1,0)[8] (0,0,0)[9] (0,0,0)[9] (0,0,0)[10] (0,0,0)[10] (0,0,0)[9] CELRULE (0,1,0)[11] (0,0,0)[12] (0,1,0)[13] (0,0,0)[14] Scell Scell Fcell Scell Figure 3.17 Initialisation de l’automate cellulaire De la partition S, nous réitérons le processus à la recherche d’une partition S . Selon le déroulement de la méthode SIPINA, la prochaine partition est effectuée à l’aide d’une segmentation du sommet s en deux nouveaux sommets s+ ,s, , au moyen de l’une des variables XY restantes. La nouvelle partition qui apparaît sur le graphe est S = s+ , s, . Pour la partition 8 , par exemple, les opérations effectuées par la procédure Scell sont : – j=3 – iracine = 5 – initialiser la matrice d’incidence d’entrée : RE[5, 3] ← 1 ; – créer deux cellules dans CELFACT : (EF, IF, SF)[6] ← (0, 1, 0) pour représenter le fait (2+ = 0) et (EF, IF, SF)[3] ← (0, 0, 0) pour représenter le fait s ; – créer une cellule dans CELRULE : (ER, IR, SR)[3] ← (0, 1, 1) pour représenter la règle si s alors ((X, = 0) et s+ ) – initialiser la matrice d’incidence de sortie : RS[6, 1] ← 1 et RS[7, 1] ← 1 82 Classification Spatiale guidée par CASI Chapitre 3 Aller à 2 pour la prochaine modalité de X, , donc pour j = 4. La procédure Fcell : De la partition S , nous réitérons le processus (méthode SIPINA) à la recherche d’une partition S+ qui soit meilleure. Pour cela nous pouvons soit effectuer un regroupement (Fusion deux à deux des sommets s ,s+ et s, ) soit un éclatement, de l’un des trois sommets, au moyen de l’une des variables XY restantes. Dans notre exemple, le déroulement de la méthode SIPINA indique qu’un regroupement des sommets s et s, donne une meilleure partition. La nouvelle partition qui apparaît sur le graphe est S+ = s , s, . La procédure Fcell trouve dans la couche CELFACT les indices de s , s, , notés i , i , avec i = 3 et i = 9 dans notre cas et effectue les opérations suivantes pour créer une nouvelle règle j dans la couche CELRULE : 1. initialiser la matrice d’incidence d’entrée : RE[i , j] ← 1 et RE[i , j] ← 1 ; 2. créer une cellule dans CELFACT d’indice ifusion ; 3. créer une cellule dans CELRULE d’indice j ; 4. initialiser la matrice d’incidence de sortie : RS[ifusion, j] ← 1 ; Pour notre exemple, j = 5, i = 3 et i = 9, la procédure Fcell effectue les opérations suivantes : – initialiser la matrice d’incidence d’entrée : RE[3, 5] ← 1 et RE[9, 5] ← 1 ; – créer une cellule dans CELFACT d’indice ifusion = 10 : cela correspond à la création du sommet s, dans CELFACT ((EF, IF, SF)[10] ← (0, 0, 0)) ; – créer une cellule dans CELRULE d’indice j = 5 : (ER, IR,SR)[5] ← (0, 1, 1) pour représenter la règle si s et s, alors s– initialiser la matrice d’incidence de sortie : RS[10, 5] ← 1 La prochaine partition S, Selon le déroulement de la méthode SIPINA, est obtenue à l’aide d’une segmentation du sommet s- en deux nouveaux sommets s. ,s/ , au moyen de l’une des variables XY restantes. La nouvelle partition qui apparaît sur le graphe est S, = s. , s/ . Le déroulement de la procédure Scell est effectué de la même manière avec les sommets s et s . 83 Classification Spatiale guidée par CASI Chapitre 3 La procédure FScell : En utilisant les procédure Fcell et Scell, la procédure FScell complète l’initialisation des couches CELFACT et CELRULE, cette procédure est appliquée dans le cas d’une Fusion-Éclatement. Génération des règles conjonctives –COG– Pour produire automatiquement des règles conjonctives, le module COG [Atm, 07] coopère avec le moteur d’inférence cellulaire (CIE) qui utilise les mêmes fonctions de transition BCDE et BFGHI avec la permutation de RE et de RS. En partant du nœud terminal vers la racine s , et en utilisant le moteur d’inférence cellulaire CIE en chaînage arrière, avec le mode asynchrone en profondeur, la génération des règles est représentée par la Figure 3.18. Cycle Évolution de la base de Faits Règles 1 ;+ , 2, ( 1 X ; 3 2 ;+ , 2, ( 1, ; , 2+ ( 2 X ; 2 3 ;. , 2 ( 1 X ;- 6 4 ;. , 2 ( 1, ;- X ; 5 5 ;. , 2 ( 1, ;- , ; , 2+ ( 1 X ; 1 6 ;/ , 2 ( 2 X ;- 7 7 ;/ , 2 ( 2, ;- X ;, 5 8 ;/ , 2 ( 2, ;- , ;, , 2, ( 2 X ; 4 9 ;/ , 2 ( 2, ;- , ;, , 2, ( 2 X ; , 2+ ( 2 X ; 2 Base de règles : if 24 ( 1 et 23 ( 2 alors )3:;;% b:c $:$% d% if 22 ( 1 et 23 ( 1 alors )3:;;% b:c $:$% d% if 22 ( 2 et 24 ( 2 and 23 ( 2 alors ;3 ;6 )3:;;% b:c $:$% d% ;7 Figure 3.18. Génération des règles conjonctives Nous procédons de la même manière sur le graphe de la Figure 3.9, nous obtenons les règles conjonctives suivantes : 84 Classification Spatiale guidée par CASI Chapitre 3 : if 2+ ( 1 et 2 ( 1 alors classe majoritaire de ;. : if 2+ ( 1 et 2 ( 2 alors classe majoritaire de ;/ + : if 2+ ( 2 et 2, ( 1 alors classe majoritaire de ;+ , : if 2+ ( 2 et 2, ( 2 et 2 ( 1 alors classe majoritaire de ;. - : if 2+ ( 2 et 2, ( 2 et 2 ( 2 alors classe majoritaire de ;/ La représentation de cette base de connaissance par la machine cellulaire est illustrée sur la Figure 3.19. Sur l’accomplissement de ce processus, la machine cellulaire est prête à lancer la phase de validation. En employant le même principe de base d’un moteur d’inférence et avec les mêmes fonctions de transition BCDE et BFGHI , l’automate cellulaire avance d’une configuration vers une autre, pour produire finalement l’ensemble ΩO (ensemble des individus non classés). Validation par automate cellulaire –CV– Sur l’accomplissement de ce processus, le module CV (voir Figure 3.7) est prêt à lancer la phase de validation. En employant le même principe de base du moteur d’inférence cellulaire CIE, et les mêmes fonctions de transition BCDE et BFGHI , l’automate cellulaire avance d’une configuration vers une autre, dans le but de produire l’ensemble ΩO (prévision fausse). Fait i EF IF SF Règle j ER IR SR Fait 1 2 ( 1 0 1 0 Règle 1 0 1 1 Fait 2 2 ( 2 0 1 0 Règle 2 0 1 1 Fait 3 2+ ( 1 0 1 0 Règle 3 + 0 1 1 Fait 4 2+ ( 2 0 1 0 Règle 4 , 0 1 1 Fait 5 2, ( 1 0 1 0 Règle 5 - 0 1 1 Fait 6 2, ( 2 0 1 0 Fait 7 '3:;; ;3 0 1 0 Fait 8 '3:;; ;6 0 1 0 Fait 9 '3:;; ;7 0 1 0 CELRULE CELFACT 85 Classification Spatiale guidée par CASI RE 2 ( 1 RS R1 R2 R3 R4 R5 1 2 ( 2 2+ ( 1 Chapitre 3 1 2 ( 1 1 1 2 ( 2 1 2+ ( 1 1 2+ ( 2 1 2, ( 1 1 2, ( 2 R1 R2 R3 R4 R5 1 2+ ( 2 1 2, ( 1 1 2, ( 2 1 '3:;;% ;3 '3:;;% ;3 '3:;;% ;6 '3:;;% ;6 '3:;;% ;7 '3:;;% ;7 1 1 1 1 1 Figure 3.19 Base de connaissances du graphe d’induction de la figure 3.9 Supposons que notre échantillon de test ΩP est composé de 10 accidents de la route appartenant à deux classes 1 et 2, où la classe 1, accident de voiture, est la classe majoritaire de ;+, et la classe 2, accident de piéton, est la classe majoritaire de ;. et ;/. La Figure 3.20 résume la validation de l’individu - . ΩP 2+ 2, 2 '3:;;% 2 1 1 1 2 2 2 2 + 1 1 2 2 , 2 1 2 2 - 1 1 1 2 . 2 1 2 1 / 2 1 2 1 0 1 1 1 2 1 1 1 2 2 2 1 1 1 Table 3.4 Exemple d’un échantillon test 86 Classification Spatiale guidée par CASI 1 1 0 / . 1 1 1 1 1 1 1 1 , + 1 1 1 1 1 1 1 EF IF SF ER IR SR 2 ( 1 0 1 0 0 1 1 2 ( 2 0 1 0 0 1 1 2+ ( 1 0 1 0 0 1 1 1 2+ ( 2 0 1 0 0 1 1 1 2, ( 1 0 1 0 0 1 1 2, ( 2 0 1 0 pMqrrN s 0 1 0 pMqrrN t 0 1 0 1 1 1 1 1 1 1 1 no Chapitre 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 CELLFACT 1 1 0 . 1 1 1 1 1 1 1 - , + 1 1 1 1 / 1 1 1 1 1 IF SF ER IR SR 2 ( 1 1 1 1 1 1 0 2 ( 2 0 1 0 0 1 1 2+ ( 1 1 1 1 0 1 1 1 2+ ( 2 0 1 0 0 1 1 1 2, ( 1 1 1 1 0 1 1 2, ( 2 0 1 0 pMqrrN s 0 1 0 pMqrrN t 1 1 0 1 1 1 1 EF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 CELLRULE CELLFACT CELLRULE Figure 3.20 Validation de - par l’automate cellulaire 3.5.2.2 COMPLEXITE THEORIQUE La connaissance acquise, représentée et traitée à partir des exemples d’apprentissage est sous forme booléenne. Ceci peut être réalisé en un temps d’exécution et un espace de stockage réduit. Cela est due à l’utilisation d’une représentation booléenne des deux matrice RE et RS et le traitement booléen effectué par les deux fonctions de transition BCDE et BFGHI . Les deux processus intensifs de calcul dans CASI sont le stockage et la multiplication booléenne des matrices d’incidences : Stockage en mémoire de RE et RS : RE et RS sont des matrices booléennes qui peuvent être exprimées sous forme de deux vecteurs de plusieurs séquences binaires. La quantité de 87 Classification Spatiale guidée par CASI Chapitre 3 mémoire requise pour stocker les matrices booléennes est de l’ordre de u, quand on utilise u séquences. Temps de traitement : le temps de traitement des matrices RE et RS est exécuté en u v $ étapes. La multiplication binaire OP · Rx par exemple de, utilisée par fonction de transition BCDE peut être exprimer par un algorithme séquentiel de multiplication booléenne vecteur-matrice exécuter en un temps $u avec u est la dimension du vecteur Rx et u v $ est la dimension de la matrice OP . La multiplication de OP avec EF peut être exécuté, en utilisant la technique de vectorisation booléenne de matrice, dans un temps ≈ O(r log q) où le produit intérieur d’une ligne de OP avec le vecteur EF est réduit au calcul du bit de parité (bit-wise AND) [Atm, 07][Abd, 08]. Après la génération des règles conjonctives cellulaires, le système CASI lance la phase de validation. Soit ΩP =ω , ω , … , ωy une population des individus ou d’objets concernés par le problème d’apprentissage. A cette population est associé un attribut particulier appelé attribut classe noté Y .A chaque individu ω peut être associé sa classe Y (ω). On dit que la variable Y prend ses valeurs dans l’ensemble des étiquettes, appelé également ensemble des classes et noté C. Y : ΩP & '= c , c , … , cy & ω ( )* En respectant la représentation élémentaire des matrices booléennes d’entrée / sortie RE et RS, le temps d’exécution globale de OP (r×(q−m)) · EF(q−m) et RS(m×r) · ER(m) est proportionnel à V z (O(r log(q − m)) + O(r logm)), avec m q et où w désigne la longueur du mot après vectorisation des matrices booléennes. 3.6. CONCLUSION Dans ce chapitre nous avons abordé la fouille de données spatiale comme un cas particulier de la fouille de données classique par l’enrichissement avec des requêtes de voisinage. Étant donné la diversité de solutions logicielles existantes implémentant une multitude d’algorithmes d’apprentissage, nous avons choisi dans un premier temps d’intégrer les fonctionnalités d’analyse des propriétés de voisinages. Nous avons réussi donc à ramener 88 Classification Spatiale guidée par CASI Chapitre 3 plusieurs couches thématiques en une table relationnelle afin d’appliquer n’importe quel algorithme de classification. Ensuite, nous avons présenté le système : CASI, Induction Symbolique par Automate Cellulaire [Atm, 07][Bel, 08]. Cette étude, concerne la représentation et l’optimisation, par automate cellulaire, le graphe engendré par la méthode SIPINA, la génération des règles de production conjonctives et la validation. Dans le contexte de l’analyse des accidents de la route, le graphe d’induction engendré est un modèle qui nous permettra de voir de plus prêt les relations entre l’accident est sont environnement ainsi que les éléments responsables de ce dernier, donc le graphe d’induction engendré facilitera l’identification des problèmes de sécurité sur le réseau routier en vue de proposer des mesures de sécurité pour y remédier. 89 Classification Spatiale guidée par CASI Chapitre 3 BIBLIOGRAPHIE [Abd, 08] Abdelouhab, F., Atmani, B., Intégration automatique des données semistructurées dans un entrepôt cellulaire, Troisième atelier sur les systèmes décisionnels, Mohammadia, Maroc, PP 109—120, 10 et 11 octobre 2008. [Abd, 07] Abdiche, F., Hamdadou, D. : Proposition d'un Modèle pour l’Exploitation des Bases de Données à Références Spatiales Distantes. Les troisièmes journées internationales sur l’information graphique, PP 229-234, Constantine, 2007. [Arm, 06] Armitage, T., Getting started with oracle spatial, Oracle Corporation, United States, 2006. [Are, 91] Aref, W.G., Samet, H., Optimisation Strategies for Spatial Query Processing, In Proc. 17th VLDB Conference, Barcelona, Spain, PP 81-90, 1991. [Atm, 07] Atmani, B., Beldjilali, B., Knowledge Discovery in Database: Induction Graph and Cellular Automaton, Computing and Informatics Journal, V.26, N°2, PP 171-197, 2007. [Bel, 08] Beldjilali, B., Atmani, B., Traitement des coefficients d’incertitudes dans les arbres de décision : application sur la machine cellulaire CASI, Journée des Jeunes Chercheurs en Informatique JCI'08, Université 08 Mai 45, Guelma – Algérie, PP 223—234, 20 Mai 2008 [Che, 02] Chelghoum N., Zeitouni K., Boulmakoul A., A Decision Tree for Multi-layered Spatial Data, In 10th International Symposium on Spatial Data Handling (SDH’02), Ottawa, Canada, PP 1-10, 2002 [Cho, 96] Chopard, B., Luthi, P. O., Queloz, P. A., Cellular automata model of car traffic in a two-dimensional street network, Physica, 1996. [Den, 00] Denouni, N., El-Amrani, A., Validation de l’approche cellulaire ACSIR, application au diagnostic des pannes du PC, Mémoire de fin d’études pour obtenir le Diplôme d’Ingénieur d’Etat en Informatique. Université Es-Senia, Oran, 2000. [Ege, 91] Egenhofer, M. J., Reasoning about Binary Topological Relations, Proceeding of the 2nd International Symposium. on Large Spatial Databases, Zurich, Switzerland, PP 143-160. 1991. [ELG, 99] El-Goutni, A., Vers un automate cellulaire pour détection des incohérences dans les bases de connaissances, Mémoire de fin d’études pour obtenir le Diplôme d’Ingénieur d’Etat en Informatique. Université Es-Senia, Oran, 1999. [Est, 99] Ester, M., Frommelt, A., Hans-Peter, K., Jörg S., Spatial Data Mining: Database Primitives, Algorithms and Efficient DBMS Support. Data Mining and Knowledge Discovery, Kluwer Academic Publishers, 1999. 90 Classification Spatiale guidée par CASI [Fay, 96] Chapitre 3 Fayyad, U.M., Djorgovsky, S.G., Weir, N., Authomating the Analysis and Cataloging of Sky Survey. AAAI/MIT Press, Menlo Park, CA, 1996. [Ham, 00] Hamidi, T., Zidi, M., Les automates cellulaires pour des systèmes d’apprentissage, Mémoire de fin d’études pour obtenir le Diplôme d’Ingénieur d’Etat en Informatique. Université Es-Senia, Oran, 2000. [Ker, 02] Kernerl, B. S., Klenov, S. L., Wolf, D. E., Cellular automata approach to three-phase traffic theory, Physica, 2002. [Kop, 98] Koperski K., Han J., Stefanovic N. An Efficient Two-Step Method for Classification of Spatial Data, Proceeding. Symposium on Spatial Data Handling (SDH ‘98), Vancouver, Canada, 1998. [Nan, 94] Nandi, S., Kar, B. K., Chaudhuri, P. P., Theory and Applications of Cellular Automata in Cryptography, IEEE Transaction on Computers, Vol 43 (12), PP 1346-1357, 1994. [Rig,02] Rigaux, P., Scholl, M., Voisard, A.: Spatial databases with application to GIS. Morgan Kaufmann Publishers Inc, San Francisco, United States, 2002. [Sch, 99] Schonfisch, B., Roos, A., Synchronous and asynchronous updating in cellular automata, Biosystems, PP 123-143, 1999. [Sir, 02] Sirakoulis, G. C., Karafyllidis, I., Thanailakis, A., A cellular automaton methodology for the simulation of integrated circuit fabrication processes, Future Generation Computer Systems, Vol 18, PP 639-657, 2002. [Wol, 99] Wolfrman, D. E., Cellular automata for traffic simulations, Physica, Vol 263, 438-451, 1999. [Wol, 86] Wolfram, S., Theory and Application of Cellular Automata, World Scientific, 1986. [Wol, 02] Wolfram, S., Cellular Automata and Complexity, Perseus Books Group, 2002. 91 Chapitre 4 CGISS : un Système d'Information Géographique Cellulo-Symbolique Plan 4.1. Introduction 4.2. Les Systèmes d’informations Géographiques 4.2.1. L’acquisition de l’information géographique 4.3. Les bases de données géographiques 4.3.1. Archivage de l’information géométrique 4.3.2. Unification de format de stockage des images vectorielles 4.4. Déroulement du processus d’extraction de connaissances à partir des données à références spatiales 4.4.1. Sélection et préparation des couches thématiques 4.4.2. Analyse spatiale et extraction des relations de voisinage 4.4.3. Conception et implémentation 4.5. Expérimentation 4.5.1. construction d’un graphe d’induction 4.5.2. génération des règles conjonctives 4.6. Conclusion CGISS : un Système d'Information Géographique Cellulo-Symbolique 4.1. Chapitre 4 INTRODUCTION L’information devient de plus en plus difficilement assimilable directement. Sa représentation classique, sous des formes longtemps satisfaisantes, est maintenant peu adaptée. Les décisions ne peuvent plus être prises sur la base d’une seule idée toute faite, elles nécessitent de connaître quasi instantanément les informations sur les besoins sanitaires, économiques, écologiques. Les systèmes d'informations géographiques (SIG) sont une réponse à ces impératifs dans différents domaines : intégrer de nouvelles sources de nature différentes, les combiner et les analyser pour présenter l'information de façon efficace et directement utilisable. Réservés aux professionnels de la géographie, les SIG ont vus rapidement leurs champs d'application s'étendre dans tous les domaines où la prise de décision rapide en fonction de données spatiales est primordiale: environnement, gestion des réseaux (eau, électricité, téléphone...), aménagement urbain, marketing, prospection géologique,…, etc. Au cours du chapitre 3, nous nous somme intéressés à l’extraction et la validation des règles par l’application de la machine cellulaire à partir d’un échantillon d’apprentissage. Ce dernier étant une table individus / variables classique. Il est important de remarquer que l’étape de transformation des couches géographiques en table individus / variables est totalement absente. En effet, cette étape est nécessaire puisque les données manipulées par la machine cellulaire sont numériques alors que la base de données est un ensemble d’images sous représentation vectorielle propre à un système d’information géographique bien spécifique. Notre principale contribution, objet de ce 4ième chapitre, se résume en quatre points : • Transformation des données géographiques vectorielles en format relationnelle. • Intégration de la librairie MapXtreme. • Application de l’analyse spatiale et extraction de relation de voisinage • Intégration de la fonctionnalité d’extraction des règles conjonctives aux systèmes d’informations géographiques. 4.2. LES SYSTEMES D’INFORMATIONS GEOGRAPHIQUES Les systèmes d’informations géographiques (SIG) est un système de gestion de bases de données pour la saisie, le stockage, l’extraction, l’interrogation, l’analyse et l’affichage de données localisées [Lau, 93]. Le succès connu par les SIG témoigne du besoin de gérer des 93 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 représentations spatiales. Les SIG sont de puissants outils pour manipuler, interroger et visualiser les bases des données spatiales. Une donnée spatiale est généralement composée de trois parties : une partie géométrique (la forme par exemple ligne, point, polygone), une partie descriptive (par exemple le nom, la population d’une ville) et une partie métrique calculée (par exemple la superficie, le périmètre) [Rig, 02]. Les SIG sont caractérisés par cinq fonctionnalités principales : L’Abstraction, L’Acquisition, L’Archivage, L’Affichage et L’Analyse de l’information géographique. Nous nous intéressons dans ce chapitre qu’à deux seulement qui sont l’Acquisition et l’Archivage. 4.2.1. L’ACQUISITION DE L’INFORMATION GEOGRAPHIQUE Les données peuvent provenir de fournisseurs extérieurs, de numérisation directe ou de traitements particuliers. Elles peuvent être fournies sous forme de bases de données relationnelles ou orienté objet, sous forme de documents XML ou GML et même sous forme vectorielle ou raster. Cette diversité peut être résumée en deux principales catégories d’informations : Informations descriptives ou Spatiales (géométriques). Nous abordons ici le coté géométrique de l’information géographique. La partie géométrique fournit des informations sur la position et la forme des objets étudiés. Cette information peut être sous forme vectorielle ou de raster [Arm, 06] : Les vecteurs: les données sont représentées sous forme d'objets géographiques : point, ligne ou polygone et stockées dans la base de données. A chacun de ces objets, seront reliés des attributs. Par exemple, à l'objet "commune Essédikya" pourront être affectés la population de cette commune, le pourcentage de chômeurs, le nombre d’incidents de grippe, etc. Figure. 4.1. Le découpage administratif de la ville d’Oran : Carte vectorielle 94 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Les Rasters : un numériseur d'images (scanner) est utilisé pour permettre, à partir de la représentation de points enregistrés, de reconstituer les éléments géographiques homogènes, soit automatiquement (certains logiciels l'effectuent avec plus ou moins de bonheur), soit manuellement, à l'aide de la souris, etc. Figure. 4.2. Vue satellitaire de la ville d’Oran : Image en raster Le mode de stockage utilisé dans ce travail est la couche. En effet, les objets sont organisés en couches, chaque couche rassemble l'ensemble des objets homogènes (bâtis, rivières, voirie, parcelles, etc.) [Abd, 07]. C’est le format de représentation des formes géométriques le plus souvent utilisé par les SIG vis-à-vis la possibilité de manipulation et d’analyse offerte sur un support cartographique. Figure. 4.3. Superposition des couches indépendantes 95 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 4.3. LES BASES DE DONNEES GEOGRAPHIQUES L’une des structures les plus adéquates pour le stockage de l’information géographique numérique est les bases de données Géographiques. Selon que l’information géographique soit représentée en mode vecteur ou raster nous parlons de base de données vecteurs ou rasters. Dans la suite de ce chapitre, nous ne nous intéressons qu’au mode vecteur. Cette représentation est mieux adaptée aux requêtes d’extraction de relations entre objets spatiaux. La spécificité des bases de données géographiques, par rapport aux bases de données dites standards, repose sur la représentation de la localisation et de la forme des informations géographiques. Nous pouvons considérer une base de données géographique comme une extension d’une base de données standard à la représentation géométrique des objets qu’elle regroupe. 4.3.1. ARCHIVAGE DE L’INFORMATION GEOMETRIQUE Certains systèmes d’informations géographiques gèrent simultanément les données géométriques ainsi que les données attributaires alors que d’autres séparent ces deux types de données [Mar, 02]. Les SGBDR sont des exemples de gestion simultanée de ces deux types de données. L’organisation et la maintenance des données en général sont des tâches complexes. L’ajout des composantes spatiales de plusieurs bases de données augmente encore cette complexité. L’intégration des données spatiales sous un SGBDR unique est apparue en cours des dix dernières années [Mic, 03]. 4.3.2. UNIFICATION DE FORMAT DE STOCKAGE DES IMAGES VECTORIELLES Le SIG est un logiciel qui structure les informations en tables. Une table est un ensemble de fichiers qui sont manipulés ensemble par le logiciel. On trouve généralement deux catégories de formats de stockages : • Sous forme de plusieurs fichiers : chaque SIG propose une structure de représentation de ces fichiers de stockage, l’accès et la manipulation des données dans ce mode nécessitent un API propre au SIG lui-même. Nous citons par exemple Spatial Database Engine (SDE API) de ESRI, ou Mapbasic API, de MapInfo. 96 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Données Structure de la table Géométrie descriptives des objets Géométrie | Index Donnée Figure. 4.4. La structure d’une image vectorielle sous MapInfo Cette structure diffère d’un SIG à un autre, ce qui complique l’unification de plusieurs bases de données hétérogènes conçues sur des SIG différents d’une part. D’autre part, ce mode de stockage ne respecte pas une modélisation conceptuelle, ce qui complique la réutilisation et la maintenance des cartes géographiques. • Sous forme de table relationnelle : Dans les tables relationnelles à références spatiales, les objets géométriques ainsi que leurs données attributaires ou descriptifs sont stockés dans la même table relationnelle. Le SGBDR utilisé dans notre travail est Oracle Spatial. 4.4. DEROULEMENT DU PROCESSUS D’EXTRACTION DE CONNAISSANCES A PARTIR DES DONNEE A REFERENCES SPATIALES L’Extraction de Connaissances à partir des Données à Références Spatiales (ECDRS) est le processus non trivial d'identification de connaissances valides, originales et potentiellement utiles. Il est illustré par la figure 4.5. 97 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Extraction des règles Construction du graphe d’induction Analyse Spatiale et extraction des relation de voisinage Translation des images multicouches vers le SGBD Oracle Evaluation Construction de la machine cellulaire Sélection et préparation des couches thématiques Représentation relationnelle Figure. 4.5. Processus d’extraction des règles à partir de la base de données à références spatiales 4.4.1. SELECTION ET PREPARATION DES COUCHES THEMATIQUES Les couches récupérées depuis les bureaux d’études et le département de la géographie à l’université d’Oran représentaient le même contexte géographique qui est la ville d’Oran. Nous distinguons en premier lieu la couche représentant le découpage administratif de la wilaya d’Oran fournie par le département de la géographie, en suite plusieurs couches fournies par le bureau d’étude URBOR qui représentent plus de détailles sur la ville d’Oran qui sont : la couche du réseau d’eau potable, la couche des ilots et la couche du tissu bâtis…etc. 98 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Nous nous intéressons dans notre travail aux données provenant des couches : Carrefours, Etablissements scolaires, les marchés et les points de repères des accidents de la route. La couche accident de la route ou PLAN_ORAN_ID_AC, est conçue manuellement sous MapInfo, les localisations des accidents sont faites par le biais d’un agent de la direction de la sureté de la wilaya d’Oran. Les sources des couches thématiques sont multiples, les couches thématiques sont principalement conçues par deux applications, Mapinfo et AutoCad d’où l’hétérogénéité du format de stockage. Donc la première tâche consiste à convertir les données vers un format unique sous le SIG MapInfo pour que les données partages les même propriétés. Figure. 4.6. Conversion des couches thématique vers le format MapInfo Plusieurs organisations ont adopté oracle spatial comme leurs support de stockage de base, par la migration de leurs méthodes traditionnelles de maintenances des objets spatiaux vers un modèle relationnel. Oracle spatial à permit la possibilité d’attacher une colonne spatiale à une table relationnelle. Cette colonne permet à l’utilisateur de maintenir les données spatiales sans avoir besoin d’une API spécifique. Les langages de programmation comme java ou C++ peuvent être utilisé pour créer, maintenir et extraire les données à partir d’Oracle spatial [Mic, 03]. 99 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Nous utilisons EasyLoader, l’outil intégré au SIG MapInfo pour convertir les couches thématiques vers la base de données Oracle. Figure. 4.7. Connexion MapInfo à la Base de données Oracle 4.4.2. ANALYSE SPATIALE ET EXTRACTION DES RELATIONS DE VOISINAGE Dans ce travail l’échantillon d’apprentissage n’est pas fourni directement par la base de données mais c’est le résultat d’une analyse topologique. Nous calculons les relations de voisinage entre la couche PLAN_ORAN_ID_AC portant les variables endogènes et les autres couches candidates contenant les variables exogènes. La sélection des couches thématiques descriptives et la couche contenant le phénomène en cours d’étude qui est dans notre cas l’existence ou non d’un accident de la route et sa nature s’effectue par l’utilisateur. Dans un premier temps, la sélection des couches s’effectue par le biais d’une interface de sélection, le principe de superposition est appliqué et la modification des caractéristiques des objets spatiaux est conforme à n’importe quel SIG commercial. 100 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Figure. 4.8. Affichage des couches thématique candidates L’analyse topologique de voisinage entre les objets spatiaux est calculée en fonction de la distance Euclidienne. Pour chaque objet de chaque couche candidate, il faut calculer la distance en fonction des coordonnées spatiales. Un seuil minimal fixé par l’utilisateur pour juger le voisinage d’un accident par rapport aux autres entités spatiales. Le résultat final est l’échantillon d’apprentissage proprement dit. C’est une matrice dont les individus sont les accidents et les variables sont les couches candidates. Le contenu est le voisinage de l’accident qui prend une valeur {prêt, loin} par rapport aux objets spatiaux comme ceux de la couche établissements scolaires. 101 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Figure 4.9 Sélection des couches thématique candidates L’utilisateur choisit les couches candidates. C’est les cartes qui serviront à décrire le voisinage par rapport à l’accident. Ensuite, la couche cible ou le phénomène en question est sélectionné. Donc, pour chaque accident dans la couche cible, son voisinage est calculé par rapport aux objets de toutes les couches thématiques sélectionnées. Figure 4.10 Echantillon d’apprentissage suite à l’analyse de voisinage 102 CGISS GISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Une fois le calcule de la relation de voisinage est terminé. terminé Chaque haque accident aura une valeur {PRET, LOIN} par rapport à une couche thématique. L’ensemble des accidents et leurs voisinages selon les différents objets des autres couches thématiques constituent l’échantillon d’apprentissage présenté par la figure 4.10. Notre démarche se résume ume en trois principales étapes, illustrées par la figure 4.11 : 1. Sélection et transformation des couches thématiques en un format adapté à notre processus d’ECDRS. 2. Analyse Spatiale afin d’expliciter les relations topologiques entre le lieu de l’accident et son environnement représenté par les différentes couches thématiques. 3. Application du principe cellulaire à l’échantillon d’apprentissage issu de l’étape 2. Intégration des données géographiques de sources hétérogènes Explicitation des Adaptation des graphes d’induction pour la fouille de données spatiales relations de voisinage et construction de l’échantillon d’apprentissage Construction de la base de connaissance du graphe d’induction Représentation Multi relationnelles des données spatiales sous SGBD Figure 4.11 Approche cellulaire pour la fouille de données spatiales 103 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 4.4.3. CONCEPTION ET IMPLEMENTATION L’objectif de notre projet et en premier lieu réaliser un processus de fouille données spatiales, principalement concevoir un module assurant un minimum de fonctionnalités d’un SIG que ça soit l’extraction, l’affichage et l’analyse d’une base de données spatiales. La particularité de ce genre de processus de fouille données est par définition le type de la base de données elle même, d’où la conception et la réalisation du module chargé de l’accès à la base de données Oracle, l’exécution des requêtes spatiales et l’affichage, d’où l’utilisation d’une bibliothèque de primitives dédiées au traitement des données spatiales. Outils de développement : Nous avons adopté une solution monoposte qui permettra l’extension vers l’utilisation à distance. • JBuilder 2007 : L’outil utilisé pour le développement de l’application est le JBuilder. C’est un environnement de développement intégré pour Java, permettant le RAD, et édité par Borland. L'application est elle-même développée en grande partie en Java. JBuilder apporte certaines fonctionnalités spécifiques, disposant notamment d'une JVM propre, permettant notamment l'exécution de code Java pas à pas. Selon les éditions, il ne permet que la réalisation d'applications clientes (J2SE) ou également serveur (J2EE). Des modules supplémentaires pour les applications mobiles, en particulier pour les téléphones mobiles et les PDA, ou pour les services Web, sont également disponibles. • MapXtreme : Le module supplémentaire intégré est la bibliothèque de développent pour le MapXtreme. Il permet de créer des applications intégrant une dimension cartographique aussi bien en environnement monoposte, client/serveur que Web. Voici la liste des fonctionnalités les plus fréquentes : a. La thématique : c’est visualiser les données sur la carte géographique ou les attacher à des équipements puis leurs associer un codage coloré. b. L’annotation : c’est rendre la carte géographique informatisée en lui ajoutant du texte, des symboles et des labels. c. L’affichage en couches : Contrôle l’affichage d’une couche de la carte de façon à lui permettre elle seule d’apparaître. Le concept de cartographie en couches est utilisé aussi pour traiter des tables de données séparément. d. La sélection : c’est la sélection d’un ensemble de régions par glissement de sourie, ou selon une propriété commune….etc. 104 CGISS GISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 e. L’édition : On peut donner à l’utilisateur la capacité capacité d’ajouter, de modifier et de supprimer primer des éléments sur la carte. f.. La connectivité à des serveurs se de base de données : Les tables Crées sur MAPINFO peuvent être connectées à des systèmes de gestion de base de données via MapXtreme,, et leurs appliquées toutes les opérations sensées appliquées sur une table ordinaire notamment les requêtes SQL Notre CGISS proposé : le système conçu a plusieurs objectifs qui commencent par l’intégration des données issues de plusieurs sources de données hétérogènes, assurer les fonctionnalités de base d’un SIG, effectuer l’analyse topologique de voisinage pour fournir l’échantillon d’apprentissage, et générer la base de règles. IGSS SIGFDS Plateforme Weka Module Intégration des données hétérogènes Module et Sélection et représentation Module d’analyse spatiale Module Machine cellulaire Interface d’affichage Interface SIGFDS CGISS Interface IGSS Interface Utilisateur Figure 4.12 Cellular Geographic eographic Information System for Spatial patial datamining (CGISS) Le système CGISS proposé dans cette thèse est composé de trois modules : 1. Le module Intégration des données hétérogènes est chargé de stocker ces dernières dans la même base de données. En effet, les données descriptives ont été indépendantes par rapport aux formes géométriques situées dans les couches 105 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 thématiques. Le résultat sera stocké dans une base de données de type Oracle [Abd, 08]. 2. Le Composant SIGFDS (Système d’Information Géographique pour la Fouille de Données Spatiales), est équipé de deux modules : • Le Module sélection et représentation est équipé des fonctionnalités de bases d’un SIG. Il permet d’extraire et d’afficher les couches thématiques à partir de la base de données stockée sous Oracle. Ainsi d’autres options avancées comme l’ajout ou élimination des couches, la modification de leurs apparitions, affichage des labels, …, etc. • Le module d’analyse spatiale a pour objectif d’expliciter les relations de voisinage entre le lieu d’accident et sont environnement. SIGFDS fourni l’échantillon d’apprentissage nécessaire pour l’exécution du composant IGSS. 3. Le Module IGSS est le cœur du système. Il a été développé afin d’intégrer le principe cellulaire [Atm, 07] et enrichir l’environnement graphique de la plateforme Weka. Il prend en entrée l’échantillon d’apprentissage issu d’une base de données géographiques afin de fournir en sortie une base en binaire. 4.5. EXPERIMENTATION L’échantillon d’apprentissage Ω = ω , ω , … , ω donné par la figure 4.10 est un ensemble de 133 accidents, chacun à une valeur représentant la proximité entre le lieu de chaque accident par rapport aux objets de voisinages des autres couches thématiques : Carrefour, Etablissement, Marché. Nous avons choisi ces trois deniers afin de cibler en premier lieu une population forte et un flux important de circulation. Nous avons ignoré les cas particulier et les accidents en dehors de notre champ d’intérêt. Pour la première couche, c’est l’ensemble des carrefours et des intersections représentant un flux important de circulation routière au niveau de la ville d’Oran, donc un nombre important d’accidents dans les deux catégories : voitures et piétons. La seconde couche contient des objets spatiaux de type établissements scolaires. En plus de l’information géométrique contenue dans la base de données, nous distinguons aussi des informations descriptives de l’objet comme le nom de l’établissement ainsi que sont type. 106 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 La troisième couche est celle des marchés ainsi que les grands magasins. L’objectif d’utilisation de cette dernière comme variable descriptive dans le processus de l’extraction des règles est de viser une concentration de la population. La variable à prédire Y prend ses valeurs dans l’ensemble des C= è, , avec: 1 : accident de type voiture, 2 : accident de piéton. Y : Ω = è, ω Conformément au chapitre précédent, le processus général d’apprentissage que notre système cellulaire CASI appliqué à un échantillon d’apprentissage Ω est organisé sur quatre étapes : 1. Initialisation du graphe d’induction pour l’automate cellulaire : A partir de l’échantillon Ω nous commençons le traitement symbolique pour la construction du graphe d’induction (méthode SIPINA). 2. Optimisation du graphe d’induction cellulaire : Cela consiste à la génération des deux couches CELFACT et CELRULE. Le module COG utilise, pour cette finalité les trois procédures Fcell , FScell et Scell. 3. Génération des règles de production 4. Validation des règles cellulaires : à partir d’un échantillon de test, l’automate cellulaire avance d’une configuration vers une autre, dans le but de produire l’ensemble Ω (prévision fausse). Nous nous détaillerons pas à ce niveau les quatre étapes. Pour davantage d’information, le lecteur peut consulter le chapitre précédent. 4.5.1. CONSTRUCTION D’UN GRAPHE D’INDUCTION La méthode appliquée pour la construction du graphe d’induction est SIPINA. Son principe consiste à générer une succession de partitions par fusion et/ou éclatement des nœuds du graphe selon les trois variables exogènes !, !, ! : 1. ! : Carrefour : Voisinage du lieu de l’accident par rapport aux carrefours et des grands croisements, qui prend les valeurs : 2 : PRET,1 : LOIN. 107 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 2. ! : Etablissement : Voisinage du lieu de l’accident par rapport aux établissements scolaires, prend les valeurs : 2 : PRET,1 : LOIN. 3. ! : Marché : Voisinage du lieu de l’accident par rapport aux Marchés et super marchés, prend les valeurs : 2 : NON, 1 : OUI. Variable Signification ! " 2 Carrefour ! " 2 Etablissement ! " 2 Marché Valeurs Distance % 10 PRET , Distance ( 10 LOIN Distance % 10 PRET , Distance ( 10 LOIN Distance % 10 PRET , Distance ( 10 LOIN Table .4.1 attributs prédictifs, valeurs et significations La valeur de proximité est un paramètre subjectif, nous considérons que deux objets spatiaux sont proches si la distance euclidienne est inférieure à 10 mètres. À la fin de cette phase d’analyse de propriété de voisinage, nous fournissons au module chargé de la génération des règles un échantillon d’apprentissage. Nous utilisons l’outil IGSS développé au sein de notre équipe de recherche, pour la partie arbre de décision et génération des règles. Figure 4.13 Construction de l’arbre de décision par IGSS 108 CGISS : un Système d'Information Géographique Cellulo-Symbolique 4.5.2. Chapitre 4 GENERATION DES REGLES CONJONCTIVES À partir de notre échantillon d’apprentissage issu de l’analyse de voisinage, nous appliquons le principe de la machine cellulaire au sein du module IGSS. Ce dernier aide à l’extraction des règles conjonctives qui seront insérées dans la base de règles du système CASI. Figure 4.14 Génération des règles conjonctives par l’IGSS L’interprétation des règles est comme suit : R1: IF (X1 = 2 et X2 = 2 et X3 = 2) => 1 Si l’accident est à proximité d’un carrefour, un établissement scolaire ainsi qu’un marché alors il est de type accident de Piéton. Cette règle est consistante car un établissement scolaire ainsi qu’un marché est un endroit de forte population. La présence d’un carrefour augmente la possibilité d’un accident vue le flux élevé de circulation de voitures. R2: IF (X1 = 1 et X3 = 2) => 2 109 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 Si l’accident est à proximité d’un marché mais loin d’un Carrefour alors il est de type accident de voiture. Les accidents qui sont prêts d’un marché sont de type accident de voiture, cela est justifiable par le fait que la présence des véhicule de transport des acheteurs et des livreurs dans un endroit restreint augmente la possibilité d’accident entre les véhicules. R3: IF (X1 = 2 et X2 = 1 et X3 = 2) => 1 Si l’accident est à proximité d’un carrefour et un marché mais loin d’un établissement scolaire alors il est de type piéton. Cette règle est consistance aussi car au moins deux facteurs d’un accident de type piéton sont présents : la forte population autour d’un marché est le carrefour d’où le flux élevé de circulation des voitures. R4: IF (X2 = 1) => 1 Si l’accident est loin d’un carrefour alors il est de type piéton. Cette règle ne représente pas un grand intérêt du fait qu’elle possède une seule prémisse donc elle n’est pas porteuse d’information consistante. En exploitant les propriétés de voisinages entre les objets spatiaux de trois couches thématiques, nous avons réussi à extraire trois règles utiles et porteuses d’information qui n’ont pas été implicite au préalable. 4.6. CONCLUSION Dans ce chapitre nous avant présenté notre module d’analyse spatiale pour l’extraction des propriétés de voisinage entre les accidents de la routes et les différentes couches thématiques. L’utilisation d’oracle comme SGBD nous a parmi d’exploiter des tables relationnelles ainsi que toutes leurs avantages comme structure de données standard pour le stockage de données. À l’aide des fonctions d’administration des bases de données, ce SGBD nous a facilité la manipulation des tables qui ont été un ensemble de fichiers hétérogènes au départ. Après la sélection et la transformation des données à références spatiales, nous avons réussi à construire un échantillon d’apprentissage facilement exploitable par notre plateforme IGSS, développée au sein de notre équipe de recherche, d’où la réussite du premier objectif. 110 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 À la fin du processus de l’extraction des connaissances à partir des bases de données à références spatiales, nous avons réussi à extraire quatre règles dont trois sont consistantes. ces dernières n’ont pas été implicites d’où notre deuxième objectif. 111 CGISS : un Système d'Information Géographique Cellulo-Symbolique Chapitre 4 BIBLIOGRAPHIE [Abd, 08] Abdiche, F., Atmani, B., Vers un système d’unification des systèmes d’informations géographiques, International Conference on Web and Information Technologies ICWIT '08, PP 140—146, 2008. [Atm, 07] Atmani, B., CNSS : Cellular Neuro Symbolic System, Thèse pour l’obtention du diplôme de doctorat d’Etat en informatique, université Es Senia, Oran, 2007. [Lau, 93] Laurini, R., Les base des données en géomatiques, Traité des nouvelles technologies, Hermé, Paris, 1993. [Rig, 02] Rigaux, P., Scholl, M., Voisard, A., Spatial databases with application to GIS. Morgan Kaufmann Publishers Inc, SanFrancisco, United States, 2002. [Mar, 02] Marmonier, P., L’information géographique, document de l'Ecole Nationale des Sciences Géographiques ENSG, France, 2002. [Mic, 03] Michael, D., Integrating ArcGIS to Enterprise Oracle Spatial Using Direct Connect. Twenty-Third Annual ESRI International User Conference GIS Serving Our World, San Diego, California, United States, 2003. 112 Conclusion générale et perspectives CONCLUSION GENERALE ET PERSPECTIVES Le thème principal abordé dans cette thèse concerne l’extraction de la connaissance à partir des données à références spatiales (ECDRS). Il s’agit d’extraire des règles pour la description ou la prévision d’un phénomène du monde réel qui est dans le cadre de cette recherche les accidents de la route de la ville d’Oran. Ces derniers atteignent le domaine de la géographie et plus précisément le stockage des données à références spatiales en plusieurs couches. Cette thèse a démontré que l’exploitation des relations de voisinages entre les objets géométriques des différentes couches thématiques joue un rôle important dans l’ECDRS. En exploitant l’IGSS, on a pu fournir un outil complet qui permettra d’exécuter une multitude d’algorithmes de fouille de données ainsi que l’application de la machine cellulaire sur des données à références spatiales. La stratégie proposée pour l’intégration du SIG et l’IGSS au sein d’un processus d’ECDRS nous a permis de développer les deux modules du CGISS séparément. Etant donné que le SIG est un composant très complexe, son utilisation dans ce travail était limitée à l’exploitation des cartes géographique y compris son extraction à partir de la base de données spatiales ou l’affichage et les modifications thématiques afin de permettre aux utilisateurs de comprendre les phénomènes de façon très proche de la réalité et de sélectionner les données utiles pour le processus de l’ECDRS. D’autres fonctionnalités élémentaires d’analyse spatiale sont aussi disponibles afin de calculer le voisinage d’un objet par rapport aux autres. Les données fournies au module SIGFDS ont été soumis à une forte structuration vue que leurs formats de stockage dans les registres des agents de la direction de la sureté de la wilaya d’Oran ne permettent pas un traitement automatique. D’où la localisation manuelle de l’accident sur la carte en passant par l’intégration dans une base de données Oracle pour palier au problème d’hétérogénéité des sources de données. Le rôle de l’IGSS était l’application du principe cellulaire pour l’optimisation du graphe d’induction, ainsi que l’extraction des règles sous une représentation binaire. Cet outil développé au sein de l’équipe BIOSIF a prouvé dans plusieurs revus et conférences son optimalité par rapport aux autres méthodes à base de graphes d’inductions. Donc on a divisé le problème de l’ECDRS en deux sous tâches : Une analyse spatiale pour construire l’échantillon d’apprentissage à l’aide du SIGFDS ensuite l’extraction des règles par IGSS. 113 Conclusion générale et perspectives Ce projet reste modeste par rapport aux problématiques qu’il aborde, mais représente une initiative dans ce sens et met l’accent sur les principes qui peuvent être une plateforme pour les prochains travaux. L’application CGISS propose une adaptation des techniques de la fouille de données classiques pour la fouille de données spatiales. L’utilisation d’un SIG est importante car elle peut décrire chaque couche thématique d’une façon détaillée et cibler les zone à forte fréquence d’accidents. Nos perspectives consistent à exploiter le système CGISS, que nous avons développé, pour contribuer à la mise en service d’une cyber infrastructure destinée à la prévention et la sécurité routière. 114 Résumé : La fouille de données spatiales est un processus d’exploration des connaissances implicites dans des bases de données volumineuses à références spatiales. Le caractère géométrique des objets que ces bases de données représentent, rend le processus de fouille de données plus compliqué contrairement aux bases de données classiques. La représentation de la connaissance est aussi une question fondamentale dans la conception d’un système d’apprentissage automatique, car le mode de représentation utilisée peut réduire la complexité en terme de traitement et de stockage. L’objectif de ce travail consiste d’abord à ramener le problème de la fouille de données spatiales en une analyse de voisinage à l’aide du module SIGFDS, afin de construire l’échantillon d’apprentissage. Ensuite, l’outil IGSS déjà développé au sein de l’équipe de recherche BIOSIF est utilisé afin d’expérimenter une machine cellulaire pour des systèmes d’inférence à base de règles qui se base sur les graphes produits par la méthode SIPINA. Mots Clé : Bases de données à références spatiales, Fouille de donnée spatiales, Apprentissage symbolique, Graphe d’induction, Automate cellulaire, Extraction de règles. Abstract: Data mining is a process of exploration of the tacit knowledge in spatial databases. The geometrical character of the objects which these databases represent makes the process of data mining more complicated contrary to the traditional databases. The representation of knowledge is also a fundamental question in the design of a machine learning system, because the mode of representation used can reduce complexity in term of treatment and storage. Initially, the purpose of this project consists in bringing back the problem of spatial data mining in an analysis of vicinity using the SIGFDS component, in order to build the training dataset. Then, the IGSS tool which is already developed within the BIOSIF team is used in order to try out a cellular machine for system inference; according to rules which are based on the graphs produced by SIPINA. Key words: Spatial databases, Spatial data mining, Symbolic learning, Induction trees, Cellular automata, Rules Extraction.