Conception d une Plateforme Open Source d Extraction et de Gestion des Connaissances
|
|
|
- Sylvie Garon
- il y a 10 ans
- Total affichages :
Transcription
1 Département d Informatique MEMOIRE Présenté par : KADEM Habib Pour obtenir LE DIPLOME DE MAGISTER Spécialité : Informatique Option : Informatique & Automatique Intitulé : Conception d une Plateforme Open Source d Extraction et de Gestion des Connaissances Soutenue le : /./2010 à la salle de conférences de la faculté des sciences Devant les membres du jury : Pr B. BELDJILALI Dr B. ATMANI Dr A. GHOMARI Dr S. NAIT BAHLOUL Professeur, Université d Oran (Président) Maître de Conférences, Université d Oran (Encadreur) Maître de Conférences, Université d Oran (Examinateur) Maître de Conférences, Université d Oran (Examinateur)
2 Dédicace Je souhaite, avant toute chose, remercier Dieu pour m avoir soutenu et permis la réalisation de ce mémoire. Je dédie ce mémoire tout d abord à mes chers parents pour leur soutien et encouragement, Ainsi que tous les membres de ma famille, mes frères, mes sœurs. Je dédie également ce mémoire à toute ma famille, mes oncles, tantes, cousins et cousines. A mon encadreur pour son soutien et ses conseils. A tous mes amis, et à tous ceux et celles qui me connaissent.
3 Table des matières Introduction générale Chapitre I : Fouille de données: concepts et terminologies I.1. Introduction I.2. L'Extraction des Connaissances I.2.a. Les étapes de l ECD I.2.a.1. Acquisition et prétraitement des données I.2.a.2. Fouille de données I.2.a.3. Validation et mise en forme I.2.b. L apprentissage automatique I.2.b.1. Définition I.2.b.2. Types et manières d apprentissage I.2.c. Formalisme I.2.d. Les méthodes à base de graphes d induction I.2.d.1. Quelques méthodes à base de graphes d induction I.2.d.2. Principe général I.2.d.3. La méthode ID I.2.d.4. La méthode C I.2.d.5. La méthode SIPINA I.3. Induction par Automate Cellulaire I.3.a. Un système cellulo-symbolique I.3.b. Le principe d un automate cellulaire I.3.c. Automate cellulaire pour des systèmes d inférences à base de règles I.4. Conclusion Chapitre II : Stratégies de développement de plateformes de datamining II.1. Introduction II.2. Etat de l Art II.2.a. Les plateformes monopostes II.2.b. Les plateformes distribuées II.3. Les plateformes open source II.4. Méthodes de développement II.4.a. RAD (Rapid Application Development) II.4.b. DSDM (Dynamic Software Development Method) II.4.c. UP (Unified Process) II.5. UML pour la modélisation... 35
4 II.6. Architectures de plateforme informatique II.7. Intergiciels d intégration des plateformes web II.7.a. Description de quelques Intergiciels existant II.7.a.1. Java RMI II.7.a.2. CORBA (Common Object Request BrokerArchitecture) II.7.a.3. XML-RPC II.7.b. Service Web vs RMI, CORBA et XML-RPC II.8. Types et techniques des services web II.8.a. Les services web de type REST II.8.b. Les services web WS-* II.8.c. Pourquoi les services web II.9. Conclusion Chapitre III : L approche de WS4KDM III.1.Introduction III.2.Description de l approche WS4KDM III.3.La fouille de données cellulaire III.3.a. Le principe d automate cellulaire III.3.b. Un échantillon d apprentissage III.3.c. Initialisation, optimisation et génération III.3.c.1. Initialisation III.3.c.2. Optimisation III.3.c.3. Génération III.3.d. Inférence III.4.Présentation de la plateforme III.4.a. Architecture de la plateforme III.4.b. Description des Entres/Sorties des module III.4.c. Les Services Web de la plateforme III.5.Implémentation de la plateforme III.6.Conclusion Chapitre IV : La plateforme WS4KDM au service de la détection d intrusion IV.1. Introduction IV.2. Système de détection d intrusion (IDS) IV.2.a. Introduction IV.2.b. Etat de l Art IV.2.c. Les différents types d'ids IV.2.c.1. Les NIDS (Network Intrusion Detection System) IV.2.c.2. Les HIDS (Host Intrusion Detection System) IV.2.c.3. Les IDS hybrides (NIDS+HIDS) IV.3. La plateforme WS4KDM IV.3.a. Introduction IV.3.b. Objectifs et avantages de la plateforme IV.3.c. Services et application de la plateforme WS4KDM IV.4. Détection d intrusion par WS4KDM... 72
5 IV.4.a. La Base d Intrusion DARPA IV.4.b. Expérimentation IV.4.c. Résultats de la fouille de données IV.4.d. Comparaison des résultats IV.5. Conclusion Conclusion
6 Table des figures Figure I. 1 Technologies et modèle général d ECD...12 Figure I. 2 Cycle d un ECD...12 Figure I. 3 Schéma général d'un processus de RdF...19 Figure I. 4 Un exemple de graphe d induction...20 Figure I. 5 L'algorithme SIPINA...25 Figure I. 6 Diagramme général du système cellulaire CASI...27 Figure II. 1 Une Itération de la Méthode UP...35 Figure II. 2 Exemple d un cas d utilisation Figure II. 3 L Architecture 1-tier...36 Figure II. 4 L Architecture 2-tiers...37 Figure II. 5 L Architecture 3-tiers...37 Figure II. 6 L Architecture 3-tiers avec Client léger...38 Figure II. 7 Modèle MVC...38 Figure III. 1 Illustration de l approche de WS4KDM proposée...48 Figure III. 2 Diagramme générale de graphe d induction cellulaire...50 Figure III. 3 Un graphe d induction obtenu par la méthode SIPINA...52 Figure III. 4 Automate cellulaire pour des systèmes d inférence...53 Figure III. 5 Configuration initiale de l automate cellulaire...53 Figure III. 6 Les matrices d incidence d entrée/sortie...54 Figure III. 7 Eclatement-Fusion inutile...55 Figure III. 8 Matrices d incidence d entrée/sortie avant l optimisation...55 Figure III. 9 Les couches CELFACT et CELRULE...56 Figure III. 10 La matrice d incidence sortie...56 Figure III. 11 La matrice d incidence d entrée...57 Figure III. 12 Architecture de la plateforme WS4KDM...58 Figure III. 13 Les services et ces Mode d exécution dans la plateforme WS4KDM...61 Figure III. 14 Le modèle MVC Figure III. 15 Application en Java pour manipuler GlassFich...63 Figure IV. 1 Les services web de la plateforme WS4KDM...71 Figure IV. 2 application web pour les clients de la plateforme WS4KDM...72 Figure IV. 3 Injection et visualisation de la base d apprentissage...74 Figure IV. 4 prétraitement et filtrage de données...75 Figure IV. 5 classification et extraction des connaissances...76 Figure IV. 6 Les matrices faits, règles, relation d entrer et relation de sortie pout la Figure IV. 7 Les matrices faits, règles, relation d entrer et relation de sortie pout la Figure IV. 8 classification et extraction des connaissances...77 Figure IV. 9 Résultat de traitement...78 Figure IV. 10 Résultat de traitement du modèle ( individus, SIPINA + AC)...79 Figure IV. 11 Règles du modèle ( individus, SIPINA + AC)...80
7 Liste des tableaux Tableau I. 1 La table Individus x Variables Tableau II. 1 Comparaison entre les Services Web et les autres intergiciels Tableau II. 2 Etude comparatif selon les propriétés open source et web service des p Tableau III exemples comme échantillon d apprentissage Tableau III. 2 signification, description et valeurs des attributs du Table III Tableau IV. 1 Les variables de description de base d une connexion Tableau IV. 2 Les variables de description d une connexion suggérée par la Tableau IV. 3 Les variables de description du trafic d une connexion vers la même Tableau IV. 4 Comparaison des résultats Tableau IV. 5 Comparaison des résultats... 80
8 6 Introduction générale Introduction générale Le datamining, dans sa forme et compréhension actuelle, à la fois comme champ scientifique et industriel, est apparu au début des années 90 (Zighed, 2002). On peut voir le datamining comme une nécessité imposée par le besoin des entreprises pour valoriser les données qu elles accumulent dans leurs bases. Il consiste à rechercher et à extraire de l information (utile et inconnue) à partir d un gros volume de données stockées. En effet, le développement des capacités de stockage et des vitesses de transmission des réseaux ont conduit les utilisateurs à accumuler de plus en plus de données. Le Datamining est l étape centrale du processus général d Extraction et de Gestion de Connaissances (EGC). De nos jours, les systèmes et les plateformes d extraction et de gestion de connaissances sont devenus de véritables outils d aide à l analyse et à la décision dans un nombre croissant d organisations. La mise en place de tels systèmes est difficile et coûteuse. Ces systèmes doivent offrir des possibilités d exploration très fine et de représentation synthétique de l information recueillie et des nouvelles connaissances déduites. En amont, ils doivent assurer le prétraitement, la sélection et le filtrage de l information disponible dans des bases spécialisées internes ou externes, sur Internet ou intranet, et de maître à disposition différentes techniques d aide à la décision. Différentes plateformes d extraction et de gestion de connaissances ont été développées. Nous pouvons classer ces plateformes en deux catégories très distinctes : les plateformes (logiciels) commerciales et les plateformes d expérimentation (open source). Les premières proposent une interface graphique conviviale, et sont destinées à la mise en œuvre de traitements sur des données en vue du déploiement des résultats. Les méthodes disponibles sont souvent peu référencées, et il est de toute manière impossible d accéder à l implémentation. Les secondes sont constituées d un assemblage de bibliothèques de programmes. Un chercheur peut facilement accéder au code source pour vérifier les implémentations, ajouter ses propres variantes, et mener de nouvelles expérimentations comparatives. Ces plateformes ne sont guère accessibles à des utilisateurs non informaticiens. On peut aussi classer les plateformes d aujourd hui selon le mode d accès locale ou à distance. Les réseaux (Internet) apportent des solutions permettant de répondre aux besoins stratégiques, scientifiques et industriels, et grâce aux nouvelles techniques du web, il est possible de mettre en service une plateforme de datamining. Celle-ci s intègre dans des portails dont les composants pourront être invoqués depuis une application ou un service web dédié. Il existe plusieurs logiciels et plateformes d extraction et de gestion de connaissances recensés sur Internet, et chacun utilise une technique de mise en service sur le net. Les services web représentent un nouveau paradigme prometteur qui dépasse les anciennes technologies dans le sens où il est basé sur les technologies Internet telles que XML et HTTP. Ce sont des programmes informatiques permettant la
9 7 Introduction générale communication et l'échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, et en temps réel. Ils fournissent l'interopérabilité entre divers logiciels fonctionnant sur diverses plateformes. Ce mémoire présente notre contribution qui consiste en la conception et la réalisation d une nouvelle plateforme open source regroupant plusieurs services web dédiés à l extraction et à la gestion des connaissances nommée WS4KDM (Web Services for Knowledge Discovery and Management). Les techniques de fouille de données implémentées dans la plateforme WS4KDM basées sur les graphes d induction, utilisent une nouvelle technique de modélisation booléenne nommée BML (Boolean Modeling Langage) qui se base sur le principe cellulaire de CASI (Atmani, et al., 2007) (Cellular Automaton for Symbolic Induction). Le but, après une modélisation booléenne des règles de classification, est double : d une part affiner le processus d extraction de règles à partir de données par une fouille de donnée orchestrée par CASI, et d autre part réduire la complexité de stockage, ainsi que le temps de réponse. Notre plateforme WS4KDM a été testée sur plusieurs applications en utilisant différentes bases d exemples dans le domaine de la détection des intrusions. Le domaine de la détection d'intrusion est encore jeune mais en plein développement. Nous dénombrons à l'heure actuelle environ une centaine de systèmes de détections d'intrusions (ou IDS pour Intrusion Détection System), que ce soit des produits commerciaux ou du domaine public. Ces systèmes de surveillance du réseau sont devenus pratiquement indispensables dû à l'incessant accroissement en nombre et en dangerosité des attaques réseaux depuis quelques années. Il existe deux principales techniques pour la détection des intrusions : la détection des anomalies et la détection des malveillances. La détection des anomalies consiste à construire un modèle identifiant les comportements déviants du modèle comportemental normal. Ce modèle est le résultat d une phase d apprentissage sur une grande base de données. La détection des malveillances, quant à elle, compare le comportement d utilisation du système avec des signatures d attaques connues. Chacune de ces techniques possède des avantages et des inconvénients. La première peut détecter de nouvelles attaques puisqu elle constitue une déviation vis à vis le comportement normal de référence. Mais ça reste difficile de générer en pratique un modèle de comportement normal pouvant protéger le système. Contrairement à la détection des anomalies, la détection des malveillances permet de détecter que les attaques connues puisque les signatures des nouvelles attaques ne sont pas encore disponibles dans la base des empreintes. Dans le cadre de ce mémoire et pour évaluer notre plateforme WS4KDM nous nous sommes intéressés au problème de détection d anomalies.
10 8 Introduction générale Organisation du mémoire Le mémoire est organisé en quatre chapitres qui peuvent être résumés comme suit : Le Chapitre I est dédié à la présentation du domaine de l extraction et de la gestion des connaissances. Nous essayons d introduire les notions fondamentales de ce domaine. Nous donnons les définitions de base des concepts propres au datamining, et nous mettons en évidence sa relation avec des domaines connexes, comme l apprentissage automatique. Plusieurs méthodes à base de graphe d induction sont introduites, ainsi que l approche cellulaire, qui est au centre de notre problématique de recherche. Le Chapitre II présente les principales techniques existantes à l heure actuelle dans la conception et la mise en œuvre d un système d information sur le web, spécifiquement pour la construction des plateformes open source d extraction et de gestion des connaissances. Nous citons en premier lieu les différentes plateformes et travaux existants, puis nous définissons et nous décrivons les différentes techniques de modélisation, de développement et de mise en service d une plateforme de datamining. Le Chapitre III est consacré à la description détaillée du système cellulaire d extraction et de gestion des connaissances diffusé comme un service web. Nous présentons l approche et l architecture que nous proposons pour implémenter une plateforme cellulaire open source d extraction et de gestion des connaissances sous forme des services web nommée WS4KDM (Web services for knowledge discovery and management). Le Chapitre IV est consacré à une description détaillée des systèmes de détection d intrusion (IDS : Intrusion Detection System). Nous présentons l architecture de référence des IDS (modèle CIDF), les différentes approches de détection d intrusion (approche par scénario et approche comportementale) et les différents types d IDS (HIDS, NIDS et hybrides). La détection d intrusion implique plusieurs domaines d application parmi lesquels nous trouvons l apprentissage automatique et la classification. Ce chapitre expose aussi des différents résultats expérimentaux obtenus sur une base d apprentissage du domaine de détection d intrusion et depuis des postes différents par l utilisation des divers méthodes et algorithmes de datamining (prétraitement, classification et poste traitement). Nous terminons par une étude comparative entre les différentes plateformes existantes. Finalement, nous concluons ce mémoire en synthétisant les différentes étapes de notre contribution et nous proposons quelques perspectives envisagées pour poursuivre cette recherche.
11 9 Fouille de données : concepts et terminologies Chapitre I FOUILLE DE DONNEES: CONCEPTS ET TERMINOLOGIES I.1. Introduction...10 I.2. L'Extraction des Connaissances...11 I.2.a. Les étapes de l ECD...12 I.2.a.1. Acquisition et prétraitement des données...12 I.2.a.2. Fouille de données...13 I.2.a.3. Validation et mise en forme...14 I.2.b. L apprentissage automatique...14 I.2.b.1. Définition...14 I.2.b.2. Types et manières d apprentissage...15 I.2.c. Formalisme...17 I.2.d. Les méthodes à base de graphes d induction...19 I.2.d.1. Quelques méthodes à base de graphes d induction...19 I.2.d.2. Principe général...20 I.2.d.3. La méthode ID I.2.d.4. La méthode C I.2.d.5. La méthode SIPINA...23 I.3. Induction par Automate Cellulaire...26 I.3.a. Un système cellulo-symbolique...26 I.3.b. Le principe d un automate cellulaire...26 I.3.c. Automate cellulaire pour des systèmes d inférences à base de règles 27 I.4. Conclusion...28
12 10 Fouille de données : concepts et terminologies I.1. Introduction De nombreux organismes (entreprises) gouvernementaux, commerciaux, ou médicaux collectent et gèrent des masses de plus en plus volumineuses d informations. La taille et le nombre des bases de données augmentent sans cesse. Elle consiste à rechercher et à extraire de l information (utile et inconnue) des gros volumes de données stockées. Aujourd hui, la fouille de données revête d une grande importance technologique, économique, et même sociopolitique, du fait qu elle permet d aider à la décision dans certain domaines et d optimiser la gestion des ressources humaines et matérielles. Nous représentons dans ce chapitre le domaine de l extraction et de la gestion de connaissances. Nous essayons d introduire les notions fondamentales de ce domaine. Nous donnons des définitions de base des concepts propres au datamining, et mettons en évidence les évolutions de cette fonction, et exposons les évolutions des plateformes de datamining.
13 11 Fouille de données : concepts et terminologies I.2. L'Extraction des Connaissances L Extraction des Connaissances à partir de Données «ECD» ou «Knowledge Discovery in Databases «KDD» en anglais, est un processus plus complexe qui se déroule suivant une suite d opérations : l acquisition et la sélection des données dans une base de données, le prétraitement ou la transformation éventuelle des données, la fouille des données à proprement parlé, qui est d ailleurs l étape centrale de l ECD, et enfin la validation des modèles ainsi élaborés. L ECD comporte quatre caractéristiques principales (Fayyad, et al., 1992) : La connaissance extraite doit être exprimée dans un langage de «haut niveau» afin d être compréhensible et utilisable par les utilisateurs et pas seulement par les mathématiciens, informaticiens ou statisticiens. La connaissance découverte doit être relativement pertinente de façon à ce que l utilisateur puisse y accorder une grande croyance. Cette notion de certitude englobe non seulement des critères de validité mathématique, statistique, mais inclut aussi l intégrité des données. Les résultats produits doivent présenter un intérêt aux utilisateurs. Seule une information nouvelle, utile, non triviale, non redondante, intéressante sera qualifiée de connaissance. Le processus de découverte doit être efficace, et implémentable sur un ordinateur. Les temps de calcul doivent être polynomiaux dans un espace mémoire normal (selon la technologie actuelle). Comme le montre la figure I.1, l ECD est un processus itératif qui met en œuvre un ensemble de techniques provenant des bases de données, des statistiques, de l analyse de données, des interfaces de communication homme-machine, et de l intelligence artificielle (Zighed, 2002). L ECD vise à transformer des données (volumineuses, multiformes, stockées sous différents formats sur des supports pouvant être distribués) en connaissances. Ces connaissances peuvent s exprimer sous forme d un concept général qui enrichit le champ sémantique de l usager par rapport à une question qui le préoccupe. Elles peuvent prendre la forme d un rapport ou d un graphique. Elles peuvent s exprimer comme un modèle mathématique ou logique pour la prise de décision. Les modèles explicites, quelle que soit leur forme, peuvent alimenter un système à base de connaissances ou un système expert.
14 12 Fouille de données : concepts et terminologies Base de Données Statistique Apprentissage, Analyse de données, RDF Intelligence artificielle Concepts Entrepôt de données Optimisation Interface homme machine Modèle de décision Base de connaissances Connaissances Figure I. 1 Technologies et modèle général d ECD I.2.a. Les étapes de l ECD Comme évoqué précédemment, L'ECD est un processus qui se déroule selon une série d opérations. Nous pouvons regrouper ces opérations en trois étapes majeures (Zighed, 2002), (KODRATOFF, 1994), comme le montre la figure I.2: Modèle Entrepôt de Données BDD Phase de sélection et de préparation de données Table Individu X Variable Phase d extraction de Connaissances et d élaboration du modèle Phase de test et d évaluation de la stabilité du modèle Acquisition et Prétraitement Fouille de Données Validation et Mise en Forme Figure I. 2 Cycle d un ECD I.2.a.1. Acquisition et prétraitement des données Les données peuvent être localisées sur des sites différents de celui où s effectue l ECD. Elles peuvent être stockées selon des architectures variées (des bases de données relationnelles, entrepôts de données, le web, banques de données spécialisées ). Elles peuvent être structurées ou non selon différents types : données
15 13 Fouille de données : concepts et terminologies tabulaires ou textuelles, images, sons ou séquences vidéo. Cette étape porte sur l accès aux données en vue de construire des tables bidimensionnelles, des corpus de données spécifique. En fonction du type des données, des méthodes de prétraitements mettent en forme les données, les nettoient, traitent les données manquantes et sélectionnent les attributs ou les individus lorsque ceux-ci sont trop nombreux : choix des attributs les plus informatifs dans le premier cas, et échantillonnage dans le second. Cette phase est loin d être anodine puisque c est elle qui va conditionner la qualité des modèles établis lors de la fouille de données. En effet, ces choix ont pour objectif de faire émerger l information contenue au sein de cette masse de données. I.2.a.2. Fouille de données La fouille de données est, en effet, un processus qui fait intervenir des méthodes et des outils issus de différents domaines tels que l informatique, les statistiques ou encore l intelligence artificielle. La fouille de données est l art d extraire des connaissances à partir des données. Elle est utilisée dans plusieurs applications, comme par exemple : Les organismes de crédit pour décider d accorder ou non un crédit en fonction du profil du demandeur de crédit (la demande, expériences passées de prêts). Le diagnostic médical. L analyse des pratiques et stratégies commerciales et leurs impacts sur les ventes. Les organisations de rayonnages dans les supermarchés en regroupant les produits qui sont généralement achetés ensemble. L analyse du génome. La classification d objets (en astronomie par exemple). Les moteurs de recherche sur internet (fouille du web). L extraction d information depuis des textes (fouille des textes). Cette phase fait appel à de multiples méthodes issues des statistiques, de l apprentissage automatique, de la reconnaissance de formes ou de la visualisation. Les méthodes de fouille de données permettent de découvrir ce que contiennent les données comme informations ou modèles utiles. Si nous essayons de classifier les méthodes de fouille de données utilisées, trois catégories se distinguent (Zighed, 2002): 1. Les méthodes de visualisation et de description : leur objectif est de permettre à l analyste d avoir une compréhension synthétique de l ensemble de ses données. Elles sont principalement issues des statistiques descriptives et de l analyse des données, et sont adaptées ou augmentées à l aide de techniques de visualisation graphique pouvant faire appel à des métaphores de représentation assez élaborées. 2. Les méthodes de classification et de structuration : la structuration regroupe toutes les techniques d apprentissage non supervisé (l'utilisateur ne sait pas à priori quelles classes, groupes ou catégories il va obtenir) et de classification automatique provenant des domaines de la reconnaissance de formes, des statistiques, de l apprentissage automatique. Le choix pour ces méthodes dépend essentiellement des objectifs du chercheur. Il n'existe pas de principes universels conduisant au meilleur choix possible.
16 14 Fouille de données : concepts et terminologies 3. Les méthodes d explication et de prédiction : ces méthodes ont pour objectif de rechercher à partir des données disponibles un modèle explicatif ou prédictif entre, d une part, un attribut particulier à prédire et, d autre part, des attributs prédictifs. Elles proviennent des statistiques, de la reconnaissance des formes, de l apprentissage automatique et du connexionnisme. Il existe une multitude de méthodes d explication et ou de prédiction développées dans différents contextes (les graphes d induction, les réseaux de neurones, les méthodes de régression, l analyse discriminante, les réseaux bayésiens et les règles d association). I.2.a.3. Validation et mise en forme L obtention de ces modèles est une étape intéressante et riche en informations. Cependant, ces informations n acquièrent le stade de connaissance qu après leur validation. Au regard des résultats en validation, une méthode (ou un ensemble de méthodes) est jugée meilleure que d autre. Mais malheureusement, aucune méthode de validation ne permet de déterminer quel est l outil que l on doit employer pour répondre à un tel problème. Un consensus général semble se dégager pour reconnaître qu aucune méthode ne surpasse les autres car elles ont toutes leurs forces et faiblesses spécifiques les rendant ainsi plus ou moins performantes pour un problème donné. Il semble plus avantageux de faire coopérer des méthodes comme nous le ferions avec une équipe de spécialistes. Enfin, le choix des méthodes dépend également et surtout de l utilisateur et de la compréhension qu il peut avoir des méthodes élaborées. I.2.b. L apprentissage automatique D une façon générale, les méthodes d ECD exploitent les recherches en Intelligence Artificielle, en particulier en apprentissage automatique. En effet, ce dernier peut être perçu comme un processus d extraction de connaissances et les méthodes associées sont désignées comme des méthodes d ECD. L apprentissage se caractérise par la quantité d information dont un sujet a besoin pour accomplir une tâche déterminée. Au début, quand l incertitude est maximale, il lui faut beaucoup d informations, par la suite, et sous l effet de l exercice, un minimum d indications lui suffit. I.2.b.1. Définition L apprentissage automatique est certainement, en intelligence artificielle, le champ d application le plus fertile de ces dernières années. H. Simon (Simon, 1983) définit l apprentissage comme «Tout changement dans le système qui lui permet de mieux accomplir une tâche la deuxième fois, lors de la répétition de cette même tache, ou lorsqu une autre tache, issue de la population, se présente». Selon Dietterich (Dietterich, 1986), il ya 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. 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.
17 15 Fouille de données : concepts et terminologies I.2.b.2. Types et manières d apprentissage L apprentissage inductif Comme nous l avons souligné, l apprentissage inductif constitue une grande partie des travaux en apprentissage automatique. L apprentissage inductif est un processus d acquisition des connaissances par l application d inférences inductives sur des objets (des exemples ou des faits) singuliers, donnés par un expert ou fournis par l environnement, afin de produire des énoncés généraux et des règles. Un tel processus comprend des opérations de généralisation, de spécialisation, de transformation, de correction et raffinement des représentations des connaissances. Ce processus simplifie grandement le transfert des connaissances d un expert à une machine, il n est plus nécessaire de formaliser puis de coder la connaissance de l expert pour l introduire dans la machine. Les règles de production sont induites automatiquement à partir d exemples du problème. Dans les sciences expérimentales comme la biologie, la médecine, la chimie, l apprentissage inductif permet d assister l homme pour détecter des modèles intéressants ou pour révéler les structures stables des ensembles de données. Une application moins directe mais potentiellement prometteuse de l apprentissage inductif est la maintenance de la bases de connaissances d un système expert. Le programme d apprentissage est alors utilisé pour détecter et corriger les inconsistances, les redondances, simplifier les règles...etc. L apprentissage inductif se divise en apprentissage supervisé et non supervisé (Zighed, 2002), (Mierswa, et al., 2006): 1. L apprentissage supervisé: Le but est de trouver une description générale et caractéristique décrivant une classe sans à avoir à énumérer tous les exemples de cette classe. Il faut découvrir ce que les exemples ont en commun et qui peut donc être induit comme étant la description de la classe. Un regroupement préalable des exemples selon des classes prédéfinies a donc été effectué. Dans le cas particulier où il n y a que deux classes, nous parlerons alors d apprentissage de concept : les exemples de la première classe seront les exemples positifs et ceux de la deuxième classe les exemples négatifs ou les contre-exemples. L idéal d un algorithme d apprentissage inductif est de trouver un ensemble minimal de descriptions maximalement discriminantes du concept. Ce problème peut être NP-complet et une approche heuristique est alors nécessaire. Il existe une grande variété de méthodes, utilisant ou non des heuristiques. Comme principales approches, nous citons l Analyse Discriminante, le modèle de Régression, l Algorithme de l Etoile (Michalski, 1983), l Espace de Versions (Mitchell, 1978), les algorithmes génétiques, le système CHARADE (Ganascia, et al., 1987), les réseaux de neurones, les graphes d induction : CART (Breiman, et al., 1984), C4.5 (Quinlan, 1993), SIPINA (Zighed, et al., 1992), L apprentissage non supervisé: Le système d apprentissage considère un ensemble d objets ou d exemples sans savoir si ces objets appartiennent ou non à la même classe. Il n y a pas de classes prédéfinies et le but est d effectuer les meilleurs regroupements possibles entre les objets et d en trouver une description explicative. L apprentissage non supervisé, appelé aussi apprentissage par observations ou par découverte, consiste en l élaboration de nouveaux concepts ou de nouvelles théories caractérisant les
18 16 Fouille de données : concepts et terminologies objets donnés. (Ketterlin, 1995) étudie la possibilité de prendre en compte dans la formation des concepts la «complexité structurelle intrinsèque» des données. Apprendre par l action Ce type d apprentissage renvoie à la première partie de la définition de H.Simon (Simon, 1983) où l apprentissage permet à un système de mieux accomplir une tache lorsqu elle se répète une deuxième fois. Nous supposons disposer d un système déjà capable de résoudre un problème. Ce système possède des heuristiques concernant l utilisation de règles ou d opérateurs de résolution du problème et propose une solution dite initiale et supposée optimale. C est à partir de cette solution initiale que l apprentissage commence en faisant ré-exécuter au système la tâche qu il vient de réussir. Deux cas se présentent alors : Soit le système repasse par la même succession d opérations que celle de la solution initiale, et dans ce cas, il n apprend rien. Soit il passe par des étapes différentes. Les règles seront alors modifiées pour obliger le système à passer par le chemin initial. Les méthodes de modification des heuristiques constituent le cœur de l apprentissage. Elles permettent d apprendre en analysant les solutions, d améliorer le raisonnement du système par l expérience et conduisent à des règles élaborées de résolution du problème. Cependant, un inconvénient de cet apprentissage est qu il est excessivement sensible au langage utilisé. Il faut introduire correctement les modifications des heuristiques pour obtenir des résultats intéressants. Comme extension de l apprentissage par l action, nous pouvons également citer le raisonnement à base de cas (Kolodner, 1993). Ce type de système dispose d une base d exemples (de cas) de problèmes résolus ainsi que de leur solution. Quand un nouveau problème à résoudre se présente, le système cherche dans la base les problèmes similaires résolus afin d obtenir une solution par analogie. L apprentissage consiste, certes, à effectuer ce raisonnement par analogie, mais il comporte aussi l enrichissement de la base d exemples du nouveau cas résolu en précisant si la solution obtenue par analogie est satisfaisante ou non. Apprendre par l explication Cette approche se fonde sur le fait que la réorganisation de la connaissance est aussi une forme d apprentissage. A l inverse de l apprentissage inductif, l apprentissage par explications ne permet pas de découvrir de nouvelles connaissances, mais analyse et met sous une forme plus «efficace» ou «opérationnelle» des connaissances déjà existantes. De tels systèmes exploitent une grande quantité de connaissances préalables et utilisent la déduction comme méthode d inférence fondamentale. L apprentissage par l explication est un processus qui part d une preuve formelle de la validité d un résultat, et qui utilise certaines heuristiques pour extraire de cette preuve formelle une information utile qui est appelée ensuite «explication». Apprendre ainsi, consiste à expliquer un exemple observé en termes de connaissances du domaine et à utiliser ensuite cette explication pour construire une description du
19 17 Fouille de données : concepts et terminologies concept plus efficace. Des méthodes de démonstration automatique de théorèmes et des méthodes heuristiques sont utilisées pour extraire l information nécessaire. Dans (Thrun, et al., 1993) est présentée une méthode d apprentissage qui combine, à la fois, l apprentissage par l explication et l apprentissage inductif supervisé. Cette méthode tente d allier à travers un réseau de neurones, les avantages des deux types d apprentissage afin de produire de bons résultats résistants au bruit tout en utilisant des connaissances du domaine. Nous proposons maintenant de définir un formalisme commun aux différentes méthodes d apprentissage inductif supervisé. I.2.c. Formalisme Le cadre méthodologique dans lequel nous nous plaçons est celui de la Reconnaissances de Formes (RdF). De nombreux ouvrages traitent de cette question (Duda, et al., 1973) (Devijver, et al., 1982), (Belaid, et al., 1992). Pour notre part, nous nous limitons à une présentation synthétique d un problème de RdF et nous adoptons le formalisme de (Zighed, et al., 1992). Soit Π une population d'individus, d exemples ou d'objets concernés par le problème de RdF. Par la suite nous parlerons généralement d exemples. A cette population est associé un attribut Y appelé variable endogène, classe ou concept selon les disciplines. A chaque exemple est associée une valeur de Y, notée Y (π ) = y, c est-à-dire une classe. Si l exemple appartient à la classe y avec j = (1, k, m) alors nous pouvons écrire Y (π) = y. L attribut Y prend ses valeurs dans un ensemble discret noté C, ensemble des classes : Y Π C = y,, y, y π Y(π) Dans le problème de demande d un crédit bancaire, l attribut Y sera "accord" et est défini par exemple selon deux classes y "Oui" et y "Non". Nous souhaitons mettre au point un dispositif qui permet d expliquer et de prédire la classe de tous les exemples de la population Π. Dans la réalité, nous ne disposons pas des exemples en tant que tels, mais d'une représentation de ces exemples. Et c'est à partir de cette représentation que nous souhaitons élaborer le dispositif de prédiction des classes. La représentation des exemples est matérialisée par des attributs, appelés aussi variables exogènes, notés X, X, X qui prennent leurs valeurs respectivement dans R (avec i = 1,, p). Nous noterons X (π ), la valeur prise par l exemple p pour l attribut X et R l'espace de représentation définit ci-dessous : Π R = R R R π (π) = (X (π),, X (π),, X (π)) Les R sont des ensembles quelconques de valeurs. Par exemple l attribut X le salaire, l attribut X l âge... peut être
20 18 Fouille de données : concepts et terminologies La population prise en compte sera représentée par une suite d individus (exemples) avec leurs classes correspondantes dans une table dite table Individus x Variables, comme illustré dans le tableau suivant : Ω X 1 (ω) X 2 (ω) X p (ω) Y(ω) ω 1 X 1 (ω 1 ) X 2 (ω 1 ) X p (ω 1 ) Y(ω 1 ) ω 2 X 1 (ω 2 ) X 2 (ω 2 ) X p (ω 2 ) Y(ω 2 ) ω n X 1 (ω n ) X 2 (ω n ) X p (ω n ) Y(ω n ) Tableau I. 1 La table Individus x Variables Ce tableau montre que ce n est pas toute la population Π qui sera considérée, mais seulement un échantillon prélevé de cette population, noté Ω. Il s agit de l échantillon d apprentissage, pour lequel on connaît pour tout exemple ω sa représentation X(ω) et sa classe Y(ω). L objectif est alors de chercher à élaborer, à partir de cet échantillon, un modèle φ (la fonction de classement) pour lequel on souhaite que φ(x(ω)) = Y(ω) pour une majorité de ω appartenant à Ω. Cette étape est dite étape d apprentissage. La mise au point d'un modèle par apprentissage supervisé nécessite deux étapes. La première dite «d'apprentissage» consiste à prélever dans la population un échantillon noté Ω, où pour tout exemple ω de Ω nous connaissons sa représentation X(ω) et sa classe Y(ω). A partir de cet échantillon Ω, dit d'apprentissage, nous cherchons à élaborer la fonction de classement φ pour laquelle nous souhaitons que φ X(ω) = Y(ω) pour une majorité de ω Ω. Les exemples d apprentissage pour lesquels φ X(ω) = Y(ω) sont désignés comme bien classés ou reclassés par la fonction de classement. Nous déterminons ainsi deux taux de classement en apprentissage : le taux de succès qui exprime la proportion d exemples bien reclassés parmi les exemples d apprentissage, et son complémentaire le taux d erreur. Un principe général consiste à construire la fonction φ permettant de bien reclasser les exemples d apprentissage. Mais ce simple principe ne suffit pas, car l objectif est avant tout d avoir de bonnes performances sur de nouveaux exemples. Pour estimer celles-ci, on emploie un ensemble test indépendant de l ensemble d apprentissage. La seconde étape dite de «validation» ou de «test» consiste à prélever un ensemble Ω', dit échantillon test, dont les éléments n'ont pas participé à l apprentissage, puis à classer ces exemples à l aide de la fonction φ et enfin à évaluer cette fonction par le taux de succès ou d erreur de classement en validation. Il est le plus souvent nécessaire d admettre que la fonction de classement ne reclasse pas parfaitement les exemples d apprentissage. En effet, des résultats très bons sur l apprentissage n entraînent pas nécessairement de bons résultats sur le test, il faut alors trouver un compromis entre performances en apprentissage et celles en test, c est-à-dire entre les taux de classement en apprentissage et en test. Ainsi, après avoir validé le dispositif φ, nous pourrons l utiliser pour prévoir les classes de tous les exemples de la population Π. Cette phase est appelée phase de généralisation : φ X(π) = Y(π) π Π
21 19 Fouille de données : concepts et terminologies Population Espace de représentation Ensemble des classes Figure I. 3 Schéma général d'un processus de RdF I.2.d. Les méthodes à base de graphes d induction La génération des modèles de prédiction sera réalisée par un système d apprentissage inductif supervisé. Ce système d induction peut être utilisé dans des démarches plus générales d extraction de connaissances ou de prédiction, comme il peut être utilisé pour l alimentation des systèmes experts. Ce dernier point est important, étant donné que l une des principales composantes d un système expert est la base de connaissances, que l on assimile souvent à une base de règles, et traditionnellement, ces bases sont construites par un expert du domaine, qui, à partir de son expérience et ses connaissances propose des règles de production. L introduction de l apprentissage supervisé, et notamment de l induction des règles à partir d exemples, a permis l accélération du processus d acquisition des connaissances, et une meilleure fiabilité face aux règles d experts et surtout une fiabilité qu on peut quantifier. Parmi les méthodes d apprentissage supervisé, l induction des règles à partir d exemples tient une place particulière parce qu elle est celle qui réalise le meilleur compromis entre performances en précision et compréhensibilité. Les méthodes à base de graphes d induction sont des méthodes d'apprentissage dites symboliques, très connues dans le domaine de l'i.a, et qui font partie des méthodes d apprentissage inductif supervisé. Elles produisent des fonctions de classement sous forme de graphes, ou dans le cas particulier, sous forme d arbres, compréhensibles par un utilisateur quelconque. Plus précisément, nous avons opté pour l induction par graphe grâce à la méthode SIPINA (Système Interactif pour les processus d Interrogation Non Arborescents) (Zighed, et al., 1992). Cette méthode présente l avantage d utiliser un système de représentation qui respecte parfaitement les critères de précision et de compréhensibilité, car la transformation du graphe en règles, pour alimenter les systèmes experts, se fait sans pertes ni modifications de leurs propriétés en classement. I.2.d.1. Quelques méthodes à base de graphes d induction D abord, il faut tracer une limite entre le terme de graphe d'induction et celui d'arbre de décision. Le graphe construit pour la plupart des méthodes basées sur les graphes d'inductions ne contient que des opérations d'éclatement au niveau des sommets, et de ce fait il est dit arborescent, et il est souvent appelé arbre de décision. Dans d'autres
22 20 Fouille de données : concepts et terminologies méthodes, comme la méthode SIPINA, on procède à des opérations de fusion de sommets lors de la construction du graphe, pour limiter la taille de ce dernier. Dans ce cas, le graphe est dit non arborescent. Ainsi, on peut dire que le graphe d induction est une généralisation de l'arbre de décision. Le principe de fusion est donc une caractéristique propre aux graphes d'induction qui ne sont pas des arbres de décision, toutefois, il est aussi exploité, mais sous une variante plus restreinte, dans des méthodes comme CART, ASSISTANT 86 ou GID3 (Rabaséda, 1996). Historiquement, les premiers travaux sur les arbres de décision datent des années soixante, où on trouve le premier programme d'apprentissage par graphe d'induction qui a été réalisé en 1963 par Sonquist et Morgan. Puis on assiste à l'apparition de l'algorithme ID3 en 1979, grâce à Ross Quinlan (Quinlan, 1986), suite aux travaux de Hunt avec le CLS. Ensuite, vers les années soixante-dix et quatre-vingt, plusieurs systèmes basés sur l'algorithme ID3 ont vu le jour, comme ASSISTANT 86, GID3, KATE, O-BTree, C4.5, SAFI etc. Ces méthodes sont alors considérées comme des descendants d'id3, cependant, il existe aussi d'autres méthodes à base de graphe d'induction, qu on peut citer par exemple les méthodes ELISEE, CART et SIPINA. I.2.d.2. Principe général Dans leur principe général, ces méthodes cherchent à discriminer les exemples selon leurs classes en fonction d attributs considérés comme les «meilleurs» au sens d un critère donné. Sur l échantillon d apprentissage, on cherche l attribut qui discrimine le mieux les exemples, puis sont constitués autant de sous-échantillons que l attribut possède de modalités. Ainsi, chaque sous-échantillon contient les exemples ayant la modalité associée de l attribut, et on cherche sur chaque sous-échantillon, de nouveau, le meilleur attribut, dans un processus récursif qui est réitéré jusqu à ce qu un même sous-échantillon contient des exemples possédant tous la même classe. Le classement d'un nouvel exemple se fait en parcourant un chemin partant de la racine à une feuille, et l'exemple appartient donc à la classe qui correspond aux exemples de la feuille : 7 15 X 6 =0 X 6 =1 7 0 X 3 =0 6 X 3 = Figure I. 4 Un exemple de graphe d induction
23 21 Fouille de données : concepts et terminologies Plus précisément, un graphe d induction est un ensemble de sommets reliés par des arcs. Il existe deux types de sommets particuliers : le sommet initial (la racine) qui n a pas de prédécesseur, et le sommet terminal (la feuille) qui n a pas de successeurs. Les feuilles sont étiquetées de la classe qu ont les exemples sur chacune d elles, et leur ensemble constitue une partition de l échantillon d apprentissage. Pour les sommets intermédiaires, chacun est associés à l attribut discriminant utilisé, et chaque chemin correspond à une valeur possible de cet attribut. A partir d un sommet intermédiaire, il y a autant de chemins que l attribut a de valeurs. Les graphes d induction en général contiennent un sommet initial unique et plusieurs sommets terminaux, et dans le cas où ils ne comportent pas de circuit, ils sont dits arborescents. Comme précisé, à chaque étape est choisi, parmi les attributs, le «meilleur» au sens d un critère donné de sélection. Chaque méthode utilise un critère particulier, et même si les critères semblent nombreux, ils reposent pratiquement tous sur un principe commun qui est de choisir le meilleur attribut qui permet de réduire l incertitude dans laquelle on se trouve lorsque l on veut classer des exemples. Ainsi, le principe de construction d'un graphe d'induction est le suivant (Rabaséda, 1996) : i. Calculer l'incertitude I(S) de la partition S. ii. Pour chaque attribut et sommet candidat à la segmentation, calculer I(S') avec S' la partition issue de S après la segmentation d'un sommet selon l'attribut X. iii. Sélectionner l'attribut qui maximise la réduction d'incertitude, c'est-à-dire l'écart ΔI(S) = I(S) I(S') et effectuer la segmentation selon cet attribut. iv. S S'. v. Si S est une partition homogène 1 alors affecter à chacune des feuilles une classe, sinon aller en (i). Dans ce principe, l'écart ΔI(S) = I(S) I(S'), appelé gain d'incertitude, est le critère de sélection des attributs, et qui représente la réduction d'incertitude. Pour toutes les méthodes, le but est de maximiser ce critère, mais avant cela, il faut d'abord utiliser des critères pour mesurer l'incertitude. Ces critères diffèrent d'une méthode à l'autre, et on peut citer principalement ceux provenant de la théorie de l'information, comme la mesure d'entropie (l'entropie quadratique, de Shannon, de Daroczy). I.2.d.3.La méthode ID3 ID3 utilise une mesure d incertitude basée sur l entropie de Shannon (Quinlan, 1983), (Quinlan, 1986). 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. Compte tenu de la propriété d indépendance de la mesure d incertitude I (S) de la partition, nous choisissons de noter maintenant S le sommet de la partition concerné par l opération de segmentation. Le sommet S désigne l échantillon considéré, c'est-àdire, un sous ensemble de l échantillon d apprentissage initial. De plus, pour simplifier les notations, un attribut quelconque Xi est noté X. 1 Une partition homogène est une partition qui ne rassemble que des sommets homogènes, et un sommet homogène est un sommet qui ne représente que des exemples d'une même classe.
24 22 Fouille de données : concepts et terminologies Soient : S le sommet ou l échantillon considéré N le nombre d exemples présents sur le sommet S, Card(S) = N m le nombre de classes y 1, y j, y m les m classes, d effectif N. j sur le sommet S X un attribut quelconque ayant k valeurs notées x 1 x i x k S i le sous échantillon composé des exemples ayant la valeur x i = { ; ( ) = } N i. le nombre d exemples dans le sous échantillon S i, Card (S i ) =N i. N ij le nombre d exemple dans l échantillon S i appartenant à la classe y j d où. = = I(S) l incertitude du sommet S I X (S) l incertitude du sommet S après segmentation selon les valeurs de X. Le Gain d Information, noté Gain(X), apporté par la segmentation du sommet S selon les valeurs de l attribut X est défini de la façon suivante : Gain( X ) I( S) I( S) I ( S) x ( ) =. log. ( ) =.. log. Le Gain d Information est une expression de l information conjointe existante entre les classes et l attribut. Plus I X (S) est faible (c est-à-dire moins d information pour classer les exemples avec l attribut X est nécessaire), plus le Gain d Information apporté par l attribut X est important. Lors de la construction du graphe, qui est appelé arbre de décision, ID3 examine tous les attributs candidats pour une segmentation et avec le critère de gain sélectionne l attribut qui maximise le Gain d Information. Au départ, l échantillon S considéré est Ω, c'est-à-dire l échantillon d apprentissage. Ω est alors partitionné selon les p valeurs de X. Sur chaque sous-échantillon Ω p est recherché récursivement, parmi les attributs non encore sélectionnés, l attribut qui maximise le Gain d Information, jusqu à ce que tous les exemples d un même échantillon appartiennent à une même classe. I.2.d.4. La méthode C4.5 A l issue de plusieurs critiques, il est apparu que le Gain d Information utilisé dans l algorithme ID3 favorisait les attributs avec beaucoup de valeurs. Ayant reconnu ce biais, J. R. Quinlan utilise dans C4.5 (Quinlan, 1990), (Quinlan, 1993) une variante du Gain d Information. La quantité d information potentielle d un attribut dépend de la distribution des exemples selon les valeurs possibles de cet attribut. Moins il y a de valeurs différentes dans un attribut, moins cet attribut aura d information. D où l idée de normaliser le
25 23 Fouille de données : concepts et terminologies Gain apparent par l information Info(X) due au nombre de valeurs de l attribut X et de créer un nouveau critère : le Ratio de Gain ou en anglais le Gain Ratio : ( ) = ( ) ( ) ( ) =. log. Le Ratio de Gain exprime la proportion d information générée par le partitionnement selon l attribut X, qui est utilisable pour le classement. Pour éviter que le Ratio de Gain ne favorise excessivement les attributs avec un faible nombre de valeurs au détriment d attributs ayant un fort Gain, C4.5 calcule une moyenne des Gains de tous les attributs candidats à la segmentation d un sommet, et parmi ceux dont le Gain est supérieur à la moyenne, est retenu l attribut qui maximise le Ratio de Gain. I.2.d.5. La méthode SIPINA Le terme SIPINA signifie «Système Interactif pour les Processus d'interrogation Non Arborescent», et il désigne une méthode non arborescente. La méthode SIPINA était proposée en France en 1985 par Zighed (Zighed, et al., 1992). A l inverse des méthodes arborescentes, qui ne procèdent lors de la construction du graphe que par des opérations d'éclatement de sommets par les attributs, la méthode SIPINA introduit une opération de fusion entre sommets, dans le but de minimiser le nombre de sommets terminaux tout en s'assurant que ces derniers aient des effectifs suffisamment importants. En effet, la méthode SIPINA utilise lors de la construction du graphe d'induction trois opérations: la fusion, la fusion-éclatement et l'éclatement : L'opération de fusion entre des sommets consiste à regrouper les exemples appartenant à ces sommets, en un seul qui va contenir tous les exemples avec le même partage sur les valeurs de la classe (les exemples de chaque valeur de la classe sont regroupés séparément). La méthode procède à cette opération après le calcul du gain d'incertitude proposé par tout regroupement possible entre les sommets, et le choix du regroupement qui le maximise. Par contre, s'il n'y a pas de gain positif par regroupement, la méthode procède à une tentative de fusion-éclatement. L'opération de fusion-éclatement intervient quand une tentative de fusion échoue, et, comme son nom l'indique, elle est composée d'une opération de fusion et d une autre d'éclatement. La méthode procède à cette opération après le choix de l'attribut qui maximise le gain d'incertitude proposé par l'éclatement d'un sommet, mais que le sommet concerné sera, à son tour, obtenu après fusion de deux autres sommets. L'opération d'éclatement consiste à segmenter un sommet selon un attribut, pour générer autant de sommets que cet attribut a de valeurs, et les exemples contenus dans le sommet sont répartis sur les sommets résultants. La méthode procède à cette opération après le calcul du gain d'incertitude proposé par chaque éclatement possible par les attributs, et le choix de l'attribut qui le maximise, par contre s'il n'y a pas de gain positif par éclatement, la méthode se termine et aucune amélioration ne sera possible pour la partition courante.
26 24 Fouille de données : concepts et terminologies Pour la mesure d'incertitude, la méthode SIPINA utilise généralement l'entropie quadratique. Le gain d'informations ΔI(S) apporté selon l'entropie Quadratique est donné par la formule suivante : S un sommet, N son effectif (Card(S)=N) et X un attribut quelconque. S i le sous échantillon composé des exemples ayant la valeur x i. I(S) l'incertitude du sommet S. I x (S) l'incertitude du sommet S après segmentation selon les valeurs de X. N i. le nombre d'exemples dans le sous échantillon S i. N ij le nombre d'exemples dans l'échantillon S i appartenant à la classe c j. m le nombre de classes, et les c j sont les classes. N.j l'effectif des classes c j. λ un paramètre positif non nul. Le paramètre λ pénalise les nœuds de faibles effectifs, et il peut être à son tour calculé en fonction d'un autre paramètre τ qui décrit la contrainte d'admissibilité (c'est un entier représentant le nombre minimum d'individus supporté par un sommet). Le calcule de λ est réalisé en maximisant la fonction Z (λ) suivante : ) ( ) ( ) ( ) ( S I S I S I X Gain x m j j j m N N m N N S I ) ( k i i ij m j i ij i x m N N m N N N N S I ) ( ) 1 ( ) ( ) * ( ) ( m m m m m Z
27 25 Fouille de données : concepts et terminologies Voici l algorithme complet de la méthode SIPINA : Début Fin 1. Fixation de la mesure d'incertitude (Quadratique ou Shannon) 2. Fixation des paramètres (τ, λ) 3. Génération de la première partition à partir du sommet initial 4. Tentative de fusion (phase 1), si succès (gain > 0) Alors : 1. Générer partition (fusion) 2. Aller à (4) Sinon : 1. Aller à (5) 5. Tentative de fusion éclatement (phase 2), si succès (gain > 0) Alors : 1. Générer partition (fusion - éclatement) 2. Aller à (4) Sinon : 1. Aller à (6) 6. Tentative d'éclatement (phase 3), si succès (gain > 0) Alors : 1. Générer partition (éclatement) 2. Aller à (4) Sinon : 1. Fin de l'algorithme Figure I. 5- L'algorithme SIPINA A la fin de l algorithme, la fonction de classification est exprimée par un graphe qui peut être transformé sous forme de règles de production. Cependant, l utilisation directe des règles extraites n est pas possible, et il semble nécessaire de simplifier le graphe généré, et par conséquent les règles, avant de les utiliser dans un système d aide à la décision, grâce à la machine cellulaire.
28 26 Fouille de données : concepts et terminologies I.3. Induction par Automate Cellulaire La représentation et le traitement de la connaissance sont les deux questions les plus importantes dans la conception de n importe quel système d apprentissage automatique. C est peut-être également la considération fondamentale dans la conception de n importe quel système de classification ; parce que la représentation utilisée peut réduire la complexité de stockage et diminuer ainsi la compléxité du traitement. Dans cette partie, nous introduisons l architecture générale d une machine cellulaire, qui permet de réduire la taille des graphes d induction, et d optimiser automatiquement la génération des règles symboliques. Ainsi, après acquisition par apprentissage symbolique d un ensemble d exemples, le but de la machine cellulaire est de réduire la complexité de stockage, en plus de diminuer la durée de calcul par une modélisation et représentation booléenne de la base des connaissances. La modélisation booléenne (Atmani, et al., 2007) est une contribution à la conception d architecture parallèle. L idée de base est de présenter une machine cellulaire avec deux couches, qui simulent le fonctionnement du cycle de base d un moteur d inférence d un système expert. c'est-à-dire, construire une machine cellulaire capable de simuler le processus d inférence en chaînage avant et arrière. L idée de base est d utiliser le principe booléen dans la construction des arbres de décision par apprentissage automatique. I.3.a. Un système cellulo-symbolique Dans la conception d un système d apprentissage automatique, la représentation et le traitement de la connaissance sont les deux questions les plus importantes. La méthode cellulaire est une méthode de génération, de représentation et d optimisation des graphes d induction. En outre, dans le cas d utilisation du système d apprentissage, pour alimenter la base de connaissances d un système expert, des règles conjonctives sont produites à partir d une représentation booléenne des graphes d induction. La représentation cellulaire facilite la transformation des règles dans des expressions booléennes équivalentes, ainsi on peut compter sur l algèbre booléenne élémentaire pour vérifier plusieurs simplifications (Benamina, et al., 2008). D une façon générale, nous utilisons le principe cellulo-symbolique organisé en cellules, où chaque cellule est reliée à ses voisines seulement. Toutes les cellules obéissent, en parallèle, à la même règle appelée fonction de transition locale, qui a comme conséquence une transformation globale du système (Atmani, et al., 2007). I.3.b. Le principe d un automate cellulaire Un automate cellulaire est une grille composée de cellules qui changent d état dans des étapes discrètes, tel qu après chaque étape, l état de chaque cellule est modifiée selon les états de ses voisines dans l étape précédente. Les cellules sont mises à jour d une façon synchrone, et les transitions sont réalisées, théoriquement, simultanément. Grâce à des règles simples et des transitions spécifiques, un automate
29 27 Fouille de données : concepts et terminologies cellulaire peut effectuer, d une manière globale, des opérations complexes. Certains des concepts principaux pour les automates cellulaires sont (Atmani, et al., 2007) : Configuration : c est l état global de l automate cellulaire qui est défini par les états de toutes ses cellules. Voisinage : il est défini par l ensemble des voisines d une cellule dont les états sont pris en compte pour chaque transition. L état suivant de la cellule dépend de l état actuel de ses voisines, et la transition, d une configuration à une autre, est la conséquence des transitions locales de toutes les cellules. Parallélisme : toutes les cellules constituant l automate 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é : pour déterminer leur prochain état, toutes les cellules utilisent la même règle de transition. Discrétisation : un automate cellulaire évolue discrètement dans le temps. Pour décrire un automate cellulaire, on utilise les quatre composants suivants : Dimension : même si dans la pratique on n utilise que des automates avec 1 ou 2, voir 3 dimensions, en réalité il n y a aucune limite à la dimension d un automate cellulaire. Voisinage de la cellule : il 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 : l ensemble fini d éléments que peut prendre une cellule. Fonction de transition : l ensemble de règles qui détermine le nouvel état de chaque cellule selon son état précédant, et ceux des cellules de son voisinage. I.3.c. Automate cellulaire pour des systèmes d inférences à base de règles L architecture générale de l automate cellulaire pour les systèmes d inférences à base de règles est décrite dans la figure I. 6 suivante (Atmani, et al., 2007) : Technique Apprentissage automatique symbolique COG Cellular Optimisation and generation CIE Cellular Inference Engine CV Cellular Validation Knowledge base Facts and Rules Figure I. 6- Diagramme général du système cellulaire CASI
30 28 Fouille de données : concepts et terminologies I.4. Conclusion Dans ce premier chapitre, nous avons introduit le processus d Extraction de connaissances à partir de données. Nous avons essayé d expliciter la problématique de fouille de données cœur de l ECD. Dans notre travail, nous nous intéressons aux techniques à base de graphe d induction et d arbre de décision. Notre approche est une approche d apprentissage automatique cellulo-symbolique, appliquée dans le cadre général d un processus d'extraction de Connaissances à partir de Données. Nous essayons d adapter les tâches du processus d extraction de connaissances à cette problématique, et surtout d introduire l approche cellulaire par une modélisation booléenne. Cette solution sera implémentée dans une plateforme open source d extraction des connaissances et de gestion des règles sur le web, qui sera assistée par un module d apprentissage artificiel automatique cellulaire. Cette plateforme open source et cellulaire de fouille de données propose certains services web qui assurent l extraction et la gestion des règles (EGR). Nous revenons dans le troisième chapitre en détails sur les techniques de graphe d induction et la machine cellulaire, afin de donner l architecture de notre plateformes, après nous décrivons les différents services web de la plateforme proposée.
31 29 Stratégies de développement de plateformes de datamining Chapitre II STRATEGIES DE DEVELOPPEMENT DE PLATEFORMES DE DATAMINING II.1. Introduction...30 II.2. Etat de l Art...31 II.2.a. Les plateformes monopostes...31 II.2.b. Les plateformes distribuées...32 II.3. Les plateformes open source...33 II.4. Méthodes de développement...34 II.4.a. RAD (Rapid Application Development)...34 II.4.b. DSDM (Dynamic Software Development Method)...34 II.4.c. UP (Unified Process)...34 II.5. UML pour la modélisation...35 II.6. Architectures de plateforme informatique...36 II.7. Intergiciels d intégration des plateformes web...39 II.7.a. Description de quelques Intergiciels existant...40 II.7.a.1. Java RMI...40 II.7.a.2. CORBA (Common Object Request BrokerArchitecture)...41 II.7.a.3. XML-RPC...41 II.7.b. Service Web vs RMI, CORBA et XML-RPC...42 II.8. Types et techniques des services web...42 II.8.a. Les services web de type REST...42 II.8.b. Les services web WS-*...43 II.8.c. Pourquoi les services web...44 II.9. Conclusion...45
32 30 Stratégies de développement de plateformes de datamining II.1. Introduction De nos jours, les techniques de fouille de données sont devenues de véritables outils d aide à l analyse et à la décision dans un nombre croissant d organisations et la mise en place de telles techniques est difficile et coûteuse. Un système (plateforme) de fouille de données, doit offrir des possibilités d exploration très fine et de représentation synthétique de l information recueillie et des nouvelles connaissances déduites. Grâce au développement continu de l informatique côté logiciel et matériel, et au développement des réseaux informatiques et de l internet, les concepteurs et les développeurs des logiciels et des plateformes de fouille de données travaillent pour construire des plateformes d extraction et de gestion des connaissances suivant la technologie quotidienne. L'Intranet est un moyen peu coûteux pour faire partager des ressources, des applications et des chercheurs, quelle que soit la localisation de ces acteurs dans le monde. Comme il présente un espace très large pour la réalisation et l utilisation d une plateforme de datamining. Généralement, il existe de nombreuses plateformes de datamining sur le net. Selon la disponibilité de code source, on distingue les open-sources telles que WEKA, Tanagra, Orange, etc. et ceux à aspect commercial. Une plateforme open source a l'avantage d'être développée par un grand nombre de personnes, ce qui lui permet d être relativement complète, fiable et fonctionnelle. En plus, comme tout projet open source, son code-source est disponible pour permettre d éventuelles modifications et pour répondre à ses propres besoins ou ajouter de nouvelles fonctionnalités. Afin de développer un projet informatique, il existe plusieurs méthodologies d analyse, de conception et de modélisation, des techniques et outils à suivre pour le développement. Dans Chaque méthode, technique et outils, il y a des avantages et des inconvénients. Dans ce chapitre, nous présentons des plateformes de datamining pour l objectif de conclure les bonnes techniques et outils pour la conception, la modélisation et l implémentation d une plateforme web de datamining. L objectif de ce chapitre est de répondre aux questions suivantes : comment et de quoi (outils de software et hardware) nous pouvons développer une plateforme web d EGC.
33 31 Stratégies de développement de plateformes de datamining II.2. Etat de l Art Plusieurs plateformes commerciales et expérimentales de fouille de données ont été développées jusqu'à aujourd hui. Il existe des plateformes de type monoposte (exécution et expérimentation locale) et d autre de type d accès à distance ou bien dites des applications web (des requêtes d exécution et d expérimentation envoyées à partir d un poste client à des applications ou des services existants dans un ou plusieurs serveurs), Nous citons : II.2.a. Les plateformes monopostes WEKA (Witten, et al., 2000) : c est une bibliothèque gratuite implémentée en Java qui comporte des algorithmes d apprentissage et une plateforme de programmation visuelle. Elle donne à l utilisateur la possibilité d ajouter facilement ses propres algorithmes. HIVE (Ross, et al., 2007) : c est un environnement de programmation visuel pour la réduction de dimensions. Il ne contient pas beaucoup de méthodes d analyse exploratoire de données et il est difficile de l étendre du fait de sa spécificité. YALE (Mierswa, et al., 2006) : c est un environnement gratuit, libre, d expérimentation pour l extraction de connaissances. Il intègre plusieurs méthodes de visualisation et d apprentissage et réutilise la bibliothèque WEKA. YALE est souple et extensible, cependant, il n est pas convivial pour la programmation visuelle. TANAGRA (Rakotomalala, 2005) : c est une plateforme gratuite d expérimentation pour la fouille de données. Implémentée en Delphi, elle contient des méthodes de fouilles de données issues du domaine de la statistique exploratoire, de l analyse de données, de l apprentissage automatique, mais ne comporte pas beaucoup de méthodes de visualisation et de techniques interactives. Elle est désignée aux étudiants pour l enseignement et aux chercheurs. ORANGE (Demsar, et al., 2004) : c est une plateforme d expérimentation pour la fouille de données. Elle est implémentée en C++/Qt/Python et englobe des méthodes d apprentissage automatique et de visualisation. GeoVista Studio (Takatsuka, et al., 2002): est un environnement de programmation visuel pour l analyse géo-spatiale. Il est gratuit, libre, souple, extensible et contient l implémentation en Java d algorithmes d apprentissage et des méthodes de visualisation et techniques interactives. GeoVista Studio n est pas encore convivial pour l utilisateur. Clémentine (Colin, 2007) : selon Colin Shearer, Clémentine est le marché phare d extraction de données depuis plus de dix ans, en particulier dans les entreprises qui cherchent à augmenter le rendement sur investissement de leur solution CRM. En outre, les innovations font de Clémentine SPSS Predictive une plate-forme plus efficace que jamais dans la stimulation de la productivité et apportent des fonctions analytiques de pointe. Oracle Data Mining (ODM) (Oracle, 2010) : une option d Oracle Database 11g Enterprise Edition qui permet de produire des informations prédictives exploitables et d élaborer des applications de business intelligence intégrées.
34 32 Stratégies de développement de plateformes de datamining Avec la fonction d extraction des données intégrée à Oracle Database 11g, les clients peuvent identifier des méthodes et des informations cachées dans leurs données. Les développeurs d applications peuvent rapidement automatiser la découverte et la distribution de nouvelles prévisions, de méthodes et de découvertes dans l ensemble de l entreprise. II.2.b. Les plateformes distribuées OLAM SE (Petr, et al., 2006) : Self Explaining On Line Analytical Mining est un environnement pour l exportation itératif et interactif des règles d'association multi niveaux. Il permet à l utilisateur de manipuler des quantités énormes de données, car il utilise des principes d'interactivité d'olap. K-Grid (Antonio, et al., 2006) : Knowledge Grid. Cette plateforme comporte deux niveaux (couches) hiérarchiques: o Core K-Grid layer: Ce niveau offre des services de base pour la gestion du méta-data qui décrivent les serveurs, les bases de données (exemples, expériences), les outils d'extraction de données et les outils de visualisation. o High-level K-Grid: la couche de niveau élevé de K-Grille. Cette couche regroupe les services de composition, de validation, et d exécution de processus de découverte de la connaissance. SINDBAD SAILS (Jörg, et al., 2008) : Service Architecture for Inductive Learning Schemes, une interface de service web implémentée en PHP dédiée à la plateforme SINDBAD. Cette interface permet à un utilisateur d accéder aux techniques de fouille de données de SINDBAD. Son prototype est implémenté en java et ses techniques de fouille de données sont implémentées comme des fonctions de PostgreSQL pour optimiser l'exécution. FAEHIM (Shaikh, et al., 2005) : Federated Analysis Environment for Heterogeneous Intelligent Mining, une plateforme qui regroupe un ensemble de services web assurant l extraction et la gestion des connaissances. Elle rassemble plusieurs techniques de fouille, et dont la plupart des services sont dérivés de la bibliothèque de WEKA. Open DMIX (Robert, et al., 2004) : une collection open source de plusieurs services web d accès, d exploitation, d intégration et d extraction des connaissances distribuées. La communication entre le client et le serveur d Open DMIX se fait selon l architecture SOAP+. OIDM (Qijun, et al., 2003) : c est une plateforme de fouille de donnée online, qui peut aider l'utilisateur à trouver l'algorithme d'extraction approprié. OIDM comporte trois techniques d extraction des connaissances à partir des données : la classification, l analyse associative et le clustering. Weka4WS (Domenico, et al., 2005) : une plateforme de l environnement Weka. Weka4WS utilise la technique WSRF (Web Service Resource Framework) pour implémenter ses services web. L application client de Weka4WS est une modification de l environnement WekaExplorer (ancien Weka Explorer + accès au Weka4WS). Les phases de prétraitement et la visualisation ne sont pas encore proposées comme des services web. Les services web de Weka4WS sont :
35 33 Stratégies de développement de plateformes de datamining o CreateResource: service de création d un nouveau WS-Resource. o Subscribe: service de notification de changement de propriétés. o Destroy: service de destruction des WS- Resource. o Classification: un service web pour lancer les algorithmes de classification caractérisé par le nom et les paramètres de l'algorithme de classification, les options à employer pendant la phase d expérimentation (TestOption), l index de l'attribut d observation (l attribut classe) et enfin l URL de la base d exemples tests. o Clustering: ce service permet d appliquer et de tester les algorithmes de segmentation (clustering). Il est caractérisé par le nom et les paramètres de l algorithme, les options à employer pour l expérimentation, les indexes des attributs sélectionnés et enfin l'attribut classe et l URL de la base test. o AssociationRules : Il permet d appliquer un algorithme de génération de règles d'association. Ce service est caractérisé par le nom, les paramètres de l algorithme choisi et l URL de la base de test. SAS 1 Enterprise Miner (Statistical Analysis System Enterprise Miner) (Sas, 2010) : Une solution de fouille de données complète, à la fois puissante, riche et conviviale. Elle repose sur une méthodologie éprouvée S.E.M.M.A. (Sample, Explore, Modify, Model, Assess), et propose la palette de modèles et d analyses la plus large du marché. Elle offre une grande facilité de partage des résultats et d exploitation des modèles. Cette plate-forme analytique permet de répondre aux besoins concrets des entreprises et les aide à optimiser leurs stratégies avec une offre logicielle et un service de conseil et d accompagnement. II.3. Les plateformes open source Il existe deux types de plateformes selon la disponibilité ou non du code source : il ya des plateformes commerciales et d autres open source. Ce deuxième type a plusieurs objectifs (Rakotomalala, 2005), que nous citons par exemple : L enseignement : pour les enseignants et les étudiants, les logiciels de fouille de données open source représentent des outils pédagogiques pour expliquer le fonctionnement des méthodes de la fouille de données. La recherche scientifique : le chercheur dans ce domaine a besoin d outils pour expérimenter et tester des méthodes et comparer des résultats. Ce type de plateformes permet, en plus, aux chercheurs d accéder au code et d implémenter ses propres méthodes. L apprentissage de la programmation : elles constituent un bon moyen d apprendre la programmation, et de connaitre les outils et les bibliothèques. La validation du code source de la plateforme par les chercheurs de fouille de données et par les différentes expérimentations des utilisateurs. La comparaison des interprétations d un même problème par différentes versions du code source afin de produire une nouvelle version optimale. 1 Leader mondial du décisionnel et des solutions de business analytics, et le plus important éditeur indépendant du marché du décisionnel
36 34 Stratégies de développement de plateformes de datamining Le partage du code en tant qu une bibliothèque de fouille de données dans les environnements de programmation. Que ce soit le type de la plateforme, open source ou non. Elle peut être modifiée par un suivi de développement par les producteurs originaux ou d autres, donc elle a besoin d une stratégie qui montre le détail de son réalisation. dans ce cadre, il existe plusieurs méthodes de développement d applications logiciels. II.4. Méthodes de développement Pour réaliser un système d information capable de traiter une grande quantité de données nous avons besoin d une étude bien détaillée et structurale. Nous savons qu un tel logiciel est constitué d un volumineux code source. Il existe plusieurs méthodes de développement, nous nous intéressons aux méthodes Agiles. Les Méthodes Agiles visent à réduire le cycle de vie du logiciel (donc accélérer son développement) en développant une version minimale, puis en intégrant les fonctionnalités par un processus itératif basé sur une écoute client et des tests tout au long du cycle de développement. Ce type de méthodes de développement (Méthodes Agiles) nous permettra d obtenir très vite une première mise en production du projet à développer. Ainsi, il est possible d'associer les utilisateurs entre eux dès le début de développement du projet. En 2009, 76% d organisations dans le monde industriel ont adopté les méthodes agiles pour le développement d un projet ou plus (Ambler, 2009). II.4.a. RAD (Rapid Application Development) RAD (Rapid Application Development) est une méthode de développement rapide d'applications, définie par James Martin au début des années 80, consiste en un cycle de développement court basé sur 3 phases (Cadrage, Design et Construction) dans un délai idéal de 90 jours et de 120 jours au maximum (Jeff, 2008). II.4.b. DSDM (Dynamic Software Development Method) DSDM (Dynamic Software Development Method) a été mise au point en s'appuyant sur la méthode RAD afin de combler certaines de ses lacunes, notamment en offrant un canevas prenant en compte l'ensemble du cycle de développement. Les principes fondateurs de la méthode DSDM sont les suivants (Jeff, 2008) : Une implication des utilisateurs Un développement itératif et incrémental Une fréquence de livraison élevée L'intégration des tests au sein de chaque étape L'acceptation des produits livrés dépend directement de la satisfaction des besoins. II.4.c. UP (Unified Process) La méthode du Processus Unifié (UP pour Unified Process), que nous avons adopté dans notre développement, est un processus de développement itératif et incrémental,
37 35 Stratégies de développement de plateformes de datamining ce qui signifie que le projet est découpé en phases très courtes à l'issue de chacune desquelles une nouvelle version incrémentée est livrée (Yves, et al., 2003) (Pascal, 2008). C'est un patron de processus pouvant être adaptée à une large classe de systèmes logiciels, à différents domaines d'application, à différents types d'entreprises, à différents niveaux de compétences et à différentes tailles de l'entreprise. Il s'agit d'une démarche s'appuyant sur la modélisation UML (Unified Modeling Language) pour la description de l'architecture du logiciel (fonctionnelle, logicielle et physique) et la mise au point de cas d'utilisation permettant de décrire les besoins et exigences des utilisateurs. La figure II.1 montre un aspect général du processus itératif de la méthode UP. C est une architecture centrée, dont chaque itération prend en compte un certain nombre de cas d'utilisations. Exigences Analyse et conception Planning Planning initiale Implémentation Evaluation Tests Déploiement Figure II. 1 Une Itération de la Méthode UP II.5. UML pour la modélisation Le traitement d un problème complexe, est conceptuellement impossible de l appréhender d un seul bloc. Donc on doit découper et raffiner le problème afin de pouvoir le comprendre pas à pas. Une fois le problème découpé en sous-problèmes de tailles plus petites, l analyse de chacun de ces sous-problèmes devient alors plus simple et lisible. Il existe plusieurs techniques de modélisation et de conception, une des techniques les plus utilisée dans le monde informatique, et la quelle on a adopté pour la modélisation de notre plateforme est le langage UML. UML (Unified Modeling Language) (Pascal, 2008) c est un langage de modélisation objet unifié, né de la fusion des trois méthodes qui ont le plus influencé la modélisation objet au milieu des années 90 : OMT, Booch et OOSE. De très nombreux acteurs industriels de renom ont adopté UML et participent à son développement. UML n'impose pas de méthode de travail particulière, il peut être intégré à n'importe quel processus de développement logiciel de manière transparente. UML est une sorte de boîte à outils, qui permet d'améliorer progressivement une méthode de travail telle que la méthode agile UP (la méthode est conduite par les cas d utilisations issus du modèle UML).
38 36 Stratégies de développement de plateformes de datamining Figure II. 2 Exemple d un cas d utilisation. II.6. Architectures de plateforme informatique La conception des systèmes d information peut, en général, être organisée selon trois couches, la couche présentation, logique d application et enfin la couche de gestion des ressources. Ces couches séparent logiquement les fonctionnalités d un système d information. Nous pouvons présenter architecturalement ces dernières sous quatre architectures : L Architecture 1-tier la plus ancienne, les trois couches sont faites dans la mainframe. Figure II. 3 L Architecture 1-tier. Dans cette optique d architecture, la couche présentation réside dans la machine client. par conséquent, les ressources qu elle utilisait deviennent disponibles pour les couches de logique de l application et de gestion de ressources.
39 37 Stratégies de développement de plateformes de datamining Figure II. 4 L Architecture 2-tiers Dans cette architecture, la couche de présentation réside dans le client comme. La logique de l application réside dans le middle tier où se situe l intergiciel (middleware, software facilite et gère les interactions entre applications fonctionnant généralement sur des plates-formes hétérogènes). Figure II. 5 L Architecture 3-tiers La figure II.6 montre la possibilité d utiliser les systèmes d architecture 3-tiers avec l Internet. Cette variante d architecture 3-tiers est connue sous le nom de 3-tiers avec client, parce que la présentation n est plus créée dans le client, mais par un serveur d application Web dédié. Celui-ci génère la présentation en utilisant la création dynamique de pages HTML qui sont ensuite affichées par un navigateur Web. Nous pouvons citer comme exemples de technologies pour créer des pages Web dynamiques : Java Servlets, JSP (Java Server Pages), ASP.NET (Active Server Pages dotnet) et PHP (Personal Home Page) ou JSF (Java Server Face).
40 38 Stratégies de développement de plateformes de datamining Figure II. 6 L Architecture 3-tiers avec Client léger Un autre type d architecture est proposé pour les projets de plus en plus complexes, pour leurs réalisations et surtout leurs maintiens. Pour cette raison nous avons opté pour l architecture MVC (Model-Vue- Contrôle). Ce modèle d architecture est devenu très courant et indispensable pour la réalisation des projets complexes. Modèle Requête Notifications de changements Changement Vue Actions utilisateurs Choix de la vue Contrôleur Figure II. 7 Modèle MVC La figure II.7 montre les interactions dans le modèle MVC. Ce modèle est une architecture et une méthode de conception pour le développement d applications logicielles qui sépare le modèle de données, l interface utilisateur et la logique de contrôle. L architecture MVC facilite la réalisation et la mise-à-jour des projets, avec ce modèle, la vue peut consulter directement le modèle sans passer par le contrôleur. Par contre la vue doit nécessairement passer par le contrôleur pour effectuer une modification. Sur une architecture 3-tiers, un modèle en couches, ou chaque couche communique seulement avec ses couches adjacentes.
41 39 Stratégies de développement de plateformes de datamining II.7. Intergiciels d intégration des plateformes web Pour implémenter des plateformes distribuées sur Internet, il existe de nombreuses techniques basées sur l aspect conception, architecture et intergiciels (middlewares). Maintenant nous ciblons principalement l aspect intergiciels qui constitue un des supports indispensables pour les plateformes distribuées. Grâce aux intergiciels (middlewares) du web, il est possible de mettre en service des plateformes de fouille de données sur le net. L intergiciel est un logiciel de connexion formé d un groupe de services qui permettent l exécution de plusieurs applications sur une ou plusieurs machines connectées en réseau. Cette technologie fournit une couche d abstraction qui permet l interopérabilité entre différents langages de programmation, systèmes d exploitation et architectures d ordinateurs. Les intergiciels peuvent se classer en différentes catégories (Denivaldo, 2005) : Systèmes basés sur RPC (Remote Procedure Call) : RPC est la forme la plus basique d intergiciel. Elle fournit l infrastructure nécessaire pour transformer les appels de procédures locales en appels de procédures distantes de façon uniforme et transparente. TP monitors (Moniteurs Transactionnels) : ils sont la forme la plus ancienne et la plus connue des intergiciels. Ils sont aussi les plus fiables, les mieux testés, et la technologie la plus stable en EAI (Enterprise Application Integration). Object brokers : ils sont similaires à RPC, mais ont été introduits pour prendre en charge les systèmes orientés objets. L exemple le plus populaire d object brokers est CORBA de l OMG. Object monitors : ils sont la fusion des TP monitors et des object brokers. Message-oriented : ce type d intergiciels est connu comme MOM (Message Oriented Middleware) et est basé sur les messages asynchrones. Il fournit un mécanisme d accès transactionnel pour files, persistance pour files, et un numéro de primitives pour lire et pour écrire dans une file locale ou distante. WfMS (Workflow Management Systems) : un système de gestion de workflow qui permet le contrôle de l envoi des informations entre les participants d un processus ainsi que la définition de la logique métier nécessaire pour intégrer les systèmes hétérogènes et distribués. Services Web : c est le type le plus récent d intergiciels. Il a été conçu pour supporter l interopérabilité sur l Internet. Web service est une manière standardisée d intégration d applications basée sur le web en utilisant les standards ouverts tels que XML, SOAP, WSDL, UDDI et les protocoles de transport de l Internet. XML est utilisé pour représenter les données, SOAP pour transporter les données, WSDL pour décrire les services disponibles, et UDDI pour lister les fournisseurs des services et les services disponibles (webopedia, 2010).
42 40 Stratégies de développement de plateformes de datamining II.7.a. Description de quelques Intergiciels existant Les services web sont des intergiciels plus adaptés à l Internet que leurs prédécesseurs. Cependant, l expérience a montré que la création d un nouveau intergiciel (même avec des standards) n est pas une solution viable à long terme pour supporter le développement logiciel. En effet, les services web peuvent aider dans la création des logiciels, mais ils restent d un niveau d abstraction bas. Les intergiciels (middlewares) tels que CORBA (Common Object Request Broker Architecture), Java RMI (Java Remote Methode Invocation) et DCOM (Distributed Component Object Model) ont été proposés pour simplifier le développement des logiciels et permettre l interopérabilité entre les systèmes distribués et hétérogènes. Ils ont répondu de manière assez satisfaisante à l interopérabilité dans le contexte des systèmes distribués, mais l apparition de l Internet a introduit de nouvelles exigences (par exemple, interopérabilité sur Internet) auxquelles ils n étaient pas adaptés. Dans un premier temps, ces intergiciels ont été étendus afin de faire face à ces nouvelles exigences, mais avec peu de succès. Ainsi les services web ont été proposés afin de remplacer ou compléter les anciens intergiciels incapables de répondre efficacement à l exigence d interopérabilité sur l Internet. II.7.a.1. Java RMI Java RMI est un intergiciel spécifique à la plateforme Java. Les interfaces sont définies en Java. L annuaire est très limité et se résume à un service de nommage. Le protocole de communication JRMP (Java Remote Method Protocol), la représentation d informations et le protocole de transfert sont spécifiques à Java. En fait, Java RMI est une adaptation de RPC au monde Java. Dans (Juric, et al., 2004), les auteurs présentent une étude détaillée de performance entre Java RMI et les services web. Cette étude a démontré que l utilisation de Java RMI 8.5 est plus performante que l utilisation de services web sur un réseau local. Cependant, l auteur remarque que sur l Internet, l utilisation de Java RMI demande souvent une technique de tunneling comme HTTP-to-port, HTTP-to-CGI et HTTP-to-Servlet. L effort pour déployer et configurer Java RMI et les composants de tunneling est plus significatif que dans le cas de services web. De plus, Java RMI et les techniques de tunneling ont présenté une performance inférieure aux services web. L utilisation de Java RMI et HTTP-to-port a été quatre fois moins performante que les services web. L utilisation de Java RMI et HTTP-to-servlet a été trois fois moins performante. Selon les résultats obtenus, l auteur conseille l utilisation des services web au détriment de Java RMI avec la technique de tunneling, et il recommande l utilisation de Java RMI (sans tunneling) pour les scénarios qui n ont pas de problèmes avec les pare-feu ou qui demandent plus de performance que d interopérabilité. Selon (Denivaldo, 2005), l auteur a montré que, dans certains contextes et avec l utilisation de techniques d optimisation, les services web peuvent être plus performants que Java RMI (sans tunneling).
43 41 Stratégies de développement de plateformes de datamining II.7.a.2. CORBA (Common Object Request BrokerArchitecture) CORBA (Common Object Request Broker Architecture) est un modèle d'objets distribués indépendant du langage de développement dont les spécifications sont fournies par l'omg (OMG, 2002). Il peut supporter plusieurs types d applications distribuées, mais il n est pas efficacement adaptable à l Internet. Dans (Denivaldo, 2005), l auteur présente un cas d étude qui démontre l intérêt et la nécessité de faire cohabiter les services web et CORBA. De plus, ils remarquent que les services web représentent un intergiciel pour intergiciel, c-à-d un intergiciel universel qui permet l intégration de différents intergiciels afin d assurer l interopérabilité. Ainsi, la coexistence entre services web et CORBA peut être justifiée dans certaines situations. Dans d autres contextes, une seule des deux technologies peut être plus adaptée et suffisante pour supporter le développement des services. De plus, les services web présentent des avantages significatifs par rapport à CORBA. Le WSDL contient deux parties, l une abstraite et l autre concrète. La partie abstraite contient le contrat du service, et la partie concrète contient les liaisons (bindings) et la localisation du service. IDL-CORBA (Interface Definition Language) ne fournit, par contre, que la partie abstraite (le contrat du service). Les types de données codifiées en IDL-CORBA sont prédéfinis, bien qu il est possible de créer des types complexes (par exemple : structures, unions) et des types dynamiques avec le constructeur any. Par opposition, WSDL permet la description de types qui ne sont pas prédéfinis dans sa spécification, et ceci grâce à l extensibilité de XML et les schémas XML. SOAP est un protocole de communication plus riche qu IIOP. Comme SOAP est basé sur XML, il permet la création de types de données plus flexibles et non prédéfinis. De plus, SOAP peut être étendu pour répondre à de nouvelles exigences (par exemple sécurité, transaction) sans modifier la normalisation de SOAP. En fait, SOAP est plus simple pour être adaptée aux besoins d un contexte. Ainsi comme les autres technologies des services Web, UDDI peut être étendu pour répondre à de nouvelles exigences. Par rapport à CORBA, UDDI fournit en plus la possibilité de classer un service par ses caractéristiques techniques (Denivaldo, 2005). XML est un mécanisme plus riche que CDR pour représenter les données. XML a été conçu pour être extensible et compréhensible par les humains et aussi par les ordinateurs. En contrepartie, CDR est une représentation binaire qui n est pas extensible ni compréhensible par les humains. Il faut souligner aussi que l utilisation de XML permet une plus grande interopérabilité et extensibilité que CDR. En opposition, l utilisation de XML exige un traitement plus élaboré que CDR, ce qui occasionne un impact sensible dans la performance des services web. II.7.a.3. XML-RPC XML-RPC est seulement un RPC basé sur XML et HTTP. De plus, il est très limité pour supporter des applications complexes sur l Internet. Les services web sont la technologie la plus récente utilisée pour supporter le développement de systèmes d information distribués, en particulier les applications B2B sur l Internet.
44 42 Stratégies de développement de plateformes de datamining Aujourd hui, ils semblent être la solution la plus adaptée pour assurer l interopérabilité sur l Internet. II.7.b. Service Web vs RMI, CORBA et XML-RPC Les services web présentent plusieurs avantages par rapport aux autres intergiciels. Pour dresser un comparatif plus précis, nous comparons la pile de standards de Java RMI, CORBA et XML-RPC avec la pile de services web conforme au tableau II.1 (Denivaldo, 2005) : Fonction Java RMI CORBA XML-RPC Description Annuaire Protocole de Communication Représentation de donnée Protocole de transport Interfaces en Java +/- rmiregistry JRMP Services Web IDL-CORBA - WSDL CORBA Services GIOP - UDDI Protocole XML-RPC SOAP Message Sérialisation CDR XML XML RMI HTTP HTTP HTTP Tableau II. 1 Comparaison entre les Services Web et les autres intergiciels II.8. Types et techniques des services web Il existe plusieurs technologies derrière le terme service web (Cesare, et al., 2009) : Les services web REST exposent entièrement leurs fonctionnalités comme un ensemble de ressources (URI) identifiables et accessibles par la syntaxe et la sémantique du protocole HTTP. Les services web type REST sont donc basés sur l'architecture du web et ses standards de base: HTTP et URI. Les services web WS-* exposent ces mêmes fonctionnalités sous la forme de services exécutables à distance. Leurs spécifications reposent sur les standards SOAP et WSDL pour transformer les problématiques d'intégration héritées du monde Middleware en objectif d'interopérabilité. Les standards WS-* sont souvent décriés comme l'étaient leurs ancêtres CORBA, RMI ou DCOM : des technologies complexes héritées du vieux principe RPC, fortement couplées et difficilement interopérables dans des environnements hétérogènes (Denivaldo, 2005). A contrario, le web est par nature une plateforme interopérable II.8.a. Les services web de type REST Le World Wide Web est une application conçue selon l'architecture REST. L'architecture du Web remplace donc les concepts applicatifs clients et serveurs par les concepts agents et ressources. Des agents interagissent avec des ressources pour créer, accéder, modifier ou supprimer une ressource. Jusqu'à présent, on parlait
45 43 Stratégies de développement de plateformes de datamining surtout de l'interaction entre agents utilisateurs, principalement les navigateurs avec les ressources. Aujourd'hui, on parle de plus en plus de l'interaction entre agents ressources, c-à d la relation entre les ressources : une ressource devient l'agent d'une autre ressource, mais reste elle-même une ressource accessible par d'autres agents. C'est exactement l'architecture décrite par l'exemple d'implémentation applicative des Mashups. Les services web traitent donc des agents ressources là où le mode opératoire classique du Web parle d'agents utilisateurs. Mais les deux concepts reposent sur la même architecture : REST. Il n'y a donc pas de différences fondamentales entre l'interaction d'un navigateur avec une ressource et celle d'un service web avec une ressource. La principale différence se situe au niveau du format de la représentation des données : HTML pour les navigateurs ou agents utilisateurs, XML ou JSON pour les services web ou agents ressources... On peut donc définir un service web comme l'implémentation logicielle d'une ressource, identifiée par une URL, et accessible en utilisant les protocoles internet. Les agents s'occupent du contenu, de la représentation de leur état, pas du type du contenu. Il faut donc voir les services web comme le moyen de manipuler l'information, et non comme un simple fournisseur de services. II.8.b. Les services web WS-* Les services web WS-* désignent l'implémentation logicielle des spécifications WS-* et reposent tous sur un ensemble de protocoles et de standards de base utilisés pour l'échange de données entre applications dans des environnements hétérogènes (Ramesh, 2004): SOAP (Simple Object Access Protocol) pour l'échange de messages. WSDL (Web Service Description Language) pour la description des services web, de leurs opérations, des messages utilisés, des types de données utilisées, des protocoles utilisés et de leur localisation au sens internet (URI / URL), les annuaires UDDI qui peuvent référencer des services web. Ces services web WS-* sont par ailleurs définis selon le type d'architecture SOA. Les logiciels écrits dans divers langages de programmation et sur diverses plates-formes peuvent employer des services web WS-* pour échanger des données à travers des réseaux informatiques comme Internet. L'OASIS et le World Wide Web Consortium (W3C) sont les comités de coordination responsables de l'architecture et de la standardisation des services web. Pour améliorer l'interopérabilité entre les réalisations de service web, l'organisation WS-I a développé une série de profils pour faire évoluer les futures normes impliquées.
46 44 Stratégies de développement de plateformes de datamining II.8.c. Pourquoi les services web Grâce aux services web, les applications peuvent être vues comme un ensemble de services métiers structurés et correctement décrits, dialoguant selon un standard international plutôt qu'un ensemble d'objets et de méthodes entremêlés. Le premier bénéfice de ce découpage est la facilité de maintenance de l'application, ainsi que l'interopérabilité qui permet de modifier facilement un composant (un service) pour le remplacer par un autre éventuellement développé par un tiers. Les services web permettent de réduire la complexité d'une application car le développeur peut se focaliser sur un service, indépendamment du reste de l'application. Les services web facilitent non seulement les échanges entre les applications de l'entreprise mais surtout permettent une ouverture vers les autres entreprises. Les premiers fournisseurs de services web sont ainsi les fournisseurs de services en ligne (météo, bourse, planification d'itinéraire, pages jaunes, etc.), mettant à disposition des développeurs des API (Application Programmable Interface) payantes ou non, permettant d'intégrer leur services au sein d'applications tierces. La table II.2 résume les deux propriétés open sources et service web qui distinguent les différentes plateformes étudiées et recensées dans le chapitre I, lesquelles nous nous sommes basés pour la conception et l implémentation de notre plateforme d extraction et de gestion de connaissances : Plateforme Open source Service web WEKA * HIVE YALE * TANAGRA * ORANGE Clementine ODM GEOVISTA-STUDIO * OLAM SE K-GRID * SINDBAD SAILS * FAEHIM * OPEN DMIX * * OIDM WEKA4WS * * Enterprise Miner * * Tableau II. 2 Etude comparatif selon les propriétés open source et web service des plateformes recensées dans le chapitre I.
47 45 Stratégies de développement de plateformes de datamining II.9. Conclusion Dans ce chapitre nous avons présenté les grandes lignes à suivre pour développer une plateforme en général, et une plateforme open source de datamining en particulier. De cette étude, nous somme arrivé à conclure que les méthodes agiles sont bien adaptées pour le développement de ce type de plateformes. En plus, la modélisation d un tel système par le langage UML facilite la tâche de développement du système ainsi que sa maintenance et son évolution, surtout en introduisant l architecture MVC. La mise en service d une plateforme peut faire appel à la technologie des services web qui sont basés sur des technologies standardisées, ce qui réduit l hétérogénéité et fournit un support pour l intégration d applications. De plus, les services web constituent un support pour de nouveaux paradigmes, tel que le traitement et l architecture orientée service. En fait, le traitement orienté service existe depuis longtemps, mais avec l utilisation des services web, il atteint un niveau d importance significatif.
48 46 L approche de WS4KDM Chapitre III L APPROCHE DE WS4KDM III.1. Introduction...47 III.2. Description de l approche WS4KDM...48 III.3. La fouille de données cellulaire...48 III.3.a. Le principe d automate cellulaire...49 III.3.b. Un échantillon d apprentissage...50 III.3.c. Initialisation, optimisation et génération...52 III.3.c.1. Initialisation...54 III.3.c.2. Optimisation...55 III.3.c.3. Génération...56 III.3.d. Inférence...57 III.4. Présentation de la plateforme...58 III.4.a. Architecture de la plateforme...58 III.4.b. Description des Entres/Sorties des module...59 III.4.c. Les Services Web de la plateforme...61 III.5. Implémentation de la plateforme...62 III.6. Conclusion...64
49 47 L approche de WS4KDM III.1. Introduction Notre travail consiste à proposer une approche booléenne d extraction de connaissances, sous forme de règles, à partir des données, puis d assurer la gestion de ces règles par l intégration du principe de la machine cellulaire. Cette approche est basée sur les algorithmes de datamining à base de graphes d induction et d arbres de décision. Elle permet d appliquer un processus de fouille de données à travers des services web. La problématique de l ECD exploite les principes de l apprentissage automatique et utilise de façon privilégiée les méthodes d apprentissage inductif supervisé. Parmi ces méthodes, nous nous intéressons plus particulièrement à celles basées sur les graphes d induction où nous apportons plusieurs contributions. En premier lieu, implémenter une plateforme open source d extraction et de gestion des connaissances par les techniques à base de graphe d induction. Deuxièmement, les techniques de fouille de données présentées dans la plateforme s appuient sur une nouvelle méthode cellulaire d extraction de règles à partir des données nommée CASI (Cellular Automaton for Symbolic Induction) (Atmani, et al., 2007). Troisièmement, proposer les différentes fonctionnalités de la plateforme comme services web. Ces services web permettent l accès et l exécution, via internet ou un réseau local, d un processus complet d Extraction et de Gestion des Règles (EGR). Ce chapitre est consacré à la présentation de l approche booléenne sur laquelle se base WS4KDM. Plusieurs aspects qui sont en relation avec la préparation des données et l élaboration des modèles sont étudiés. Ces aspects sont introduits dans la deuxième section. La fouille de données par automate cellulaire, étant la contribution fondamentale de l approche, sera détaillée dans la dernière section. On expliquera aussi comment cette notion cellulaire permet d améliorer les performances d un système expert.
50 48 L approche de WS4KDM III.2. Description de l approche WS4KDM Dans ce contexte, l objectif de ce travail est de proposer une approche permettant l extraction et la gestion des connaissances à partir d une base d apprentissage. Cette approche basée sur les différentes techniques qui sont utilisées actuellement dans le développement des plateformes informatiques en générale, et dans le développement des plateformes d extraction et de gestion des connaissances en particulier. Donc, notre objectif est de proposer une plateforme open source de fouille de données basée sur la modélisation booléenne qui regroupe plusieurs services web dédiés à l Extraction et la Gestion des Connaissances (WS4KDM). Les techniques de fouille de données présentes dans WS4KDM s appuient sur une nouvelle méthode cellulaire d extraction de règles à partir des données nommée CASI (Cellular Automaton for Symbolic Induction). Nous proposons dans cette approche, des services web de préparation et de prétraitement des bases d apprentissage et de validation par l intégration de la bibliothèque WEKA (une bibliothèque open source écrite en Java et enrichie par plusieurs méthodes de préparation, de transformation, de filtrage et de discrétisation). Le but, après une modélisation booléenne des règles de classification, est double : d une part affiner le processus d Extraction de Règles à partir de Données par une fouille de donnée orchestrée par CASI, et d autre part réduire la complexité de stockage, ainsi que le temps de calcul. Pour atteindre cet objectif, il faut s adresser à un certain nombre d aspects qui sont en relation avec la préparation des données et l application des techniques de fouille de données. Les paragraphes qui suivent s adressent à ces aspects dans les étapes d ECD. Machine Cellulaire CASI Service web Technique de Graphe d induction Bibliothèque WEKA Bases d apprentissage et de test Bases d apprentissage et de test Figure III. 1 Illustration de l approche de WS4KDM proposée III.3. La fouille de données cellulaire Nous nous replaçons maintenant dans l étape de fouille de données de notre approche, où les données obtenues jusqu'à présent sont sous la forme d une table Individus &
51 49 L approche de WS4KDM Variables, et où chaque exemple appartient à une classe particulière. L objectif de cette étape est de construire un modèle qui explique l attribut classe par les autres attributs. Pour ce fait, nous nous intéressons à l apprentissage inductif, et plus particulièrement à l apprentissage empirique qui vise à produire des règles générales à partir d une série d observations. Ce processus d induction peut s insérer dans des démarches plus générales d extraction de connaissances, où on distingue deux champs d application : l extraction de connaissances à partir de données, l alimentation des systèmes experts. Cette induction des règles à partir d exemples réalise le meilleur compromis entre performances et compréhensibilité, en plus qu il s agit certainement de la forme de connaissance la plus utilisée dans les systèmes experts. Par exemple, une règle en logique propositionnelle d ordre O + est de la forme : Si Prémisse Alors Conclusion Où Prémisse est une conjonction de proposition du type attribut-valeur : X j = valeur et Conclusion : Y = c k De nombreuses méthodes produisent des classifieurs en utilisant explicitement cette forme d induction. On a opté pour celles qui utilisent l induction par graphe qui présente l avantage d utiliser une représentation respectant les critères de précision et de compréhensibilité. En effet la transformation du graphe en règles pour alimenter les systèmes experts se fait sans pertes ni modifications de leurs propriétés en classement. Toutefois, la représentation et le traitement de la connaissance sont les deux questions importantes dans la conception de n importe quel système d apprentissage automatique. elles sont peut-être aussi la considération fondamentale dans la conception de n importe quel système de classification, parce que la représentation utilisée peut réduire la complexité du stockage et diminuer ainsi la complexité du traitement. Donc, c est à ce niveau là que se situe notre contribution fondamentale, qui consiste à utiliser la méthode cellulaire pour la génération, la représentation et l optimisation des graphes d induction. Ainsi, pour alimenter la base de connaissances d un système expert cellulaire, on produira des règles conjonctives à partir d une représentation booléenne des graphes d induction. La représentation cellulaire, d un graphe d induction, facilite la transformation des règles dans des expressions booléennes équivalentes, ce qui permettra d utiliser l algèbre booléenne pour vérifier plusieurs simplifications. III.3.a. Le principe d automate cellulaire La notion d automate cellulaire a été introduite brièvement dans le chapitre I. Dans cette partie, nous revenons plus en détail sur cette notion et son fonctionnement. Ceci étant, un automate cellulaire est une grille composée de cellules qui changent d état dans des étapes discrètes, tel qu après chaque étape, l état de chaque cellule est modifié selon les états de ses voisines dans l étape qui précède. Les cellules sont mises à jour d une façon synchrone, et les transitions sont réalisées théoriquement,
52 50 L approche de WS4KDM simultanément. Grâce à des règles simples et des transitions spécifiques, un automate cellulaire peut effectuer, d une manière globale, des opérations complexes. L architecture générale de l automate cellulaire pour les systèmes d inférence à base de règles CASI (Cellular Automaton for Symbolic Induction) est décrite dans la figure III.2 (Atmani, et al., 2007) : Tandis que le processus général d apprentissage est organisé normalement en trois étapes, qui sont l élaboration, la validation et la généralisation du modèle, celui que le système cellulaire CASI applique à une population Ω, est organisé en quatre étapes : Graphe d induction COG Génération et optimisation Cellulaire CIE Moteur inférence Cellulaire Base de connaissances Règles et faits Base de test, validation Erreur, classification CV Validation cellulaire Figure III. 2 Diagramme générale de graphe d induction cellulaire 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); III.3.b. Un échantillon d apprentissage Dans ce qui suit nous allons décrire le déroulement du processus sur un exemple fictif. Supposons que notre échantillon d apprentissage ΩA se compose de 16 connexions qui se répartissent en deux classes : normal et attack (voir le Tableau III.1). Nous commençons le traitement symbolique pour la construction du graphe d induction booléen en utilisant la démarche d élaboration du modèle par automate cellulaire et le principe de la méthode SIPINA.
53 51 L approche de WS4KDM Ωa X1 X2 X3 X4 X5 X6 X7 C ω 1 Udp domain_u >=29 >=0.5 >= < >=0.35 normal ω 2 Udp domain_u 29< >=0.5 = < >=0.35 normal ω 3 Tcp http 29< 0.5< >=45 =25.5 >=0.35 normal ω 4 Tcp http 29< 0.5< >=45 >=2.5 >=0.35 normal ω 5 Tcp http >=29 0.5< >= < >=0.35 normal ω 6 Tcp Private >=29 >= < =25.5 >=0.35 attack ω 7 Tcp private >=29 >= < = < attack ω 8 Tcp http 29< 0.5< >=45 =25.5 >=0.35 normal ω 9 Udp private >=29 >=0.5 = < >=0.35 attack ω 10 Udp domain_u 29< >=0.5 >=45 =25.5 >=0.35 normal ω 11 Udp private 29< >=0.5 >=45 >=2.5 >=0.35 normal ω 12 Tcp private 29< >= < = < attack ω 13 Tcp private >=29 >= < >=2.5 >=0.35 attack ω 14 Tcp private >=29 >= < = < attack ω 15 Tcp private 29< >= < = < attack ω 16 Udp private 29< >=0.5 >=45 >=2.5 >=0.35 normal Tableau III exemples comme échantillon d apprentissage. Variable Signification Description Valeurs X1 Protocol_type Type de protocole (tcp, udp, ) Udp ; Tcp X2 Service Le service réseau (http, telnet,...) domain_u ; http ; private X3 Src_bytes Capacité donnée en bytes de source 29 ; 29< vers la destination X4 Logged_in 1 si l entrée de login avec succès ; 0 si 0.5 ; 0.5< non. X5 Count nombre de connexions au même host. 45 ; <45 et 126; 126< X6 Srv_count nombre de connexions au même 2.5 ; <2.5 et 25.5; service. X7 serror_rate % de connexions qui ont SYN erreur. 25.5< 0.35 ; 0.35< Tableau III. 2 signification, description et valeurs des attributs du Table III.1 Par exemple, en appliquant la méthode SIPINA sur l échantillon du Tableau III.1, sans utiliser l approche cellulaire, on obtiendra un graphe avec quatre partitions (S 1, S 2, S 3, S 4 ) et sept sommets (s 1, s 2, s 3, s 4, s 5, s 6, s 7 ), voire la Figure III.3 :
54 52 L approche de WS4KDM Partition S0 Partition S1 Partition S2 Partition S3 Partition S4 Figure III. 3 Un graphe d induction obtenu par la méthode SIPINA On remarque que le graphe obtenu contient deux feuilles (S 9 et S 10 ), donc on peut déduire deux règles de prédiction de la forme (Si Prémisse Alors Conclusion) : R 1 : Si (X5 = >=45 ) OU (X2 = domain_u ET X5= <45 et >=126 ) Alors C = normal R 2 : Si (X5 = 126< ) OU (X2 = private ET X5 = <45 et >=126 ) Alors C = attack On va voir dans ce qui suit comment la représentation de ces connaissances ainsi que la durée du calcul peuvent être réduites grâce à l approche cellulaire. III.3.c. Initialisation, optimisation et génération Le but de cette première étape est la génération des couches CELFACT et CELRULE du système CASI, leur initialisation, et ensuite l optimisation du graphe si possibilité est. Rappelons que pour simuler le fonctionnement du cycle de base du moteur d inférence d un système expert, on utilise deux couches finies d automates finis, une pour la base des faits (CELFACT), et une autre pour la base des règles (CELRULE). A l instant t+1, chaque cellule dépend uniquement de l état des ses voisines et du sien à l instant t. Le contenu d une cellule dans chaque couche, détermine si et comment elle participe à chaque étape d inférence. A chaque étape, la cellule peut être active ou passive (participe ou non à l inférence).
55 53 L approche de WS4KDM Couche des faits Couche des règles Couche des faits Voisinage en entrée Voisinage en sortie R E R S CELFACT CELRULE Figure III. 4 Automate cellulaire pour des systèmes d inférence à base de règles Pour chaque cellule de la couche CELFACT, les états se composent de trois parties : EF, IF et SF, qui sont l entrée, l état interne et la sortie de la cellule. L état interne, IF d une cellule de CELFACT indique le rôle du fait, tel que dans le cas d un graphe d induction, IF=0 correspond à un fait de type sommet, et IF=1 correspond à un fait de type attribut=valeur (X i =valeur). De même, pour chaque cellule de la couche CELRULE les états se composent de trois parties : ER, IR et SR, qui sont l entrée, l état interne et la sortie de la cellule. Dans ce cas, l état interne IR peut être utilisé comme coefficient de probabilité (il ne sera pas utilisé ici). On utilise la modélisation booléenne par l approche cellulaire (CASI) pour générer un modèle de règle de décision (base de connaissances) par la méthode SIPINA sur la même base d apprentissage du Tableau III.1. On aperçoit sur les figures suivantes comment cette base de connaissances extraite à partir de ce sous-graphe peut être représentée par les couches CELFACT et CELRULE. Notons qu initialement, toutes les entrées des cellules dans la couche CELFACT sont passives (EF=0), à l exception de celles qui représentent la base des faits initiale (EF(1)=1) : Figure III. 5 Configuration initiale de l automate cellulaire
56 54 L approche de WS4KDM Figure III. 6 Les matrices d incidence d entrée/sortie Supposons qu on a l cellules dans la couche CELFACT, et r cellules dans la couche CELRULE, alors EF, IF et SF seront considérés en tant que vecteurs de dimension l (EF, IF, SF {0, 1} l ). De même, ER, IR et SR seront considérés en tant que vecteurs de dimension r (ER, IR, SR {0, 1} r ). Concernant les matrices d incidence R E et R S, représentent la relation entrée/sortie des faits et sont utilisées en inférence en chaînage avant. Pour lancer une inférence en chaînage arrière, on peut également utiliser R S comme relation d entrée et R E comme relation de sortie. la relation d entrée, notée i R E j, est formulée comme suit : i {1, l}, j {1, r}, si (le Fait i à la Prémisse de la règle j) alors R E (i, j) 1. la relation de sortie, notée i R S j, est formulée comme suit : i {1, l}, j {1, r}, si (le Fait i à la Conclusion de la règle j) alors R S (i, j) 1. III.3.c.1. Initialisation C est le module COG qui est responsable de la génération des couches CELFACT et CELRULE en utilisant trois procédures (F cell, FS cell et S cell ) qui assistent la méthode SIPINA lors de la génération du graphe. A chaque opération de l algorithme SIPINA intervient une méthode dans l ordre suivant : F cell pour la fusion, FS cell pour la fusionéclatement, et S cell pour l éclatement. On commence par la procédure S cell qui trouve l indice de la ligne de S i (le sommet qui est éclaté) dans la couche CELFACT, qui sera notée i racine, et effectue les opérations suivantes pour chaque sommet S j résultant : 1. J i racine ; 2. initialiser la matrice d incidence d entrée : R E [i racine, 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 : R S [J+1, j] 1 et R S [J+2, j] 1; 6. J J + 2 ; 7. aller à 2 (pour la prochaine modalité de X i qui a servi pour l éclatement); Maintenant, s il y a fusion de deux sommets, la procédure F cell trouve dans la couche CELFACT les indices des deux sommets S 1 et S 2, notés i 1 et i 2, et effectue les opérations suivantes pour créer une nouvelle règle j dans la couche CELRULE :
57 55 L approche de WS4KDM 1. initialiser la matrice d incidence d entrée : R E [i 1, j] 1 et R E [i 2, j] 1 ; 2. créer une cellule dans CELFACT d indice i fusion ; 3. créer une cellule dans CELRULE d indice j ; 4. initialiser la matrice d incidence de sortie : R S [i fusion, j] 1 ; Enfin, s il y a une opération de fusion-éclatement de deux sommets, la procédure FS cell utilise les procédures F cell et S cell, et complète l initialisation des couches CELFACT et CELRULE pour la génération de la partition suivante. III.3.c.2. Optimisation Après avoir générer les couches CELFACT et CELRULE, le module COG procède à l optimisation du graphe s il y a possibilité de le faire. L optimisation du graphe consiste à éliminer les éclatements-fusions inutiles dans le graphe. Par exemple, dans le graphe de la figure III.7, le sommet s 1 s éclate en deux sommets s 4 et s 5, qui seront ensuite fusionnés dans le même sommet s 7. Ces cas sont visibles aussi sur les matrices d incidence R E et R S. Figure III. 7 Eclatement-Fusion inutile Figure III. 8 Matrices d incidence d entrée/sortie avant l optimisation
58 56 L approche de WS4KDM Le processus d optimisation est basé sur l algèbre de Boole, et utilise seulement la matrice R E pour détecter des opérations d éclatement-fusions inutiles, ce qui revient à sélectionner et à éliminer les variables non pertinentes (des variables qui n ont aucune influence sur la classe). Ainsi, en explorant la matrice R E, le module COG cherche des colonnes qui correspondent à des fusions de sommets, puis pour chaque règle de fusion, il examine si les nœuds participants étaient produits par le même nœud. III.3.c.3. Génération A la fin, après l optimisation du graphe, on va reproduire automatiquement des règles conjonctives plus simples que celles obtenues directement du graphe généré par SIPINA. Pour ce fait, le module COG coopère avec le moteur d inférence cellulaire (CIE) qui utilise les mêmes fonctions de transition avec la permutation de R E et de R S. Ainsi, en partant du nœud terminal vers la racine s 0, 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 peut être, ainsi, effectuée. En appliquant ce principe sur le graphe qui contient des éclatements-fusions inutiles on obtient des règles plus simples. Les figures III.10 et III.11 montrent la représentation de la base de connaissances avec la machine cellulaire du modèle représenté par le graphe de la figure III.3 : Figure III. 9 Les couches CELFACT et CELRULE Figure III. 10 La matrice d incidence sortie
59 57 L approche de WS4KDM Figure III. 11 La matrice d incidence d entrée III.3.d. Inférence Après l initialisation des couches CELFACT et CELRULE, le module CIE simule le fonctionnement du cycle de base d un moteur d inférence. Traditionnellement, ce dernier fonctionne comme suit pour établir un fait F en chaînage avant : 1. Rechercher 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). Ce cycle est répété jusqu à ce que le fait F soit ajouté à la base des faits, ou s arrête lorsqu aucune règle n est applicable. Pour simuler ce fonctionnement, le moteur d inférence CIE utilise deux fonctions de transitions δ fact et δ rule. La première (δ fact ) correspond à la phase d évaluation, de sélection et de filtrage, tandis que la deuxième (δ rule ) correspond à la phase d exécution. δ fact δ fact : (EF, IF, SF, ER, IR, SR) (EF, IF, EF, ER + (R T E EF), IR, SR) δ rule δ rule : (EF, IF, SF, ER, IR, SR) (EF + (R S ER), IF, SF, ER, IR, ER) Avec la matrice R T E qui désigne la transposée de R E.
60 58 L approche de WS4KDM III.4. Présentation de la plateforme Comme introduit dans la section précédente, nous avons présenté brièvement l approche de la plateforme WS4KDM, maintenant nous allons plus en détail dans les composants et les services de la plateforme. III.4.a. Architecture de la plateforme L organisation générale de la plateforme est illustrée par la figure III.12 : Tables (Ind x Var) Ω a / Ω t b a l Ω a / Ω t d Ω a / Ω t c Ω a (4) e Module d Intégration et de Communication GI k BC j Ω e i Ω t m Modules de Prétraitement (Weka) (1) Ω a d ACSPINA, GI ACID3, ACJ48 (2) f GOC Optimisation et Génération Cellulaire g (3) CASI CIE Moteur d Inférence Cellulaire CV Validation Cellulaire h n Module Système Expert (5) Figure III. 12 Architecture de la plateforme WS4KDM 1) Module de Prétraitement: destiné pour des méthodes de prétraitement et de transformation des données. 2) CGI : Le module Graphe d Induction Cellulaire qui utilise le principe de la modélisation booléenne et qui comporte les différents techniques et algorithmes d apprentissage automatique supervisé que nous avons baptisé : ACID3, ACJ48, ACSIPINA. 3) CASI (Atmani, et al., 2007): ce module assure l optimisation du GI, la génération des règles conjonctives et la validation du modèle arborescent généré. A partir de l échantillon d apprentissage ΩA nous commençons le traitement symbolique pour la construction du Graphe d Induction (ACSIPINA, ACID3, ACJ48 ). CASI est composée de trois sous modules où chacun est sensé accomplir une des trois taches suivantes : 3.1.GOC : Pour la construction du graphe d induction à partir de Ω, en utilisant le principe d une méthode de graphe d induction, nous devons générer les deux couches CELFACT et CELRULE. L objectif de ce module est l optimisation du graphe d induction et la génération des règles par la méthode cellulaire.
61 59 L approche de WS4KDM 3.2.CIE : Le module CIE (Cellular Inference Engine) 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 3.3.CV : En employant le même principe de base du moteur d inférence cellulaire CIE, et les mêmes fonctions de transition δfact et δrule, l automate cellulaire avance d une configuration vers une autre, dans le but de produire l ensemble Ω (prévision fausse). 4) Module d Intégration et de Communication : il assure la communication entre les différents modules proposés dans la plateforme WS4KDM. Il présente la couche d entrée/sortie de différentes opérations proposées par la plateforme comme des services web. 5) Module Système Expert : qui exploite le principe de la machine CASI et utilise le module CIE comme moteur d inférence cellulaire pour enclencher des inférences en avant et en arrière. Ce module peut être utilisé pour la validation par déduction des règles extraites à partir de données, comme il peut être utilisé indépendamment du processus d ECD pour développer des systèmes experts dédiés. III.4.b. Description des Entres/Sorties des module Les modules de WS4KDM communiquent entre eux par des entrées et des sorties booléennes. Les opérations de (a) (l) de la Figure III.12 montrent comment un processus d EGC s exécute dans WS4KDM : 1) (a) : Via le web, un client 1 qui demande un service d EGC de WS4KDM doit se connecter par un login dans sa propre session. Les services sont bien détaillés dans la partie services web de la plateforme WS4KDM. 2) (b) : Les bases Ωa, Ωt peuvent être des bases propres à la plateforme stockées chez le serveur de WS4KDM ou bien des bases du client (Enseignant, chercheur, étudiant ). Donc l utilisation et la modification de la base Ωa, Ωt restent locales dans WS4KDM. 3) (c) : Pour prétraiter une base d apprentissage ou de test, afin d utiliser dans la génération ou dans la validation d un modèle cellulaire extrait par une des méthodes proposées par la plateforme, Le client peut appliquer les différentes méthodes de discrétisation et de filtrage fournies par le module de traitement libre, désigné par le Module de Prétraitement(Module N 1). Comme il peut, seulement, prétraiter une base d apprentissage ou de validation. 4) (d) et (d ) : présentent ( Ωa ), ( Ωa et Ωt ) le résultat de prétraitement par une des techniques du Module de prétraitement, dont (d) le prétraitement présente un des opérations du processus d EGC et (d ) présente l opération complète demandée par le client. 5) (e) : Pour extraire un modèle cellulaire de classification, le module d intégration et de communication indique au module CGI la base 1 Enseignant, chercheur, étudiant.., demandeur de services de WS4KDM
62 60 L approche de WS4KDM d apprentissage et la méthode souhaitée avec ses paramètres à base de choix de client. 6) (f) : Le module GOC assiste le module CGI pour construire l uniforme cellulaire de graphe d induction du modèle dégagé (les matrices CELFACT et CELRULE du graphe d induction). 7) (g) : Génération de deux couches CELFACT, pour la base des faits et, la deuxième couche, CELRULE, pour la base de règles du moteur CIE. 8) (h) : La validation d un échantillon de test Ωt dans le module CV, faite par le moteur d inférence CIE. 9) (i) : Avant de lancer la validation, un échantillon de test Ωt désigné par le client pour valider le modèle dégagé et retourne comme résultat la base Ωe l ensemble des individus avec des erreurs de classement. 10) (j) : La base des connaissances (CELFACT, CELRULE) du module CIE ne doit pas être générée automatiquement ((g) le module GOC et CIE). Un client peut indiquer les règles du moteur d inférence afin de demander la validation d une base test Ωt correspondante à la base des règles proposée. 11) (k) : Le module d intégration et de communication utilise les matrices CELFACT, CELRULE graphe d induction GI pour la construction du graphe de modèle, comme il est possible de construire l univers des modules de CASI. 12) (l) : Les résultats des services de la plateforme WS4KDM qui peuvent être des modèles, bases prétraitées, 13) (m) : Les résultats des services de la plateforme WS4KDM qui peuvent être des modèles, bases prétraitées, 14) (n) : Les résultats des services de la plateforme WS4KDM qui peuvent être des modèles, bases prétraitées,
63 61 L approche de WS4KDM III.4.c. Les Services Web de la plateforme Pour la mise en service de la plateforme WS4KDM (a), nous proposons certains services web illustrés dans la figure III.13 et nous développons un module pour l interface client (b) avec la technologie Java Server Faces (JSF). Donc le client (enseignant, chercheur, étudient...) (c) peut être servi par WS4KDM sans avoir aucune condition sur sa machine. Modules De Prétraitement (Bibliothèque Weka) (c) (b) (a) 1 Création Services Web Machin C lient Tables (Ind x Var) Prétraitement Classification Visualisation Inférence Module d Intégration et de Communication WS4KDM 6 Destruction Tables (Ind x Var) Figure III. 13 Les services et ces Mode d exécution dans la plateforme WS4KDM Les services proposés dans la plateforme WS4KDM sont : Création : ce service permet à un client de créer une session (compte) ou bien d accéder à sa session via un login, afin de créer ses ressources pour assurer une cohérence d exécution des services de WS4KDM. Prétraitement : ce service conçu pour mettre à la disposition du client les différentes méthodes de filtrage et de discrétisation fournies par le module de prétraitement. Classification : un service de spécification de la méthode cellulaire désirée par le client pour générer le modèle. Il est caractérisé par le nom et les paramètres de l algorithme (méthode de la classification) et la base d apprentissage Ωa et la base de test Ωt. Visualisation : ce service permet de visualiser le modèle généré sous forme graphique (Graphe de sommets et arcs). Le graphe est une matrice booléenne CELFACT et CELRULE. Inférence : pour mettre à la disposition des clients un moteur d inférence et de gestion des connaissances nous avons proposé un service qui reçoit un ensemble des règles et une base de test Ωt (classification et affectation de
64 62 L approche de WS4KDM classe)afin de valider le modèle de client ou d affecter la classe pour les individus de la base Ω. Destruction : service pour libérer les ressources utilisées par le client dans la plateforme WS4KDM, et pour fermer la session (Log-out). Via une connexion réseau (local, internet), le client peut accéder à notre interface développée avec la technologie Java Server Faces pour expérimenter et utiliser les services web de la plateforme WS4KDM. III.5. Implémentation de la plateforme Pour la réalisation de la plateforme, nous avons opté pour la technologie Java, Le choix est évident pour certaines raisons et avantages techniques et historiques. Techniquement Java, est un langage multiplateforme (indépendance aux systèmes d exploitation), les outils de développement liés à ce langage comme les serveurs d application, l environnement de programmation, les bibliothèques et ses technologies sont des produits gratuits et open source. Par ailleurs, ce langage s impose dans notre équipe de recherche SIF (Simulation, Intégration et fouille de données) du fait que plusieurs projets et plateformes de datamining sont développés par les membres de l équipe SIF. Concernant l environnement de développement, nous avons choisis l environnement NetBeans 2 dans sa version Cet outil libre contient un support pour le développement des applications web et d entreprise, surtout avec sa version qui est l une des dernières versions permettant un développement de type WYSIWYG (What You See Is What You Get) pour les applications Web en JSF. En effet, JSF (Java Server Faces) propose un framework qui facilite et standardise le développement d applications web avec Java. Le grand intérêt de cette technologie est qu elle puisse être mise en œuvre par les différents outils (NetBeans dans notre cas) pour permettre un développement de type RAD (Rapid Application Development), et ainsi être facile à réaliser, comme dans les applications desktop. En plus, JSF est une technologie utilisée côté serveur qui sépare clairement la partie interface de la partie métier d une application web, car elle repose sur le modèle MVC (Modèle, Vue, Contrôleur). Plus précisément, JSF dispose d une architecture de type MVC2, où une unique Servlet fait office du contrôleur et se charge ainsi d assurer le workflow des traitements en fonction des requêtes reçues grâce à un fichier de paramétrage. Pour les vues, les JSF ont la particularité d être crées majoritairement à partir de page JSP, mais elles sont réellement représentées par un arbre d objets géré côté serveur. 2 Adresse :
65 63 L approche de WS4KDM Client Navigateur Serveur web et d applications (GlassFich) Contrôleur (Servlet) Traitements applicatifs Vue (JSP) Vue (JSP) Traitements applicatifs Modèle (JavaBeans) Base de données (MySQL) Figure III. 14 Le modèle MVC2 Comme serveur d application pour le déploiement des pages JSF nous avons choisie GlassFich version 2.0. GlassFich qui est un serveur d'applications Open Source Java sous double licence CDDL et GPLv2. Son temps de démarrage de quelques secondes seulement et le support des fonctions de haute-dispo/clustering et les services web avancés (wikipedia, 2010) justifient notre choix. Nous avons développé une application java pour configurer et lancer le serveur GlassFich. La figure suivante montre l application réalisée. Figure III. 15 Application en Java pour manipuler GlassFich
66 64 L approche de WS4KDM III.6. Conclusion Dans ce chapitre, nous avons exposé l approche booléenne d extraction de connaissances à partir des données. Dans un premier temps nous avons mis en évidence quelques aspects rencontrés durant la préparation des données et l application des techniques de fouille de données. Puis nous nous somme consacrés à la fouille de données par automate cellulaire, où on a présenté le système CASI (Induction Symbolique par Automate Cellulaire). On a vu que ce système peut automatiquement acquérir, représenter et traiter la connaissance extraite à partir d exemples sous forme booléenne, tout en réduisant la quantité de stockage et le temps d exécution. Grace à son principe de représentation de la connaissance, le système CASI a prouvé qu il possède des propriétés intéressantes et de nombreux avantages par rapport aux autres systèmes d apprentissage automatique. D une part, les expérimentations ont montré que l induction par graphe, constitue un outil très satisfaisant pour l extraction de connaissances, en proposant une fonction de classification efficace et explicative. D autre part, l optimisation du graphe et la génération automatique des règles, par automate, ont permis d accentuer la possibilité d alimenter la base de connaissances d un système expert cellulaire, et ont soulevé le problème de la formalisation et de la simplification des règles (Atmani, et al., 2007)(Benamina et al., 2008). Dans ce chapitre nous avons présenté notre plateforme WS4KDM (Web services for knowledge discovery and management) (Kadem, et al., 2010).Une plateforme d EGC open source et nous nous sommes intéressés à l exploitation des services web. L objectif est double : d une part proposer les fonctionnalités de WS4KDM comme des services web, Et d autre part d utiliser les avantages de la modélisation booléenne pour réduire le temps de réponse ainsi d optimiser la structure du graphe d induction, l espace de stockage de la connaissance et des règles extraites.
67 65 La plateforme WS4KDM au service de la détection d intrusion Chapitre IV LA PLATEFORME WS4KDM AU SERVICE DE LA DETECTION D INTRUSION IV.1. Introduction...66 IV.2. Système de détection d intrusion (IDS)...67 IV.2.a. Introduction...67 IV.2.b. Etat de l Art...68 IV.2.c. Les différents types d'ids...68 IV.2.c.1. Les NIDS (Network Intrusion Detection System)...69 IV.2.c.2. Les HIDS (Host Intrusion Detection System)...69 IV.2.c.3. Les IDS hybrides (NIDS+HIDS)...69 IV.3. La plateforme WS4KDM...70 IV.3.a. Introduction...70 IV.3.b. Objectifs et avantages de la plateforme...70 IV.3.c. Services et application de la plateforme WS4KDM...71 IV.4. Détection d intrusion par WS4KDM...72 IV.4.a. La Base d Intrusion DARPA IV.4.b. Expérimentation...74 IV.4.c. Résultats de la fouille de données...78 IV.4.d. Comparaison des résultats...80 IV.5. Conclusion...81
68 66 La plateforme WS4KDM au service de la détection d intrusion IV.1. Introduction Les méthodes de détection d'intrusions utilisées à l'heure actuelle reposent essentiellement sur l'observation d'événements et leur analyse. La collecte d'informations constitue donc la première étape dans tout système de détection d'intrusions. Il s'agit d'une part des informations fournies par le journal système, les journaux propres à certaines applications (serveur de courrier électronique, etc.), mais aussi de données provenant de «sondes» installées par les outils de détection euxmêmes, comme des «sniffers» réseaux ou des modules applicatifs spécifiques, permettant d'observer l'utilisation de l'application (URL des documents lus par l'intermédiaire d'un serveur web, etc.), des modules systèmes permettant de signaler l'exécution de certaines opérations particulières (modification des droits d'accès à certains fichiers, etc.). Le rôle des outils de détection d'intrusions consiste alors à exploiter cette masse d'informations, appelée audit, de manière à y détecter des événements signalant potentiellement une intrusion. Les techniques de datamining ont été massivement appliquées ces dernières années à la détection d'intrusion. Précisément les techniques d apprentissage automatique sont largement utilisées pour la construction des systèmes de détection d intrusion. Ce chapitre est consacré à l expérimentation d une base de détection d intrusion sur notre plateforme WS4KDM. Nous commençons dans la première partie par la présentation des systèmes de détection d intrusion avec un bref état de l art sur les IDS. Après, nous présentons la base d expérimentation KDD99 qu on a utilisé pour produire des règles de détections d intrusion par la plateforme WS4KDM. Dans la deuxième partie de ce chapitre nous présentons les objectifs et les avantages de la plateforme. Enfin nous présentons le principe de fonctionnement de la plateforme WS4KDM en utilisant une méthode de classification à base de graphe d induction booléen (l approche cellulaire de l extraction des connaissances et la gestion des règles).
69 67 La plateforme WS4KDM au service de la détection d intrusion IV.2. Système de détection d intrusion (IDS) Les systèmes informatiques sont devenus des outils indispensables au fonctionnement des entreprises. Ils sont aujourd'hui déployés dans tous les secteurs professionnels: les universités, les banques, les assurances ou encore le domaine militaire. L'information gérée par ces systèmes fait l'objet de convoitises. Elle peut être exposée à des attaques qui exploitent des éléments vulnérables du système d'information. La détection des actions malveillantes est rapidement devenue une nécessité. Les mesures de prévention se sont révélées insuffisantes et ont amené à la création de systèmes de détection d'intrusions (IDS : Intrusion Detection Systems). IV.2.a. Introduction Depuis que les ordinateurs ont été mis sous réseaux, leur sécurité s est révélée être une problématique extrêmement critique. Chaque ordinateur connecté à internent (et d'une manière plus générale à n'importe quel réseau informatique) est susceptible d'être victime d'une attaque d'un pirate informatique. La méthodologie généralement employée par le pirate informatique consiste à scruter (examiner) le réseau (en envoyant des paquets de données de manière aléatoire) à la recherche d'une machine connectée, puis à chercher une faille de sécurité afin de l'exploiter et d'y accéder aux données. IDS (Intrusion Detection System) est un mécanisme écoutant le trafic réseau de manière furtive afin de repérer des activités anormales ou suspectes et permettant ainsi d'avoir une action de prévention sur les risques d'intrusion. Deux approches ont été proposées, à ce jour, dans ce but(jacob, 2002),(Abbes, et al., 2003): l'approche comportementale (anomaly detection consiste à modéliser les comportements normaux du système et de ses utilisateurs. Les techniques généralement employées pour modéliser le comportement se fondent sur des outils statistiques et des algorithmes d apprentissage automatique. La deuxième approche est l'approche par scénario (misuse detection ou knowledge based detection). Elle stocke les signatures des attaques connues dans des bases de données. Cette technique se restreint aux attaques déjà connues. Un système de détection d intrusions (IDS) basée sur l approche par scénario analyse les fichiers d audit pour retrouver les instances des scénarios d attaques connus. Les techniques d analyses actuelles utilisent le filtrage (pattern matching), les systèmes experts, les réseaux de Pétri, les algorithmes de model-checking, etc. Les systèmes de détections d'intrusions, que ce soit des produits commerciaux ou du domaine public sont des outils de surveillance du réseau devenus, pratiquement, indispensables face à l'incessant accroissement en nombre et en dangerosité des attaques réseaux depuis quelques années.
70 68 La plateforme WS4KDM au service de la détection d intrusion IV.2.b. Etat de l Art Le problème de détection d anomalie peut être posé comme un problème à deux classes : étant donné un élément de l espace, il s agit de le classer comme étant normal ou anormal. Plusieurs recherches ont été faites sur l extraction des connaissances à partir des données pour améliorer les systèmes de détection des intrusions par l utilisation d un processus de datamining. Plusieurs approches ont été proposées pour l extraction et la génération des règles de prédiction des intrusions à partir d une base de cas pratique.: Une proposition d une technologie pour la détection des intrusion par l Approche de Logique Temporal(Prasad, et al., 2004). L introduction des arbres de décision de Datamining : ID3(Kruegel, et al., 2003), (Abbes, et al., 2004), Clustering Trees based on Support Vector Machines (CTSVM)(Khan, et al., 2007).Une modélisation d un IDS basée sur l algorithme CART (Classification and Regression Trees) et les réseaux Bayesian (General Bayesian Network (BN))(Srilatha, et al., 2006). Des systèmes basés sur les réseaux de neurones sont largement étudiés et réalisés comme NNID (Network Intrusion Detector)(Ryan, et al., 1998),(James, 1997).des systèmes hybrides sont adaptés pour améliorer les techniques de détection, Un modèle de construction d arbre de réseau de neurones (Hybrid Flexibole Neural-Tree-Bassed Intrusion Detection Systems)(Chen, et al., 2007), HIDE (Hierarchical Network Intrusion Detection System Using Statistical Preprocessing) un Système utilise un processus de prétraitement statistique et les réseaux de neurones(zheng, et al., 2004). Une hybridation entre les arbres de décision et l algorithme Génétique (Gary, et al., 2003). Un mécanisme de sélection des intrusions par les réseaux de neurone et SVM (Support Victor Machines)(Srinivas, et al., 2002). Une approche basée sur l algorithme K-means pour la détection des anomalies (Gerhard, et al., 2007). IV.2.c. Les différents types d'ids Un IDS a pour fonction d'analyser en temps réel ou différé les évènements en provenance des différents systèmes, de détecter et de prévenir en cas d'attaque. Les buts sont nombreux (wikipédia, 2010),(ICS, 2010)(Claude, 2008): collecter des informations sur les intrusions, gestion centralisée des alertes, gérer les alertes d une manière centralisée effectuer un premier diagnostic sur la nature de l'attaque permettant une réponse rapide et efficace, réagir activement à l'attaque pour la ralentir ou la stopper. Les systèmes de détection d'intrusion ou IDS peuvent se classer selon trois catégories majeures selon qu'ils s'attachent à surveiller : le trafic réseau : on parle d'ids réseau ou NIDS (Network based IDS) l'activité des machines: on parle d'ids Système ou HIDS (Host based IDS) une application particulière sur la machine : on parle d'ids Application (Application based IDS). Contrairement aux deux IDS précédents, ils sont rares..
71 69 La plateforme WS4KDM au service de la détection d intrusion IV.2.c.1. Les NIDS (Network Intrusion Detection System) Ces outils analysent le trafic réseau; ils comportent généralement une sonde qui "écoute" sur le segment de réseau à surveiller et un moteur qui réalise l'analyse du trafic afin de détecter les signatures d'attaques ou les divergences face au modèle de référence. Les IDS Réseaux à base de signatures sont confrontés actuellement à deux problèmes majeurs qui sont : l'utilisation grandissante du cryptage, et des réseaux commutés. En effet, il est d'une part plus difficile " d'écouter " sur les réseaux commutés alors que le cryptage rend l'analyse du contenu des paquets presque impossible. La plupart des NIDS sont aussi dits IDS inline car ils analysent le flux en temps réel. Pour cette raison, la question des performances est très importante. De tels IDS doivent être de plus en plus performants afin d'analyser les volumes de données devenues de plus en plus importantes et pouvant transiter sur les réseaux. IV.2.c.2. Les HIDS (Host Intrusion Detection System) Les IDS Systèmes analysent quant à eux le fonctionnement ou l'état des machines sur lesquelles ils sont installés afin de détecter les attaques. Pour cela ils auront pour mission d'analyser les journaux systèmes, de contrôler l'accès aux appels systèmes, de vérifier l'intégrité des systèmes de fichiers... Ils sont très dépendants du système sur lequel ils sont installés. Il faut donc des outils spécifiques en fonction des systèmes déployés. Ces IDS peuvent s'appuyer sur des fonctionnalités d'audit propres ou non au système d'exploitation, pour en vérifier l'intégrité, et générer des alertes. Il faut cependant, noter qu'ils sont incapables de détecter les attaques exploitant les faiblesses de la pile IP du système, typiquement les Dénis de service comme SYN FLOOD ou autre. IV.2.c.3. Les IDS hybrides (NIDS+HIDS) Les IDS hybrides rassemblent les caractéristiques de plusieurs IDS différents. En pratique, on ne retrouve que la combinaison de NIDS et HIDS. Ils permettent, en un seul outil, de surveiller le réseau et les terminaux. Les sondes sont placées en des points stratégiques, et agissent comme NIDS et/ou HIDS suivant leurs emplacements. Toutes ces sondes remontent alors les alertes à une machine qui va centraliser le tout, et agréger/lier les informations d'origines multiples. Les avantages des IDS hybrides sont multiples : Moins de faux positifs Meilleure corrélation Possibilité de réaction sur les analyseurs
72 70 La plateforme WS4KDM au service de la détection d intrusion IV.3. La plateforme WS4KDM IV.3.a. Introduction Une plateforme de fouille de données doit être capable d accepter des données des grandes masses et de divers types et formats. Comme elle doit répondre aux besoins de l utilisateur (décideurs, analystes, chercheures ) avec un temps de réponse réduit. Les plateformes de datamining sont des systèmes plus complexes et sont des solutions indispensables pour différents organismes dans divers domaines. La mise en œuvre de tels systèmes est coûteuse, et plusieurs organismes, entreprises et institutions ont en besoin pour prendre des décisions, faire des analyses, tester et valider des recherches. Comme elles prouvent être des outils pédagogiques et d enseignement. Notre plateforme WS4KDM s inscrit dans cette orientation. C est une plateforme permettant l exécution d un processus d ECD et la gestion des règles à travers des services web. IV.3.b. Objectifs et avantages de la plateforme Actuellement, il existe plusieurs plateformes de différents types, comme cité dans le premier chapitre et que nous pouvons classer en deux catégories très distinctes: les plateformes (logiciels) commerciales et les plateformes d expérimentation (open source) dédiées à la recherche et à l enseignement. Les deux types peuvent être classés selon la manière d accès, locale (plateforme monoposte, exécution et expérimentation locale) ou à distance (des requêtes d exécution et d expérimentation envoyées à partir d un poste client à des applications ou à des services existant dans un ou plusieurs serveurs). Pour ce fait, nous avons conçus la plateforme WS4KDM pour être capable de réaliser le processus complet de l extraction et de la gestion de connaissance par différentes techniques et algorithmes à base de graphe d induction. Pour l implémentation de ces techniques de graphe d induction, nous avons utilisé une nouvelle technique de modélisation booléenne nommée CASI (Cellular Automaton for Symbolic Induction). Le but, après une modélisation booléenne des règles de classification, est double : d une part affiner le processus d Extraction de Règles à partir de Données par une fouille de donnée orchestrée par CASI, et d autre part réduire la complexité de stockage, ainsi que le temps de réponse. On peut citer comme avantages de la plateforme : Les techniques de graphe d induction implémentées sont disponible en code java open sources pour valider et comparer notre implémentation par apport à d autres. Weka Une bibliothèque puissante a été intégrée dans notre plateforme, elle permet le prétraitement et la préparation des bases d apprentissage et de test. Une efficacité des coûts et d avantage de disponibilité, fiabilité et sécurité. Une efficacité des actions de processus d extraction et de gestion des règles qui peut être évaluée. Des services web indépendants pouvant être utilisés et testés. Un portail web a été réalisé pour accéder aux services web de la plateforme.
73 71 La plateforme WS4KDM au service de la détection d intrusion Une modélisation booléenne de processus d Extraction de Règles à partir de Données par une fouille de données orchestrée par CASI. Réduction de la complexité de stockage de représentation des modèles, ainsi quele temps de réponse. Une plateforme pour l enseignement (outils pratiques de travaux dirigés pour valider les cours et expliquer les méthodes de fouille à base de graphe d induction). IV.3.c. Services et application de la plateforme WS4KDM Deux applications web ont été construites pour former la plateforme. La première, WS4KDM, englobe le noyau de la plateforme décrit dans le chapitre III (voir la figure III.13. Elle assure le prétraitement de données, l extraction de modèle et la validation, à travers plusieurs techniques de fouille de données à base de graphe d induction. Dans cette application plusieurs services web sont implémentés. Ils réalisent les tâches de l ECD cellulaire (voire la figure IV.1). Figure IV. 1 Les services web de la plateforme WS4KDM Une autre application web (WS4KDMClient) a été développée pour permettre l accès aux utilisateurs aux services web de la plateforme WS4KDM. L application WS4KDMClient comporte plusieurs vues correspondantes aux étapes d extraction et de gestion des connaissances. Dans la section suivante, nous décrivons l application de l approche proposée sur une base de détection d intrusion. Nous présentons
74 72 La plateforme WS4KDM au service de la détection d intrusion d abord la base d apprentissage, puis nous nous focalisons sur la fouille des données par apprentissage cellulo-symbolique, en présentant les résultats obtenus. Figure IV. 2 application web pour les clients de la plateforme WS4KDM IV.4. Détection d intrusion par WS4KDM IV.4.a. La Base d Intrusion DARPA 1998 Le programme d évaluation de détection d intrusion DARPA 1998 est sous la direction de laboratoire MIT Lincoln. Sont objectif est d examiner et d évaluer la recherche dans la détection des intrusions; la base d intrusion simulée dans l environnement choisi (un réseau militaire) inclut une grand variété de type d intrusion. La base KDD99 est une version de la base précédente. Pour critiquer les détections des intrusions et pour une meilleur analyse et performance d acquisition de notre système, nous allons expérimenter la base d intrusion kddcup99 (kddcup99, 2010). La base kddcup99 contient plus de quatre million d individus et (41) attributs, (33) attributs numériques et (7) attributs symboliques (variables qualitatives), et une classe d observation; Pour l expérimentation, nous avons développé un classifier binaire qui permet de différencier entre les connexions normales et les connexions représentant des attaques (Normal ou Attaque). Variable Description Type Duration Durée de la connexion (secondes) Continu Protocol_type Type de protocole (tcp, udp, ) Discret Service Le service réseau (http, telnet,...) Discret
75 73 La plateforme WS4KDM au service de la détection d intrusion Src_bytes Capacité donnée en bytes de source vers la destination Continu Dst_bytes Capacité donnée en bytes de destination vers la source Continu Flag Etat de la connexion (normal or erreur) Discret Land 1 si la connexion de/à le même host/port; 0 si non. Discret Wrong_Fragment Nombre des fragments incorrects Continu Urgent Nombre des paquets urgents. Continu Tableau IV. 1 Les variables de description de base d une connexion. Variable Description Type Hot Nombre d indicateur hot. Continu num_failed_logins nombre de tentatives login échouées. Continu logged_in 1 si l entrée de login avec succès ; 0 si non. Discret num_compromised Nombre de conditions d accord. Continu root_shell 1 si le root shell est obtenu ; 0 si non. Discret su_attempted 1 si la commande su root a essayé; 0 si non. Discret num_root Nombre d accès de type root. Continu num_file_creations Nombre d opérations de création de fichier. Continu Num_shells Nombre de messages de sollicitation de shell. Continu num_access_files Nombre d opérations de contrôle d accès sur les fichiers. Continu num_outbound_cmds Nombre de commandes outbound en session ftp. Continu is_hot_login 1 si login appartient à la liste hot ; 0 sinon. Discret is_guest_login 1 si login est un guest (invité); 0 si non. Discret Tableau IV. 2 Les variables de description d une connexion suggérée par la connaissance de domaine. Variable Description Type Count nombre de connexions au même host. Continu Ces variables se rapportent à des connexions au même host. serror_rate % de connexions qui ont SYN erreur. Continu rerror_rate % de connexions qui ont REJ erreur. Continu same_srv_rate % de connexions au même service Continu diff_srv_rate % de connexions aux différents services Continu srv_count nombre de connexions au même service. Continu Ces variables se rapportent à des connexions de même service. srv_serror_rate % de connexions qui ont SYN erreur. Continu srv_rerror_rate % de connexions qui ont REJ erreur. Continu srv_diff_host_rate % de connexions aux différents hosts. Continu dst_host_count Nombre d accès au même host Continu dst_host_srv_count Nombre d accès pour le même hôte utilisant le même service Continu dst_host_same_srv_rate % de connexions pour le même hôte utilisant le même service Continu dst_host_diff_srv_rate % connexions pour le même hôte utilisant différents services Continu
76 74 La plateforme WS4KDM au service de la détection d intrusion dst_host_same_src_ port_r dst_host_srv_diff_host_rate dst_host_serror_rate dst_host_srv_serror_rate dst_host_rerror_rate dst_host_srv_rerror_rate % connexions pour le même hôte ayant le port src % connexions pour le même hôte et le même service utilisant différents hôtes % connexions pour le même hôte ayant l erreur «SYN» % connexions pour le même hôte et le même service ayant l erreur «SYN» %connexions pour le même hôte ayant l erreur «REJ» %connexions pour le même hôte et le même service ayant l erreur «REJ» Continu Continu Continu Continu Continu Continu Tableau IV. 3 Les variables de description du trafic d une connexion vers la même machine. IV.4.b. Expérimentation Dans ce qui suit nous allons décrire le déroulement du processus sur un exemple fictif. Supposons que notre échantillon d apprentissage se compose de 16 connexions qui se répartissent en deux classes : normal et attack (voir le Tableau III.1). Nous choisissons le traitement symbolique pour la construction du graphe d induction avec la méthode SIPINA. Information générales Type d attribut Nom d attribut Figure IV. 3 Injection et visualisation de la base d apprentissage A partir de vue la figure IV.3 nous introduisons l url de la base d apprentissage par une boite de dialogue parcourir. Le chargement de la base et la visualisation des informations correspondantes à la base nous demandent le service «setdataurl(url, utilisateur)». Un autre service web de prétraitement de la base est accessible via cette
77 75 La plateforme WS4KDM au service de la détection d intrusion vue par le bouton «Remove», ce service est «removeattribute(instances, url, AttributesRemove)». Figure IV. 4 prétraitement et filtrage de données La figure IV.4 présente une vue qui nous permet de manipuler les filtres. Deux services web sont accessibles, un pour visualiser et modifier les paramètres d une méthode de discrétisation ou de filtrage, on click sur «click hier for your filter option». Un autre service web pour lancer la méthode sélectionnée depuis le combobox de différents algorithmes de filtrage. Tous les algorithmes de filtrage et de discrétisation qui sont supervisés ou non de la bibliothèque WEKA sont accessibles par le service web «getfilter(url, FilterName, ClassIndex, Options)»de la plateforme WS4KDM. Les algorithmes de classification prennent en entrée un ensemble de données étiquetées (base d apprentissage) et renvoient des modèles qui permettent de classer de nouvelles données non étiquetées. Chaque algorithme a ses propres conditions d utilisation des paramètres, dans notre plateforme nous pouvons classer ces algorithmes en deux classes, la première clase présente la famille des algorithmes d apprentissage existe dans la bibliothèque WEKA et la deuxième classe c est l ensemble des méthodes d apprentissage à base de graphe d induction qui utilisent la nouvelle technique de modélisation booléenne (fouille de donnée orchestrée par CASI). La figure IV.5 présente la vue qui nous permet de sélectionner une méthode de classification et de lancer le processus d extraction des connaissances (la génération du modèle), cette figure monte les différentes étapes possibles de 1 à 5 pour lancer l apprentissage : 1) La sélection de la méthode de classification. 2) La sélection de la classe d observation (Attribute Class Index). 3) La visualisation et la modification des paramètres de l algorithme de classification «click hier for your classifier option».
78 76 La plateforme WS4KDM au service de la détection d intrusion 4) La validation de modification des paramètres de la méthode de classification. 5) Lancement de l extraction et la génération de modèle de classification. La figure IV.5 présente une vue qui comporte deux services web, le service web «getoptioneditorclassifier(classifiername)» pour objectif d afficher ou de modifier les paramètres (étape 3), et un autre service «getclassifiermodel(url, ClassifierName, ClassIndex, Options)» pour générer le modèle de classification (étape 5). Figure IV. 5 classification et extraction des connaissances Figure IV. 6 Les matrices faits, règles, relation d entrée et relation de sortie pout la représentation du graphe.
79 77 La plateforme WS4KDM au service de la détection d intrusion Figure IV. 7 Les matrices faits, règles, relation d entrer et relation de sortie pout la représentation du règles. Les figures IV.6, IV.7 montrent la modélisation booléenne du graphe d induction illustré par les matrices booléennes. La première présente la représentation booléenne du graphe et la deuxième présente une représentation booléenne des connaissances (règles). La figure IV.6 montre la vue de visualisation graphique de modèle autrement dit la traduction graphique des matrices booléennes d entrée/sortie du graphe (la figure IV.6). Figure IV. 8 classification et extraction des connaissances
80 78 La plateforme WS4KDM au service de la détection d intrusion Les algorithmes de classification renvoient un résumé des résultats obtenus durant le processus de génération du modèle. Avec le détail de l efficacité de l algorithme par classe et enfin la matrice de confusion ainsi que les temps de réponse (génération et validation de modèle), voire la figure IV.9. OutText information Figure IV. 9 Résultat de traitement IV.4.c. Résultats de la fouille de données Avant de lancer la phase de fouille de données, nous avons sélectionné deux échantillons de la base kddkup99, la première contient individus et la deuxième présentée par individus choisis aléatoirement. Les deux échantillons représentent, en même temps, la base d apprentissage ainsi que la base de validation et de test. Nous avons utilisé plusieurs méthodes à base de graphe d induction et le tableau suivant présent les résultats obtenus. Ces résultats possèdent presque le même taux de succès en classification, mais avec un modèle beaucoup plus simple : Méthode ID3 + AC J48 + AC SIPINA + AC ID3 + AC J48 + AC SIPINA + AC Individus Erreur % 0.64% % 1.66% Succès 99,21% 98.05% 99.36% 87,01% 88.32% 98.33% Temps (s) 18,60 23, ,45 153, Règles Tableau IV. 4 Comparaison des résultats Voici un sous-ensemble de traitement de individus de la base kddkup99 obtenu par l algorithme SIPINA assisté par l automate cellulaire :
81 79 La plateforme WS4KDM au service de la détection d intrusion Lamda = Entropy Selection [Entropie Quadratique] dataset [50000,50000]Eclat:-- count--> --<'(-inf-5.5]'[27264,766] --<'( ]'[15875,107] --<'( ]'[3282,57] --<'( ]'[2660,102] --<'( ]'[336,67] --<'( ]'[265,132] --<'( ]'[36,126] --<'( ]'[94,4782] --<'( ]'[70,349] --<'( ]'[12,208] --<'( ]'[87,6716] --<'( ]'[19,11] --<'(328-inf)'[0,36577] Fusion de <[94,4782] & [87,6716] ===> [181,11498] Fusion de <[15875,107] & [3282,57] ===> [19157,164] Fusion de <[27264,766] & [2660,102] ===> [29924,868] Fusion de <[12,208] & [181,11498] ===> [193,11706] Fusion de <[265,132] & [19,11] ===> [284,143] Fusion de <[36,126] & [70,349] ===> [106,475] data[284,143]eclat:-- dst_bytes--> --<'(-inf-2.5]'[0,143] --<'( ]'[1,0] --<'( ]'[262,0] --<'( ]'[1,0] --<'( ]'[18,0] --<'( inf)'[2,0] Fusion de <[0,36577] & [0,143] ===> [0,36720] Fusion de <[19157,164] & [262,0] ===> [19419,164] Fusion de <[18,0] & [19419,164] ===> [19437,164] Fusion de <[2,0] & [19437,164] ===> [19439,164] Fusion de <[1,0] & [19439,164] ===> [19440,164] Fusion de <[1,0] & [19440,164] ===> [19441,164] data[106,475]eclat:-- dst_bytes--> --<'(-inf-2.5]'[1,475] --<'( ]'[105,0] Fusion de <[0,36720] & [1,475] ===> [1,37195] Fusion de <[19441,164] & [105,0] ===> [19546,164] data[336,67]eclat:-- src_bytes--> --<'(-inf-2.5]'[0,44] --<'( ]'[0,20] --<'( ]'[114,0] --<'( ]'[206,0] --<'( ]'[16,0] --<'( ]'[0,3] Fusion de <[19546,164] & [206,0] ===> [19752,164] Fusion de <[114,0] & [19752,164] ===> [19866,164] Fusion de <[1,37195] & [0,44] ===> [1,37239] Fusion de <[0,20] & [1,37239] ===> [1,37259] Time taken to build model: seconds === Classifier model (full training set) === Correctly Classified Instances Incorrectly Classified Instances 1226 Total Number of Instances : ACValidation :=== Confusion Matrix === a b % % <-- classified as a = normal b = attack Time taken to Validate data : 7.69 seconds Figure IV. 10 Résultat de traitement du modèle ( individus, SIPINA + AC)
82 80 La plateforme WS4KDM au service de la détection d intrusion 1:- IF (count = '(328-inf) ) ===> attack 2:- IF (dst_bytes = '(-inf-2.5]' and count = '( ]' ) ===> attack 3:- IF (dst_bytes = '(-inf-2.5]' and count = '( ]' ) ===> attack 4:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 5:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 6:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 7:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 8:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 9:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 10:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 11:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 12:- IF (dst_bytes = '( inf)' and count = '( ]' ) ===> normal 13:- IF (dst_bytes = '( inf)' and count = '( ]' ) ===> normal 14:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 15:- IF (dst_bytes = '( ]' and count = '( ]' ) ===> normal 16:- IF (src_bytes = '(-inf-2.5]' and count = '( ]' ) ===> attack 17:- IF (src_bytes = '( ]' and count = '( ]' ) ===> attack 18:- IF (src_bytes = '( ]' and count = '( ]' ) ===> normal 19:- IF (src_bytes = '( ]' and count = '( ]' ) ===> normal 20:- IF (src_bytes = '( ]' and count = '( ]' ) ===> normal 21:- IF (src_bytes = '( ]' and count = '( ]' ) ===> attack 22:- IF (count = '(-inf-5.5]' ) ===> normal 23:- IF (count = '( ]' ) ===> normal 24:- IF (count = '( ]' ) ===> attack 25:- IF (count = '( ]' ) ===> attack 26:- IF (count = '( ]' ) ===> attack 27:- IF (count = '( ]' ) ===> normal 28:- IF (count = '( ]' ) ===> normal 29:- IF (dst_bytes = '(-inf-2.5]' and count = '( ]' ) ===> attack 30:- IF (dst_bytes = '(-inf-2.5]' and count = '( ]' ) ===> attack Figure IV. 11 Règles du modèle ( individus, SIPINA + AC) IV.4.d. Comparaison des résultats Le tableau suivant présente une comparaison des résultats obtenus par notre modèle extrait par la plateforme WS4KDM et qui utilise la méthode SIPINA comme un algorithme d apprentissage et d autres systèmes conçus pour la classification des connexions comme normal ou non. Méthode SIPINA(WS4KDM) KDD Cup Winner Multi-classifieur(IDSSN)1 Individus Erreur 0.33% 0.50% 0.57% Tableau IV. 5 Comparaison des résultats 1 Un outil de classification des connexions développé dans un cadre de magistère Succès 99.67% 99.50% 99.43%
83 81 La plateforme WS4KDM au service de la détection d intrusion IV.5. Conclusion Nous avons présenté dans ce chapitre les notions principales qui résident au cœur des systèmes de détection d intrusions. Nous avons présenté notre plateforme WS4KDM. Une plateforme d EGC open source et nous nous sommes intéressés à l exploitation des services web. L objectif est double : d une part, décrire les différentes étapes de l extraction et la gestion des connaissances par les services de la plateforme WS4KDM en utilisant l application WS4KAMClient comme mode d accès aux services web, Et d autre part de montrer les avantages de la modélisation booléenne pour réduire le temps de réponse ainsi que pour optimiser la structure du graphe d induction, l espace de stockage de la connaissance et des règles extraites. nous avons proposé une solution pour générer les règles de classification d une connexion (détection d une intrusion), en utilisant une des techniques d apprentissage automatique supervisé existante dans notre plateforme. L objectif visé était de développer un système (règles d identification des connexions) capable de différencier entre les connexions normales et les attaques. pour valider notre système nous avons choisi de travailler avec la base d évaluation des systèmes de détection d intrusion KDD99. Plusieurs expérimentations ont été effectuées pour mesurer la performance des méthodes de graphe d induction et la modélisation booléenne par le principe de la machine CASI dans la détection d intrusion avec l utilisation de l ensemble de données KDD99. A travers ce chapitre, nous avons exposé les avantages de la plateforme WS4KDM à mettre en place une telle plateforme pour l extraction et la gestion des connaissances. elle est destinée pour les chercheurs, décideurs et pour l enseignement. Un autre aspect important de cette plateforme est l utilisation des nouvelles technologies du web, notamment les services web, ainsi que l utilisation de plusieurs standards. Grâce à ces derniers, la plateforme sera ouverte à l extension et à l amélioration.
84 Conclusion et perspectives L extraction de connaissances à partir des données (ECD) est un domaine qui a attiré, dès son apparition, l attention de beaucoup de chercheurs dans différentes disciplines. L essence même de l ECD est «la découverte non triviale, à partir de données, d une information implicite, précédemment inconnue et potentiellement intéressante». Par le terme d ECD, on désigne tout le cycle de découverte d information. Il regroupe donc les accès à de grandes bases de données, ainsi que tous les traitements à effectuer pour extraire de l information de ces données. L un de ces traitements est l étape de fouille de données qui revêt d une importance capitale, car c est durant laquelle que va s effectuer l extraction de connaissance proprement dite, à travers l application d une méthode de fouille de données. D une façon générale, ces méthodes exploitent les recherches dans plusieurs disciplines, tel que les statistiques, l analyse des données, la reconnaissance des formes, l intelligence artificielle et notamment l apprentissage automatique. Ce dernier, a fourni une grande partie des méthodes d extraction de connaissances. À travers ce mémoire, nous avons essayé de présenter d une façon complète et succincte les différentes notions nécessaires pour la compréhension de notre sujet. Nous avons organisé le mémoire en quatre chapitres, chacun traitant une partie de l objectif global. Dans le premier chapitre, nous avons introduit le processus d extraction de connaissances. Nous avons essayé d expliciter la problématique d ECD, et nous nous sommes intéressés particulièrement aux techniques à base de graphe d induction et d arbre de décision. Nous avons présenté l automate cellulaire, élément essentiel de notre contribution, pour illustrer le principe de la modélisation booléenne. Dans le deuxième chapitre, nous avons présenté les différentes plateformes de datamining et les grandes lignes à suivre pour développer une plateforme en général, et une plateforme open source de datamining en particulier. Nous avons présenté la méthode agile UP (Unified Process) qu on a adapté pour le développement de notre système. En plus, ce chapitre contient une présentation de l outil UML et l architecture MVC que nous avons suivi pour la construction de notre plateforme WS4KDM. Une étude présentée sur les intergiciels en général et les services web en particulier qu on a adopté pour mettre en services notre plateforme. Dans le troisième chapitre nous avons présenté notre approche pour la conception et l implémentation de la plateforme WS4KDM, ainsi que son architecture, et nous avons décrit les services web proposés qui permettent d exécuter un processus complet d ECD. Nous avons détaillé le système cellulaire d extraction et de gestion des connaissances, où nous avons introduit le mécanisme de représentation booléenne
85 du modèle de classification et des règles de décision. Puis nous avons présenté notre plateforme WS4KDM (Web Services for Knowledge Discovery and Management). Une plateforme d EGC open source qui offre plusieurs techniques de fouille des données à base de graphe d induction orchestrée par le système cellulaire CASI. Dans le quatrième chapitre, nous avons essayé de présenter d une façon complète et concise les différentes notions nécessaires pour savoir les systèmes de détection d intrusion. Nous avons montré le fonctionnement et les différents accès aux services web de la plateforme WS4KDM. Ce chapitre résume les différents résultats expérimentaux de la plateforme par la base d intrusion kddcup99. La plateforme que nous avons développé est une plateforme open source d extraction et de gestion des connaissances dédiée à l enseignement et à la recherche. Elle repose sur les outils de développement récents, la plateforme Java, la technologie JSF et les services web. Ces outils ont une performance puissante prouvée par plusieurs disciplines. Pour évaluer la plateforme WS4KDM nous avons utilisé plusieurs techniques d apprentissage automatique en particulier la modélisation booléenne des méthodes à base d arbres de décision pour l induction symbolique. Les techniques cellulosymboliques ont été testés sur plusieurs applications dans le domaine des IDS en utilisant différentes bases d exemples. Les résultats obtenus ont montré que l approche cellulaire possède des propriétés intéressantes et de nombreux avantages par rapport aux autres approches neuro-symboliques testées séparément : - Une amélioration du taux de classification ; - une réduction de la taille du graphe d induction, généré par SIPINA, de plus de 15%, - et, une amélioration du temps de réponse (validation par déduction cellulaire). En conclusion nous pouvons dire que la plateforme WS4KDM possède plusieurs points forts : - la capacité d intégrer des connaissances théoriques (règles) et des connaissances empiriques (exemples) avec l utilisation d algorithmes très performants comme SIPINA, ID3, CASI, etc. ; - la capacité d acquérir par apprentissage automatique cellulosymbolique, d extraire et de valider les nouvelles connaissances sur un problème réel très complexe, avec une très bonne performance ; - la capacité de coder des règles de haut niveau (règles d ordre 0+) dans la machine cellulaire (système CASI) ; - la capacité de traiter les valeurs d entrée discrètes ainsi que les valeurs continues ; Nous pouvons dire que nous avons présenté l architecture générale de WS4KDM, ses différentes capacités et par extension ses performances. Nous savons qu il existe encore beaucoup d études à réaliser sur cette plateforme open source. Cependant, les expériences que nous avons réalisées ont montré que cette nouvelle plateforme est performante et qu elle peut être facilement appliquée à différents problèmes réels.
86 Comme perspectives de ce travail, nous désirons enrichir la plateforme par de nouvelles méthodes d extraction de connaissances, ainsi que des méthodes de préparation et de transformation de données.
87 Bibliographie Abbes, Tarek, Bouhouda, Adel et Rusinowitch, Michaël Filtrage Efficace Pour La Détection D Intrusio Protocol Analysis in Intrusion Detection Using Decision Tree, LORIA/INRIA-Lorraine France et SUP COM Tunisie Ambler, Scott W The Agile Scaling Model (ASM): Adapting Agile Methods for Complex Environments Antonio, C, Domenico, T et Paolo, T Distributed Data Mining Services Leveraging WSRF Atmani, B Automate Cellulaire pour Systèmes d Inférence à base de Règles (ACSIR). Thèse de Magister en Informatique. Oran : Université Es-Senia, Atmani, B et Beldjilali, B Knowledge Discovery in Database: Induction Graph and Cellular Automaton. Computing and Informatics Journal, vol. 26, n 2, 2007, p Belaid, A et Belaid, Y Reconnaissance de Formes, méthodes et applications. InterEditions Benamina, m et Atmani, B WCSS: un système cellulaire d'extraction et de gestion des connaissances. Troisième atelier sur les systèmes décisionnels p Mohammadia Maroc : s.n., Breiman, L, et al Classification and Regression Trees. s.l. : Wadsworth, Cesare, Pautasso et Wilde, Erik REST vs WS-* Comparison Chen, Yuehui, Ajith, Abdrahm et Bo, Yang Hybrid Flexibole Neural-Tree- Bassed Intrusion Detection Systems, School of information Science and Engineering.Jinan University(China),School of Computer Science and Engineering,Chung-Ang University (Seoul, K Claude, Duvallet Les systèmes de détection d intrusion réseau Colin, S [En ligne] SPSS Inc, 25 January Demsar, J, Zupan, B et Leban, G Orange: From Experimental Machine Learning to Interactive Data Mining. s.l. : White Paper, Faculty of Computer and Information Science, University of Ljubljana, Denivaldo, C Étude et applications de l approche MDA pour des plates-formes de Services Web. s.l. : Thèse de Doctorat de l Université de Nantes, Étude et applications de l approche MDA pour des plates-formes de Services Web. s.l. : Thèse de Doctorat de l Université de Nantes, Devijver, R et Kittler, J Pattern Recognition, a statistical approach. Prentice Hall Dietterich, T. G Learning at the knowledge level, Machine Learning, 1(3), Domenico, T, Paolo, T et Oreste, V Weka4WS: a WSRF-enabled Weka Toolkit for Distributed Data Mining on Grids. s.l. : DEIS, University of Calabria, 2005.
88 Duda, R et Hart, P. E Pattern Recognition and scene analysis. John Wiley and sons Fayyad, U et Irani, K The Attribute Selection Problem in Decision Tree Generation. Proceedings of th 10th National Conference on Artificial Inteligence Ganascia, J, Agape et Charade deux techniques d'apprentissage symbolique appliquées à la construction de bases de connaissances. Thèse d'etat. s.l. : Université de Paris-Sud, Gary, Stein, Bing, Chen et Annie, S.Wu Kien A.Hua Decision Tree Classifier For Network Intrusion Detection with GA-Based Feature Selection Gerhard, MÜnz, Sa, Li et Georg, Carle Traffic Anomaly Detection Using K- Means Clustering, Computer Networks and Internet, Wilhem Schickard Institute for computer science,university of Tuebingen, Germany ICS Computer Security Institute. [En ligne] Jacob, Zimmermann les système de détection des intrusions: Principe algorithmiques, Supélec, équipe SSIR James, Cannady Artificial Neural Networks for Misuse Detection, School of Computer and Information Science, Nova Southeastern University Jeff, auteur de commentcamarche [En ligne] Jörg, W, et al SINDBAD SAILS: A Service Architecture for Inductive Learning Schemes Juric, M, et al Java RMI, RMI Tunneling and Web Services Comparison and Performance Analysis. s.l. : ACM Pres, Kadem, Habib et Atmani, Baghdad Conception d une Plateforme Cellulaire Open Source d Extraction et de Gestion des Connaissances: WS4KDM. 7éme Séminaire National en Informatique de Biskra (SNIB'2010) kddcup KDD99 : [En ligne] Ketterlin, A Découverte de Concepts Structurés dans les Bases de Données. Thèse de doctorat. s.l. : Université Louis Pasteur de Strasbourg, Khan, Latifur, Awad, Mamoun et Thuraisingham, Bhavani A new intrusion detection system using support vector machines and hierarchical clustering, The VLDB Journal KODRATOFF Technical and scientific issues of KDD. Algorithm Learning Theory. s.l. : LNAI, Kolodner, J Case Base Reasonning. Morgan Kaufman Kruegel, Christopher et Thomas, Toth Using Decision Trees to Improve Signature-Based Intrusion Detection, Reliable Software Group University of California, Santa Barbara, Distributed Systems Group Technical University Vienna Michalski, R Theory and methodology of inductive learning. In Machine Learning : an artificiall intelligence approach. s.l. : Morgan Kaufmann, Vol. 1. Mierswa, I, et al YALE: Rapid Prototyping for Complex Data Mining Tasks in Proceedings of the 12th ACM SIGKDD. s.l. : International Conference on Knowledge Discovery and Data Mining, Mitchell, T Version Spaces : An approach to concept learning. s.l. : Ph. D. dissertation. Stanford University, 1978.
89 OMG The Common Object Request Broker Architecture: Core Specification. [En ligne] Oracle, E Oracle data mining: [En ligne] Pascal, Roques UML2 Modéliser une application web 4e édition. s.l. : Groupe Eyrolles, ISBN : Petr, C, Lukas, S et Jaroslav, Z INTERACTIVE MINING ON HIERARCHICAL DATA Prasad, Naldurg, Koushik, Sen et Prasanna, Thati A Temporal Logic Based Framework for Intrusion Detection, Department of Computer Science, University of Illinois at Urbana-Champaign Urbana, IL 61801, USA Qijun, C, Xindong, W et Xingquan, Z OIDM: Online Interactive Data Mining. s.l. : Department of Computer Science, University of Vermont, USA, Quinlan, J C4.5 : Programs for Machine Learning. s.l. : Morgan Kaufmann, Learning efficient classification procedures and their applications to chess endgames. In Machine Learning : An Artificial Intelligence Approach. s.l. : Morgan Kaufmann, Probabilistic decision trees. In Machine Learning : An Artificial Intelligence Approach. s.l. : Morgan Kaufmann,, Quinlan, J R Induction of Decision Trees. Machine Learning 1: Boston : Kluwer Academic Publishers, Quinlan, R C4.5 : programs for machine learning. s.l. : Morgan-Kaufmann, Rabaséda, S Rakotomalala, R TANAGRA : une plateforme d expérimentation pour la fouille de données. s.l. : Laboratoire ERIC Université Lumière Lyon2, Ramesh, Chandra Chirala A service-oriented architecture-driven community of interest model Robert, G, et al. Open DMIX: High Performance Web Services for Distributed Data Mining : s.n Open DMIX: High Performance Web Services for Distributed Data Mining Ross, G et Chalmers, M A visual workspace for constructing hybrid multidimensional scaling algorithms and coordinating multiple views Ryan, Jake, Meng-Jang, Lin et Risto, Miikkulainen Intrusion Detection with Neural Networks, To appear in Advances in Neural Information Processing Systems 10, Cambridge, MA:MIT Press Sas, E SAS Enterprise Miner Institute Inc. [En ligne] Shaikh, A, Rana, O et Taylor, I Web Services Composition for Distributed Data Mining. Workshop on Web and Grid Services for Scientific Data Analysis Simon, H In Machine Learning: an artificial intelligence approach Srilatha, Chebrolu, Ajith, Abraham et Johnson, P.Thomas Feature deduction and ensemble design of intrusion detection systems Srinivas, Mukkamala et Andrew, H.Sung Feature Selection for Intrusion Detection using Neural Networks and Support Vector Machines. Department of
90 Computer Science, Institute for Complex Additive Systems Analysis New Mexico Tech Socorro, New Mexico Takatsuka, M et Gahegan, M. GeoVISTA Studio: A Codeless Visual Programming Environment for Geoscientific Data Analysis and Visualization : Computers & Geosciences. Vol. 28, GeoVISTA Studio: A Codeless Visual Programming Environment for Geoscientific Data Analysis and Visualization Thrun, S et Mitchell, T Integrating Inductive Neural Network Learning and Explanation-Based Learning. Proceedings of the 13th International Joint Conference on Artificial Intelligence webopedia [En ligne] wikipedia [En ligne] wikipédia Witten, I et Frank, E Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. San Francisco : Morgan Kaufmann, Yves, Wautelet, Laurent, Louvigny et Manuel, Kolp Le unified process comme methodologie de gestion de projet informatique Zheng, Zheng, et al HIDE A Hierarchical Anomaly Network Intrusion Detection System using Neural Network Classification Zighed, D Extraction des connaissances à partir des données (ECD). s.l. : Laboratoire ERIC, Université Lumière Lyon 2, Zighed, D, Auray, J et Duru, G SIPINA : Méthode et logiciel. s.l. : Lacassagne, 1992.
91 MR KADEM HABIB Postgraduation Option : Informatique & Automatique Département Informatique [email protected] ENCADREUR : Dr. ATMANI Baghdad THEME : Conception d une Plateforme Open Source d Extraction et de Gestion des Connaissances. RESUME Les plateformes décisionnelles Open Source s intègrent dans des portails dont les composants pourront être invoqués depuis une application ou un service Web dédié. Dans cette optique, nous proposons la conception et la mise en service d une plateforme open source d extraction et de gestion de connaissance (EGC) basée sur une modélisation booléenne. On peut voir le processus d EGC comme une nécessité imposée par le besoin des entreprises de valoriser les données qu elles accumulent dans leurs bases. Il consiste à rechercher et à extraire de l information (utile et inconnue) de ces gros volumes de données stockées. En effet, le développement des capacités de stockage et des vitesses de transmission des réseaux ont conduit les utilisateurs à accumuler de plus en plus de données. De nos jours, les systèmes et les plateformes d extraction et de gestion de connaissance sont devenus des véritables outils d aide à l analyse et à la décision dans un nombre croissant d organisations. La mise en place de tels systèmes est difficile et coûteuse. Ces systèmes doivent offrir des possibilités d exploration très fine et de représentation synthétique de l information recueillie et des nouvelles connaissances déduites. En amont, ils doivent assurer le prétraitement, la sélection et le filtrage de l information disponible dans des bases spécialisées internes ou externes et sur Internet ou intranet, et de les mettre à la disposition de différentes techniques d aide à la décision. Ce mémoire présente la conception et la réalisation d une nouvelle plateforme open source, WS4KDM (Web Services for Knowledge Discovery and Management), qui regroupe plusieurs services web dédiés à l extraction et la gestion des connaissances. Les techniques de fouille de données, implémentées dans la plateforme WS4KDM, sont à base de graphe d induction et utilisent une nouvelle technique de modélisation booléenne nommée BML (Boolean Modeling Language) qui se base sur le principe cellulaire de CASI (Cellular Automaton for Symbolic Induction). Le but, après une modélisation booléenne des règles de classification, est double : d une part affiner le processus d extraction de règles à partir de données par une fouille de données orchestrée par CASI, et d autre part réduire la complexité de stockage, ainsi que le temps de réponse. MOTS CLES Automate Cellulaire, ECD, Fouille de données, Arbre de décision, Service Web, Aide à la décision, Intelligence Artificielle. L encadreur
Introduction au datamining
Introduction au datamining Patrick Naïm janvier 2005 Définition Définition Historique Mot utilisé au départ par les statisticiens Le mot indiquait une utilisation intensive des données conduisant à des
Pourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar [email protected]
Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar [email protected] Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines
Introduction au Data-Mining
Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme
Algorithmes d'apprentissage
Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt
L apprentissage automatique
L apprentissage automatique L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information
PROBABILITES ET STATISTIQUE I&II
PROBABILITES ET STATISTIQUE I&II TABLE DES MATIERES CHAPITRE I - COMBINATOIRE ELEMENTAIRE I.1. Rappel des notations de la théorie des ensemble I.1.a. Ensembles et sous-ensembles I.1.b. Diagrammes (dits
Le cinquième chapitre
Le cinquième chapitre Objectif : présenter les supports matériels ou immatériels permettant d'étayer cette nouvelle approche de la fonction maintenance. I. Evolution du domaine technique - Différents domaines
Data Mining. Vincent Augusto 2012-2013. École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.
des des Data Mining Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2012-2013 1/65 des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 2/65 des des Définition générale Le
Introduction à la B.I. Avec SQL Server 2008
Introduction à la B.I. Avec SQL Server 2008 Version 1.0 VALENTIN Pauline 2 Introduction à la B.I. avec SQL Server 2008 Sommaire 1 Présentation de la B.I. et SQL Server 2008... 3 1.1 Présentation rapide
Big Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université
Introduction au Data-Mining
Introduction au Data-Mining Gilles Gasso, Stéphane Canu INSA Rouen -Département ASI Laboratoire LITIS 8 septembre 205. Ce cours est librement inspiré du cours DM de Alain Rakotomamonjy Gilles Gasso, Stéphane
Ebauche Rapport finale
Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide
données en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
Apprentissage. Intelligence Artificielle NFP106 Année 2012-2013. Plan. Apprentissage. Apprentissage
Intelligence Artificielle NFP106 Année 2012-2013 Apprentissage! F.-Y. Villemin! Plan! Apprentissage! Induction! Règles d'inférence inductive! Apprentissage de concepts!! Arbres de décision! ID3! Analogie
LIVRE BLANC Décembre 2014
PARSING MATCHING EQUALITY SEARCH LIVRE BLANC Décembre 2014 Introduction L analyse des tendances du marché de l emploi correspond à l évidence à une nécessité, surtout en période de tension comme depuis
MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.
MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS Odile PAPINI, LSIS. Université de Toulon et du Var. [email protected] Plan Introduction Généralités sur les systèmes de détection d intrusion
La classification automatique de données quantitatives
La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations
Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.
Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis
Systèmes d information et bases de données (niveau 1)
Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel
Big Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de
Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring
Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring Année académique 2006-2007 Professeurs : Marco Saerens Adresse : Université catholique de Louvain Information Systems
SECTION 5 BANQUE DE PROJETS
SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION
LE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES
Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.
Jade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
4.2 Unités d enseignement du M1
88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter
Travailler avec les télécommunications
Travailler avec les télécommunications Minimiser l attrition dans le secteur des télécommunications Table des matières : 1 Analyse de l attrition à l aide du data mining 2 Analyse de l attrition de la
Analyse de grandes bases de données en santé
.. Analyse de grandes bases de données en santé Alain Duhamel Michaël Genin Mohamed Lemdani EA 2694 / CERIM Master 2 Recherche Biologie et Santé Journée Thématique Fouille de Données Plan. 1 Problématique.
Arbres binaires de décision
1 Arbres binaires de décision Résumé Arbres binaires de décision Méthodes de construction d arbres binaires de décision, modélisant une discrimination (classification trees) ou une régression (regression
Spécificités, Applications et Outils
Spécificités, Applications et Outils Ricco Rakotomalala Université Lumière Lyon 2 Laboratoire ERIC Laboratoire ERIC 1 Ricco Rakotomalala [email protected] http://chirouble.univ-lyon2.fr/~ricco/data-mining
Les algorithmes de fouille de données
Février 2005 Les algorithmes de fouille de données DATAMINING Techniques appliquées à la vente, aux services client, interdictions. Cycle C Informatique Remerciements Je remercie les personnes, les universités
Modernisation et gestion de portefeuilles d applications bancaires
Modernisation et gestion de portefeuilles d applications bancaires Principaux défis et facteurs de réussite Dans le cadre de leurs plans stratégiques à long terme, les banques cherchent à tirer profit
Université de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Entrepôt de données 1. Introduction
Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de
GROUPE DE TRAVAIL «ARTICLE 29» SUR LA PROTECTION DES DONNÉES
GROUPE DE TRAVAIL «ARTICLE 29» SUR LA PROTECTION DES DONNÉES 00727/12/FR WP 192 Avis 02/2012 sur la reconnaissance faciale dans le cadre des services en ligne et mobiles Adopté le 22 mars 2012 Le groupe
Apprentissage Automatique
Apprentissage Automatique Introduction-I [email protected] www.lia.univ-avignon.fr Définition? (Wikipedia) L'apprentissage automatique (machine-learning en anglais) est un des champs
Structure du cours : Il existe de nombreuses méthodes intéressantes qui couvrent l Analyse des Données
Structure du cours : Il existe de nombreuses méthodes intéressantes qui couvrent l Analyse des Données et le Data Mining Nous suivons le plan suivant : Fonctionnement de Spad Catalogue des méthodes (statistiques
Chapitre 9 : Informatique décisionnelle
Chapitre 9 : Informatique décisionnelle Sommaire Introduction... 3 Définition... 3 Les domaines d application de l informatique décisionnelle... 4 Architecture d un système décisionnel... 5 L outil Oracle
Travaux pratiques avec RapidMiner
Travaux pratiques avec RapidMiner Master Informatique de Paris 6 Spécialité IAD Parcours EDOW Module Algorithmes pour la Fouille de Données Janvier 2012 Prise en main Généralités RapidMiner est un logiciel
Fast and furious decision tree induction
Institut National des Sciences Appliquées de Rennes Rapport de pré-étude Encadrants : Nikolaos Parlavantzas - Christian Raymond Fast and furious decision tree induction Andra Blaj Nicolas Desfeux Emeline
INF6304 Interfaces Intelligentes
INF6304 Interfaces Intelligentes filtres collaboratifs 1/42 INF6304 Interfaces Intelligentes Systèmes de recommandations, Approches filtres collaboratifs Michel C. Desmarais Génie informatique et génie
Les apports de l informatique. Aux autres disciplines
Les apports de l informatique Aux autres disciplines Le statut de technologie ou de sous-discipline est celui de l importation l et de la vulgarisation Le statut de science à part entière est lorsqu il
BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS
Quatrième colloque hypermédias et apprentissages 275 BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS Anne-Olivia LE CORNEC, Jean-Marc FARINONE,
Didier MOUNIEN Samantha MOINEAUX
Didier MOUNIEN Samantha MOINEAUX 08/01/2008 1 Généralisation des ERP ERP génère une importante masse de données Comment mesurer l impact réel d une décision? Comment choisir entre plusieurs décisions?
Synthèse «Le Plus Grand Produit»
Introduction et Objectifs Synthèse «Le Plus Grand Produit» Le document suivant est extrait d un ensemble de ressources plus vastes construites par un groupe de recherche INRP-IREM-IUFM-LEPS. La problématique
LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»
LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING» Gilbert Saporta Professeur de Statistique Appliquée Conservatoire National des Arts et Métiers Dans leur quasi totalité, les banques et organismes financiers
Spécifications, Développement et Promotion. Ricco RAKOTOMALALA Université Lumière Lyon 2 Laboratoire ERIC
Spécifications, Développement et Promotion Ricco RAKOTOMALALA Université Lumière Lyon 2 Laboratoire ERIC Ricco? Enseignant chercheur (CNU.27) En poste à l Université Lyon 2 Faculté de Sciences Eco. Recherche
I) - DEFINITIONS I-A) TERMINOLOGIE
Venise CANABADY Lycée Amiral Bouvet St Benoît PARTIE I - DEFINITIONS PARTIE II - LES GRANDES FONCTIONNALITES DE LA GED PARTIE III - GED : INDEXATION ET OUTILS PARTIE IV- LA GESTION ÉLECTRONIQUE DES DOCUMENTS
Classification Automatique de messages : une approche hybride
RECIAL 2002, Nancy, 24-27 juin 2002 Classification Automatique de messages : une approche hybride O. Nouali (1) Laboratoire des Logiciels de base, CE.R.I.S., Rue des 3 frères Aïssiou, Ben Aknoun, Alger,
Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)
Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter
Christophe CANDILLIER Cours de DataMining mars 2004 Page 1
Christophe CANDILLIER Cours de DataMining mars 2004 age 1 1. Introduction 2. rocessus du DataMining 3. Analyse des données en DataMining 4. Analyse en Ligne OLA 5. Logiciels 6. Bibliographie Christophe
Créer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
Quels outils pour prévoir?
modeledition SA Quels outils pour prévoir? Les modèles de prévisions sont des outils irremplaçables pour la prise de décision. Pour cela les entreprises ont le choix entre Excel et les outils classiques
THOT - Extraction de données et de schémas d un SGBD
THOT - Extraction de données et de schémas d un SGBD Pierre-Jean DOUSSET (France), Benoît ALBAREIL (France) [email protected], [email protected] Mots clefs : Fouille d information, base de données, système
TANAGRA : un logiciel gratuit pour l enseignement et la recherche
TANAGRA : un logiciel gratuit pour l enseignement et la recherche Ricco Rakotomalala ERIC Université Lumière Lyon 2 5, av Mendès France 69676 Bron [email protected] http://eric.univ-lyon2.fr/~ricco
Analyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant
Master CCI Compétences Complémentaires en Informatique Livret de l étudiant 2014 2015 Master CCI Le Master CCI (Compétences Complémentaires en Informatique) permet à des étudiants de niveau M1 ou M2 dans
DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?
DOSSIER SOLUTION CA ERwin Modeling Comment gérer la complexité des données et améliorer l agilité métier? CA ERwin Modeling fournit une vue centralisée des définitions de données clés afin de mieux comprendre
En route vers le succès avec une solution de BI intuitive destinée aux entreprises de taille moyenne
Présentation du produit SAP s SAP pour les PME SAP BusinessObjects Business Intelligence, édition Edge Objectifs En route vers le succès avec une solution de BI intuitive destinée aux entreprises de taille
IODAA. de l 1nf0rmation à la Décision par l Analyse et l Apprentissage / 21
IODAA de l 1nf0rmation à la Décision par l Analyse et l Apprentissage IODAA Informations générales 2 Un monde nouveau Des données numériques partout en croissance prodigieuse Comment en extraire des connaissances
ESSEC. Cours «Management bancaire» Séance 3 Le risque de crédit Le scoring
ESSEC Cours «Management bancaire» Séance 3 Le risque de crédit Le scoring Les méthodes d évaluation du risque de crédit pour les PME et les ménages Caractéristiques Comme les montants des crédits et des
Service On Line : Gestion des Incidents
Service On Line : Gestion des Incidents Guide de l utilisateur VCSTIMELESS Support Client Octobre 07 Préface Le document SoL Guide de l utilisateur explique comment utiliser l application SoL implémentée
Chapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
Concevoir et déployer un data warehouse
Concevoir et déployer un data warehouse Ralph Kimball Éditions Eyrolles ISBN : 2-212-09165-6 2000 2 Le cycle de vie dimensionnel Avant d étudier de plus près les spécificités de la conception, du développement
INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Les 10 grands principes de l utilisation du data mining pour une gestion de la relation client réussie
Les 10 grands principes de l utilisation du data mining pour une gestion de la relation client réussie Découvrir les stratégies ayant fait leurs preuves et les meilleures pratiques Points clés : Planifier
L'évolution de VISUAL MESSAGE CENTER Architecture et intégration
L'évolution de VISUAL MESSAGE CENTER Architecture et intégration Sommaire Résumé exécutif Base technologique : VISUAL Message Center 2 3 VISUAL Message Center Core Engine VISUAL Message Center Extended
IFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Architecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :
La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.
Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique
Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55
L utilisation d un réseau de neurones pour optimiser la gestion d un firewall
L utilisation d un réseau de neurones pour optimiser la gestion d un firewall Réza Assadi et Karim Khattar École Polytechnique de Montréal Le 1 mai 2002 Résumé Les réseaux de neurones sont utilisés dans
Thibault Denizet. Introduction à SSIS
Thibault Denizet Introduction à SSIS 2 SSIS - Introduction Sommaire 1 Introduction à SQL Server 2008 Integration services... 3 2 Rappel sur la Business Intelligence... 4 2.1 ETL (Extract, Transform, Load)...
Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA
Industrie des cartes de paiement (PCI) Norme de sécurité des données Récapitulatif des modifications de
Industrie des cartes de paiement (PCI) Norme de sécurité des données Récapitulatif des modifications de la norme PCI DSS entre les versions 2.0 et 3.0 Novembre 2013 Introduction Ce document apporte un
Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language
Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric
INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES
INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et
Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Méthodologies de développement de logiciels de gestion
Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch
Introduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
Coup de Projecteur sur les Réseaux de Neurones
Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche
Des données à la connaissance client. A la découverte de la plateforme de connaissance client knowlbox
Des données à la connaissance client A la découverte de la plateforme de connaissance client knowlbox Livre blanc mai 2013 A l heure du Big Data, les entreprises s interrogent davantage sur leurs données.
Pentaho Business Analytics Intégrer > Explorer > Prévoir
Pentaho Business Analytics Intégrer > Explorer > Prévoir Pentaho lie étroitement intégration de données et analytique. En effet, les services informatiques et les utilisateurs métiers peuvent accéder aux
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte
Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte 1Les bases : vos objectifs 2 Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte
Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES
Aristote ----- Cloud Interopérabilité Retour d'expérience L A F O R C E D E L I N N O V A T I O N Résumé Les systèmes d'information logistique (SIL) sont des outils qui amènent des gains de productivité
Comment optimiser l utilisation des ressources Cloud et de virtualisation, aujourd hui et demain?
DOSSIER SOLUTION Solution CA Virtual Placement and Balancing Comment optimiser l utilisation des ressources Cloud et de virtualisation, aujourd hui et demain? agility made possible La solution automatisée
Les indices à surplus constant
Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté
Présentations personnelles. filière IL
Présentations personnelles filière IL Résumé Liste de sujets de présentations personnelles. Chaque présentation aborde un sujet particulier, l'objectif étant que la lecture du rapport ainsi que l'écoute
LE DIPLOME DE MAGISTER
Département d Informatique MEMOIRE Présenté par DEDDOUCHE Yamina Pour obtenir LE DIPLOME DE MAGISTER Spécialité : Informatique Option : Informatique et Automatique Intitulé : Contribution à l Ordonnancement
Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe
Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe Karima Dhouib, Sylvie Després Faiez Gargouri ISET - Sfax Tunisie, BP : 88A Elbustan ; Sfax [email protected],
Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
