apprentissage et reconnaisance de...
TRANSCRIPT
Apprentissage etReconnaisance de Formes
Nicolas Baskiotis
equipe MLIA, Laboratoire d’Informatique de Paris 6 (LIP6)Universite Pierre et Marie Curie (UPMC)
S2 (2014-2015)
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 1 / 30
Plan
1 Organisation de l’UE
2 Introduction
3 Les problematiques generales
4 Premiers modeles : Arbres de decision
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 2 / 30
Informations administrativesCrenaux
Cours : Mercredi 16h-18hTD/TME :
I groupe 1 : Mercredi 8h30-12h45I groupe 2 : Jeudi 8h30-12h45
Supports et references
Site du master : http://dac.lip6.fr/masterBeaucoup de references on-line, beaucoup de ebooks et de livres, cf siteen cas de questions/problemes→ email : [email protected] (et/ou forum ?)
EvaluationCC :
I travail en TMEI projet ou partiel
Examen
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 3 / 30
Pre-requis
Theoriques :I Probabilties et Statistiques→ Cours MAPSI de M1-S1, Cours LI323 de L3
I Notions d’algebre lineaire : matrice, vecteur, norme, produit scalaire, . . .I Notions d’analyse : derivee, derivee partielle, gradient, integrale, . . .
Du formalisme logique :I savoir lire une formule mathematique :
∀x ∈ E⋃F , ∃Y ⊂ Y, p(x) ∈ Y ⇒ ¬q(Y)
Programmation (pour les TMEs et projet) : PythonI savoir faire des scripts (MAPSI)I modules : matplotlib, numpy
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 4 / 30
Plan
1 Organisation de l’UE
2 Introduction
3 Les problematiques generales
4 Premiers modeles : Arbres de decision
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 5 / 30
Apprentissage artificielle ? (Machine Learning)
A votre avis, ca regroupe quoi ? Person of interest, serie
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 6 / 30
En image
Detection de visages (opencv)
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 7 / 30
En imageDetection de visages (opencv)
Mais aussi ... (betafaceapi.com)
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 7 / 30
En imageDetection d’objets teradeep.com, Purdue University
Tracking [Fragkiadaki et al. 12], Pennsylvania University
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 8 / 30
En texte toujours
Reconnaissance de chiffres
Ou de captcha [Yann et al. 08], Newcastle University
Et plein d’autres applications (traduction, detection de plagiat, . . . )
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 10 / 30
Et l’audio . . .
Reconnaissance de la parole http://markus-hauenstein.de
Mais aussi separation de sources, transcription musicale, . . .
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 11 / 30
Et dans d’autres sciencesBiologie IZBI, Leipzig University
Economie
Astronomie Climatologie (completion donnees)
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 12 / 30
Dans les jeux et la robotique
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 13 / 30
Plan
1 Organisation de l’UE
2 Introduction
3 Les problematiques generales
4 Premiers modeles : Arbres de decision
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 14 / 30
L’apprentissage (selon M. Sahani, UCL)
En quelques mots
Trouver des structures, des regularites dans des observations.Predire de nouvelles observations.
Touche a beaucoup de domaine, interdisciplinarite tres forte
Statistiques : theorie de l’apprentissage, fouille de donnees, inferenceInformatique : IA, vision, RIIngenierie : signal, controle, robotiqueScience cognitive, psychologie, neuroscience, epistemologieEconomie : theorie de la decision, theorie des jeux
L’apprentissage artificiel
etudie les algorithmes qui ameliore leur performance sur une tachedonnee en fonction de leur experience.fondements mathematiques, informatiques et applications concretes dessystemes qui apprennent, raisonnent et agissent.
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 15 / 30
Quand appliquer l’apprentissage ?
Lorsque :
l’expertise humaine est absenteimpossible d’expliquer cette expertiseles solutions sont dynamiquesles solutions doivent etre adaptees a beaucoup de cas specifiquesla taille du probleme est trop grand pour que l’humain puisse le resoudre
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 16 / 30
Les grandes famillesApprentissage supervise
ClassificationRegressionForecasting
Completion de donneesRankingRecommendation
Apprentissage non supervise
ClusteringApprentissage de representation, de dictionnaireAnalyse de sequencesRepresentation hierarchiqueDetection d’anomalies
Apprentissage par renforcement
Apprendre a jouerApprendre a interagir avec l’environement
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 17 / 30
Apprentissage supervise
Donnees du probleme
Une representation X des objets de l’etudeUne sortie d’interet y qui peut etre numerique, categorielle, structuree,complexe (label, reponse, etiquette, . . . )Un ensemble d’exemples, d’echantillons, sous leur representation X etavec leur sortie connue {(x1, y1), . . . , (xn, yn)}
Objectifs
Predire de maniere precise la sortie y pour un nouvel exemple x non vuComprendre quels facteurs influencent la sortieEvaluer la qualite de nos predictions
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 18 / 30
Apprentissage non supervise
Donnees du probleme
Une representation X des objets de l’etudeUn ensemble d’exemples, d’echantillons, sous leur representation X,{x1, . . . , xn}Pas de variable de sortie !
Objectifs
Trouver des groupes d’objets “semblables”Organiser les donnees d’une maniere “logique”Trouver les “similarites” des objetsTrouver des “representations“ des objets
⇒ on ne sait pas bien ce que l’on cherche⇒ tout un art !
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 19 / 30
Apprentissage par renforcement
Apprentissage continu en fonction du retour d’experience
Donnees du probleme
Un etat decrit l’environement courantUn ensemble d’actions sont possiblesUne politique permet de choisir en fonction de l’etat l’action a effectuerA l’issue de chaque action, une recompense est observee
Objectifs
S’ameliorer ! (ameliorer la politique de choix de l’action)Eviter les situations d’echecsComprendre la dynamique du probleme
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 20 / 30
Ce cours
C’est une introduction !Problematiques generales (biais, variance, evaluation, sur-apprentissage,representation des donnees)Methodes usuelles supervisees (arbres, k-nn, bayesien, reseaux deneuronnes, svm, . . . )Methodes usuelles non supervisees (EM, k-means, . . . )Pas de methodes avancees⇒ en M2 !
Objectifs
Comprendre les differentes techniques en profondeur,algorithmiquement et theoriquementSavoir evaluer une approcheSavoir selectionner des methodesSavoir traiter des donnees de differentes natures
L’apprentissage statistique est au cœur de la formation d’un data scientist
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 21 / 30
L’apprentissage aujourd’hui : Big Data
extrait du cours d’A. Smola
Entreprises concernees :
Yahoo, Google, Amazon, Netflix, Microsoft, Xerox, Criteo, Facebook, Twitter,Flicker, Instagram, Reddit, Valve, Steam, Deezer, Dailymotion, Youtube, STIF,SNCF, AXA, EDF, GDF-Suez, Veolia, les medias, . . .
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 22 / 30
Plan
1 Organisation de l’UE
2 Introduction
3 Les problematiques generales
4 Premiers modeles : Arbres de decision
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 23 / 30
Formalisation de l’apprentissage supervise
On dispose :
d’un espace de representation X , usuellement Rn
n est la dimension de l’espace de representation,chaque dimension = un attributd’un ensemble d’exemples X decrit dans cette espace :x ∈ X, x = (x1, x2, x3, . . . , xn)
d’un ensemble d’etiquettes/labels Y decrivant les classes d’interetquand Y contient deux classes→ classification binaire, usuellementY = {0, 1} ou Y = {−1, 1}pour chaque exemple xi de X, son etiquette yi
⇒ ensemble d’apprentissage E = {(xi, yi)}
On veut :Trouver une fonction f : X → Y telle que la prediction sur de futurs exemplessoit la plus precise possible.
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 24 / 30
Exemple : classification de texte
BalzacLa nuit m’a surprise a Beaugency, plongee dans unengourdissement moral qu’avait provoque ce singulier adieu.Que dois-je donc trouver dans ce monde si fort desire?D’abord, je n’ai trouve personne pour me recevoir, les appretsde mon cœur ont ete perdus: ma mere etait au bois deBoulogne, mon pere etait au conseil; mon frere, le duc deRhetore, ne rentre jamais, m’a-t-on dit, que pour s’habiller,avant le dıner. Mademoiselle Griffith (elle a des griffes) etPhilippe m’ont conduite a mon appartement.
ZolaUn sourd grognement des haveurs accueillit ces paroles. Laforce de la hierarchie les retenait seule, cette hierarchiemilitaire qui, du galibot au maıtre-porion, les courbait les unssous les autres. Chaval et Levaque pourtant eurent un gestefurieux, tandis que Maheu les moderait du regard et queZacharie haussait gouailleusement les epaules. Mais Etienneetait peut-etre le plus fremissant. Depuis qu’il se trouvait aufond de cet enfer, une revolte lente le soulevait. Il regardaCatherine resignee, l’echine basse. Etait-ce possible qu’on setuat a une si dure besogne, dans ces tenebres mortelles, etqu’on n’y gagnat meme pas les quelques sous du painquotidien?
QuestionsComment representer du texte ?Comment classifier ?
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 25 / 30
Arbres de decision
revenir <= 0.0155gini = 0.49727895727
samples = 244
prisonnier <= 0.0120gini = 0.227443444842
samples = 107
changeaient <= 0.0140gini = 0.400873781235
samples = 137
cabotine <= 0.0314gini = 0.131415161718
samples = 99
raçon <= 0.0291gini = 0.21875
samples = 8
gini = 0.0612samples = 95
value = [ 92. 3.]
gini = 0.0000samples = 4
value = [ 0. 4.]
gini = 0.0000samples = 7
value = [ 0. 7.]
gini = 0.0000samples = 1
value = [ 1. 0.]
feignante <= 0.1652gini = 0.204142011834
samples = 26
legoujeux <= 0.0161gini = 0.233747260774
samples = 111
gini = 0.0000samples = 3
value = [ 0. 3.]
gini = 0.0000samples = 23
value = [ 23. 0.]
gini = 0.1709samples = 106
value = [ 10. 96.]
gini = 0.0000samples = 5
value = [ 5. 0.]
Principe
Chaque nœud interne : un test sur une des dimensions de XChaque branche : un resultat du testChaque feuille : un label de Y
⇒ classification en parcourant un chemin de la racine a une feuille.
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 26 / 30
Arbres de decision
revenir <= 0.0155gini = 0.49727895727
samples = 244
prisonnier <= 0.0120gini = 0.227443444842
samples = 107
changeaient <= 0.0140gini = 0.400873781235
samples = 137
cabotine <= 0.0314gini = 0.131415161718
samples = 99
raçon <= 0.0291gini = 0.21875
samples = 8
gini = 0.0612samples = 95
value = [ 92. 3.]
gini = 0.0000samples = 4
value = [ 0. 4.]
gini = 0.0000samples = 7
value = [ 0. 7.]
gini = 0.0000samples = 1
value = [ 1. 0.]
feignante <= 0.1652gini = 0.204142011834
samples = 26
legoujeux <= 0.0161gini = 0.233747260774
samples = 111
gini = 0.0000samples = 3
value = [ 0. 3.]
gini = 0.0000samples = 23
value = [ 23. 0.]
gini = 0.1709samples = 106
value = [ 10. 96.]
gini = 0.0000samples = 5
value = [ 5. 0.]
ExerciceComment representer :
x2 = 1 ∧ x3 = 1 ?x1 = 1 ∨ x5 = 1 ?x2 = 1 ∧ x3 = 1 ∨ x1 = 1 ∧ x2 = 0 ?
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 26 / 30
Apprentissage d’un arbre de decisionrevenir <= 0.0155
gini = 0.49727895727samples = 244
prisonnier <= 0.0120gini = 0.227443444842
samples = 107
changeaient <= 0.0140gini = 0.400873781235
samples = 137
cabotine <= 0.0314gini = 0.131415161718
samples = 99
raçon <= 0.0291gini = 0.21875
samples = 8
gini = 0.0612samples = 95
value = [ 92. 3.]
gini = 0.0000samples = 4
value = [ 0. 4.]
gini = 0.0000samples = 7
value = [ 0. 7.]
gini = 0.0000samples = 1
value = [ 1. 0.]
feignante <= 0.1652gini = 0.204142011834
samples = 26
legoujeux <= 0.0161gini = 0.233747260774
samples = 111
gini = 0.0000samples = 3
value = [ 0. 3.]
gini = 0.0000samples = 23
value = [ 23. 0.]
gini = 0.1709samples = 106
value = [ 10. 96.]
gini = 0.0000samples = 5
value = [ 5. 0.]
Algorithme glouton, top-down
Initialisation a la racine, considerer tous les exemplesSi le nœud n’est pas pur, alors
I Trouver xi le ”meilleur“ attribut pour ce nœud et les cas tests associesI Pour chaque test, creer un fils au nœud courantI Faire ”tomber“ les exemples du nœud courant a leur fils correspondant
sinon transformer le nœud en feuille.
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 27 / 30
Selectionner le meilleur attribut
Entropie d’une variable aleatoire
Soit X une variable aleatoire pouvant prendre n valeurs :
H(X) = −n∑
i=1
P(X = u)log(P(X = i))
Plus l’entropie est grande, plus le desordre est grand.Entropie nulle→ pas d’alea.
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 28 / 30
Selectionner le meilleur attribut
Entropie d’un echantillon : cas binaire
X un ensemble de donneesp+ la proportion d’exemples positifsp− la proportion d’exemples negatifsH(X) = −p+log(p+)− p−log(p−)
Cas general : entropie conditionelle
H(X|Y = y) = −∑n
i=1 P(X = i|Y = y)logP(X = i|Y = y)
H(X|Y) =∑
y∈Y P(Y = y)H(X|Y = y)
⇒ Gain d’information : I(X,Y) = H(X)− H(X|Y) = H(Y)− H(Y|X)
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 29 / 30
Ou s’arreter ? Est ce un bon modele ?
revenir <= 0.0155gini = 0.49727895727
samples = 244
prisonnier <= 0.0120gini = 0.227443444842
samples = 107
changeaient <= 0.0140gini = 0.400873781235
samples = 137
cabotine <= 0.0314gini = 0.131415161718
samples = 99
frisson <= 0.0407gini = 0.21875
samples = 8
fraîchement <= 0.0535gini = 0.061163434903
samples = 95
gini = 0.0000samples = 4
value = [ 0. 4.]
shall <= 0.0230gini = 0.0212741357382
samples = 93
gini = 0.0000samples = 2
value = [ 0. 2.]
gini = 0.0000samples = 92
value = [ 92. 0.]
gini = 0.0000samples = 1
value = [ 0. 1.]
gini = 0.0000samples = 7
value = [ 0. 7.]
gini = 0.0000samples = 1
value = [ 1. 0.]
feignante <= 0.1652gini = 0.204142011834
samples = 26
legoujeux <= 0.0161gini = 0.233747260774
samples = 111
gini = 0.0000samples = 3
value = [ 0. 3.]
gini = 0.0000samples = 23
value = [ 23. 0.]
fugitif <= 0.0214gini = 0.170879316483
samples = 106
gini = 0.0000samples = 5
value = [ 5. 0.]
caïman <= 0.0617gini = 0.126684890188
samples = 103
gini = 0.0000samples = 3
value = [ 3. 0.]
crotter <= 0.0573gini = 0.0768samples = 100
gini = 0.0000samples = 3
value = [ 3. 0.]
boitait <= 0.0218gini = 0.0399833402749
samples = 98
gini = 0.0000samples = 2
value = [ 2. 0.]
gini = 0.0000samples = 96
value = [ 0. 96.]
gini = 0.0000samples = 2
value = [ 2. 0.]
N. Baskiotis (LIP6, UPMC) ARF S2 (2014-2015) 30 / 30