Techniques d`apprentissage IFT603

publicité
Hiver 2017
Techniques d'apprentissage
IFT603
Plan de cours
Par
Pierre-Marc Jodoin
Présentation
•
•
•
•
•
Professeur : Pierre-Marc Jodoin
Courriel : [email protected]
Page web : http://info.usherbrooke.ca/pmjodoin/
Local : D4-1016-1, pavillon des sciences
Période de disponibilités : Jeudi de 9h30 à 17h00
• Présentations magistrales
– Lundi de 16h30 à 17h20
– Mercredi de 10h30 à 12h20.
2
Évaluation IFT603
• 4 travaux pratiques
–
–
–
–
40%
Tp1 10 %
Tp2 10 %
Tp3 10%
Tp4 10%
• Examen intra
• Examen final
20%
40%
3
Évaluation (suite)
• Les examens se font seul.
• L’examen final portera sur toute la matière vue en classe
– Date des examens :
• intra à déterminer,
• final à déterminer.
• Vous avez droit à des feuilles manuscrites non photocopiées
pour toute documentation.
• Votre présence aux séances magistrales est fortement
recommandée.
4
Évaluation (suite)
• Les travaux pratiques se font PAR ÉQUIPE DE DEUX.
– Sinon PÉNALITÉS
• La remise du code et des exercices théoriques (lorsqu’il y en a) se
fait par le système turninWeb
(http://opus.dinf.usherbrooke.ca/)
• Si vous avez des réponses manuscrites, vous devez les scanner.
5
Évaluation (suite)
• Les travaux pratiques se font en python.
• Correcteur et soutient technique
– Clément Zotti : [email protected]
6
Préalables
•
•
•
•
Connaissances de base en programmation orientée objet.
Bonnes connaissances en algèbre linéaire.
Bonnes connaissances en probabilités.
Il est fortement recommandé de se procurer le livre
Christopher M. Bishop. Pattern Recognition and Machine Learning.
Springer, 2007.
7
Recommandations
•
•
•
•
N’attendez pas à la dernière minute pour faire les TP
Faites 100% des TP et non 50%-50%.
Jamais une bonne idée de plagier
Feedbacks en temps réel.
8
Classe inversée
• Les présentations magistrales sont basées sur l’hypothèse
que vous avez vus les vidéos d’Hugo Larochelle
Voir : http://info.usherbrooke.ca/pmjodoin/cours/ift603/index.html
•
Le visionnement des vidéos de H.Larochelle est OBLIGATOIRE
(environ 1 heure de vidéo par semaine)
• En classe
–
–
–
–
nous reverrons les parties « difficiles » des notes de cours;
je répondrai à vos questions;
Nous verrons des illustrations de la théorie;
Nous ferons certains exercices.
9
Introduction au cours
10
Motivation
•
•
But de l’apprentissage automatique (machine learning)
•
donner à la machine la capacité d’apprendre à résoudre des problèmes par
elle-même (souvent à partir d’exemples)
•
découvrir les fondements théoriques de l’apprentissage
C’est une sous-discipline de l’intelligence artificielle en forte croissance
11
Fondements
• L’apprentissage automatique est multi-disciplinaire
– Informatique
– Mathématiques (stats, algèbre linéaires, probabilité, optimisation)
– Neurosciences
• Un bel exemple de mathématiques appliquées
12
Applications
• Vision par ordinateur
– Reconnaissance de caractères
– Localisation de visages
– Reconnaissance de silhouettes humaines (Kinect)
• Traitement automatique du langage
–
–
–
–
système de questions-réponses (IBM Watson)
reconnaissance de la voix (Siri),
classification de documents (pourriels),
traduction automatique.
• Robotique
– Conduite automatisée (Google car)
• Et bien d’autres
– Prédiction financière, recommandation d’achat (amazon), etc.
13
Objectifs du cours
• 2 grands objectifs
– Apprendre les fondements théoriques
– Savoir les mettre en pratique.
• Plus particulièrement (mais pas exclusivement…)
– Régression
– Classification
– Approches supervisées VS approches non-supervisées
… le tout dans un cadre probabiliste
14
Classification supervisée
Entraînement
À partir de données provenant de 2 classes
et
(ici des “features” en 2D)
Le but est de trouver une function y() tel que
y( ) = classe 1
y( ) = classe 2
Classification supervisée
Entraînement de plus de deux classes
Soit des données provenant de 3 classes
(ici des features en 2D)
,
et
Trouver une function y() tel que
y( ) = classe 1
y( ) = classe 2
y( ) = classe 3
Classification supervisée
Une fois l’entraînement terminé, nous disposons d’un function y( ) pouvant
convertir n’importequel point 2D en une étiquette de classe.
La phase de test a pour but de prédire l’étiquette de classe de nouvelles
données Xi n’ayant jamais été observées
X1
X3
X2
X4
X5
X6
y(X1) => class
y(X2) => class
y(X3) => class
y(X4) => class
y(X5) => class
y(X6) => class
Classification supervisée (examples)
Inria person dataset
Positifs
Négatifs
Classification supervisée (examples)
Inria person dataset
• 2 classes
• 20,252 images,
=> 14,596 entrainement
=> 5,656 test
• Chaque image sont en RGB
=> 64x128x3
Si on linéarise ces images, on peut les représenter à l’aide
d’un vecteur de 64x128x3 = 9,984 dimensions.
Classification supervisée (examples)
Exemples, mnist
Classification supervisée (examples)
Exemples, mnist
• 10 classes
• 70,000 images
=> 60,000 entrainement
=> 10,000 test
• Chaque image est en niveaux de gris
=> 28x28
Ici aussi, les images MNIST peuvent être vectorisées et
représentées à l’aide d’un vecteur à 28x28 = 784 dimensions.
Classification supervisée (examples)
Partant de données étiquettées, (ici des images pour lesquelles on
connaît l’etiquette de classe), l’apprentissage supervisée appliqué à la
classification a pour objectif ultime de trouver une function de
classification qui devrait permettre de bien classes de nouveaux
exemples.
Inria Person
mnist
y(
) = Person
y(
) = ‘6’
y(
) = NotPerson
y(
) = ‘2’
Classification supervisée
Prédiction de nouvelles données.
Espace à D-dimensions
Bird

xi
Decision
boundary
Dog
Training data
Testing data
Mathématiquement…
Ensemble d’entraînement: n données



D  ( x1 , t1 ), ( x2 , t2 ),..., ( xn , t n )

xi  d vecteur de caractéristiques ième exemple d’entraînement
ti  c1 , c2 ,..., cn  étiquette de classe du ième exemple d’entraînement
Functions: Soit D, on vise à apprendre une function de classification
y :  d  c1 , c2 ,..., cn 


y x j  spécifie à quelle classe un vecteur de caractéristique x j appartient.
Régression supervisée (examples)
Ensemble d’entraînement: n données

xi  d
ti  



D  ( x1 , t1 ), ( x2 , t2 ),..., ( xn , t n )
vecteur de caractéristiques ième exemple d’entraînement
prédiction du ième exemple d’entraînement
Functions: Soit D, on vise à apprendre une function de classification
y : d  


y x j  spécifie à quelle “prediction” un vecteur de caractéristique x j appartient.
Régression supervisée (examples)
Étant donné un ensemble d’entraînement, le but n’est pas de séparer les données
de plusieurs classes mais de retrouver le modèle ayant servit à générer les données.
26
Régression supervisée (examples)
y (x)
Une fois y(x) connu, on peut estimer la valeur d’une maison étant
donné une taille en pi2 jamais observée.
27
Régression supervisée (examples)
Prédiction à la bourse
?
Exemple, étant donné l’historique à la bourse d’une compagnie,
quelle sera la valeur de son titre dans 1 semaine?
28
Régression supervisée (examples)
Analyse de traffic routier
En entrée on a des images et en sortie la densité du trafic
Données d’entraînement
t=0.17
t=0.59
t=0.05
t=0.37
Données de test
t=0.07
t=0.85
t=0.97
Apprentissage
Supervisé
Étant donné un ensemble de données étiquettées, trouver un critère
permettant de séparer chaque classes
(- exemples)
(+ exemples)
Espace des
Caractéristiques
(N-dimensions)
Frontière de
décision
30
Apprentissage
Non-supervisé
Étant donné un ensemble de données non-étiquettées, grouper celles
dont les caractéristiques sont similaires
Espace des
Caractéristiques
(N-dimensions)
Classe 1
Classe 2
31
Apprentissage
Non-supervisé
Étant donné un ensemble de données non-étiquettées, grouper celles
dont les caractéristiques sont similaires
On appelle également cette tâche “clustering”
32
Liens avec d’autres cours
• IFT 615 - Intelligence artificielle
– traite de plusieurs sous-discipline de l’intelligence artificielle, pas
seulement l’apprentissage automatique
• IFT 501 - Recherche d’information et forage de données
– traite d’algorithmes d’apprentissage différents (arbre de décision, k plus
proches voisins)
– met une plus grande emphase sur l’application (données du web,
recommandation)
– Beaucoup d’analyse de données non étiquettées (clustering).
33
Liens avec d’autres cours
• IFT 607 - Traitement automatique des langues naturelles
– traite d’algorithmes d’apprentissage dans le contexte de données
textuelles (analyse syntaxique et sémantique, traduction automatique)
• IMN601- Reconnaissance de formes et analyse d'images
avancée
– traite d’algorithmes d’apprentissage dans le contexte de l’analyse
d’images (classification de caractères, reconnaissance de visages,
segmentation d’images, etc.)
34
À partir de maintenant
• Formez vos équipes
• Révision (ou apprentissage) de python (voir tutoriel sur le
site du cours)
• Révision des bases en math (voir vidéos en ligne)
• Visionnement du matériel de la première semaine
(concepts fondamentaux)
35
Téléchargement