Programme de l’option Ingénierie d’Aide à la Décision (IAD) Responsable : Maria Malek 18 octobre 2013 1 Objectif Deux domaines sont explorés dans cette option : La fouille des données (Data Mining) : – Découvrir les informations intéressantes, utiles dans les très grandes bases de données. – Utiliser les outils mathématiques puissants pour construire des algorithmes très performants. La recherche opérationnelle : – Traiter des problèmes d’optimisation, d’aide à la décision et d’évaluation de performances liées aux organisations et procédés du monde réel. – Domaines : transports, télécommunications, systèmes de production, procédés industriels 2 Module exploration et fouille des données - 218h – – – – – – – – – 3 Apprentissage automatique et fouille de données : approche applicative - 30h. Méthodes et outils pour le "Big Data" - 20h. Web Mining - 20h. Analyse des réseaux sociaux - 40h. SAS Entreprise Miner- 24h. Analyse de données approfondie - 15h. Modèles de prévision - 24h. Text Mining - 30h. Vie Artificielle - 15h. Module Recherche Opérationnelle - 127h – Programmation par contraintes - 33h. – Théorie de la complexité - 15h. – SAS/OR Recherche opérationnelle - 24h. 1 – Optimisation multi-objective - 15h. – Recherche Opérationnelle et métiers - 40h. 4 modules complémentaires - 90h – – – – 5 Python - 20h. Web sémantique et Ontologies - 20h. Introduction à l’informatique décisionnelle - 30h. Web des données et du temps réel - 20h. Les projets de l’option - 340h – Projet d’entreprise - 140h, – Projet de fin d’études - 200h. 6 Contenu des cours 6.1 6.1.1 Module Exploration et fouille des Données Apprentissage automatique et Fouille de données : approche applicative Enseignant Maria Malek Objectif Le cours de fouille de données permet aux étudiants d’avoir une approche approfondie de la problématique et des applications de la fouille de données. Il permet également d’étudier plusieurs modèles ainsi que leurs applicabilités sur différents types de données. Les travaux pratiques se font sur Weka. Ce cours est composé de deux parties, une partie théorique et une partie applicative. La partie théorique permet dans un premier temps de voir les méthodes et les techniques d’apprentissage symboliques, statistiques et connexionnistes. Une Introduction à la problématique de "Big Data" et la fouille des données parallèles est ensuite présentée. La libraire Mahout et le framework MapReduce sont utilisées. Contenu 1. Apprentissage supervisé ou non supervisé. Notions de précision et de rappel, erreur apparente, matrice de confusion et validation croisée. 2. Méthodes & techniques d’apprentissage automatique supervisé (a) Les modèles SVM et les modèles neuronaux. (b) Les arbres de décisions. Les algorithmes ID3, C4.5, Cart. (c) l’algorithme foil & la résolution inverse, (d) Les règles d’associations : algorithmes apriori et aprioriTid. Génération des règles d’associations. 2 RÉFÉRENCES 3. Le classifieur bayésien naïf. 4. Les réseaux bayésiens (a) Inférences descendante et ascendante. (b) Loi du réseau bayésien. (c) Structure de bases : linéaire, en V ou en chapeau. (d) Problèmes de prédiction et de diagnostic. 5. Méthodes de discrétisation et de sélection des variables 6. Implémentation parallèle de certains algorithmes avec le Framework MapReduce : K-means, FPGrowth, etc. Références [1] Fayyad, G. Piatetsky-Shapiro, P. Smyth, and R. Uthurusamy Advances in Knowledge Discovery and Data Mining. AAAI/MIT Press, 1996. [2] Ian H. Witten ; Eibe Frank Data Mining : Practical machine learning tools and techniques, 2nd Edition.. Morgan Kaufmann, 2005. [3] Sean Owen, Robin Anil, Ted Dunning, and Ellen Friedman Mahout in Action. Manning Publications, 1 edition, January 2011. 6.1.2 Web Mining Enseignant Maria Malek Objectif Le but de ce cours est d’introduire la problématique du web mining ainsi que son utilisation dans les méthodes de personnalisation, de découverte du profil utilisateur ainsi que le filtrage collaboratif. Il s’agit d’étudier les méthodes et les techniques de fouille des données appliquées au web. Trois types de données sont étudiés : la structure du web, les comportements des internautes ainsi que le contenu des pages. Contenu 1. Représentation et modélisation des données web : le contenu, la structure et le comportement. – Représentation du contenu des pages webs. – Modélisation des sessions de navigations. – Représentation de la structure hyper-média du web. 2. Techniques d’exploration des différents types de données et d’actions utilisateurs. – Algorithmes d’apprentissage non supervisés : classification hiérarchique ascendante, centres mobiles, règles d’association, etc. – Algorithme d’apprentissage supervisé : arbre de décision, réseaux de neurones raisonnement à partir de cas, etc. 3 RÉFÉRENCES 3. Applications du web mining : Détection de profil, prédiction & recommendation personnalisation, adaptation des sites web et filtrage collaborative. Références [1] Bing Liu Web Data Mining,Exploring Hyperlinks, Contents, and Usage Data.. Springer, 2007. 6.1.3 Analyse de réseaux sociaux Enseignant Rushed Kanawati / LIPN-Université Paris13 Objectif Dans de nombreux contextes variés des graphes sont employées pour modéliser des systèmes d’interactions complexes ; nous les manipulons aujourd’hui fréquemment au sein de réseaux biologiques, de réseaux sociaux, de graphes de modélisation du web, de graphes d’échanges pair-à-pair par exemple. Ces graphes ont généralement des propriétés non triviales communes qui les distinguent des graphes aléatoires. L’objectif de ce cours est d’introduire les problématiques et les techniques d’analyse et de fouille de ce type de graphes. Nous nous appuyons sur le langage Python et la bibliothèque NetworkX1. Contenu 1. Fondements : Acteurs, Relations, Représentation par graphes et/ou matrices. 2. Exemple : le petit monde, les communautés sur internet, etc. 3. Calculs en analyse de réseaux sociaux : – Centralité de degré, Centralité d’intermédiarité, Centralité de Proximité. – Centralité de prestige, Centralisation de pouvoir. – Clustering coefficient, Degré de cohésion, Degré de densité. – Longueur du chemin, Radiality, Reach. – Équivalence structurale, Trou structural, Multiplexité. 4. Identification de communautés : définitions, problématiques, fonctions de qualité, classification des approches & applications : Mise en œuvre d’algorithmes séparatifs (Newman) et agglomératifs (Louvain). 5. Nouvelles approches d’identification de communautés : Algorithmique génétique, identifications de meneurs. Mise en œuvre de différents algorithmes d’identifications de meneurs. 6. Identification de communautés dans des graphes multipartites. 7. Problème de prévision de liens : Problématiques, problèmes similaires, approches. Techniques d’apprentissage automatique supervisés et semi-supervisé pour la prévision de liens : Recommandation de films par prévision de liens dans un graphe bipartite : cas de MovieLens 8. Visualisation de grands graphe : Prise en main de l’outil igraph. 4 RÉFÉRENCES Références [1] C.C. Aggarwal Social Network Data Analysis. Springer Science and Business Media, 2011. 6.1.4 SAS : Entreprise Miner Enseignant Richard Eudes /SAS. Objectif Optimiser le ciblage Marketing, développer ces ventes, détecter les comportements frauduleux. Les modèles prédictifs permettent de répondre à ces attentes. Ce cours présente aux élèves comment implémenter et industrialiser ces modèles avec la méthodologie SEMMA du logiciel SAS Enterprise MinerTM. Contenu R Enterprise MinerTM, Présentation des fonctionnalités, 1. Tour d’horizon du logiciel SAS⃝ Création d’un projet, Exploration graphique des données. 2. Analyse descriptive, Méthode de classification, Analyse du profil des segments ou classes, Règles d’association. 3. Partitionnement de données. 4. Arbres de décision : construction des arbres, choix du meilleur arbre. 5. Comparaison des modèles candidats : choix du meilleur modèle. 6. Régression logistique : traitement des données manquantes, sélection de variables, régression polynomiale. 7. Réseaux de neurones : introduction et utilisation. 8. Matrice de profit, ajustement en cas de sur-échantillonnage 9. Scoring : application du modèle à de nouvelles données. 6.1.5 Modèles de prévisions Enseignant Hervé De Milleville Objectif L’objet de cette matière est l’étude d’une suite de valeurs numériques représentant l’évolution d’une quantité au cours du temps (série temporelle ou chronologique). De telles suites de valeurs peuvent être exprimées mathématiquement afin d’en analyser le comportement, généralement pour comprendre son évolution passée et pour en prévoir le comportement futur (prévision à court terme). Contenu 1. Méthode de moyennes mobiles simples et doubles. 2. Méthode de lissage exponentiel simple et double. 3. Méthode de modèle de Holt et Winter. 5 RÉFÉRENCES 4. Les méthodes ARMA. 5. Méthode de détection de la saisonnalité par auto corrélation. 6. Les logiciels utilisés sont EXCEL et SAS. Références [1] Bovas Abraham , Johannes Ledolter Statistical Methods for Forecasting Editeur. Wiley. 6.1.6 Text Mining et langage naturel Enseignant Hervé De Milleville Objectif Il s’agit de donner aux élèves les concepts et les techniques d’analyse et de classification de textes en quantité massive. On montre la différence avec le traitement de langage naturel qui s’intéresse à l’analyse linguistique et le Text Mining qui s’intéresse à l’analyse statistique. On s’appuiera sur l’outil très puissant de SAS : Text Miner. Contenu 1. Data Mining et Text Mining : pour qui et pour quoi ? 2. Mots et lemmatisation. 3. Analyse linguistique. 4. Analyses statistiques. 5. Mots et fréquences de mots. 6. Thèmes et analyse factorielle de correspondance multiples. 7. Thèmes et classification et extraction automatique de mots-clés. 8. Classement de documents : arbre de décision et réseau de neurones. 9. Requêtes ouvertes : chaîne de Markov. Références [1] Ronen Feldman , James Sanger The Text Mining Handbook Advanced Approaches in Analyzing Unstructured Data . Cambridge University Press. 6.1.7 Vie Artificielle Enseignant Stefan Bornhfen 6 6.2 Module Recherche Opérationnelle Contenu 1. Complexité, émergence, automates cellulaires 2. Fractales, L-systèmes 3. Intelligence collective, algorithmes de colonies de fourmis 4. Systèmes multi-agents 5. Evolution artificielle 6. Mondes virtuels & perspectives 6.2 6.2.1 Module Recherche Opérationnelle Programmation par contraintes et ordonnancement Enseignant Maria Malek Objectif Les techniques et les algorithmes utilisés pour la résolution des contraintes sont présentés. La problématique de la recherche des algorithmes performants et optimisés est détaillée tout le long de ce cours. L’outil utilisé : GNU Prolog. Contenu 1. Problème de Satisfaction de Contraintes, Algorithmes Backtrack, Anticipation & Choix du plus petit domaine. 2. La notion de Consistance, Algorithmes AC1, AC3 & AC4. 3. Les Contraintes & Gnu Prolog. Le problème de N reines, Le problème du zèbre 4. Les contraintes globales. Problème de voyageur de commerce. Problème du sac à dos. 5. Coloration et emploi du temps. 6. Exercices : Problème du Sel & Moutarde, Problème d’ordonnancement, SUDOKU, Problème des Mariages stables Références [1] Thom Frühwirth and Slim Abdennadher, Essentials of Constraint Programming. Springer, 2003. 6.2.2 Théorie de la complexité Enseignant Houcine Senoussi Objectif Introduire la théorie de la décidabilité à travers ses grands thèmes (un problème peut-il être résolu sur ordinateur ? Donner aux étudiants les moyens d’évaluer la difficulté d’un problème et de savoir ce qui est faisable (sur ordinateur) et ce qui ne l’est pas. 7 RÉFÉRENCES Contenu 1. Elements de base, Objet de la décidabilité 2. Rappels sur la théorie des graphes 3. Machine de Turing. Rappels et compléments sur la théorie des langages 4. Décidabilité : langages récursifs et langages récursivement énumerables. 5. Problèmes indécidables : le problème de l’arrêt (HALTING) 6. Complexité : classes de problèmes, classes P et NP, Problèmes NP-Complets Références [1] C. H. Papadimitriou, Computational complexity. Addison-Wesley, 1994. [2] P. Wolper, Introduction à la calculabilité (3ième édition). Dunod, 2006. 6.2.3 SAS-OR Enseignant Richard Eudes/SAS. Objectif This course focuses on formulating and solving mathematical optimization using the OPTMODEL procedure, from inputting data to interpreting output and generating reports. The course covers linear, integer, mixed-integer, and nonlinear programming problems, with an emphasis on model formulation and construction. Contenu 1. Introduction to Mathematical Optimization. 2. Linear Programming Problems : Basic Ideas 3. Linear Programming Problems : Additional Topics 4. Integer and Mixed-Integer Linear Programming Problems 5. Nonlinear Programming Problems 6.2.4 Optimisation multi objectif et multi critères Enseignant Rachid Chelouah Objectif L’objectif de ce cours est de donner aux étudiants des méthodes et des outils pour savoir modéliser et identifier des problèmes tels que les problèmes : Ordonnancement, Cheminement, Arbre recouvrant, Voyageur de commerce, Affectation, Routage de véhicules, etc .Les nombreux secteurs de l’industrie concernés par ces problèmes sont : Télécommunications, Transport, Environnement, Mécanique, Aéronautique, etc.). 8 RÉFÉRENCES Contenu 1. Définitions et problématiques. Classification des méthodes. Les méthodes agrégées. 2. Méthode par moyenne pondérée. Méthode du but programmé. Méthode par but à atteindre. 3. Le min-max. Les méthodes non agrégées et non Pareto. 4. Sélection parallèle (VGA). Utilisation des genres. La méthode lexicographique. 5. Les méthodes basées sur Pareto. 6. Résolution par les métaheuristiques. Recuit simulé SA. Recherche tabou TS. 7. Algorithme génétique GA. Algorithme colonie de fourmis ACO. Algorithme par essaim particulaire PSO. Références [1] Coello Coello, C. A. ; Lamont, G. B. ; Van Veldhuizen, D. A. Evolutionary Algorithms for Solving Multi-Objective Problems (2 ed.).. Springer, 2007. 6.2.5 Recherche Opérationnelle & Métiers Enseignant Jean-Paul Vedel Objectif Montrer des cas industriels relevant des techniques de à modéliser des problèmes complexes, " à choisir de façon pertinente les techniques de résolution " à donner des interprétations économiques pour aider à la décision et en particulier on approfondit l’étude de la stabilité des solutions obtenus à travers du calibrage de paramètres opérationnelle. Contenu 1. Programmation linéaire appliquée à la production 2. Programmation dynamique 3. Gestion des stocks 4. Chaînes de Markov 5. Optimisation des transports 6. Gestion des files d’attente 7. Soutien logistique et fiabilité. Références [1] Robert Faure, Bernard Lemaire, Christophe Picouleau récis de recherche opérationnelle. Dunod. 9 6.3 modules complémentaires - 70h 6.3 6.3.1 modules complémentaires - 70h Web sémantique et Ontologies Enseignant Maria Malek Objectif Le but de ce cours est d’introduire le domaine du web sémantique et d’ontologies ainsi que leurs utilisations dans la représentation des connaissances sur le web ainsi que dans le domaine de la recherche d’information. Les outils et les frameworks utilisés pour les travaux pratiques de ce cours sont : Protégé, Jéna et Altova (XMLSPY et SemanticWorks). Contenu 1. Motivations, définitions et modèle en couches. 2. Formalisme : XML, RDF, RDF(s) et OWL 3. Notion d’ontologies : intérêt, construction. 4. Sortes d’ontologies : ontologie de domaine, de résolution, d’application, etc. 5. Représentation d’ontologies : formalisme et langages. 6. Ontologies : Notions d’annotation, d’indexation et d’alignement. 7. Application Amazon : utilisation de la taxonomie du domaine pour la recommandation des produits sur le site d’Amazon. Références [1] G.Antoniou and F.V. Harmelen. A semantic web primer. MIT Press, Massachusetts Institute of Technology, 2004. 6.3.2 Introduction à l’informatique décisionnelle Enseignant Laurent Hatier Objectif Ce cours présente les concepts du décisionnel à travers la chaîne du décisionnel. On apprend aux élèves à mettre en œuvre concrètement une chaîne du décisionnel en les familiarisant (sur des outils) aux trois étapes fondamentales : Extraction, transformation et chargement (ETL), Représentation en cube (OLAP), Reporting. Contenu 1. Le décisionnel : pour qui et pourquoi et origine de concept, les principes de constructions, les basiques de la modélisation 2. Les familles d’outils, Les techniques de modélisation 3. Modélisation du système opérationnel et du système décisionnel 4. ETL. 5. Reporting avec Business Objects 10 RÉFÉRENCES Références [1] Kimball Ralph , Margy Ross, Warren Thornthwaite, Joy Mundy, Bob Becker, The Data Warehouse Lifecycle Toolkit (2nd ed.). Wiley, 2008. 6.3.3 Web des données et du temps réel Enseignant Frantz Miccoli Objectif former les élèves autour des technologies émergentes du web : NOSQL, Node.js, Ruby. Contenu 1. NoSQL 2. Serveur web monothread et orienté événement 3. Web framework and applications 4. Analyse de sentiments 5. Norme de développement et contrôle qualité 6. projet global, exemple : analyse de sentiment depuis des données extraites de Twitter (a) Parsing de Twitter. (b) Service d’indexation et de restitution au sein d’une base de données. (c) Système d’administration permettant de gérer des utilisateurs au système et définir les thématiques sur lesquels faire l’analyse. (d) Application d’affichage temps réel autour des thématiques. 6.4 Les projets de l’option (voir le site de l’option pour plus de précisions) 6.4.1 Exemples d’intitulés de projets de fin d’études 1. Système de recommandation social et sémantique : approche par communautés. Application : réseau de co-achats sur Amazon. 2. Optimisation de l’ordonnancement de workflows basée QoS dans les environnements de cloud computing. 3. Fouille de données parallèle : Amélioration de l’algorithme Apriori en optimisant la recherche des sous ensembles fréquents. 11 6.4 Les projets de l’option 6.4.2 Exemples d’intitulés de projets d’entreprise 1. Analyse de l’outil Sentiment Analyser (en collaboration avec Exalead) 2. Fouille textuelle des opinions dans le domaine de la bourse (en collaboration avec le CEA) 3. Détection de communautés sur des données extraites de FaceBook (en collaboration avec Graphinum). 12