- Site web du cours (cette page): http://www.iro.umontreal.ca/~vincentp/ift3395
- Professeur: Pascal Vincent.
Consultation: après le cours ou sur rendez-vous.
Je suis notoirement très lent à répondre aux emails. Si vous avez des questions pressantes à me poser, essayez si possible de venir directement me voir. Le mieux c'est à la fin d'un cours. - Démos: Rendez-vous sur la page de démos pour les documents relatifs aux séances de travaux pratiques et de laboratoires.
- Questions:
Si vous avez des questions posez-les de préférence sur le
forum du cours sur
Moodle,
visible à tous. Nous tâcherons d'y répondrons directement sur le forum.
Si vous voulez nous poser des questions privées aux démonstrateurs et à moi-même, envoyez un emai à dift3395@iro.umontreal.ca
Dernières nouvelles
- Vendredi 9
janvier 2009: Premier cours de 9h30 à 10h30 au local 1409.
Bienvenue à tous!
Il n'y aura pas de TP/Labo ce vendredi 9 janvier car nous n'aurons pas vu assez de matière. - Vous devez vous inscrire sur le
système Moodle.
Après y avoir créé un compte (si vous n'en avez pas déjà un),
choisissez le cours IFT3395/6390 et inscrivez-vous y.
[ Cliquez sur Moodle pour accéder au système ]
C'est au travers du système Moodle que vous seront communiquées les nouvelles concernant le cours, que vous pourrez poser des questions sur les forums, et que vous pourrez remettre vos travaux et consulter vos notes. - Premier TP/Labo ce vendredi 16 janvier. Si vous ne connaissez pas déjà Python, prenez un moment pour passer à travers le tutoriel de Python 2.5 (la verison actuellement installée au DIRO) avant la démo de vendredi.
- TOUTES LES ANNONCES SONT DÉSORMAIS FAITES SUR LE FORUM DE Moodle.
Horaire
Mardi | 13h30 - 15h30 | Théorie | AA 1409 |
Vendredi | 9h30 - 10h30 | Théorie | AA 1409 |
Vendredi | 10h30 - 11h30 | Travaux pratiques | AA 1409 |
Vendredi | 11h30 - 12h30 | Labo | AA 3181 |
Contenu et objectifs du cours
Ce cours est une introduction aux algorithmes d'apprentissage, un champ de recherche en intelligence artificielle. Ces algorithmes ont pour objectif de permettre à la machine d'apprendre à partir d'exemples. Le focus du cours est la classification: on observe un ensemble de paires (obser- vation, classe) et on essaye de prédire la classe d'une nouvelle observation. Les applications classiques de ces algorithmes se font dans le domaine de reconnaissance des formes (caractères, parole, etc.). Dans les dernières années plusieurs nouveaux champs d'applications sont apparus: le forage des données, l'analyse statistique de données textuelles, ou la gestion quantitative de portefeuilles financiers, l'analyse des expressions génétiques, etc. La matière du cours peut être donc exploitée dans nombreux domaines de l'informatique.
Le cours couvrira les sujets suivants: notions générales (terminologie de base, généralisation, malédiction de la dimensionalité, capacité, comparaison des classifieurs), algorithmes supervisés (k plus proches voisins, classifieurs linéaires, réseaux de neurones, machines à vecteur de support, arbres de décision et régression, apprentissage des règles symboliques, boosting, processus Gaussiens), algorithmes non- supervisés (analyse des composantes principales, quantisation vectorielle, méthode de k-moyennes, cartes auto-organisatrices, méthodes spectrales), modèles graphiques.
Evaluation
Pour IFT6390Mode d'évaluation | Valeur | |
---|---|---|
Travaux pratiques | 24% | 3 devoirs comptant pour 8% chaque. |
Projet individuel | 26% | Proposition: 17 mars. Rapport d'étape: 27 mars. Rapport final: fin avril |
Examen intra | 25% | Mardi 17 février (13h30-15h30, salle 1409, pavillon André Aisenstadt) |
Examen final | 25% | Vendredi 24 avril (9h30-12h30, salle 1175, pavillon André Aisenstadt) |
Pour IFT3395
Mode d'évaluation | Valeur | |
---|---|---|
Travaux pratiques | 30% | 3 devoirs comptant pour 10% chaque. |
Examen intra | 35% | Mardi 17 février (13h30-15h30, salle 1409, pavillon André Aisenstadt) |
Examen final | 35% | Vendredi 24 avril (9h30-12h30, salle 1175, pavillon André Aisenstadt)) |
Remarque: Le projet est obligatoire pour les étudiants d'IFT6390 mais optionnel pour les étudiants d'IFT3395. Les étudiants d'IFT3395 qui souhaitent ardamment réaliser un projet sont encouragés à le faire. Leur note finale sera alors calculée selon le barème IFT6390 ou IFT3395 qui résultera en la meilleure note. Remarquez cependant qu'un projet exige un important travail supplémentaire. Cette option n'est donc recommandée qu'aux étudiants désireux d'appliquer l'apprentissage machine à un projet de leur choix, qui leur tient à coeur, et motivés à y consacrer suffisamment de temps. Dans tous les cas cette option est soumise à l'approbation du projet par le professeur.
- Examen intra:
- Travaux pratiques: 3 devoirs comportant des parties théoriques et des parties de programmation. Ils se font individuellement.
- Projet individuel: (optionnel pour les étudiants d'IFT3395) Application des algorithmes d'apprentissage à une tâche proposée par l'étudiant et/ou implémentation d'un nouvel algorithme d'apprentissage (programmation, expérimentation, et comparaison de performance). Le projet doit être préalablement approuvé par le professeur. Proposition (environ 2 pages) pour début mars. Rapport d'étape (environ 2 pages) pour la fin mars. Projet final (max 8 pages, style NIPS) pour la fin avril. Les étudiants devront également effectuer une présentation orale de leur projet (15 à 20 mn pendant les dernières semaines du cours).
Examens et notes
Concernant la fraude et le plagiat ATTENTION! L'Université de Montréal a désormais une politique stricte en cas de fraude ou plagiat. Si une infraction est constaté, le professeur est tenu de faire un rapport au directeur du département. Une procédure administrative est alors automatiquement enclenchée avec les conséquences suivantes: l'infraction est notée à votre dossier, et une sanction est décidée (qui peut être grave en cas de récidive). Alors faites le travail vous-même!Les énoncés des examens des années passées se trouvent sur la page du cours de ces années:
- Page du cours que j'ai donné à l'Hiver 2008 (incluant les énoncés des examens)
- Page du cours que j'ai donné à l'Hiver 2007 (incluant les énoncés des examens)
- Page du cours donné par Balázs Kégl à l'Hiver 2006
Livre recommandé pour le cours
Aucun livre n'est obligatoire pour suivre le cours. Pour approfondir la matière du cours vous pouvez vous référer à l'un ou l'aure des livres suivants :- Christopher Bishop, Pattern Recognition and Machine Learning, Springer, 2006.
- Duda, Hart and Stork, Pattern Classification, Wiley-Interscience, 2000.
- David J.C. MacKay, Information Theory, Inference,
and Learning Algorithms, Cambridge University Press, 2003.
On peut également le télécharger librement du site web de l'auteur. - Hastie, Tibshirani, Friedman, The Elements of Statistical Learning, Springer-Verlag, 2001.
- Simon Haykin, Neural Networks and Learning Machines, 2008.
- Alpaydin, Introduction to Machine Learning (Adaptive Computation and Machine Learning), MIT Press, 2004.
Contenu détaillé des cours (planifiés ou effectués), lectures, échéances et travaux
Notez que l'horaire ci-dessous est préliminaire. Le détail des thèmes de cours pour les dates futures est donné à titre indicatif seulement, et sera mis à jour et adapté au cours de l'année. De même, les liens vers les diapos utilisées pour les cours seront mis à jour au fur et à mesure.
Semaine | Date | Thème du cours | Matériel du cours | Matériel imprimable (fonds blanc, 4 écrans / page) | À lire | Échéances et travaux |
---|---|---|---|---|---|---|
1 | 9.01.2009 | Présentation du cours et introduction | introduction.pdf | |||
2 | 13.01.2009 | Terminologie de l'apprentissage supervisé. Formalisation des méthodes à base de voisinage | 2_rappel_terminologie_supervise.pdf 2_formalisation_voisinage.pdf | terminologie.pdf voisinage.pdf |
Chapitre d'introduction de ma thèse. | |
16.01.2009 | Méthodes de type histogramme. Malédiction de la dimensionalité. Formalisation du problème de l'apprentissage. Notions de capacité et sur-apprentissage. | 3_histo_curse_capacity.pdf 3_ProblemeApprentissage.pdf |
histo_curse.pdf ProblemeApprentissage.pdf |
|||
3 | 20.01.2009 | Méthodes à base de voisinage: k-NN et fenêtres de Parzen pour classification, régression et estimation de densité. | 4_kNN_Parzen.pdf | kNN_Parzen.pdf | ||
23.01.2009 | Classification multiclasse et régression multiple. Rappels de proba. Classifieur de Bayes. Classifieur de Bayes Naif. | 5_classifieur_bayes.pdf ProbabilitesBalazs.pdf |
Bayes_classif.pdf ProbaBalazs.pdf |
ProbabilityWilliams.pdf ProbabilityRoweis.pdf ProbabilityBayesMoore.pdf | ||
4 | 27.01.2009 | Distributions. Gaussienne multivariée. Evaluation de la performance de généralisation. Courbes d'apprentissage. | 6_gaussienne_evalperf.pdf | Gaussienne_Evalperf.pdf | ||
30.01.2009 | Fonctions discriminantes. Modèles génératifs et méthodes paramétriques. Principe du maximum de vraisemblance. | 7_FonctionsDiscriminantes.pdf 7_MethodesParametriques.pdf |
FoctionsDiscriminantes.pdf MethodesParametriques.pdf |
|||
5 | 03.02.2009 | Rappels sur principe de minimisation du risque empirique pour la classification, la régression et l'estimation de densité. Lien avec principe du maximum de vraisemblance pour l'estimaiton de densité. Dérivation de la solution de maximum de vraisemblance pour une densité paramétrique Gaussienne univariée (1d). | ||||
06.02.2009 | Fonctions discriminantes linéaires. | DiscriminantesLineaires.pdf | DiscriminantesLineaires.pdf | |||
6 | 10.02.2009 | Fonctions discriminantes linéaires (suite). | Histoire du Perceptron (papier de Kaplan) | |||
13.02.2009 | Descente de gradient, Perceptron. | |
||||
7 | 17.02.2009 | Examen intra 13h30-15h30 en salle 1409, pavillon André Aisenstadt | ||||
20.02.2009 | Machines à Vecteurs de Support: cas linéaire |
|
Examen intra | |||
8 | 24.02.2009 | L'astuce du noyau |
kernel_trick.pdf | kernel_trick.pdf (4/page) | ||
27.02.2009 | ||||||
9 | 03.03.2009 | Semaine de lecture (pas de cours) | ||||
06.03.2009 | Semaine de lecture (pas de cours) | |||||
10 | 10.03.2009 | Correction de l'intra | ||||
13.03.2009 | Survol: de la régression linéaire aux réseaux de neurones | FromLinearRegressionToNNets.pdf | FromLinearRegressionToNNets.pdf (4/page) | |||
11 | 17.03.2009 | Réseaux de Neurones. | ReseauxDeNeurones.pdf | ReseauxDeNeurones.pdf | ||
20.03.2009 | Calcul de gradient dans les réseaux de neurones. Régularisation et weight decay. |
Voir les notes de Yoshua sur le calcul de gradient. |
|
|||
12 | 24.03.2009 | Arbres de décision | ArbresDeDecision.pdf | ArbresDeDecision.pdf (4/page) |
|
|
27.03.2009 | Méta algorithmes, méthodes à base d'ensemble de classifieurs: bagging, ensembles d'entraînements pondérés, introduction au boosting (AdaBoost). | Pour cette
introduction
aux méthodes d'ensembles de classifieurs, je vous invite à
consulter
le chapitre de Peter Bühlmann Bagging,
Boosting and Ensemble Methods. J'expliquerai aussi l'algorthme AdaBoost en me fondant sur les transparents de Jiri Matas et Jan Sochman. |
|
|||
13 | 31.03.2009 |
|
Pas de transparents pour ce cours. A vous de prendre
des notes. Pour les algorithmes de partitionnement (clustering) voir le tutoriel de Matteucci. Pour la dernière partie je me baserai sur Introduction aux modèles graphiques probabilistes par Kevin Murphy |
Je donne ici en référence les
transparents de Balazs sur l'apprentissage non-supervisé, pour
référence, bien que je vais peu ou pas m'en servir
pour la partie du cours portant sur l'apprentissage non
supervisé. Bref: VENEZ ASSISTER AU COURS! ApprentissageNonSupervise.pdf ApprentissageNonSupervise2.pdf ApprentissageNonSupervise3.pdf |
||
03.04.2009 | Mélange de densités et algorithme E.M. |
Je n'ai pas de transparents pour ce cours. PRENEZ DES
NOTES! |
||||
14 | 07.04.2009 | Apprentissage non supervisé: réduction de dimensionalité, modèles à variables latentes continues. | Réduction de dimensionalité, modèles à variables latentes continues. | continuous_latent_variables_print.pdf | ||
10.04.2009 | Pas de
cours (Congé de Pâques) |
|
||||
15 | 14.04.2009 | Présentations de projets | ||||
17.04.2009 | Présentations de projets | |||||
16 | 21.04.2009 | Pas de cours (semaine d'examen) | ||||
24.04.2009 | Examen final 9h30-12h30
salle 1175, pavillon André Aisenstadt |
|||||
17 | 28.04.2009 | Pas de cours (semaine d'examen) |
Autres références (ouvrages plus spécialisés pour approfondir certains sujets)
- Schölkopf, Smola, Learning with Kernels,
MIT Press, 2002.
La bible des méthodes à noyau modernes. - Cristianini, Shawe-Taylor, An Introduction To
Support Vector Machines, Cambridge University Press, 2000.
Couverture simple du sujet des SVM. - Breiman, Friedman, Olshen, Stone, Classification and Regression Trees, CRC Press, 1993.
- Devroye, Györfi, Lugosi, A Probabilistic
Theory of Pattern Recognition, Springer-Verlag, 1997.
La bible de la théorie de l'apprentissage. - Vapnik, Statistical Learning Theory,
Wiley & Sons, 1998.
La théorie de l'apprentissage. - Vapnik, The Nature of Statistical Learning Theory,
Springer-Verlag, 1999.
Version plus digeste de Statistical Learning Theory. Focalise sur les principes plutot que sur les détails mathématiques.