Apprentissage automatique et fouille de données (INFO942_IAI)
Volume horaire
Présentation
Ce module dédié à la fouille de données présente différentes méthodes d’apprentissage automatique pour construire des modèles à partir de données. Il s’agit de découvrir dans les données des structures ou motifs intéressants et d'en extraire des connaissances utiles à la conception d'outils intelligents ou à la compréhension de systèmes complexes. Issue de diverses disciplines scientifiques (statistiques, informatique, intelligence artificielle, ... ) la fouille de données est aujourd'hui exploitée dans de nombreux domaines d'activités.
Objectifs
Ce cours vise à rendre l'élève apte à : |
Niveau |
A l'issue de ce cours l'élève sera capable : |
---|---|---|
identifier les problèmes pouvant être abordés par des méthodes d’apprentissage automatique ou de fouille de données |
Expertise |
de citer quelques applications de la fouille de données |
d'expliquer la nature des données disponibles et la catégorie d'apprentissage à réaliser | ||
de formuler correctement un problème d’apprentissage automatique | ||
choisir une famille de techniques appropriées à la résolution d'un problème particulier et argumenter son choix |
Application |
d'expliquer le fonctionnement d'un arbre de décision, d'un réseau de neurones, d'un classifieur bayésien, d'une approche kppv |
d'expliquer en quoi consiste l’apprentissage de ces systèmes et de décrire les méthodes d’apprentissage associées | ||
de choisir un codage approprié des données | ||
utiliser une technique particulière pour résoudre un problème donné, interpréter et évaluer les résultats obtenus |
Maîtrise |
de différencier les erreurs d'apprentissage et de test et d'interpréter les matrices de confusion correspondantes |
d'expliquer le principe de la cross-validation et d'utiliser les techniques associées | ||
de mettre en forme les données, de déterminer les paramètres appropriés pour la méthode choisie et de réaliser l'apprentissage du système |
Pré-requis
- IGI641b
- MATH741
Plan du cours
Plan du cours
- Problématique générale
- Quelques cas résolus
- Les données
- Typologie des problèmes
- Formulation d'un problème d'apprentissage
- Arbres de décision
- Représentation
- Apprentissage d'un arbre
- Algorithme Id3
- Mise en oeuvre sous Weka
- Limites et extensions
- Evaluation du système appris
- Approche théorique
- Approche expérimentale
- Bien apprendre / bien évaluer
- Panorama de méthodes
- Réseaux de neurones
- Systèmes bayésiens
- Raisonnement à partir de cas
- Ouverture sur d'autres approches
- SVM
- Apprentissage non supervisé
- Règles d'association
Travaux pratiques
Les TP sont réalisés avec le logiciel Weka (produit Open Source) qui se présente sous la forme d'une collection d'algorithmes d'apprentissage utilisables, soit directement dans l'environnement graphique de Weka, soit à partir d'un code Java.
- Découverte de Weka, arbres de décision, cross-validation
- Classifieurs bayésiens, kppv
- Réseaux de neurones multi-couches
- Programmation Java, construction d'ensembles de donnée, cross-validation
Informations complémentaires
Bibliographie
- T.M. Mitchell, "Machine Learning", McGraw-Hill Series, 1997.
- S. Russell, P. Norvig, "Artificial Intelligence - A Modern Approach", Prentice Hall, 2003.
- I.A Witten, E. Franck, "Data mining - Practical machine learning tools and techniques with Java implementations", Morgan Kaufmann Publishers, 1999.
- François Denis, Rémi Gilleron, Apprentissage à partir d'exemples - Notes de Cours
- Tom Mitchell, Transparents associés à l'ouvrage "Machine Learning"
- Stuart Russell, Peter Norvig, Transparents associés à l'ouvrage "Artificial Intelligence - A Modern Approach"
- Andrew Ng, Standford Machine Learning course
- Weka 3: Data Mining Software in Java
- UCI Machine Learning Repository