Livres Introduction Mines

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 170

Introduction à l’apprentissage automatique

Frédéric S UR
[email protected]
https://members.loria.fr/FSur/

Tronc commun scientifique FICM 2A


École des Mines de Nancy

2021-2022

Machine Learning Captcha


https://xkcd.com/2228/
Table des matières

À l’attention des étudiants FICM 2A 7

1 Introduction 11
1.1 Qu’est-ce que l’apprentissage automatique ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Les données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Apprentissage non-supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.1 Classification supervisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.2 Régression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2 Deux limites fondamentales de l’apprentissage 25


2.1 La malédiction de la dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.1 Explosion combinatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.2 Discrétisation du cube unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.3 Volume de la boule unité et distance dans Rd . . . . . . . . . . . . . . . . . . . . . . 26
2.1.4 Quelles solutions pour contrer la malédiction de la dimension ? . . . . . . . . . . . 28
2.2 Dilemme biais-fluctuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1 Notations et hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.2 Encadrement du risque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.3 Discussion : sous-apprentissage et sur-apprentissage . . . . . . . . . . . . . . . . . 31
2.2.4 Sélection de modèle et validation croisée . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Problèmes de partitionnement 39
3.1 Méthodes hiérarchiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 Mesures de dissimilarité entre observations et entre groupes . . . . . . . . . . . . . 39
3.1.2 Algorithme de construction du dendrogramme . . . . . . . . . . . . . . . . . . . . . 41
3.1.3 Nombre de groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.4 Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 Partitionnement en K -moyennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.1 Algorithme de Lloyd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3 Méthodes de partitionnement basées sur la densité . . . . . . . . . . . . . . . . . . . . . . . 47
3.3.1 DBSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.2 Mean shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4 Théorie statistique de la décision 55


4.1 Minimisation du risque de prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.1.1 Minimisation du risque et régression . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.1.2 Minimisation du risque et classification . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Estimation de densités de probabilité 63


5.1 Méthodes non-paramétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1.1 Histogrammes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.1.2 Méthode de Parzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.1.3 Méthodes des K plus proches voisins . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Méthodes paramétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.1 Estimateur du maximum de vraisemblance . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.2 Une distribution très utile : le mélange de gaussiennes . . . . . . . . . . . . . . . . . 68
5.3 Le retour de la malédiction de la dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.4 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6 Mise en œuvre du classifeur de Bayes 75


6.1 Classifieur naïf de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.1.1 Indépendance conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.1.2 Classifieur naïf de Bayes gaussien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2 Régression logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.1 Estimation des paramètres : régression logistique . . . . . . . . . . . . . . . . . . . . 78
6.2.2 Classifieur de la régression logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.3 Classification au sens des P plus proches voisins . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3.1 Rappel : estimation aux plus proches voisins d’une distribution . . . . . . . . . . . 80
6.3.2 Classification au sens du maximum a posteriori . . . . . . . . . . . . . . . . . . . . . 80
6.3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.4 Résumé : mise en œuvre du classifieur de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.5 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

7 Méthodes ensemblistes : bagging et boosting 85


7.1 Méthodes ensemblistes, classifieurs faibles et forts . . . . . . . . . . . . . . . . . . . . . . . 85
7.2 Techniques de bagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.2.1 Agrégation bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.2.2 Forêts aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.3 Techniques de boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.3.1 Adaboost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.3.2 Gradient boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.4 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

8 Machines à vecteurs supports 99


8.1 Notion de marge maximale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.1.1 Problème d’optimisation associé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.1.2 Dualité pour le problème des SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.1.3 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
8.2 Marge souple et variables d’écart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.2.1 Problème primal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.2.2 Problème dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.3 Astuce du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.3.1 Séparation linéaire et dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.3.2 L’astuce du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8.3.3 Ingénierie des noyaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.4 Retour sur les classifieurs du cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.4.1 Problèmes d’optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.4.2 Comparaison des fonctions de perte (ou coût des erreurs) . . . . . . . . . . . . . . . 113
8.4.3 Quel modèle choisir ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8.5 Régression à vecteurs supports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
8.6 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

9 Les réseaux de neurones artificiels 123


9.1 Le perceptron (neurone artificiel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
9.1.1 Algorithme d’apprentissage du perceptron . . . . . . . . . . . . . . . . . . . . . . . . 124
9.1.2 Perceptron multiclasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
9.1.3 Limites du perceptron, et comment les dépasser . . . . . . . . . . . . . . . . . . . . 127
9.2 Perceptron multicouche ou réseau de neurones artificiels . . . . . . . . . . . . . . . . . . . 129
9.2.1 Fonction d’activation σ d’un neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
9.2.2 Sortie d’un réseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
9.3 Expressivité des réseaux de neurones artificiels . . . . . . . . . . . . . . . . . . . . . . . . . 134
9.3.1 Théorème d’approximation universelle . . . . . . . . . . . . . . . . . . . . . . . . . . 134
9.3.2 Réseaux de neurones et classifieur universel . . . . . . . . . . . . . . . . . . . . . . . 135
9.4 Apprentissage et rétropropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
9.4.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
9.4.2 Coût d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.4.3 Descente de gradient et perceptron multicouche . . . . . . . . . . . . . . . . . . . . 138
9.4.4 Apprentissage et rétropropagation des erreurs . . . . . . . . . . . . . . . . . . . . . . 140
9.4.5 Remarques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.5 Problème du sur-apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.6 Conclusion sur les réseaux de neurones pré-2012. . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.7 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

10 Introduction aux réseaux de neurones convolutifs et à l’apprentissage profond 145


10.1 Le retour des réseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.2 Apprentissage profond par réseaux convolutifs . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.2.1 Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.2.2 Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.2.3 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.2.4 Augmentation des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.3 L’exemple de VGG16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.4 Apprentissage par transfert et réglage fin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.5 Pour approfondir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

A Quelques résultats utiles 153


A.1 Inégalités de Hoeffding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
A.2 Dérivation des fonctions composées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
A.3 Matrices symétriques, classification des quadriques et coniques . . . . . . . . . . . . . . . 154
A.3.1 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
A.3.2 Classification des quadriques et coniques . . . . . . . . . . . . . . . . . . . . . . . . 155
A.3.3 Propriétés utiles dans le cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

B Rappels d’optimisation 159


B.1 Éléments d’optimisation convexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
B.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
B.1.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
B.2 Dualité de Wolfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
B.3 Optimisation numérique par algorithme de descente . . . . . . . . . . . . . . . . . . . . . . 162
B.3.1 Exemple introductif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
B.3.2 Algorithme de descente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
B.3.3 Algorithme du gradient stochastique . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Index 167
À l’attention des étudiants FICM 2A

Objectifs pédagogiques Le but de ce cours est de permettre la compréhension des enjeux


scientifiques et techniques de l’intelligence artificielle, ainsi que la mise en œuvre pratique
d’algorithmes d’apprentissage. Le volume horaire disponible étant limité, le panorama que
nous dresserons sera représentatif mais nécessairement partiel. Nous aborderons des ques-
tions théoriques permettant de comprendre les limites fondamentales de l’apprentissage,
l’exposition de quelques modèles, des éléments de méthodologie, et la mise en œuvre dans
un environnement de programmation très utilisé en milieu académique et industriel (carnets
Jupyter et bibliothèque Python scikit-learn).
Le cours s’adresse à tous les élèves FICM, quelque soit leur département. Il ne s’agit pas
d’un cours de mathématiques ou d’informatique. L’apprentissage automatique est à présent
utilisé dans de nombreux domaines d’application et tout ingénieur sera, au minimum, appelé
à interagir avec des spécialistes, voire à décider du déploiement d’une « solution IA ». Bon
nombre d’entre vous approfondirez le sujet dans des cours spécialisés ou même dans des M2
dédiés, et consoliderez les aspects mathématiques, informatiques, ou applicatifs selon votre
domaine de prédilection.

Polycopié Ce document constitue les notes du cours Introduction à l’apprentissage auto-


matique du tronc commun scientifique 2A de Mines Nancy. Il expose les aspects fondamen-
taux que vous devrez étudier en autonomie avant de participer au cours magistral et aux
travaux pratiques.
Le polycopié est écrit dans l’optique d’être utile à tous. À ce titre, il couvre volontaire-
ment plus de sujets que ce qui sera discuté en cours ou évalué au test. Il contient des dé-
monstrations, des approfondissements, ou des suggestions de lectures complémentaires qui
pourront servir dans le cadre d’un projet 2A ou 3A, parcours recherche, cours de M2, ou, plus
simplement, susciteront la curiosité. Pour faciliter la lecture, les paragraphes facultatifs sont
signalés par un liseré grisé comme dans la marge ci-contre. Les chapitres et certains passages
non traités ou facultatifs ne figurent pas dans la version imprimée par souci d’économie.La
dernière version du polycopié est téléchargeable sur la page Arche ainsi qu’à l’URL suivante :
https://members.loria.fr/FSur/enseignement/apprauto/poly_apprauto_FSur.pdf
Certaines figures sont plus lisibles en couleurs dans le document pdf en ligne.
Vous vous rendrez compte que le polycopié ne se suffit pas à lui-même : les exemples vus
en cours et les travaux pratiques facilitent souvent la compréhension. N’hésitez pas à revenir
au polycopié après la séance de cours.
Je souhaite remercier Xavier Goaoc (département Informatique de Mines Nancy) pour sa
relecture attentive et ses nombreuses suggestions d’ajouts ou de clarifications.

Page Arche du cours Le calendrier, les supports de cours, les sujets de TP et leur correction,
ainsi que les passages à lire en prévision de chaque séance seront disponibles sur la page
Arche du cours. Une heure de lecture attentive est à prévoir avant chaque séance de cours.

Bibliographie Le cours s’appuie essentiellement sur les ouvrages suivants :


1. C. Bishop, Pattern recognition and machine learning, Springer, 2006
2. T. Hastie, R. Tibshirani, J. Friedman, The elements of statistical learning, 2nd edition,
Springer 2008.
3. B. Efron and T. Hastie, Computer age statistical inference, Cambridge University Press,
2016
4. I. Goodfellow, Y. Bengio, A. Courville, Deep learning, MIT Press, 2016.
Ils sont disponibles à la médiathèque et font partie des documents à consulter si vous sou-
haitez approfondir les sujets traités.
Le document suivant est un aide-mémoire très utile de résultats mathématiques de pre-
mier cycle ou de cours de tronc commun de première année à Mines Nancy :
G. Thomas, Mathematics for machine learning, University of California at Berkeley, 2018.
https://gwthomas.github.io/docs/math4ml.pdf
Pour faciliter la lecture de ces ouvrages et d’autres ressources, le vocabulaire de la littéra-
ture anglo-saxonne est indiqué en italique tout au long du polycopié.
Chaque chapitre se conclut par des suggestions de lecture. Les articles peuvent être trou-
vés sur votre moteur de recherche préféré. Utilisez également scholar.google.fr dédié à la
littérature académique. N’hésitez pas non plus à faire des recherches sur les concepts simple-
ment évoqués dans le document ou que vous jugerez nébuleux : de nombreuses ressources
pertinentes sont disponibles en ligne et il est toujours intéressant de voir différentes présen-
tations du même sujet.

Évaluation Le cours cherchant à satisfaire des aspirations diverses, vous pouvez légitime-
ment vous demander sur quels éléments portera l’évaluation. Une note de TP (sur 5 points)
sera attribuée par les encadrants de TP, sur la base de votre travail en séance et des résultats
aux QCM en ligne au début de chaque séance. L’examen final (sur 15 points) aura pour ob-
jectif de vérifier la compréhension des grands principes de l’apprentissage, des principaux
algorithmes, et du traitement de données réelles. Vous trouverez sur Arche des sujets d’exa-
men à titre d’exemple.

Frédéric Sur
23 août 2021
(première version de ce document : janvier 2020)
Notations

Dans ce document, les vecteurs figurent en gras et les matrices en lettres capitales. On
identifiera souvent un vecteur et la matrice colonne le représentant.
Voici les principales notations utilisées :
— le produit scalaire euclidien de deux vecteurs x et y est noté x · y. Rappelons que si les
composantes de ces vecteurs sont x = (x 1 , x 2 , . . . x d ) et y = (y 1 , y 2 , . . . , y d ), alors x · y =
Pd i i
i =1 x y ;
— la norme euclidienne d’un vecteur x est notée kxk2 . Elle vérifie kxk22 = x · x et pour tous
vecteurs x et y et scalaire λ ∈ R, kx + λyk22 = kxk22 + kyk22 + 2λx · y ;
— la transposée d’une matrice A est noté A T ;
— le déterminant d’une matrice carrée A est noté |A| ;
— l’inverse d’une matrice carrée inversible B est noté B −1 ;
— le cardinal d’un ensemble fini S est noté #S ;
— l’espérance d’une variable aléatoire X est notée E (X ) ;
— lorsqu’on cherche à optimiser une fonction f , on notera arg min x f (x) ou arg max x f (x)
une valeur de x où f (x) atteint son minimum ou maximum (« la » valeur dans le cas
d’un extremum unique).
Chapitre 1

Introduction

Ce chapitre introduit le vocabulaire de l’apprentissage automatique (machine learning


dans la littérature anglo-saxonne). La discipline étant relativement récente et en mutation
constante, le vocabulaire évolue et est sujet à des abus de langage, en particulier lorsqu’on
francise des termes techniques issus de la littérature scientifique en langue anglaise. L’objec-
tif de cette introduction est également de dresser un panorama de l’apprentissage et d’expli-
citer l’articulation entre les chapitres du cours.

1.1 Qu’est-ce que l’apprentissage automatique ?


La définition de l’apprentissage automatique selon Wikipedia (septembre 2020) est :
« L’apprentissage automatique (en anglais machine learning, littéralement « ap-
prentissage machine ») ou apprentissage statistique est un champ d’étude de l’in-
telligence artificielle qui se fonde sur des approches mathématiques et statistiques
pour donner aux ordinateurs la capacité d’ « apprendre » à partir de données, c’est-
à-dire d’améliorer leurs performances à résoudre des tâches sans être explicitement
programmés pour chacune. Plus largement, il concerne la conception, l’analyse,
l’optimisation, le développement et l’implémentation de telles méthodes. »
L’objectif du cours est de donner un sens à cette définition : que signifie « apprendre » à partir
de données, ou « ne pas être explicitement programmé » pour résoudre une tâche ?
Voici trois exemples de problèmes relevant de l’apprentissage automatique.
Exemple 1.1
Supposons que l’on dispose d’une collection d’articles de journaux. Comment identifier
des groupes d’articles portant sur un même sujet ?

Exemple 1.2
Supposons que l’on dispose d’un certain nombre d’images représentant des chiens, et
d’autres représentant des chats. Comment classer automatiquement une nouvelle image
CHAPITRE 1. INTRODUCTION 12

dans une des catégories « chien » ou « chat » ?

Exemple 1.3
Supposons que l’on dispose d’une base de données regroupant les caractéristiques de
logements dans une ville : superficie, quartier, étage, prix, année de construction, nombre
d’occupants, montant des frais de chauffage. Comment prédire la facture de chauffage à
partir des autres caractéristiques pour un logement qui n’appartiendrait pas à cette base ?

Trois grandes approches relèvent de l’apprentissage automatique : l’apprentissage su-


pervisé, l’apprentissage non-supervisé, et l’apprentissage par renforcement. Bien entendu,
cette classification est sujette à discussion, l’apprentissage semi-supervisé ou l’apprentis-
sage faiblement supervisé (par exemple) apparaissant aux interfaces de ces approches. Ce
cours traite les deux premiers aspects de l’apprentissage, et pas l’apprentissage par renforce-
ment qui relève d’autres méthodes mathématiques et algorithmiques. Dans l’exemple 1, on
cherche à regrouper les articles portant sur un même sujet, sans disposer d’exemples d’ar-
ticles dont on sait a priori qu’ils portent sur ce sujet, et sans connaître à l’avance les sujets à
identifier. On parlera donc de problème d’apprentissage non-supervisé. Dans les exemples 2
et 3, on cherche à prédire une caractéristique qui est soit une catégorie (exemple 2), soit un
montant de facture (exemple 3), à partir d’exemples pour lesquels on connaît la valeur de
cette caractéristique. Il s’agit de problèmes d’apprentissage supervisé.
Avant de détailler apprentissage supervisé ou non-supervisé, concentrons-nous sur la no-
tion de données.

1.2 Les données


Comme le suggère la définition proposée par Wikipedia, les algorithmes de l’apprentis-
sage automatique sont basés sur des données. On parle aussi d’échantillons (samples), d’ob-
servations, ou d’exemples. Concrètement, cela signifie que le jeu de données (dataset) est
formé d’un certain nombre d’articles de journaux (exemple 1), d’images de chiens et chats
(exemple 2), ou de caractéristiques de logement (exemple 3). Nous noterons la taille du jeu
de données N , chaque observation x n et le jeu de données de N observations (x n )1ÉnÉN .

Deux grandes familles de jeux de données peuvent être utilisées :


— les données étiquetées : chaque observation x n est fournie avec une étiquette (label) y n ;
— les données non-étiquetées : comme le nom l’indique, aucune étiquette n’est fournie.
Dans l’exemple 1, les données ne sont pas étiquetées (chaque x n représente un article de
journal), alors qu’elles le sont dans l’exemple 2 (x n représente une image, et y n = {chien} ou
y n = {chat}) ou dans l’exemple 3 (x n représente les informations superficie, quartier, étage,
prix, année de construction, nombre d’habitants, et y n est le montant des frais de chauf-
fage). Il est généralement plus facile de constituer un jeu de données non étiquetées qu’un
jeu de données étiquetées. Dans le premier cas, il « suffit » de collecter des données après pré-
traitement automatique minimal, alors que dans le second cas une intervention humaine
potentiellement coûteuse est souvent nécessaire pour définir les étiquettes.

École des Mines de Nancy


13 1.3. APPRENTISSAGE NON-SUPERVISÉ

Les données peuvent être vues comme des points dans un certain espace. Comme on le
verra, il est souvent nécessaire de comparer ces points, et il est alors bien pratique que l’es-
pace des données soit muni d’une distance. Dans le cas de données décrites dans un espace
vectoriel, les normes usuelles k·k1 ou k·k2 (norme euclidienne) font souvent l’affaire. Rappe-
lons que si x est un vecteur de Rd , de composantes (x 1 , . . . , x d ), alors
v
d d
u
uX
|x i |
X
kxk1 = et kxk2 = t |x i |2
i =1 i =1

Chaque composante x i de l’observation x est aussi appelée attribut, dimension, caractéris-


tique (feature), ou variable.
Dans l’exemple 2, les observations sont des images décrites comme un vecteur en listant
la valeur des niveaux de gris en chaque pixel (pour simplifier, on suppose qu’il s’agit d’images
noir et blanc). Les caractéristiques sont les niveau de gris en chaque pixel. La dimension d
peut valoir un million s’il s’agit d’images de taille réaliste, disons 1000 × 1000 pixels. Dans
l’exemple 3, chaque observation est composée de 6 caractéristiques, donc d = 6.
Néanmoins, dans l’exemple 1, les observations ne sont pas naturellement éléments d’un
espace vectoriel, et on peut se demander comment définir une distance entre documents
telle que des documents portant sur le même sujet soient proches au sens de cette distance.
On peut noter que le nombre d’observations disponibles peut fortement varier selon l’ap-
plication : on pourra sans doute extraire un grand nombre d’images de chats et chiens de
base de photographies comme Flickr (le 7 octobre 2020, 1 152 706 photographies sur Flickr
portent le label « chien » et 1 657 374 « chat »), mais il est peu probable de disposer d’un aussi
grand nombre de données relatives aux appartements. Comme on l’a vu précédemment, la
dimension d dépend également de l’application.

Remarque. Par exception, nous n’écrirons pas en gras les étiquettes y n car, en général, elles
désigneront généralement un numéro de classe dans le cas de la classification supervisée ou
un scalaire dans le cas de la régression, et plus rarement un vecteur.

1.3 Apprentissage non-supervisé


L’apprentissage non-supervisé (unsupervised learning) traite des données non-étiquetées.
L’objectif est d’identifier automatiquement des caractéristiques communes aux observations.
Les méthodes de réduction de dimension, comme l’analyse en composantes principales,
ou les méthodes d’estimation de densités de probabilité font partie de l’apprentissage non-
supervisé. Elles sont abordées dans d’autres cours à Mines Nancy. Dans ce cours, nous nous
intéresserons essentiellement au problème du partitionnement (clustering), dans lequel l’ob-
jectif est d’identifier automatiquement des groupes (ou clusters) d’observations partageant
des profils communs. On peut aussi parler de classification non-supervisée. Intuitivement,
les observations groupées ensemble doivent être davantage similaires entre elles qu’elles le
sont d’observations d’un autre groupe. Pour mesurer la similarité entre observations, il faut

Introduction à l’apprentissage automatique


CHAPITRE 1. INTRODUCTION 14

F IGURE 1.1 – Apprentissage non-supervisé. Ici, les données non-étiquetées sont des points dans
un espace bidimensionnel de composantes (x 1 , x 2 ). On peut chercher une densité de probabilité
ayant permis de générer les observations représentées sur la figure. On peut aussi chercher à
identifier des groupes. Dans cet exemple, il semble naturel d’identifier trois groupes. Notons
qu’ils ne sont pas nécessairement isotropes (la « forme » d’un groupe n’est pas sphérique), n’ont
pas le même nombre d’éléments, et que l’appartenance de certains points à un groupe ou l’autre
est ambiguë.

disposer d’une distance D entre observations. Le problème du partitionnement est illustré


par la figure 1.1.

La question qui se pose alors est de savoir comment on identifie les groupes à partir des
observations du jeu de données. On comprend également qu’il y a une certaine ambiguïté
dans l’objectif du partitionnement : « identifier des groupes d’observations partageant un
profil commun ». Un problème important est donc de fixer un seuil sur la distance D permet-
tant de décider ce qu’est la limite à « partager un profil commun ». De la même manière, on
peut se demander quel est le nombre de groupes à identifier dans l’ensemble des observa-
tions.

Le chapitre 3 discute plusieurs approches pour le partitionnement : les classifications


hiérarchiques, l’algorithme des k-moyennes, DBSCAN, et mean shift.

L’estimation de densités de probabilité est un autre problème d’apprentissage non-super-


visé. La question à résoudre est : étant donné un ensemble d’observations, quelle distribu-
tion de probabilité peut-elle l’avoir généré ? Nous donnerons des éléments de réponse au
chapitre 5 dans lequel nous verrons des méthodes d’estimations non-paramétriques (histo-
grammes, fenêtres de Parzen) et des méthodes paramétriques (en particulier le mélange de
gaussiennes).

École des Mines de Nancy


15 1.4. APPRENTISSAGE SUPERVISÉ

1.4 Apprentissage supervisé


L’apprentissage supervisé (supervised learning) s’intéresse aux données étiquetées. L’ob-
jectif est de prédire l’étiquette (inconnue) y associée à une nouvelle observation x, à partir de
la connaissance fournie par les N observations étiquetées du jeu de données (x n , y n )1ÉnÉN .
Pour ce faire, la quasi-totalité des méthodes vues dans ce cours considèrent une fonction
de prédiction f w appartenant à une famille paramétrée par w . Le vecteur w représente un
ensemble de paramètres, potentiellement très grand. La prédiction de l’étiquette d’une nou-
velle observation x ne faisant pas partie du jeu de données sera alors f w (x). Dans une phase
d’apprentissage (learning), aussi appelée d’entraînement (training), w est adapté de manière
à optimiser les performances de prédiction sur la base des observations étiquetées, appelée
ici base d’apprentissage ou d’entraînement. Pour ce faire, on mesure l’écart entre les « vraies »
étiquettes y n et les étiquettes prédites f w (x n ). Comme on le verra, il ne suffit pas de choisir w
minimisant cet écart pour obtenir des performances de prédiction optimales.
Dans un second temps (phase de test), on prédit l’étiquette d’une nouvelle observation x
comme f we (x), à l’aide de l’ensemble de paramètres w e obtenu par la phase d’apprentissage.
Les problèmes à résoudre sont le choix de la famille à laquelle appartient la fonction de
prédiction, la manière de mesurer l’écart entre vraie étiquette et étiquette prédite, ou le choix
du critère d’optimisation de w .
On distingue deux grandes familles de problèmes de l’apprentissage supervisé : classifica-
tion supervisée (y désigne une classe) et régression (y est une valeur scalaire ou vectorielle).
La distinction est justifiée par les méthodes de résolution assez différentes.

1.4.1 Classification supervisée


Lorsque les étiquettes y n prennent leurs valeurs dans un ensemble fini dont les éléments
correspondent à des catégories (ou classes) à identifier, on parle de classification supervi-
sée. La fonction f w associe alors une nouvelle observation x à une des classes. Elle défi-
nit donc une partition de l’ensemble des observations : chaque élément de cet ensemble
sera affecté à une des classes. Les frontières entre classes sont appelées frontières de sépa-
ration. L’exemple 2 relève de la classification supervisée, les étiquettes prenant deux valeurs
(« chien » ou « chat »). La figure 1.2 montre un exemple de problème de classification supervi-
sée. Sur cette figure, l’observation étiquetée « ? ? » illustre un dilemme classique : vaut-il mieux
la classer avec les ronds, car elle est globalement plus proche des ronds, ou avec les carrés,
car elle est très proche de quelques carrés ? Autrement dit, la frontière de séparation entre
cercles et carrés doit-elle être peu complexe, quitte à mal classer certaines observations de la
base d’apprentissage, ou bien très complexe, de manière à séparer finement cercles et carrés
et ne pas faire d’erreur de prédiction sur la base d’apprentissage ? Ce dilemme est illustré par
la figure 1.3 ; sa discussion sera formalisée au chapitre 2.
Le cadre de la théorie statistique de la décision, abordée au chapitre 4, permet de définir
un classifieur théorique optimal, à savoir le classifieur de Bayes. Néanmoins, ce classifieur
reste théorique et ne peut pas être mis en œuvre en pratique sans hypothèses supplémen-
taires. Selon les hypothèses que l’on impose, le classifieur de Bayes s’incarne en différents
modèles de classification supervisée : la classification aux plus proches voisins, le classifieur

Introduction à l’apprentissage automatique


CHAPITRE 1. INTRODUCTION 16

F IGURE 1.2 – Classification supervisée. Ici, l’espace des observations est le plan bidimensionnel.
Les observations ont des coordonnées (x 1 , x 2 ) et sont étiquetées par trois catégories (triangle,
rond, carré). L’objectif est de déterminer quelle catégorie associer à une nouvelle observation
non-étiquetée (représentée par une croix), à partir des observations étiquetées formant la base
d’apprentissage. Si pour l’observation marquée « ? » la tâche peut sembler facile (la classe est
vraisemblablement « rond »), on voit que la classification de l’observation « ? ? » est plus discu-
table (« rond » ou « carré » ?).

F IGURE 1.3 – Frontières de séparation sur deux exemples. Quelle frontière de séparation est-elle
la plus adaptée : une frontière complexe, permettant de classer correctement toutes les observa-
tions de la base d’apprentissage (à gauche), ou une frontière plus régulière, quitte à mal classer
certaines de ces observations (à droite) ?

École des Mines de Nancy


17 1.4. APPRENTISSAGE SUPERVISÉ

de la régression logistique (chapitre 6), les machines à vecteurs supports (chapitre 8), ou les
réseaux de neurones artificiels (chapitre 9).
Nous verrons aussi comment combiner plusieurs classifieurs dont les performances in-
dividuelles sont limitées à l’aide des méthodes ensemblistes au chapitre 7.
Nous verrons que la classification biclasse (ou binaire) est la plus courante : on cherche
à classer les observations dans deux classes. Lorsqu’on s’intéresse à K > 2 classes, on peut
adapter les classifieurs binaires de la manière suivante :
— Classification « un contre tous » (one versus all, one against all, ou one versus rest). Pour
chaque classe k ∈ {1, . . . , K }, on entraîne un classifieur biclasse f k permettant de discri-
miner les observations de la classe k des observations des autres classes, de telle sorte
que f k prend des valeurs positives sur les observations de la classe k et négatives sur les
autres observations. Ensuite, on affecte une nouvelle observation x à arg max k f k (x) :
la classe dont le classifieur associé a la plus grande valeur. Naturellement, cela sup-
pose que les valeurs prises par les classifieurs soient comparables. D’autre part, tous
les classifieurs ne permettent pas de discriminer efficacement deux classes dont l’une
(celle regroupant les observations des classes différentes de la k-ème) est de cardinal
beaucoup plus grand que l’autre.
— Classification « un contre un » (one versus one). Dans cette approche, on entraîne un
classifieur pour chaque paire de classes. Il faut donc entraîner K (K − 1)/2 classifieurs.
Ensuite, une possibilité est d’affecter une nouvelle observation x à la classe majoritaire
parmi celles prédites par les K (K − 1)/2 classifieurs. Outre le temps de calcul potentiel-
lement grand pour entraîner un tel nombre de classifieurs, il faut gérer les cas d’égalité
dans la règle de classification.
Certains classifieurs sont naturellement « multiclasses », comme le classifieur des plus proches
voisins, le classifieur naïf de Bayes, ou les réseaux de neurones artificiels. Ils ne nécessitent
donc pas d’utiliser une stratégie « un contre tous » ou « un contre un ».

1.4.2 Régression
Lorsque les étiquettes y n prennent des valeurs scalaires ou vectorielles, on parle de pro-
blème de régression. L’exemple 3 est un problème de régression, car on cherche à prédire
le montant de la facture de chauffage qui est une grandeur scalaire. La figure 1.4 illustre un
problème de régression d’une variable scalaire. On rencontre un dilemme semblable à celui
évoqué dans le cas de la classification supervisée. Il est illustré par la figure 1.5.
La régression étant abordée dans d’autres cours à Mines Nancy, nous nous concentrerons
plutôt sur les problèmes de classification dans ce cours.
Revenons néanmoins brièvement sur la régression linéaire multivariée. Dans ce cadre, les
étiquettes y sont scalaires, et les fonctions f w sont affines sur l’espace Rd des observations.
Ces fonctions s’écrivent sous la forme

f w (x) = w 0 + w 1 · x

où w 0 ∈ R, w 1 ∈ Rd , et w 1 · x désigne le produit scalaire entre w 1 et x.

Introduction à l’apprentissage automatique


CHAPITRE 1. INTRODUCTION 18

F IGURE 1.4 – Régression. Les observations sont des scalaires x, étiquetées par des scalaires y, les
couples (x, y) étant représentés dans le plan. L’objectif est de prédire la valeur de l’étiquette y ∗
associée à un scalaire x ∗ , à partir de la base d’apprentissage (x n , y n ) représentée par les ronds.
La difficulté est que certaines observations semblent entachées de perturbations aléatoires, cer-
taines observations semblant même aberrantes.

F IGURE 1.5 – Courbe de régression sur deux exemples. Vaut-il mieux une courbe passant très
près des observations d’apprentissage, ou une courbe plus régulière évitant les observations
aberrantes et robuste à des perturbations aléatoires des observations, voire robuste à des obser-
vations aberrantes ?

École des Mines de Nancy


19 1.4. APPRENTISSAGE SUPERVISÉ

1.4.2.1 Régression linéaire

Les paramètres w 0 et w 1 sont obtenus par la méthode des moindres carrés, c’est-à-dire
en minimisant la somme des carrés des résidus du modèle :
N
|y n − w 0 − w 1 · x|2
X
n=1

De manière générale, on appelle « résidu » l’écart entre valeur prédite f w (x) et « vraie » va-
leur y.
Si x est un scalaire et x = (x, x 2 , . . . , x p ) est constitué de puissances de x (jusqu’au degré
p > 0), on voit que la régression polynomiale apparaît comme un cas particulier de la régres-
sion linéaire.
Rappelons que les cours de statistique nous donnent l’expression de w 0 et w 1 en fonction
de la base d’apprentissage. En effet, notons W le vecteur colonne des paramètres, Y le vecteur
colonne des étiquettes, et X la matrice des observations, c’est-à-dire :
   
y1 1 x 11 x 12 . . . x 1d
 y2  1 x 21 x 22 . . . x 2d 
µ ¶    
w0
W= , Y =  . , X = .
   .. .. .. .. 
w1  ..   .. . . . . 

yN 1 xN 1 xN 2 ... xN d
Avec ces notations, on obtient l’estimation de W au sens des moindres carrés par les équa-
tions dites normales :
W = (X T X )−1 X T Y
à la condition que X T X soit une matrice inversible. En effet, la fonction à minimiser en fonc-
tion des composantes de W est
N
|y n − w 0 − w 1 · x|2 = ||Y − X W ||22
X
n=1

et on développe :
||Y − X W ||22 = (Y − X W )T (Y − X W ) = Y T Y − 2W T X T Y + W T X T X W
Il s’agit d’une fonction quadratique convexe en W , car X T X est symétrique positive (voir
annexes B.1 et A.3). L’unique minimum est donc atteint où le gradient s’annule (voir an-
nexe B.1) ; on déduit en calculant les dérivées partielles par rapport à chaque composante :
−2X T Y + 2X T X W = 0
d’où les équations normales.
Les cours de statistique discutent l’effet des observations influentes, qui sont telles que
leur variation peut entraîner une forte variation des paramètres w 0 et w 1 , et des caractéris-
tiques colinéaires (ou fortement corrélées) qui peuvent entraîner la singularité (ou des pro-
blèmes de conditionnement) de la matrice X T X . Notons également que si le nombre d’ob-
servations N est inférieur à la dimension d , alors la matrice X T X n’est pas inversible. En effet,
si N É d , les colonnes de X sont nécessairement liées.

Introduction à l’apprentissage automatique


CHAPITRE 1. INTRODUCTION 20

1.4.2.2 Régression ridge

En apprentissage automatique, une approche classique pour surmonter ces problèmes


est de régulariser les paramètres du modèle. Plutôt que minimiser la somme des carrés des
résidus, on minimise :
N d
|y n − w 0 − w 1 · x n |2 + λ |w j |2
X X
n=1 j =1

où λ est un paramètre positif ou nul. Il s’agit de la régression ridge, dont la régression linéaire
est un cas particulier (pour λ = 0).
Le premier terme est dit « d’attache aux données » car il reflète la capacité du modèle à
bien représenter les observations d’apprentissage. Le second terme est dit « de régularisa-
tion ».
On démontre que le problème précédent équivaut à minimiser la somme des carrés des
résidus, sous contrainte kw 1 k < C où C est un paramètre positif (il suffit d’introduire le La-
grangien du problème d’optimisation sous contrainte).
La norme euclidienne de w 1 qui apparaît dans l’expression à minimiser contraint les pa-
ramètres à ne pas prendre de trop grandes valeurs et a pour effet de limiter la variance des
prédictions du modèle, d’où l’effet de régularisation. Les paramètres de la régression ridge
vérifient :
W = (X T X + Λ)−1 X T Y
où la matrice Λ est définie par blocs comme :
µ ¶
0 0
Λ=
0 λI d
avec I d la matrice identité d’ordre d .
En effet, la fonction à minimiser est :

||Y − X W ||22 + λ||w 1 ||22 = Y T Y − 2W T X T Y + W T X T X W + W T ΛW

qui est convexe car λ Ê 0. En dérivant par rapport aux composantes de W , on obtient la rela-
tion : −2X T Y + 2X T X W + 2ΛW = 0, d’où l’expression annoncée.
Même si X T X n’est pas inversible (dans le cas de caractéristiques colinéaires), la matrice
T
X X + Λ le sera pour tout λ > 0 car cette matrice est alors symétrique définie positive.
Habituellement, w 0 n’est pas intégré dans le terme de régularisation et n’est donc pas
contraint. La raison est que lorsque λ est grand, la régression ridge fournit des w j très petit.
Lorsque w 0 n’est pas contraint, ce paramètre apparaît alors comme minimisant |y n − w 0 |2
P

(les autres termes étant quasiment nuls), donc w 0 est la moyenne des y n (voir lemme 1
page 45). Le prédicteur de la régression ridge est alors constant, égal à cette moyenne. Cela
fait davantage sens que le prédicteur nul que l’on obtiendrait pour λ grand si on intégrait w 0
dans le terme de régularisation.
Par ailleurs, de manière à ne pas favoriser une caractéristique par rapport à une autre, il
vaut mieux que les composantes des observations x n varient dans la même gamme de va-
leurs, quitte à normaliser chaque caractéristique au préalable en retranchant sa moyenne et
en divisant par son écart-type.

École des Mines de Nancy


21 1.4. APPRENTISSAGE SUPERVISÉ

F IGURE 1.6 – Illustration de la minimisation de la somme des carrés des résidus, sous
contraintes kw k1 É C (Lasso, à gauche) ou kw k2 É C (régression ridge, à droite). L’ensemble
des w satisfaisant les contraintes forme un carré (cas du Lasso) ou un disque (cas de la régres-
sion ridge). La fonction objectif (somme des carrés des résidus) est quadratique et convexe en
les composantes de w ; ses lignes de niveau sont donc des ellipses centrées en w ∗ , la solution
de la régression linéaire classique. La solution w l∗ du Lasso ou w r∗ de la régression ridge est
obtenue respectivement comme point du carré ou du disque appartenant à la ligne de niveau
de valeur la plus faible. Il s’agit donc d’un point de la frontière du carré ou du disque lorsque
w ∗ ne satisfait pas les contraintes. Sur cet exemple bidimensionnel, on voit que la solution
du Lasso a une composante nulle qui n’interviendra donc pas dans le modèle linéaire. Il s’agit
d’une propriété générale de la régularisation par norme k · k1 , quelle que soit la dimension des
observations : on a de bonne chance pour que l’optimum soit atteint en un point extremal de
l’hypercube unité, où une ou plusieurs composantes sont nulles. Le Lasso sélectionne automa-
tiquement les variables pertinentes dans le modèle et fournit donc des modèles parcimonieux.
Illustration adaptée de la figure 2 de l’article Regression Shrinkage and Selection via the Lasso,
R. Tibshirani, 1996.

1.4.2.3 Le Lasso

Une autre manière de régulariser le problème de la régression linéaire est de minimiser :


N d
|y n − w 0 − w 1 · x n |2 + λ
X X
|w j |
n=1 j =1

qui correspond à la régression Lasso (Least absolute shrinkage and selection operator), pro-
posée par Robert Tibshirani en 1996. La seule différence par rapport à la régression ridge est
l’utilisation de la norme k · k1 à la place de la norme k · k2 dans le terme de régularisation.

Introduction à l’apprentissage automatique


CHAPITRE 1. INTRODUCTION 22

On démontre que le problème précédent est équivalent à minimiser la somme des carrés
des résidus, sous contrainte dj=1 |w j | < C où C est un paramètre positif.
P

L’intérêt d’utiliser la norme k · k1 plutôt que la norme euclidienne est que la résolution
du problème de minimisation tendra à annuler certains des w j , comme illustré par la fi-
gure 1.6. Cela aura pour effet que les caractéristiques correspondantes n’apparaîtront plus
dans le modèle : le Lasso permet donc de faire de la sélection de caractéristiques (ou sélec-
tion de variables). On parle de modèle parcimonieux (sparse model).
Néanmoins, la fonction à minimiser dans le Lasso n’est pas différentiable en w = 0 et il n’y
a pas de solution analytique au Lasso : il faut utiliser des algorithmes d’optimisation dédiés
que l’on n’étudiera pas dans ce cours.

Remarquons que se pose la question de choisir la valeur de λ. Les paramètres comme λ


qui sont a priori laissés au choix de l’utilisateur sont appelés « hyperparamètres ». On verra
comment fixer les hyperparamètres à l’aide de la validation croisée au chapitre 2.

1.5 Pour approfondir. . .

Intelligence artificielle et apprentissage automatique Dans ce cours, nous n’employons


pas l’expression « intelligence artificielle », qui est un concept très mal défini n’ayant sans
doute pas grand-chose à voir avec l’intelligence, si tant est qu’on puisse s’accorder sur une
définition de l’intelligence. Toutefois, on peut se demander si un programme informatique
aurait un comportement indiscernable d’un comportement humain, ce qui pourrait donner
l’illusion d’une certaine forme d’intelligence. C’est l’objet du « jeu de l’imitation » (imitation
game, d’où le titre du film de 2014) proposé par Alan Turing, souvent appelé test de Turing.
On peut remarquer qu’Alan Turing a proposé son test, et a d’ailleurs effectué l’essentiel de ses
travaux, à une époque où les ordinateurs n’existaient pas vraiment. Le texte suivant discute
de manière didactique le test de Turing, des variantes, et leurs limites :
J.-P. Delahaye, L’intelligence artificielle et le test de Turing, Les Nouvelles d’Archimède,
No 66, p. 4-6, Université de Lille, 2014
Il est disponible à cette URL :
https://culture.univ-lille1.fr/publications/la-revue/lesnouvellesdarchimede66.
html

Le livre suivant présente un panorama assez complet des problématiques scientifiques


que l’on peut étiqueter comme relevant de l’intelligence artificielle :
S. Russel, P. Norvig, Artificial Intelligence : A Modern Approach, Prentice Hall, 3rd edition,
2009.
Chaque chapitre pourrait faire l’objet d’un cours complet. L’intérêt de ce (gros) livre est
de montrer la variété des problématiques de l’IA mais il peut difficilement être utilisé seul car
il ne fait qu’effleurer chaque sujet. On voit que bon nombre de sujets font l’objet de cours à
Mines Nancy : recherche opérationnelle, théorie des jeux, logique, représentation de connais-
sances, inférence statistique, algorithmique, apprentissage, vision par ordinateur, robotique,
etc.

École des Mines de Nancy


23 1.5. POUR APPROFONDIR. . .

Apprentissage par renforcement Les lecteurs intéressés par l’apprentissage par renforce-
ment pourront consulter :
R.S. Sutton, A.G. Barto, Reinforcement learning : an introduction, 2nd edition, MIT Press,
2018.

Régression ridge et Lasso Concernant les régressions ridge et Lasso, l’article original de
Tibshirani peut être lu (au moins l’introduction) :
R. Tibshirani, Regression Shrinkage and Selection via the Lasso, Journal of the Royal Sta-
tistical Society Series B (Methodological), Vol. 58, No. 1, p. 267-288, 1996.

Introduction à l’apprentissage automatique


Chapitre 2

Deux limites fondamentales de l’apprentissage

Nous explorons à présent deux limites de l’apprentissage automatique de nature diffé-


rente. La première est la « malédiction de la dimension », liée à des propriétés contre-intuitives
que peuvent présenter les espaces vectoriels de grande dimension. La seconde concerne le
dilemme biais-fluctuation, intrinsèque à toute procédure d’apprentissage.

2.1 La malédiction de la dimension


L’expression « malédiction de la dimension » ou « fléau de la dimension » (curse of dimen-
sionality) recouvre différents problèmes rencontrés en apprentissage, tous relatifs aux pro-
priétés des espaces de grande dimension qui vont à l’encontre de l’intuition que l’on peut se
faire en dimension deux ou trois. L’expression, inventée par le chercheur américain Richard
Bellman dans les années 1950-1960, recouvre différents phénomènes pas forcément très bien
formalisés. Nous allons décrire quelques exemples.

2.1.1 Explosion combinatoire


Bellman a initialement formulé la malédiction de la dimension dans un cadre décision-
nel. Supposons qu’une politique de décision soit basée sur d décisions binaires (oui/non)
successives, et qu’on cherche une politique optimisant une fonction de coût, c’est-à-dire la
suite de décisions fournissant le coût minimum. La recherche de l’optimum peut nécessi-
ter l’exploration de toutes les alternatives, donc des 2d politiques de décision possibles. Le
nombre de possibilités croît exponentiellement avec d , rendant cette approche inutilisable
lorsque d devient trop grand.

2.1.2 Discrétisation du cube unité

Supposons que l’on partitionne le cube unité de Rd en « petits » cubes de côté 1/n. Cela
nécessite n d petits cubes, ce nombre grandissant de manière exponentielle avec la dimen-
sion d , comme illustré par la figure 2.1. Imaginons que l’on cherche à estimer une distribu-
CHAPITRE 2. DEUX LIMITES FONDAMENTALES DE L’APPRENTISSAGE 26

F IGURE 2.1 – Évolution du nombre de cubes de côté 1/n nécessaires pour remplir le cube unité
dans Rd (ici, n = 3).

tion de probabilité à partir d’un échantillon de 100 points. Si d = 1 et n = 10, on peut envisager
de calculer l’histogramme empirique, car il n’y a que 10 intervalles (cubes en dimension 1) à
considérer. Pour obtenir la même finesse de discrétisation (1/10) en dimension 10, il faudra
considérer 1010 soit dix milliards de cubes. L’échantillon devra être de taille proportionnelle
car dans le cas contraire de nombreux cubes seraient vides. On voit qu’estimer une distribu-
tion de probabilité en dimension grande est souvent inaccessible sans information addition-
nelle : cela nécessiterait un échantillon de taille gigantesque.

2.1.3 Volume de la boule unité et distance dans Rd

On peut démontrer que le volume Vd de la boule de Rd de rayon 1 est donné par la for-
mule :
πd /2
Vd =
Γ(d /2 + 1)
où Γ est la « fonction Gamma », définie par
Z +∞
∀ x > 0, Γ(x) = t x−1 e −t dt
0

Cette fonction vérifie


∀ n ∈ N∗ , Γ(n) = (n − 1)!

p
La fonction Γ croît donc très vite, et à l’aide de la formule de Stirling (Γ(x) ∼ 2πx x−1/2 e −x )
on déduit un équivalent du volume Vd en grande dimension :

2πe d /2
µ ¶
1
Vd ∼d →+∞ p
πd d

Le volume de la boule unité tend donc très vite vers 0 quand la dimension augmente. Cette
propriété n’est pas nécessairement très intuitive, mais il y a « pire ». . .

École des Mines de Nancy


27 2.1. LA MALÉDICTION DE LA DIMENSION

10 0

10 -10

10 -20

10 -30

10 -40

10 -50

10 -60

10 -70
0 20 40 60 80 100
dimension

F IGURE 2.2 – Évolution du rapport entre le volume Vd de la boule unité et le volume 2d de


l’hypercube circonscrit en fonction de la dimension d . Notons l’échelle logarithmique de l’axe
des ordonnées.

Considérons un hypercube de côté 2 circonscrit à la boule : son volume est 2d . La boule


unité lui est tangent en chaque face, mais la proportion du volume de l’hypercube occupé
par la boule est Vd /2d et tend donc encore plus vite vers 0, comme illustré par la figure 2.2.
Cela signifie que des points répartis aléatoirement uniformément dans l’hypercube de
dimension d se retrouveront concentrés dans le volume extérieur à la boule unité, puisque le
volume de la boule unité devient négligeable. On parle de « concentration dans les coins ».
Par ailleurs, en notant Vd1−ε le volume de la boule de rayon 1 − ε (avec 0 < ε < 1), on a la
relation suivante :
Vd1−ε = (1 − ε)d Vd

En effet, cette boule est obtenue de la boule unité par homothétie de rapport 1 − ε. Ainsi :

Vd − Vd1−ε
= 1 − (1 − ε)d
Vd

Autrement dit, la proportion de la boule unité concentrée dans une couche d’épaisseur ε > 0
aussi petite que l’on veut, située à la surface de la boule, tend vers 1 lorsque la dimension d
grandit. Ainsi, en grande dimension, tout le volume d’une boule est concentré à sa surface !
Un autre paradoxe, lié à ceux présentés ci-dessus, est qu’en grande dimension, toutes les
observations sont proches l’une de l’autre. Le graphique de la figure 2.3 illustre l’évolution
des distances euclidiennes en grande dimension. Un million de points sont répartis unifor-
mément dans l’hypercube [−1, 1]d de Rd , et on calcule, en fonction de la dimension d , le rap-
port de la distance entre le centre du cube et le point le plus proche, et de la distance entre

Introduction à l’apprentissage automatique


CHAPITRE 2. DEUX LIMITES FONDAMENTALES DE L’APPRENTISSAGE 28

10 3

10 2

10 1

10 0
0 20 40 60 80 100
dimension

F IGURE 2.3 – Évolution du rapport entre la plus grande distance au centre et la plus petite dis-
tance au centre parmi un million de points répartis uniformément dans l’hypercube [−1, 1]d ,
en fonction de la dimension d .

le centre et le point le plus éloigné. On voit que ces deux distances se rapprochent lorsque
la dimension augmente. Il est même possible de démontrer sous certaines hypothèses que
leur rapport tend vers 1. Ceci suggère que la notion de distance perd en pertinence lorsque
la dimension est trop grande, puisque tous les points se retrouvent à peu près à la même
distance.
On verra dans la suite plusieurs algorithmes s’appuyant directement sur la notion de dis-
tance : classification au plus proche voisin, partitionnement, estimation de densité, etc. La
discussion de cette section suggère que ces algorithmes ne pourront pas être performants en
grande dimension : comment discriminer des observations en fonction de leur distance si
toutes les observations sont à peu près à la même distance ?

2.1.4 Quelles solutions pour contrer la malédiction de la dimension ?


Heureusement, si les observations ont d attributs et sont naturellement plongées dans Rd ,
elles sont souvent incluses dans un hyperplan ou une variété de dimension bien inférieure
à d car les attributs sont généralement liés entre eux.
Si on est capable de décrire les données dans le « bon » espace, on peut se ramener à un
espace de dimension bien moins grande qui ne sera pas affecté par la malédiction de la di-
mension. L’analyse en composante principale, vue dans un autre cours, est un exemple de
technique de réduction de dimension. Parmi les méthodes basées sur les réseaux de neu-
rones, les auto-encodeurs permettent de décrire les observations dans un espace de dimen-
sion réduite. Toute une littérature existe sur ce sujet, que l’on n’abordera pas davantage dans
ce cours excepté lorsqu’on évoquera le classifieur naïf de Bayes au chapitre 4.

École des Mines de Nancy


29 2.2. DILEMME BIAIS-FLUCTUATION

Une autre manière de contrer la malédiction de la dimension est d’utiliser la régulari-


sation. Par exemple, on a vu au chapitre 1 qu’il était impossible de calculer une régression
linéaire lorsque le nombre d’observations N est inférieur à la dimension d car la matrice
X T X n’est alors pas inversible. Par contre, on peut toujours calculer la régression ridge car
elle nécessite l’inversion de la matrice X T X + Λ, ce qui est toujours possible.

2.2 Dilemme biais-fluctuation


Nous considérons à présent les problèmes d’apprentissage supervisé (régression ou clas-
sification), et nous discutons un point évoqué informellement dans le chapitre 1 : a-t-on in-
térêt à utiliser un modèle de prédiction complexe, se trompant peu sur les données d’ap-
prentissage, ou bien un modèle plus simple quitte à ce qu’il fasse davantage d’erreurs sur les
données d’apprentissage ? La discussion sera menée dans un cadre statistique.

2.2.1 Notations et hypothèses


On suppose disposer d’un ensemble de N observations étiquetées (x n , y n )1ÉnÉN , qui fe-
ront office de base d’apprentissage. Rappelons que dans le cadre de la régression, y n est réel
ou vectoriel, et que dans le cadre de la classification, y n prend des valeurs dans l’ensemble
fini des catégories possibles. L’objectif est de faire une prédiction h(x) à partir d’une obser-
vation x. On suppose que le prédicteur h sera cherché dans une famille H correspondant à
un modèle de prédiction. Par exemple, dans le cadre de la régression linéaire multivariée où
x ∈ Rd , on cherche h dans l’ensemble des fonctions affines :
n o
H = h : x 7→ w 0 + w 1 · x, t.q. w 0 ∈ R, w 1 ∈ Rd

Pour un problème de classification supervisée, on peut par exemple chercher h parmi les
réseaux de neurones à une couche cachée formée de cinq neurones. Dans tous les cas, h ∈ H
dépendra de paramètres qu’il faudra déterminer en fonction des observations étiquetées.
Le classifieur h est susceptible de faire des erreurs sur la base d’apprentissage, auquel cas
h(x n ) 6= y n . On introduit une fonction ` (loss function) quantifiant le coût d’une erreur sur
l’observation (x n , y n ) : `(y n , h(x n )). Par exemple :
— Dans le cadre de la régression, on peut choisir
¢2
`(y n , h(x n )) = y n − h(x n )
¡

si les y n sont scalaires, et °2


`(y n , h(x n )) = ° y n − h(x n )°2
°

si les y n sont vectoriels.


PN
L’estimation classique aux moindres carrés revient à minimiser n=1 `(y n , h(x n ))
— Dans le cadre de la classification, on peut choisir
½
0 si h(x n ) = y n (h ne fait pas d’erreur sur l’observation x n )
`(y n , h(x n )) =
1 sinon
Il s’agit du coût 0-1 (0-1 loss).

Introduction à l’apprentissage automatique


CHAPITRE 2. DEUX LIMITES FONDAMENTALES DE L’APPRENTISSAGE 30

Dans les deux cas, on introduit alors le coût moyen des erreurs sur la base d’apprentis-
sage :
1 XN
R e (h) = `(y n , h(x n ))
N n=1
appelé risque empirique.
Comme le montrent les figures 1.3 et 1.5 du chapitre 1, l’objectif final n’est pas nécessaire-
ment de trouver h minimisant R e . Néanmoins, R e est la seule mesure d’adéquation entre ob-
servations et modèle dont on dispose. L’objectif de cette section est de discuter ce dilemme.

On se place dans le cadre d’une modélisation probabiliste de l’espace des observations


étiquetées, que l’on modélise comme les réalisations indépendantes d’un couple de variables
aléatoires (X , Y ) de loi de probabilité jointe fixe mais inconnue. Tout ce qu’on connaît sont
les N réalisations (x n , y n )1ÉnÉN . Idéalement, on voudrait utiliser un prédicteur h qui mini-
mise sur H le risque moyen de prédiction, égal à l’espérance du coût d’erreur `(Y , h(X ))
sous la loi jointe de (X , Y ). Le risque moyen de prédiction représente le coût d’erreur moyen
sur tout l’espace des observations. Il est donc pertinent pour quantifier les performances
de h face à de nouvelles observations. Le risque moyen de prédiction s’écrit formellement
comme :
R p (h) = E (X ,Y ) (`(Y , h(X )))

où E (X ,Y ) désigne l’espérance sous la loi de (X , Y ).


D’après la loi forte des grands nombres, la base d’apprentissage étant la réalisation d’un
échantillon indépendant identiquement distribué suivant la loi de (X , Y ), le risque empirique
est une bonne approximation du risque de prédiction lorsque la taille N de l’échantillon est
suffisamment grande. Le problème est que le prédicteur de risque empirique minimal pour
chaque N n’a pas de raison de converger vers le prédicteur de risque moyen de prédiction
minimal. Intuitivement, à N fixé, si le modèle H est suffisamment riche on pourra toujours
trouver un prédicteur de risque empirique très faible même pour une grande base d’appren-
tissage, mais de risque moyen de prédiction très grand. Le cas extrême est le prédicteur h
défini par h(x n ) = y n sur la base d’apprentissage, et prenant n’importe quelle valeur ailleurs
(h apprend donc la base d’apprentissage « par cœur »). Son risque empirique est nul, mais
bien évidemment son risque de prédiction va être très élevé. On dit aussi que sa capacité de
généralisation est faible.
Notons au passage que si la base d’apprentissage n’est pas représentative des données
sur lesquelles on cherche à prédire (par exemple, si on cherche à prédire la facture de chauf-
fage d’appartements parisiens à partir de données d’appartements cairotes), la loi forte des
grands nombres ne s’applique pas et le risque empirique est alors un estimateur biaisé du
risque de prédiction, et ce qui est développé dans ce chapitre n’aura pas vraiment de sens.

2.2.2 Encadrement du risque


Notons f le prédicteur minimisant sur H le risque moyen de prédiction R p . Idéalement,
on voudrait faire nos prédictions avec f car R p mesure le coût des erreurs de prédiction sur de
nouvelles observations non-étiquetées. Néanmoins, R p est inconnu car la loi de probabilité

École des Mines de Nancy


31 2.2. DILEMME BIAIS-FLUCTUATION

de (X , Y ) est inconnue et par conséquent f ne peut pas être déterminé. On se contente donc
de fe dans H minimisant le risque empirique R e qui est, pour sa part, calculable.
On cherche à quantifier à quel point le risque de prédiction de fe (qui mesure donc sa
capacité à généraliser) est éloigné du risque de prédiction minimal R p ( f ).
On démontre l’encadrement suivant.

Proposition 2.1 Si f minimise le risque moyen de prédiction R p et fe minimise le risque empi-


rique R e sur H , alors :

R p ( f ) ≤ R p ( fe) ≤ R p ( f ) + 2 max |R p (h) − R e (h)|


h∈H

Démonstration
Par définition de f : R p ( f ) ≤ R p ( fe), d’où la première inégalité.
Par ailleurs :

R p ( fe) = R p ( fe) − R e ( fe) + R e ( fe) − R e ( f ) + R e ( f ) − R p ( f ) + R p ( f )

mais par définition de fe : R e ( fe) − R e ( f ) ≤ 0, et d’après l’inégalité triangulaire :

R p ( fe) − R e ( fe) + R e ( f ) − R p ( f ) ≤ |R p ( fe) − R e ( fe)| + |R p ( f ) − R e ( f )|

Donc
R p ( fe) − R e ( fe) + R e ( f ) − R p ( f ) ≤ 2 max |R p (h) − R e (h)|
h∈H

D’où la seconde inégalité. 

2.2.3 Discussion : sous-apprentissage et sur-apprentissage


La quantité R p ( f ) est l’erreur minimale en dessous de laquelle on ne pourra jamais passer
en cherchant un prédicteur dans le modèle H : ce terme est dénommé « biais ». Le terme
maxh∈H |R p (h) − R e (h)| mesure les fluctuations entre risque moyen et risque empirique sur
le modèle H : ce terme est donc dénommé « fluctuation ». La proposition 2.1 nous indique
que le risque moyen de prédiction de fe, R p ( fe), n’est pas trop éloigné du risque de prédiction
minimal R p ( f ) (le biais) si maxh∈H |R p (h) − R e (h)| (la fluctuation) a une valeur faible.
Idéalement, on voudrait R p ( f ) faible et R p ( fe) pas trop éloigné de R p ( f ), de manière à
assurer une bonne capacité de généralisation du prédicteur fe que l’on peut déterminer.
L’inégalité de la proposition 2.1 fait apparaître un antagonisme dans le choix du mo-
dèle H , appelé dilemme biais-fluctuation :
— pour minimiser R p ( f ) (qui, rappelons-le, est le minimum de R p sur H ), on a intérêt à
avoir un modèle H riche,
— mais la fluctuation croît avec la richesse du modèle.

Introduction à l’apprentissage automatique


CHAPITRE 2. DEUX LIMITES FONDAMENTALES DE L’APPRENTISSAGE 32

F IGURE 2.4 – Dilemme biais-fluctuation. À gauche : on détermine fe minimisant le risque em-


pirique R e sur H , que l’on espère pas trop éloigné de f minimisant le risque moyen de pré-
diction R p sur ce même ensemble. Si on considère H 0 contenant H , le minimum de R p et R e
seront respectivement atteints en f 0 et fe0 , avec des valeurs plus faibles (comme c’est toujours le
cas lorsqu’on minimise une fonction sur un domaine élargi). Le biais diminue donc. La contre-
partie est que la fluctuation (qui est la valeur du maximum d’une fonction) sera plus grande
sur H 0 que sur H . À droite : allure de l’évolution du biais et de la fluctuation en fonction de
la taille du modèle H . Un modèle H peu complexe fournira par minimisation du risque em-
pirique un prédicteur fe en sous-apprentissage, et un modèle très complexe un prédicteur fe en
sur-apprentissage.

D’un point de vue pratique, il faut donc trouver un compromis entre :


— un modèle H peu complexe (par exemple avec un ou deux paramètres à estimer) ne
pouvant pas bien expliquer les données (H trop restrictif ), qui donnerait une fluctua-
tion faible mais un biais grand ;
— et un modèle très complexe (H gros, avec potentiellement de nombreux paramètres)
fournissant un prédicteur potentiellement bien adapté aux données d’apprentissage
(R e ( fe) faible), avec le biais R p ( f ) faible mais tel que R p ( fe) est très éloigné de l’opti-
mum R p ( f ) (car la fluctuation est grande)
Dans le premier cas, on parle de « sous-apprentissage ». Dans le second, de « sur-apprentissage ».
Le dilemme biais-fluctuation est illustré par la figure 2.4. La figure 1.5 gauche du chapitre 1
montre une situation de sur-apprentissage. Une régression linéaire sur ces données entraî-
nerait un sous-apprentissage.

Par ailleurs, comme le risque empirique N1 n=1


PN
`(y n , h(x n )) est un estimateur sans biais
convergent de R p (h), on a intérêt à utiliser une grande base d’apprentissage (N « grand »)
pour diminuer la fluctuation sur un modèle H . Cette remarque explique pourquoi l’« intel-
ligence artificielle » est devenue très populaire depuis une dizaine d’années : dans de nom-
breux domaines applicatifs il est facile d’accéder à de grandes quantités de données, notam-
ment dans le domaine du multimédia. Il suffit de penser à la quantité de données disponibles
sur Flickr (créé en 2004), Youtube (2005), Twitter (2006), Facebook (2006). . .Cela permet d’uti-

École des Mines de Nancy


33 2.2. DILEMME BIAIS-FLUCTUATION

liser des modèles d’apprentissage de plus en plus complexes. Toutefois, la base d’apprentis-
sage est généralement fixée : il faut plutôt adapter H aux données que l’inverse.

2.2.4 Sélection de modèle et validation croisée


Le prédicteur est choisi de manière à minimiser le risque empirique R e dans un mo-
dèle H . La proposition 2.1 nous dit que le risque moyen R p de ce prédicteur optimal est po-
tentiellement éloigné du risque empirique R e . La question est de savoir quel modèle choisir
pour ne pas se retrouver dans une situation de sous-apprentissage ou de sur-apprentissage.
En pratique, on va réserver une partie (disons 20%) des observations de la base de données
pour former une base de test T (certains auteurs parlent de base de validation), le reste (80%)
formant la base d’apprentissage. Le prédicteur h sera choisi en minimisant R e calculé sur la
base d’apprentissage, et on calculera ensuite le risque empirique sur la base de test :

1
` y n , h(x n )
X ¡ ¢
R t (h) =
#T (x n ,y n )∈T

où #T est le cardinal de l’ensemble T .


R e (h) n’est pas une bonne approximation de R p (h). Les observations de la base de test
n’ayant pas servi à l’apprentissage, R t (h) est par contre une estimation correcte du risque
moyen de prédiction R p (h). Si on reprend l’exemple extrême de l’apprentissage par cœur, le
risque empirique sur la base d’apprentissage est nul et ne nous dit rien sur la capacité de
prédiction, alors que le risque empirique sur une base de test indépendante nous renseigne
bien sur cette capacité.
Cela nous conduit à sélectionner un modèle H par la procédure suivante.

Pour chaque modèle H considéré :


1. on détermine feH minimisant R e sur H ;
¡ ¢
2. on calcule R t feH , valeur du risque empirique sur la base test.
Ensuite on sélectionne le modèle H ∗ (et le prédicteur optimal feH ∗ ) minimisant R t feH .
¡ ¢

Notons que le prédicteur feH ∗ sélectionné n’est pas forcément celui qui présente le plus
petit risque empirique parmi tous les prédicteurs feH .
Ce que l’on vient de décrire est la validation holdout.
On parle de learning loss pour R e et de test loss pour R t .
L’inconvénient de cette approche est qu’il vaut mieux réserver une part assez importante
des données pour l’apprentissage. Le risque calculé sur la base de test, de taille nécessaire-
ment limitée, présente des fluctuations d’échantillonnage potentiellement importantes. Ces
fluctuations sont gênantes lorsqu’on sélectionne H ∗ car la plus petite valeur de R t ( feH ∗ ) peut
très bien être le résultat du hasard de la construction de la base de test T plutôt que des mé-
rites du modèles H ∗ . On peut moyenner ces fluctuations en découpant la base de données
en K sous-ensembles puis en calculant successivement R t sur l’un de ces sous-ensembles,
l’apprentissage étant fait au préalable sur les K − 1 sous-ensembles restants. Un score moyen

Introduction à l’apprentissage automatique


CHAPITRE 2. DEUX LIMITES FONDAMENTALES DE L’APPRENTISSAGE 34

S1 S2 S3 S4 S5
A A A A T → coût d’erreur sur T : R 1
A A A T A → coût d’erreur sur T : R 2
A A T A A → coût d’erreur sur T : R 3
A T A A A → coût d’erreur sur T : R 4
T A A A A → coût d’erreur sur T : R 5

Erreur de validation croisée : 51 (R 1 + R 2 + R 3 + R 4 + R 5 )

F IGURE 2.5 – Validation croisée à cinq plis : la base des observations est séparée en cinq sous-
ensembles (plis) S 1 . . .S 5 de taille identique, chaque sous-ensemble est à tour de rôle dans la
base d’apprentissage ou dans la base de test. L’apprentissage se fait sur les quatre plis d’ap-
prentissage, et un coût d’erreur est calculé sur le pli de test. Le score de validation croisée est la
moyenne des cinq coûts d’erreur obtenus.

est alors calculé comme la moyenne des K valeurs de R t obtenues. On sélectionne finalement
le modèle de score moyen minimal.
Il s’agit de la « validation croisée à K plis » (K -fold cross validation). Le cas extrême K = N
correspond à la situation suivante : on entraîne N fois le prédicteur sur un ensemble de N −1
observations, l’ensemble T étant réduit à la N ème observation. On parle alors de validation
croisée leave-one-out. Bien entendu, le temps de calcul peut être assez important car il faut
procéder à N entraînements successifs. En pratique, on se contente souvent d’une validation
croisée à K = 5 ou K = 10 plis. La figure 2.5 illustre la validation croisée à cinq plis.

La validation croisée (ou la validation holdout) permet de choisir un prédicteur pour dif-
férents modèles H . Souvent, ce qui distingue les modèles H sont les valeurs des hyperpara-
mètres. Par exemple, l’hyperparamètre λ dans la régression ridge ou le Lasso du chapitre 1,
ou la taille de la couche cachée d’un réseau de neurones. La validation croisée fournit donc
une méthode pour fixer les hyperparamètres parmi un ensemble fini de valeurs : on calcule
le score de validation croisée des prédicteurs optimaux trouvés pour différentes valeurs (en
nombre fini) des hyperparamètres, et on sélectionne le jeu d’hyperparamètres donnant le
meilleur score. On peut considérer un risque régularisé au lieu du risque empirique seul (cf.
régression ridge ou Lasso), cela ne change rien à notre discussion.

2.3 Pour approfondir. . .

Norme en grande dimension Le comportement de la norme lorsque la dimension aug-


mente (comme illustré par la figure 2.3) est discuté dans cet article :
G. Biau, D.M. Mason, High-dimensional p-norms, Mathematical Statistics and Limit Theo-
rems, Springer, 2015.

École des Mines de Nancy


35 2.3. POUR APPROFONDIR. . .

Réduction de dimension Pour en savoir plus, les deux articles suivants sont disponibles sur
Internet :
C. Burges, Dimension Reduction : A Guided Tour, Foundations and Trends in Machine Lear-
ning, vol. 2, no. 4, p. 275-365, 2009.
E. Bingham and H. Mannila, Random projection in dimensionaly reduction : applications to
image and text data, proceedings of ACM international conference on knowledge discovery
and data mining (SIGKDD), p. 245-250, 2001.

Dilemme biais-variance L’expression « dilemme biais-variance » est souvent employée dans


les cours d’apprentissage. Elle concerne généralement le cadre de la régression avec coût
quadratique, et s’exprime de manière légèrement différente que le dilemme biais-fluctuation
de la section 2.2, présenté pour sa part dans un cadre plus général.
On suppose toujours disposer d’un ensemble de N observations étiquetées (x n , y n )1ÉnÉN
(un ensemble d’apprentissage), vues comme N réalisations d’un couple de variables aléa-
toires (X , Y ). À présent, on suppose que N est également réalisation d’une variable aléatoire,
en d’autres termes que l’ensemble d’observations étiquetées est réalisation d’un ensemble
aléatoire E . On considère le prédicteur h E estimé à partir d’un tel E (par exemple par mi-
nimisation du risque empirique sur une famille H de prédicteurs) : il peut lui-même être
vu comme une variable aléatoire. Pour une fonction de coût ` quadratique, le coût d’erreur
de h E face à une observation étiquetée (x, y) inconnue est (y − h E (x))2 . Selon l’ensemble
d’observations dont on dispose en pratique, cette erreur peut varier à cause des fluctua-
tions d’échantillonnage : chaque ensemble d’observations fournit un prédicteur différent par
apprentissage. On s’intéresse donc à l’erreur de prédiction sur x moyennée sur tous les en-
semble d’observations étiquetées possibles. Il s’agit donc de déterminer E E y − h E (x))2 . No-
¡ ¢

tons h(x) = E E (h E (x)) : il s’agit de la prédiction moyenne de l’observation x sur l’ensemble


des observations étiquetées possibles fournissant chacun un prédicteur h E .
On calcule successivement :
µ³ ´2 ¶
2
¡ ¢
E E (y − h E (x)) = E E y − h(x) + h(x) − h E (x)
µ³ ´2 ¶ µ³ ´2 ¶ ³³ ´³ ´´
= E E y − h(x) + E E h E (x) − h(x) + 2E E y − h(x) h E (x) − h(x)

Or : µ³ ´2 ¶ ³ ´2
— EE y − h(x) = y − h(x) car la variable aléatoire dont on calcule l’espérance ne
dépend pas de E ;
³³ ´³ ´´ ³ ´ ³ ´ ³ ´
— E E y − h(x) h E (x) − h(x) = E E yh E (x) + E E h(x)2 − E E yh(x) − E E h E (x)h(x) .
¡ ¢
³ ´ ³ ´
Cependant : E E yh E (x) = yh(x), E E h(x)2 = h(x)2 , E E yh(x) = yh(x), et enfin
¡ ¢
³ ´
E E h E (x)h(x) = h(x)2 . Les termes s’annulent donc deux à deux.
On conclut. La moyenne sur les ensembles d’apprentissage de l’erreur quadratique de pré-
diction est : ´2 µ³ ´2 ¶
¡ 2
¢ ³
E E (y − h E (x)) = y − h(x) + E E h E (x) − h(x)

Introduction à l’apprentissage automatique


CHAPITRE 2. DEUX LIMITES FONDAMENTALES DE L’APPRENTISSAGE 36

Dans cette décomposition :


³ ´2
— y − h(x) est le carré de l’écart entre la « vraie » valeur d’étiquette y et la prédiction
moyenne sur les prédicteurs obtenus à partir des ensembles d’observations étiquetées.
Il s’agit donc du carré du biais du modèle d’apprentissage.
µ³ ´2 ¶
— E E h E (x) − h(x) mesure la dispersion entre la prédiction de h E déterminé sur un
ensemble d’apprentissage particulier E et la prédiction moyenne. Il s’agit de la variance
du modèle d’apprentissage.
Le biais mesure l’écart entre prédiction moyenne et vraie étiquette. En cas de sous-appren-
tissage, le biais est élevé : le modèle ne capture pas suffisamment d’information et fournit, en
moyenne, des prédictions assez éloignées de ce qui est attendu. C’est le cas par exemple si on
cherche une régression linéaire alors que les étiquettes y ne sont pas liées aux x de manière
linéaire. La variance mesure l’amplitude des changements dans la prédiction si on change
l’ensemble d’apprentissage. En cas de sur-apprentissage, la variance est élevée : le modèle
s’adapte trop à la base d’apprentissage et varie fortement lorsque la base change.
Un modèle simple sera donc affecté d’un biais élevé mais d’une variance faible (car il
n’est pas très affecté par des modifications de la base d’apprentissage), tandis qu’un modèle
complexe sera affecté d’un biais faible (avec suffisamment d’observations la prédiction sera
correcte) mais d’une variance élevée. Il faut donc réaliser un compromis entre biais et va-
riance.

Complexité des modèles La présentation du dilemme biais-fluctuation est adaptée des


notes du cours de Stéphane Mallat au Collège de France en 2018 (chaire sciences des don-
nées), disponible à cette URL :
https://www.college-de-france.fr/site/stephane-mallat/course-2017-2018.htm
Nous avons discuté de manière assez informelle la « complexité » du modèle H qui doit
être « pas trop grande » afin de limiter la fluctuation (ou la variance) et donc un potentiel
sur-apprentissage. Nous avons souligné que la complexité du modèle devait s’apprécier en
fonction du nombre d’observations. En effet, le risque empirique converge vers le risque de
prédiction : nous avons donc intérêt à avoir beaucoup d’observations dans la base d’appren-
tissage pour limiter la fluctuation (donc le sur-apprentissage). La théorie statistique de l’ap-
prentissage (statistical learning theory) fournit des bornes sur la fluctuation qui dépendent
de la taille de la base d’apprentissage et de la complexité du modèle, cette complexité étant
entendue en un sens précis.
Plaçons-nous dans le cadre de la classification avec coût 0-1, et des observations étique-
tées qui sont des réalisations indépendantes identiquement distribuées de (X , Y ). Supposons
que H est constitué d’un nombre fini de classifieurs, son cardinal étant noté #H . Le risque
étant borné, l’inégalité de Hoeffding (voir l’annexe A.1) permet d’écrire pour tout classifieur
h ∈ H et tout ε > 0 :
Pr(|R e (h) − R p (h)| Ê ε) É 2e −2N ε
2

En effet, avec les notations de l’annexe A.1, X n = `(Yn , h(X n )), ∀ n, [a n , b n ] = [0, 1], X = R e (h),
et E (X ) = N1 n=1
PN
E (`(Yn , h(X n ))) = R p (h).

École des Mines de Nancy


37 2.3. POUR APPROFONDIR. . .

Maintenant, la fluctuation est maxh∈H |R e (h) − R p (h)|, donc elle est supérieure à ε si au
moins un des h de H vérifie l’inégalité précédente. Autrement dit :
µ ¶
Pr max |R e (h) − R p (h)| Ê ε = Pr ∪h∈H |R e (h) − R p (h)| Ê ε
¡ £ ¤¢
h∈H
Pr |R e (h) − R p (h)| Ê ε
X ¡ ¢
É
h∈H

En effet, la probabilité de l’union finie d’événements est inférieure à la somme des probabi-
lités des événements.
Par conséquent, µ ¶
Pr max |R e (h) − R p (h)| Ê ε É 2#H e −2N ε
2

h∈H

Si on note δ = 2#H e −2N ε , on obtient


2

s µ ¶
1 2 #H
ε= log
2N δ

d’où Ã s µ ¶!
1 2 #H
Pr max |R e (h) − R p (h)| Ê log Éδ
h∈H 2N δ
soit : Ã s µ ¶!
1 2 #H
Pr max |R e (h) − R p (h)| É log Ê 1−δ
h∈H 2N δ
q
log(2 #H )−log(δ)
Ainsi, avec une probabilité supérieure à 1 − δ, la fluctuation est bornée par 2N .
On peut noter que cette borne ne dépend pas de la loi (inconnue) de (X , Y ).
Comme pour tout h ∈ H , R p (h) − R e (h) É maxh∈H |R e (h) − R p (h)|, on peut conclure par
la proposition suivante.

Proposition 2.2 Si H est un modèle de cardinal fini, pour tout h ∈ H , avec probabilité au
moins 1 − δ, s
log(2 #H ) − log(δ)
R p (h) É R e (h) +
2N

Avec une probabilité au moins 1−δ, le risque moyen de prédiction est majoré par l’expression
donnée par la proposition précédente, et on espère que le majorant soit petit.
D’un point de vue pratique, cette borne sur le risque moyen de prédiction fait apparaître
un compromis entre risque empirique et log(#H )/N . Minimiser le risque empirique n’assu-
rera un faible risque moyen de prédiction que si le modèle H n’est pas trop complexe par
rapport à la taille N de l’ensemble d’apprentissage, la complexité étant mesurée par le cardi-
nal de H .
Bien entendu, H n’a pas de raison d’être fini, car en général H est un ensemble de
classifieurs dépendant de paramètres réels. Dans ce cas, des développements théoriques

Introduction à l’apprentissage automatique


CHAPITRE 2. DEUX LIMITES FONDAMENTALES DE L’APPRENTISSAGE 38

dans les années 1980-1990 ont permis de mesurer la complexité par la dimension de Vapnik-
Chervonenkis ou la complexité de Rademacher. Le problème pratique est que les bornes ob-
tenues sont assez larges : on peut difficilement s’en servir pour fixer la taille de l’ensemble
d’apprentissage de manière à assurer un risque de prédiction satisfaisant.
Le lecteur souhaitant approfondir le sujet pourra consulter :
V. Vapnik, Statistical learning theory, Wiley, 1998.

École des Mines de Nancy


Chapitre 3

Problèmes de partitionnement

Dans les problèmes de partitionnement, on cherche à identifier automatiquement des


groupes (clusters) d’observations partageant des profils similaires. Les observations groupées
ensemble doivent être davantage similaires entre elles qu’elles le sont d’observations d’un
autre groupe. Pour ce faire, on suppose disposer d’une mesure de similarité (ou dissimilarité)
entre observations.
Les observations sont non-étiquetées ; il s’agit d’un problème de l’apprentissage non-
supervisé. Dans les problèmes de partitionnement le nombre de groupes à identifier est a
priori inconnu, et on ne dispose pas explicitement d’exemples de chaque groupe. Seule la
mesure de (dis-)similarité apporte une information : toute méthode de partitionnement es-
saiera d’arriver à une grande similarité intra-groupes et une faible similarité inter-groupes.
Ce chapitre porte sur les méthodes hiérarchiques de partitionnement, le célèbre algo-
rithme des K -moyennes, et deux algorithmes basés sur l’estimation de la densité des obser-
vations, DBSCAN et mean shift. Toutes ces méthodes font usage d’une distance entre obser-
vations. Si chaque observation est décrite par un grand nombre de caractéristiques, la ma-
lédiction de la dimension risque de frapper : toutes les observations sembleront également
semblables (ou également différentes) comme discuté au chapitre 2 (section 2.1.3), empê-
chant la construction d’un partitionnement cohérent.

3.1 Méthodes hiérarchiques

3.1.1 Mesures de dissimilarité entre observations et entre groupes


Les méthodes hiérarchiques ascendantes (on parle aussi d’algorithmes de classification
hiérarchique ascendante, mais attention, il s’agit bien de méthodes de partitionnement) né-
cessitent :
— une mesure de dissimilarité d entre observations, telle que si x et y sont deux observa-
tions, d (x, y) est faible lorsque x et y sont semblables (et grand dans le cas contraire,
d’où l’expression « mesure de dissimilarité ») ;
CHAPITRE 3. PROBLÈMES DE PARTITIONNEMENT 40

— une mesure de dissimilarité D entre groupes d’observations.


Lorsque les observations sont vectorielles, il est possible d’utiliser pour d les distances
induites par les classiques normes k·k1 ou k·k2 . Lorsque les observations sont des mots (c’est-
à-dire des chaînes de caractères), on peut utiliser par exemple la distance d’édition, aussi
appelée distance de Levenshtein (voir le paragraphe 3.4).
La mesure de dissimilarité D est généralement construite à partir de d . Si A et B sont
deux groupes d’observations, on peut définir :
— critère single linkage :

D SL (A , B) = min d (x, y), x ∈ A , y ∈ B


© ª

— critère complete linkage :

D CM (A , B) = max d (x, y), x ∈ A , y ∈ B


© ª

— critère unweighted average linkage :

1
D UA (A , B) =
X
d (x, y)
#A #B (x,y)∈A ×B

— critère de Ward :
#A #B
D W (A , B) = km A − m B k2
#A + #B
1 P 1 P
où m A = #A x∈A x et m B = #B x∈B x sont les barycentres des deux groupes, et #A
et #B leur cardinal.
Notons que même si d vérifie les propriétés d’une distance sur un espace métrique, ce
n’est pas forcément le cas de D.
Pour que deux groupes soient proches au sens du critère single linkage, il suffit que deux
de leurs points soient proches, alors qu’au sens du critère complete linkage il faut que les
points les plus éloignés entre les deux groupes soient proches (donc que tous les points
soient proches). Le critère average linkage porte sur la moyennes des distances entre toutes
les paires de points des groupes.
Pour que deux groupes soient proches au sens du critère de Ward, il faut que leurs bary-
centres soient proches, la notion de proximité étant pondérée par le nombre de points dans
les groupes. Pour une même distance euclidienne entre barycentres, deux groupes de tailles
similaires donneront un D plus élevé que deux groupes de tailles très différentes. En effet,
dans le premier cas (#A ' #B), #A #B/(#A +#B) ' #A /2, et dans le second cas (#A >> #B),
#A #B/(#A + #B) ' #B. Le critère de Ward tend donc à rapprocher les « gros » groupes des
« petits » groupes.
Par ailleurs, on peut noter que :

D W (A , B) = kx − m A ∪B k2 − kx − m A k2 − kx − m B k2
X X X
x∈A ∪B x∈A x∈B

École des Mines de Nancy


41 3.1. MÉTHODES HIÉRARCHIQUES

(à faire en exercice, il suffit de développer les k · k2 dans le membre de droite et d’utiliser


l’égalité (#A + #B)m A ∪B = #A m A + #Bm B , les deux groupes étant disjoints)
Cela signifie que D W mesure l’écart entre la dispersion des deux groupes autour de leur
moyenne commune (l’inertie inter-groupes) et la somme des dispersions de chaque groupe
(les inerties intra-groupes).

3.1.2 Algorithme de construction du dendrogramme


L’ensemble des observations étant muni d’une mesure de dissimilarité d et les groupes
d’une mesure D, on peut appliquer récursivement l’algorithme suivant :

1. initialisation : chaque observation définit un groupe ;


2. jusqu’à ce qu’il ne reste qu’un seul groupe, on fusionne successivement les deux
groupes les plus proches selon la mesure de dissimilarité D.

Lorsque l’étape 2 est itérée, il faut calculer la distance entre le nouveau groupe obtenu
par fusion et les groupes restants de l’itération précédente.
On construit ainsi un arbre binaire appelé dendrogramme :
1. les feuilles de l’arbre sont les observations, placées sur l’axe des abscisses,
2. pour chaque paire de groupes (A , B) fusionnant, on trace des segments verticaux is-
sus des deux groupes, jusqu’à la distance D(A , B), et on représente les fusions par un
segment horizontal à la « hauteur » D(A , B) figurant sur l’axe des ordonnées.
On construit donc une structure hiérarchique en partant des observations isolées, et à chaque
étape, la hauteur des segments augmente. Ceci justifie l’appellation « méthode hiérarchique
ascendante ».
Du point de vue du temps de calcul, l’algorithme de construction de la classification hié-
rarchique ascendante nécessite au moins de calculer les distances entre points deux à deux
et de les trier, ce qui est relativement lent. Par ailleurs, l’occupation mémoire peut également
être importante si on n’y prend pas garde, si par exemple on calcule à l’initialisation de l’al-
gorithme le tableau des distances entre toutes les observations deux à deux.

3.1.3 Nombre de groupes


Nous n’avons pas encore répondu à la question du nombre de groupes à trouver. Si on
fixe a priori le nombre de groupes à une valeur K , on peut arrêter l’algorithme précédent
lorsqu’il ne reste plus que K groupes. De manière équivalente, cela revient à couper le den-
drogramme à une certaine hauteur de manière à intercepter K segments verticaux, qui dé-
finissent alors les groupes. Le dendrogramme peut également fournir une indication sur le
nombre de groupes : s’il présente un « saut » important entre deux valeurs a et b, cela signifie
que la dissimilarité entre observations dans chaque groupe est bien moindre que la dissimi-
larité entre observations d’au moins deux groupes fusionnés. On a donc intérêt à intercepter
le dendrogramme à une hauteur comprise entre a et b, et on en déduit le nombre de groupes
identifiés.

Introduction à l’apprentissage automatique


CHAPITRE 3. PROBLÈMES DE PARTITIONNEMENT 42

3.1.4 Illustration
La figure 3.1 montre des classifications hiérarchiques obtenues à partir d’un ensemble
de points très simple, de manière à illustrer la construction du dendrogramme. Le nombre
de groupes à trouver a été fixé à deux. Il s’agit donc des deux dernières groupes fusionnant
dans la construction du dendrogramme. La mesure de dissimilarité d est la distance eucli-
dienne. On voit que le critère single linkage ne convient pas ici. Il souffre du problème de
« chaînage » : il a tendance à progressivement fusionner les groupes liés par une chaîne de
points. Le critère complete linkage est basé sur la plus grande distance entre points de deux
groupes, ce qui explique que les points 4 et 5 appartiennent à deux groupes différents. Les
critères average linkage et de Ward, basés sur des moyennes, fournissent des groupes homo-
gènes et relativement bien séparés les uns des autres. Notez la similarité des dendrogrammes
construits selon ces deux critères.
D’après le paragraphe 3.1.3, on pourrait fixer le nombre de groupes à sept dans la classifi-
cation single linkage (groupe {3, 4, 5} et les six autres observations dans autant de groupes), à
trois, peut-être deux dans la classification complete linkage (groupes {1, 2, 3, 4}, {5, 7}, {6, 8, 9}),
et à deux dans les classifications average linkage et Ward (groupes {1, 2, 3, 4, 5} et {6, 7, 8, 9}). On
se rend compte que selon la distribution des observations, l’un ou l’autre des critères devra
être préféré. Toute la difficulté pratique est de choisir lequel.
La figure 3.2 est une autre illustration du phénomène de chaînage.

3.2 Partitionnement en K -moyennes


Il s’agit d’un algorithme très utilisé en pratique dans de nombreuses applications scienti-
fiques et industrielles car il est simple à mettre en œuvre et est relativement rapide.
Dans le partitionnement en K -moyennes (K -means), K désigne le nombre de groupes à
identifier. Il s’agit d’un paramètre fixé a priori par l’utilisateur. L’objectif est de trouver une
partition (C 1 , C 2 , . . . , C K ) de l’ensemble des observations (x n )1≤n≤N qui minimise la fonction
suivante, souvent appelée « inertie » :
K X °
E (C 1 , C 2 , . . . , C K ) = °x − m j °2
X °
2
j =1 x∈C j

où m j = #C1 j x∈C j x est la moyenne des observations appartenant au groupe C j ( j entre 1


P

et K ), d’où le nom « K -moyennes ». Rappelons que k · k2 désigne la norme euclidienne.


La fonction E est la somme des dispersions des groupes, chaque dispersion étant mesu-
rée par la somme des carrés des distances des points du groupe à son barycentre, c’est-à-dire
une inertie. On cherche à classer les observations en K groupes minimisant la somme des
inerties.

3.2.1 Algorithme de Lloyd


L’algorithme de Lloyd (1957) permet de trouver une partition correspondant à un mini-
mum local (en un sens précisé dans la démonstration ci-dessous) de l’inertie E . Il est illustré
par la figure 3.3.

École des Mines de Nancy


43 3.2. PARTITIONNEMENT EN K -MOYENNES

2 4 5 8
1
3 7
0.8 9

0.6
1 6
0.4
0.5 1 1.5 2 2.5 3

single linkage

0.55

0.5

0.45 single linkage

0.4
1

0.8
0.35

0.6
0.3
0.4
3 4 5 6 8 7 1 2 9 0.5 1 1.5 2 2.5 3

complete linkage

2.5

complete linkage
1.5

1
1
0.8

0.6
0.5

0.4
3 4 1 2 5 7 6 8 9 0.5 1 1.5 2 2.5 3

average linkage
1.6

1.4

1.2

average linkage
1

1
0.8

0.8
0.6

0.6
0.4

0.4
3 4 5 1 2 6 8 9 7 0.5 1 1.5 2 2.5 3

Ward criterion

2.5

2
Ward criterion
1
1.5

0.8
1

0.6
0.5

0.4
3 4 5 1 2 6 8 9 7 0.5 1 1.5 2 2.5 3

F IGURE 3.1 – Exemples de partitionnement avec quatre mesures de dissimilarité entre groupes,
sur le même ensemble de point. De haut en bas : ensemble d’observations à partitionner, critère
single linkage, critère complete linkage, critère average linkage, critère de Ward. Le dendro-
gramme est à gauche et la partition en deux groupes obtenue à droite.

Introduction à l’apprentissage automatique


CHAPITRE 3. PROBLÈMES DE PARTITIONNEMENT 44

F IGURE 3.2 – Illustration du phénomène de chaînage. Sur la première ligne, le partitionne-


ment de l’ensemble d’observations (à gauche) en cinq groupes avec le critère single linkage (à
droite) semble cohérent. Sur la deuxième ligne, on voit que la présence des points « reliant »
deux des groupes (à gauche) entraîne leur fusion précoce par single linkage (au milieu) : un
des groupes est formé d’un point isolé (près du groupe en haut à gauche). La classification se-
lon le critère de Ward (à droite) reste cohérente, car celui-ci est basé sur l’inertie des groupes
identifiés, et tend à favoriser la compacité des groupes identifiés. Figure à voir en couleur.

Voici sa description.

Initialisation : choix aléatoire de K « moyennes » m 0j


Itérer les trois étapes suivantes, pour t Ê 0 :
1. pour tout 1 ≤ j ≤ K , définir C jt comme l’ensemble des observations x plus proche
de m tj que des autres moyennes,
2. étant donnée une partition (C 1t , C 2t , . . . , C Kt ), calculer les K moyennes (m tj +1 )1ÉkÉK
de chaque groupe,
3. incrémenter t .

Nous allons démontrer la proposition suivante.

Proposition 3.1 L’algorithme de Lloyd converge vers un minimum local de l’inertie E en un


nombre fini d’itérations.

La démonstration repose sur l’évolution de l’inertie entre deux itérations. Auparavant, on


démontre une propriété classique de la norme euclidienne. Rappelons qu’on désigne par #A
le cardinal d’un ensemble fini A.

École des Mines de Nancy


45 3.2. PARTITIONNEMENT EN K -MOYENNES

K-means, 1 iteration K-means, 2 iterations


0.6 0.6

0.4 0.4

0.2 0.2

0 0

-0.2 -0.2

-0.4 -0.4

-0.6 -0.6

-0.8 -0.8

-1 Cluster 1 -1 Cluster 1
Cluster 2 Cluster 2
-1.2 Cluster 3 -1.2 Cluster 3
Cluster Centroid Cluster Centroid
-1.4 -1.4
-1.5 -1 -0.5 0 0.5 1 1.5 2 -1.5 -1 -0.5 0 0.5 1 1.5 2

K-means, 5 iterations K-means, 10 iterations


0.6 0.6

0.4 0.4

0.2 0.2

0 0

-0.2 -0.2

-0.4 -0.4

-0.6 -0.6

-0.8 -0.8

-1 Cluster 1 -1 Cluster 1
Cluster 2 Cluster 2
-1.2 Cluster 3 -1.2 Cluster 3
Cluster Centroid Cluster Centroid
-1.4 -1.4
-1.5 -1 -0.5 0 0.5 1 1.5 2 -1.5 -1 -0.5 0 0.5 1 1.5 2

F IGURE 3.3 – Algorithme de Lloyd : illustration. Évolution des moyennes (barycentres des
groupes) et affectation des observations au cours des itérations. Attention, sur chaque gra-
phique sont représentés les clusters à l’étape t − 1 et les barycentres à l’étape t , conformément
au déroulement de l’algorithme.

Lemme 1 Soit A un ensemble fini de points dans un espace euclidien. La fonction

kx − yk22
X
y 7→
x∈A

définie sur tout l’espace est minimale pour la moyenne des points de A :

1 X
y= x
#A x∈A

Démonstration
On développe successivement, pour tout y :

Introduction à l’apprentissage automatique


CHAPITRE 3. PROBLÈMES DE PARTITIONNEMENT 46

kx − yk22 = kxk22 + kyk22 − 2x · y


X X¡ ¢
x∈A x∈A
à ! ° °2 ° °2
1 ° X ° 1 ° °
kxk22 + #Akyk22 − 2 kxk22 +
X X X °X °
= x ·y = °#Ay − x° − x°
° °
°
x∈A x∈A x∈A #A ° x∈A
° #A °x∈A °
2 2

1 P
est bien minimal pour y = #A x∈A x qui annule le seul terme dépendant de y. 

On peut à présent démontrer la proposition 3.1.

Démonstration
Avec les notations de la description de l’algorithme, en notant E t l’inertie à la fin de l’itéra-
tion t , on peut écrire :

K X ° °2
Et °x − m tj +1 °
X
=
° °
2
j =1 x∈C jt

K X ° °2
°x − m tj +1 °
X
Ê
° °
2
j =1 x∈C t +1
j

car la partition (C 1t +1 , C 2t +1 , . . . , C Kt +1 ) est justement formée, à l’étape t + 1, de manière à ce


que chaque x soit associé au m tj +1 le plus proche.
Comme m tj +2 minimise la fonction qui à y associe x∈C t +1 kx − yk22 (cf lemme 1), on dé-
P
j
duit l’inégalité :
K X ° °2
Et Ê °x − m tj +2 °
X ° °
2
j =1 x∈C t +1
j

d’où E t Ê E t +1 .
La suite des inerties E t est donc décroissante. Comme il n’y a qu’un nombre fini de possi-
bilités pour former K groupes parmi N observations (voir les nombres de Stirling de seconde
∗ ∗
espèce), il existe un t ∗ tel que : E t = E t +1 . Pour obtenir cette égalité, les deux inégalités pré-
cédemment établies doivent être des égalités, donc pour tout j , m t ∗ +1 = m t ∗ +2 , et pour tout j ,
∗ ∗
C tj +1 = C tj . Les assignations des observations aux classes ne changent donc plus pour t > t ∗ .
C’est en ce sens qu’on parle de minimum local de l’inertie (et pas dans un sens habituel fai-
sant intervenir le voisinage dans un espace métrique : ici l’inertie est définie sur l’ensemble
fini des partitions en K groupes). 

École des Mines de Nancy


47 3.3. MÉTHODES DE PARTITIONNEMENT BASÉES SUR LA DENSITÉ

3.2.2 Discussion
La description de l’algorithme de Lloyd ne repose pas explicitement sur la notion de
norme euclidienne : cet algorithme ne fait appel qu’à une distance et à la notion de moyenne.
Pourtant, la convergence de l’algorithme est bien assurée par le lemme 1, qui caractérise la
moyenne à l’aide de la norme euclidienne. Utiliser une norme non-euclidienne n’assure plus
la convergence : il faut alors employer d’autres algorithmes que celui de Lloyd.

L’algorithme de Lloyd converge vers un minimum local de l’inertie : l’initialisation étant


aléatoire, un autre minimum local peut être trouvé à chaque exécution. Il est d’usage d’exécu-
ter l’algorithme plusieurs fois, et de garder la partition d’inertie minimale parmi celles trou-
vées.

Concernant le nombre d’itérations nécessaire avant de converger, la démonstration nous


dit qu’il est borné par le nombre de Stirling de seconde espèce s(N , K ), dont on dispose de
l’équivalent :
s(N , K ) ∼N →+∞ K N /K !

à K fixé. En pratique, le nombre de groupes K est bien inférieur au nombre N d’observations


à classer. Des grandeurs typiques, qui peuvent être bien plus grandes dans certaines appli-
cations, sont par exemple N = 1000, K = 10, d’où un nombre astronomique de possibilités
à tester (rappelons que le nombre d’atomes dans l’univers est estimé à 1080 ). Il est illusoire
de tester exhaustivement toutes ces possibilités : un algorithme guidant la recherche du mi-
nimum de l’inertie est nécessaire. Heureusement, il se trouve qu’en pratique l’algorithme de
Lloyd s’arrête bien avant que le nombre d’itérations atteigne cette borne ; il permet donc de
guider efficacement la recherche. De plus, il est possible d’arrêter l’algorithme au bout de
quelques itérations car en général seuls quelques points mal classés subsistent alors.

Comme l’inertie mesure la dispersion de chaque groupe autour de sa moyenne par l’in-
termédiaire de la norme euclidienne, l’algorithme des K -moyennes sera adapté à l’identifi-
cation de groupes de forme sphérique, bien représentés par leur moyenne.

Le paramètre K est critique, et bien entendu on ne sait pas à l’avance combien de groupes
sont recherchés. On se rend compte qu’une partition optimale à K + 1 groupes a une inertie
minimale inférieure à celle d’une partition optimale à K éléments (c’est une conséquence de
l’inégalité triangulaire). Si on trace le graphe de l’inertie optimale trouvée par l’algorithme
de Lloyd en fonction de K et si l’optimum local trouvé n’est pas trop éloigné de l’optimum
global, on observe une courbe décroissante. On peut envisager de choisir comme nombre de
groupes la valeur de K à partir de laquelle l’inertie ne décroît plus franchement. Il s’agit de la
méthode du coude (la courbe marque un coude), ou elbow method, que l’on reverra lors des
travaux pratiques.

3.3 Méthodes de partitionnement basées sur la densité


On peut voir les observations à partitionner comme des réalisations de variables aléa-
toires. Le problème du partitionnement est alors lié à celui d’estimer (implicitement) la den-

Introduction à l’apprentissage automatique


CHAPITRE 3. PROBLÈMES DE PARTITIONNEMENT 48

sité de probabilité sous-jacente : un groupe sera identifié comme un ensemble d’observa-


tions dans une région de densité élevée.

3.3.1 DBSCAN
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) est un algorithme
de partitionnement très utilisé datant de 1996.
Il peut être décrit de la manière suivante, avec les paramètres ε > 0 et N entier :

1. Trouver les observations (les « voisines ») à une distance inférieure à ε de chaque


observation, et définir les observations possédant plus de N voisines comme les
« points centraux » ;
2. Trouver les composantes connexes dans le graphe de voisinage des points centraux,
et définir les groupes comme ces composantes connexes ;
3. Assigner les observations qui ne sont pas des points centraux au groupe du point
central le plus proche parmi les observations voisines, et les assigner au bruit si
aucune voisine n’est point central.

Dans l’étape 2, on ne considère que les points centraux : deux points centraux sont liés
s’ils sont voisins l’un de l’autre. Le graphe résultant présente des composantes connexes : des
ensembles de points centraux qui ne sont liés par aucun chemin à une autre composante
connexe.
Dans l’étape 1, on voit que les points centraux sont les observations se situant dans des
zones de forte densité.
Pour assurer une complexité optimale en occupation mémoire et en temps de calcul,
il faut implanter l’algorithme de manière réfléchie : trouver les observations voisines et les
composantes connexes du graphe de voisinage de manière efficace nécessite un peu de tra-
vail.
L’algorithme présente deux paramètres : ε et N . Il est déterministe mais le résultat est
susceptible de dépendre de l’ordre de parcours des observations.
Les avantages de l’algorithme DBSCAN par rapport aux k-moyennes sont qu’il ne néces-
site pas de fixer le nombre de groupes a priori, il peut trouver des groupes de forme arbitraire,
et il peut « laisser de côté » des points aberrants (le bruit).
Les inconvénients de DBSCAN sont notamment sa dépendance à la distance choisie entre
les observations (mais comme tous les algorithmes vus ici), et sa difficulté à identifier des
groupes de densité différentes car les paramètres ε et N sont uniformes sur toute la base
d’observations.
La figure 3.4 illustre le comportement de DBSCAN.

3.3.2 Mean shift


L’algorithme Mean shift (décalage de la moyenne) cherche à trouver des modes (des ex-
trema) dans la distribution des observations. Il est très utilisé dans de nombreuses applica-
tions de vision par ordinateur.

École des Mines de Nancy


49 3.3. MÉTHODES DE PARTITIONNEMENT BASÉES SUR LA DENSITÉ

F IGURE 3.4 – Un exemple de partitionnement obtenu par DBSCAN (implantation de scikit-


learn, ε = 0.3, N = 10). Quatre groupes ont été identifiés, les observations marqués par un grand
cercle de couleur sont les points centraux (étape 1 de l’algorithme), celles marquées par un petit
cercle de couleur ne sont pas des points centraux mais ont été affectés à une classe (étape 3). Les
observations en noir sont considérées comme du bruit par l’algorithme.

On verra au chapitre 5 (section 5.1.2) que l’on peut évaluer la densité de probabilité sous-
jacente à un ensemble d’observations (x n )1ÉnÉN par la méthode des fenêtres de Parzen. On
suppose disposer d’une fenêtre, c’est-à-dire une fonction W concentrée autour de 0, d’inté-
grale 1 sur l’espace des observations.
L’estimation de la densité en un point x de l’espace des observations est donnée par :

1 N ³x −x ´
X n
p W (x) = W
N hd n=1 h

où h est appelée « largeur de bande » (bandwidth), et où la somme est normalisée de manière


à ce que p W s’intègre à 1 sur tout l’espace.
On suppose que la fenêtre est gaussienne :

W (x) = W0 exp(−kxk22 /2)

R
avec W0 fixé de manière à ce que W = 1. Dans ce cas, le gradient de W vérifie la relation :
∇W (x) = −xW (x).
Nous allons identifier les extrema locaux de cette densité par une méthode de « montée
de gradient » (voir annexe B.3).

Introduction à l’apprentissage automatique


CHAPITRE 3. PROBLÈMES DE PARTITIONNEMENT 50

On calcule :
1 N x −x ³x −x ´
X n n
∇p W (x) = − W
N h d n=1 h 2 h
1 X N ³x −x ´ x x
n n
= d
W 2
− p W (x) 2
N h n=1 h h h
D’où PN ¡ x−xn ¢
∇p W (x) n=1 W h xn
2
= PN ¡ x−xn ¢ − x
h p W (x) n=1 W h
Une étape de montée de gradient à pas variable consisterait à remplacer x par x+λ(x)∇p W (x)
où λ(x) > 0 est le pas de la montée. Sous hypothèse de convergence, les itérés successifs se
rapprochent de plus en plus d’un maximum local.
Si on note : PN ¡ x−xn ¢
n=1 W h xn
m h (x) = PN ¡ x−xn ¢
n=1 W h
remplacer x par m h (x) revient à faire une étape de montée de gradient avec λ(x) = h 2 p1 (x) . La
W
fonction λ assure un pas de montée grand lorsque p W est petit (on est loin du maximum, on
peut accélérer) et grand lorsque p W est grand (on s’approche du maximum, il faut ralentir).
m h (x) est la moyenne pondérée par leur distance à x des observations.
Ce développement mathématique nous suggère qu’en itérant ce processus, la suite ob-
tenue converge vers un maximum local de la densité des observations p W . On peut affecter
à un groupe les observations qui appartiennent au bassin d’attraction du même maximum
local.
L’algorithme de partitionnement mean shift consiste à :

— pour chaque observation x n , itérer :

x n0 = x n
½

x ni +1 = m h x ni pour tout i > 0


¡ ¢

jusque convergence ;
— affecter à un même groupe les observations qui ont convergé vers la même limite

La figure 3.5 montre les itérés successifs obtenus à partir de quelques points d’initialisa-
tion dans un cas pratique. On peut rendre la discussion précédente un peu plus rigoureuse et
démontrer que mean shift converge effectivement. Nous avons supposé utiliser une fenêtre
exponentielle. En fait, on voit que si ∇W (x) = −c xK (x) (où c est une constante positive), alors
l’algorithme mean shift utilisant la fenêtre K peut toujours être interprété comme une mon-
tée de gradient sur la densité estimée par la méthode de Parzen avec la fenêtre W . N’importe
quelle fonction ne convient pas : il faut que W et K soient des fenêtres (c’est-à-dire concen-
trées autour de 0). Ceci justifie l’utilisation fréquente de la fenêtre
½
1 si |x| É 1
K (x) =
0 sinon

École des Mines de Nancy


51 3.4. POUR APPROFONDIR. . .

F IGURE 3.5 – Exemple d’évolution des itérés de l’algorithme mean shift (fenêtre gaussienne,
largeur de bande h = 0, 5). Les cinq observations initiales sont identifiées par un symbole plus
grand : on voit qu’au fur et à mesure, la suite des moyennes converge vers un des deux extrema
locaux de la densité des observations.

dans l’algorithme mean shift, au lieu d’une fenêtre gaussienne. La convergence est assurée
car la fenêtre W associée est la fonction d’Epanechnikov :
½ 3
(1 − x 2 ) si |x| É 1
W (x) = 4
0 sinon

L’algorithme mean shift peut trouver des groupes de forme quelconque. En pratique, le
choix de la largeur de bande h peut être critique. Néanmoins, la largeur de bande a une inter-
prétation « physique » : elle dépend de la densité des observations. Des heuristiques existent
pour choisir sa valeur a priori, contrairement au nombre de classe K qui est le paramètre de
l’algorithme des K -moyennes. Le calcul de m h est lourd, ce qui rend l’algorithme assez lent
en pratique.
La figure 3.6 montre un exemple de partitionnement par mean shift.

3.4 Pour approfondir. . .


Distance d’édition La distance d’édition (ou de Levenshtein) évoquée en section 3.1.1 fait
l’objet d’un exercice dans le polycopié disponible à l’URL suivante (p. 13 et 76) :
https://members.loria.fr/FSur/enseignement/RO/

Complexité algorithmique de l’algorithme des K -moyennes Pour certaines distributions


des observations, le nombre d’itérations nécessaires pour que l’algorithme de Lloyd converge

Introduction à l’apprentissage automatique


CHAPITRE 3. PROBLÈMES DE PARTITIONNEMENT 52

F IGURE 3.6 – Deux exemples de partitionnement obtenus par mean shift (implantation de
scikit-learn). Première ligne : largeur de bande de 0,5 ; 9 groupes sont identifiés. Seconde ligne :
0,8 ; 4 groupes sont identifiés. On voit l’influence de la largeur de bande : plus elle est grande
plus l’estimation de la densité est « lissée » et moins cette densité présente de maxima (voir la
figure 5.2 au chapitre 5). Le disque de couleur montre la limite des itérés successifs des obser-
vations associées à chaque groupe : il s’agit d’un maximum de l’estimation de la densité de
probabilité par la méthode des fenêtres de Parzen.

École des Mines de Nancy


53 3.4. POUR APPROFONDIR. . .

est de l’ordre de grandeur de 2N , comme l’indique la borne donnée par les nombres de Stir-
ling. On peut alors se demander ce qui explique le succès de l’algorithme sur des données
réelles, comme mentionné dans le paragraphe 3.2.2. L’article suivant nous donne une piste
de compréhension :
D. Arthur, B. Manthey, H. Röglin, Smoothed analysis of the k-means method, Journal of the
ACM, 2011.
Citons la conclusion de son résumé : “if an arbitrary input data set is randomly perturbed,
then the k-means method will run in expected polynomial time on that input set”. Lorsqu’on
étudie la complexité des algorithmes, une borne polynomiale est bien meilleure qu’une borne
exponentielle qui bien souvent traduit l’impossibilité pratique d’utiliser l’algorithme. La pro-
priété mentionnée signifie qu’il faut vraiment ne pas avoir de chance pour tomber sur un
ensemble d’observations nécessitant un nombre exponentiel d’itérations. En effet, les per-
turbations aléatoires de cet ensemble « pathologique » nécessitent en moyenne un nombre
polynomial d’itérations, et les observations réelles peuvent justement être vues comme réa-
lisation d’un processus aléatoire à cause du bruit de mesure.

Accélération des K -moyennes en pratique La tâche chronophage dans l’algorithme de


Lloyd est l’assignation de toutes les observations à la moyenne la plus proche (qu’il faut trou-
ver). L’algorithme MiniBatch K -means (dont on utilisera l’implantation fournie dans la bi-
bliothèque scikit-learn) extrait à chaque itération un échantillon aléatoire de l’ensemble
des observations, et se sert uniquement de cet échantillon pour mettre à jour les moyennes.
Une partition satisfaisante est alors trouvée bien plus rapidement que par l’algorithme de
Lloyd, au prix d’une inertie un peu plus grande que la solution de Lloyd localement optimale.
MiniBatch K -means est décrit dans cet article :
D. Sculley, Web-Scale K-Means Clustering, proceedings of the 19th International Conference
on World Wide Web, p. 1177-1178, 2010
téléchargeable depuis la documentation de scikit-learn :
https://scikit-learn.org/stable/modules/clustering.html#mini-batch-kmeans

Lecture Pour plus de détails sur les K -moyennes et le partitionnement en général, vous
pouvez consulter :
Anil K. Jain, Data clustering : 50 years beyond K-means, Pattern Recognition Letters, vol. 31,
no. 8, p. 651-666, 2010.

Introduction à l’apprentissage automatique


Chapitre 4

Théorie statistique de la décision

Nous nous plaçons dans le cadre de l’apprentissage supervisé. On suppose disposer d’une
base de N observations étiquetées (x n , y n )1ÉnÉN , avec y n une étiquette qui prend une valeur
scalaire ou vectorielle dans le cas de la régression, ou une valeur dans un ensemble fini de
classes dans le cas de la classification. Rappelons qu’on cherche une fonction f w capable de
prédire l’étiquette d’une nouvelle observation x en se basant sur les observations étiquetées.
Cette fonction dépend généralement d’un ensemble de paramètres w .
La question à laquelle on essaie d’apporter des éléments de réponse est la suivante : com-
ment définir le prédicteur f w de manière à minimiser le risque d’erreur face à une nouvelle
observation ? Nous savons depuis le chapitre 2 qu’il ne suffit pas de chercher f w minimisant
le risque empirique, comme le montre l’exemple de l’apprentissage « par cœur ».
Dans ce chapitre, nous tentons de définir le prédicteur optimal dans le cadre d’une mo-
délisation probabiliste de l’ensemble des observations.

4.1 Minimisation du risque de prédiction


Comme dans le chapitre 2 (nous utilisons les notations de la section 2.2.1), nous intro-
duisons la fonction de perte (loss function) `(y, h(x)) quantifiant le coût d’une erreur de pré-
diction sur l’observation x, et nous cherchons le prédicteur h qui minimise le coût d’erreur
moyen sur l’espace des observations possibles.
Ce coût moyen est défini comme l’espérance du coût d’erreur sous la loi de probabilité du
couple (X , Y ) définie sur l’espace des observations ; il s’agit du risque moyen de prédiction R p
défini précédemment comme :

R p (h) = E (X ,Y ) (`(Y , h(X )))

Supposons un instant que la loi de (X , Y ) est connue, et notons-la p(x, y). Bien entendu,
toute la difficulté est qu’elle est, en pratique, inconnue. Que peut-on dire d’un classifieur h
qui minimiserait le risque moyen R p ?
CHAPITRE 4. THÉORIE STATISTIQUE DE LA DÉCISION 56

Nous discutons séparément régression et classification supervisée, les fonctions de coût `


étant différentes dans ces deux situations.

4.1.1 Minimisation du risque et régression


4.1.1.1 Régresseur pour un coût quadratique

Dans le cas de la régression, l’étiquette y prend des valeurs scalaires ou vectorielles. Un


coût classique est le coût quadratique :

`(y, h(x)) = ky − h(x)k22

Pour alléger les notations, on omettra l’indice 2 de la norme dans la suite du chapitre : il
s’agira toujours de la norme euclidienne.
En développant ky − h(x)k2 = kyk2 + kh(x)k2 − 2y · h(x) :

R p (h) = E (X ,Y ) (`(Y , h(X )))


Ï Ï
kyk2 p(x, y) dx dy + kh(x)k2 − 2y · h(x) p(x, y) dx dy
¡ ¢
=

Comme la première intégrale ne dépend pas de h, minimiser R p revient à minimiser la se-


conde intégrale. Or, en écrivant p(x, y) = p(x)p(y|x) :
Ï
kh(x)k2 − 2y · h(x) p(x, y) dx dy
¡ ¢

Ï Z µZ ¶
2
= kh(x)k p(x)p(y|x) dx dy − 2 y p(y|x) dy · h(x)p(x) dx

Comme kh(x)k2 p(x)p(y|x) dx dy = kh(x)k2 p(x) p(y|x) dy dx et p(y|x) dy = 1, mi-


Î R ¡R ¢ R

nimiser R p revient à minimiser :


Z Z µZ ¶
kh(x)k2 p(x) dx − 2 y p(y|x) dy · h(x)p(x) dx
Z µ µZ ¶ ¶
= kh(x)k2 − 2 y p(y|x) dy · h(x) p(x) dx

Néanmoins,
µZ ¶ ° Z °2 °Z °2
kh(x)k2 − 2
° ° ° °
y p(y|x) dy · h(x) = °
°h(x) − y p(y|x) dy ° − ° y p(y|x) dy °
° ° °

On peut donc conclure : minimiser R p (h) par rapport à h revient à minimiser


Z ° Z °2
° °
°h(x) − y p(y|x) dy ° p(x) dx
° °

c’est-à-dire choisir : Z
h(x) = y p(y|x) dy

École des Mines de Nancy


57 4.1. MINIMISATION DU RISQUE DE PRÉDICTION

F IGURE 4.1 – Régression pour un coût quadratique. Dans ces exemples, on souhaite pré-
dire y ∈ R en fonction du régresseur x ∈ R. L’estimateur optimal est représenté en trait plein
R
et est donné en chaque x par : h(x) = y p(y|x) dy = E (Y |X = x). À gauche : situation générale
dans laquelle la densité p(y|x) varie selon x. À droite : lorsque (X , Y ) est un vecteur gaussien,
h est un estimateur linéaire.

Cette dernière quantité étant l’espérance conditionnelle de Y sachant X = x, on peut aussi


écrire : h(x) = E (Y |X = x). De même, p(y|x) = p(x, y)/p(x) est la densité conditionnelle de Y
sachant X = x.
Nous avons donc démontré la proposition suivante.

Proposition 4.1 Le régresseur minimisant le risque de prédiction pour un coût d’erreur qua-
dratique est donné par la relation :
Z
h(x) = E (Y |X = x) = y p(y|x) dy

4.1.1.2 En pratique

En pratique, on ne connaît ni p(x, y) ni p(y|x), mais seulement un ensemble fini d’obser-


vations étiquetées (x n , y n )1ÉnÉN . En supposant que ce jeu de données a permis d’estimer la
R
densité conjointe p(x, y), on peut alors déterminer le prédicteur h(x) = y p(y|x) dy, comme
illustré par la figure 4.1
Il existe des cas où on peut déterminer h(x) plus explicitement. Par exemple, supposons
que p(x, y) est une densité gaussienne. Nous disposons du théorème suivant (admis) :

Théorème 4.1 Si (X , Y ) est un vecteur aléatoire Gaussien de moyenne (E (X ), E (Y )) et de ma-


Σ X Σ0
µ ¶
trice de covariance T (de manière à ce que Σ X soit la matrice de covariance de X , ΣY
Σ0 ΣY
celle de Y , et Σ0 la matrice de covariance de X et Y ), alors la loi conditionnelle p(y|x) est une
loi gaussienne d’espérance :

E (Y |X = x) = E (Y ) + ΣT0 Σ−1
X (x − E (X ))

Introduction à l’apprentissage automatique


CHAPITRE 4. THÉORIE STATISTIQUE DE LA DÉCISION 58

Nous déduisons donc :


Proposition 4.2 Dans le cas où p(x, y) est une densité gaussienne, l’estimateur h optimal pour
un coût quadratique est linéaire.
Cet estimateur h(x) s’exprime donc en fonction de E (X ), E (Y ), Σ0 et Σ X par la formule pré-
cédente.
Bien entendu, ces paramètres sont généralement inconnus. On remplace donc le risque
de prédiction moyen par le risque empirique, et on se retrouve dans la situation de l’estima-
tion des paramètres de la régression linéaire au sens des moindres carrés des résidus, rappe-
lée au chapitre 1, section 1.4.2 et étudiée dans les cours de statistique.

4.1.2 Minimisation du risque et classification


Dans le cas de la classification supervisée, l’étiquette y prend une valeur correspondant
à un classe parmi K . Les classes forment une partition des observations. Nous noterons C 1 ,
C 2 , . . ., C K les classes, et y = C 1 , y = C 2 , etc. les valeurs prises par y.
Une fonction de coût classique pour les problèmes de classification est le coût 0-1 :
½
0 si h(x) = y (pas d’erreur de classification)
`(y, h(x)) =
1 si h(x) 6= y (erreur de classification)
On écrit plus succinctement `(y, h(x)) = 1F (x, y), où 1F est la fonction indicatrice du sous-
ensemble F = {(x, y), h(x) 6= y} de l’ensemble des observations étiquétées. Autrement dit,
F est l’ensemble des observations étiquetées dont la classe n’est pas correctement prédite
par h. Rappelons que la fonction indicatrice d’un ensemble vaut 1 sur cet ensemble et 0 en
dehors.

4.1.2.1 Notations et vocabulaire

Nous adaptons les notations au problème de la classification supervisée :


— p(C k ) est la probabilité a priori (prior probability). Bien entendu, Kk=1 p(C k ) = 1. Il
P

s’agit de l’information potentiellement connue avant d’avoir observé des données.


Par exemple, dans un problème de reconnaissance de caractères, le but est d’associer
des imagettes figurant les caractères au caractère représenté. On peut connaître la pro-
babilité a priori d’un caractère à partir des fréquences d’apparition dans la langue du
document : p(a) = 0.07, p(b) = 0.01, p(c) = 0.03. . .
— p(x|C k ) est la probabilité conditionnelle. On devrait parler en fait de densité (ou vrai-
semblance, likelihood) mais bon nombre d’auteurs parlent abusivement de probabi-
lité. Il s’agit de la densité de la loi de probabilité d’une observation tirée dans la classe C k .
Un choix classique est le modèle gaussien. Dans le cas où x ∈ Rd ,
1 1 T
Σ−1
p(x|C k ) = e − 2 (x−µk ) k
(x−µk )
(2π)d /2 |Σk |1/2
la classe C k étant caractérisée par la moyenne µk et la matrice de covariance Σk de
déterminant |Σk |.

École des Mines de Nancy


59 4.1. MINIMISATION DU RISQUE DE PRÉDICTION

— p(C k |x) est la probabilité a posteriori (posterior probability).


Il s’agit de la probabilité de la classe C k étant donnée l’observation x. Comme nous
allons le voir, nous chercherons à déterminer cette probabilité a posteriori.

Ces probabilités sont liées par le théorème de Bayes :

p(x|C k )p(C k )
∀ 1 ≤ k ≤ K , p(C k |x) =
p(x)

et la formule des probabilités totales :

K K
p(x, C k ) =
X X
p(x) = p(x|C k )p(C k )
k=1 k=1

4.1.2.2 Classification pour un coût 0-1

Pour simplifier les notations, nous nous restreignons au cas biclasse (K = 2) dans la suite
du chapitre.
Avec un coût 0-1, le risque de prédiction s’écrit :
Ï
¡ ¢
R p (h) = E (X ,Y ) 1F (x, y)) = 1F (x, y)p(x, y) dx dy

De plus, l’ensemble F s’écrit comme une union disjointe :

F = F1 ∪ F2


F 1 = (x, y) tel que h(x) = C 1 et y = C 2
© ª

et
F 2 = (x, y) tel que h(x) = C 2 et y = C 1
© ª

Donc
Z Z
R p (h) = 1F1 (x, C 2 )p(x, C 2 ) dx + 1F2 (x, C 1 )p(x, C 1 ) dx
Z Z
= p (x, C 2 ) dx + p (x, C 1 ) dx
R1 R2


R 1 = x tel que h(x) = C 1
© ª

et
R 2 = x tel que h(x) = C 2
© ª

Ces deux ensembles séparent les observations respectivement en celles classées dans C 1
par h et celles classées dans C 2 .
Remarquons que si k = 1 ou k = 2, p(x, C k ) = p(x|C k )p(C k ) = p(C k |x)p(x).

Introduction à l’apprentissage automatique


CHAPITRE 4. THÉORIE STATISTIQUE DE LA DÉCISION 60

F IGURE 4.2 – Minimisation du risque de prédiction. Nous représentons les densités p(x, C 1 )
et p(x, C 2 ) dans le cas où x ∈ R (les observations sont des scalaires). Les ensembles R 1 et
R 2 réalisent une partition de l’espace des observations. Le risque de prédiction R p (h) =
R 1 p (x, C 2 ) dx + R 2 p (x, C 1 ) dx apparaît comme la somme des surfaces hachurées hori-
R R

zontalement (première intégrale) et verticalement (seconde intégrale). Pour minimiser R p ,


il faut donc choisir R 1 comme l’ensemble des x tels que p(x, C 2 ) < p(x, C 1 ) et R 2 comme
l’ensemble des x tels que p(x, C 1 ) < p(x, C 2 ). Cela se résume en la règle de décision h(x) =
arg max C k p(x, C k ). Ce raisonnement s’étend à des observations non scalaires et au cas de K > 2
classes.

Le problème est de choisir h de manière à minimiser R p (h). L’illustration de la figure 4.2


permet de répondre à la question : il faut que h(x) soit la classe C 1 si p(x, C 1 ) > p(x, C 2 ), et la
classe C 2 dans le cas contraire. Le classifieur optimal h vérifie donc : h(x) = arg max C k p(x, C k ).
On conclut avec la remarque précédente liant p(x, C k ), vraisemblance p(x|C k ), et probabili-
tés a posteriori p(C k |x) et a priori p(C k ) :

Proposition 4.3 Le classifieur minimisant le risque de prédiction pour un coût d’erreur 0-1 est
défini par :
h(x) = arg max p(x|C k )p(C k )
Ck

ou, de manière équivalente :


h(x) = arg max p(C k |x)
Ck

Ce classifieur est appelé classifieur de Bayes. Comme il consiste à associer x à la classe


de probabilité a posteriori maximale, on l’appelle aussi classifieur du maximum a posteriori
(MAP).

École des Mines de Nancy


61 4.2. POUR APPROFONDIR. . .

On remarque que le classifieur de Bayes peut classer une observation x dans une classe C 1 ,
même si p(x|C 1 ) n’est pas la vraisemblance la plus élevée parmi les p(x|C k ), à condition que
la probabilité a priori p(C 1 ) ait une valeur élevée.
Comme dans la discussion sur la régression, il ne faut pas perdre de vue que le raison-
nement a été mené en supposant les différentes distributions de probabilités connues. Le
classifieur de Bayes est le classifieur idéal dans le cas du risque 0-1, dans le sens où il réalise
le minimum du risque de prédiction. Néanmoins, pour le mettre en œuvre il faut être capable
d’estimer les densités de manière fiable (voir le chapitre 5), ou d’imposer des hypothèses ad-
ditionnelles, comme nous le ferons dans le chapitre 6.

4.2 Pour approfondir. . .


Régression robuste, M-estimateur, RANSAC Comme mentionné précédemment, l’incon-
vénient de la régression avec un coût quadratique est l’influence de certaines observations :
ce coût donne un poids très fort à des données aberrantes puisqu’elles contribuent comme
le carré du résidu, qui est grand dans ce cas. Plutôt que minimiser la somme des carrés des
résidus
N
ky n − f θ (x n )k22
X
n=1

en fonction des paramètres θ du modèle, un M-estimateur cherchera à minimiser à l’aide


d’un algorithme d’optimisation numérique :
N
ρ(y n − f θ (x n ))
X
n=1

avec ρ une fonction donnant un coût moins grand aux données aberrantes, de résidus élevés.
Par exemple, le coût de Huber (Huber loss) s’exprime comme :

x2 si |x| É δ
½
ρ(x) =
2δ|x| − δ2 sinon

où δ est un paramètre positif. Le coût de Huber a l’avantage de croître linéairement plutôt


que quadratiquement, comme illustré par la figure 4.3. Cela diminue l’influence des données
aberrantes.
Dans le même esprit, on peut utiliser :

si |x| É δ
½
0
ρ(x) =
1 sinon

Les observations vérifiant |y n − f θ (x n )| É δ forment ce qu’on appelle l’« ensemble de consen-


sus » : n ρ(y n − f θ (x n )) est le cardinal du complémentaire de cet ensemble. L’objectif de mini-
P

miser n ρ(y n − f θ (x n )) est donc équivalent à celui de maximiser le cardinal de l’ensemble de


P

consensus. La fonction n’étant ni dérivable, ni convexe, on ne peut plus utiliser d’algorithme


d’optimisation numérique basé sur le gradient (par exemple) ; il faut utiliser un algorithme

Introduction à l’apprentissage automatique


CHAPITRE 4. THÉORIE STATISTIQUE DE LA DÉCISION 62

4
Huber loss
3.5 0-1 loss
square loss

2.5

1.5

0.5

0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x

F IGURE 4.3 – Croissance comparée des coûts de Huber (δ = 1), 0-1, et quadratique.

d’optimisation combinatoire. C’est ce que réalise le célèbre algorithme RANSAC (Random


Sample Consensus, Fischler et Bolles 1981). RANSAC est très utile dans des situations où
une grande proportion de données aberrantes sont présentes, comme dans les problèmes
de vision par ordinateur. Le principe est relativement simple et vous êtes invité à faire une
recherche Internet si vous voulez en savoir davantage.

École des Mines de Nancy


Chapitre 5

Estimation de densités de probabilité

Le classifieur de Bayes et le régresseur optimal reposent sur la connaissance de différentes


lois de probabilités.
Dans le problème de la classification supervisée, il faut avoir une connaissance des pro-
babilités a priori p(C k ). Les approches les plus populaires sont les suivantes.
— On dispose d’une information, indépendamment des observations. C’est le cas par
exemple de la reconnaissance de caractères discutée précédemment.
— Les probabilités p(C k ) sont les fréquences estimées sur la base des observations éti-
quetées :
# {x n ∈ C k , 1 ≤ n ≤ N }
p(C k ) =
N
où # désigne le cardinal d’un ensemble fini.
— On peut aussi juger qu’aucune classe n’est vraiment prépondérante, et supposer les
probabilités a priori p(C k ) toutes égales. Dans ce cas, le classifieur de Bayes se sim-
plifie en h(x) = arg max C k p(x|C k ). Il s’agit de la règle du maximum de vraisemblance
(maximum of likelihood, ML).
En ce qui concerne les densités p(x|C k ) (cas de la classification) et p(y|x) (cas de la ré-
gression), il faut les estimer à partir des données étiquetées. On utilisera alors les méthodes
générales d’estimation de densités de probabilité, qui est une branche de l’apprentissage
non-supervisé. Le fait que dans le problème initial les observations sont étiquetées ne change
pas grand-chose.
On suppose disposer d’un jeu de données de N observations (x n )1ÉnÉN appartenant à
un espace vectoriel Rd , et on cherche à estimer la densité de probabilité sous-jacente. On
distingue les méthodes non-paramétriques et les méthodes paramétriques.

5.1 Méthodes non-paramétriques


Ces méthodes sont dites non-paramétriques dans le sens où la densité estimée ne dépend
pas directement d’un ou plusieurs paramètres.
CHAPITRE 5. ESTIMATION DE DENSITÉS DE PROBABILITÉ 64

1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
0 0.5 1 1.5 2 2.5 0 0.5 1 1.5 2 2.5

F IGURE 5.1 – Estimation de densité par histogramme. Dans cet exemple, les observations (les
mêmes dans les deux cas) sont des réels et sont représentées par des croix sur l’axe des abs-
cisses. Les histogrammes sont définis comme la proportion d’observations « tombant » dans
les baquets (des intervalles dont les limites sont marquées par un petit disque), normalisée
de manière à ce que l’intégrale sous l’histogramme soit égale à 1. On constate que la fonction
constante par morceaux censée approcher la densité dépend fortement du choix de la discré-
tisation de l’espace des observations (ici une légère translation de la position des « baquets »
change drastiquement l’aspect des histogrammes, mais un changement de largeur aurait aussi
pu avoir un impact important).

5.1.1 Histogrammes

Pour estimer une densité de probabilité par histogramme, on commence par définir une
discrétisation de l’espace des observations pour construire des « baquets » (bins), puis on cal-
cule la proportion des observations tombant dans chaque baquet. La densité de probabilité
est estimée comme la proportion divisée par la mesure du baquet, de manière à ce que l’in-
tégrale de la densité estimée sur l’espace soit égale à 1. La densité estimée est donc constante
sur chaque baquet.
Dans le cas d’observations scalaires (d = 1), les baquets sont des intervalles, et en dimen-
sion plus grande des pavés.
Dans cette méthode, le choix de la discrétisation est parfois critique, comme l’illustre la
figure 5.1.
Lorsqu’on souhaite une estimation plus régulière qu’une fonction constante par mor-
ceaux, on utilise l’estimation par fenêtre de Parzen.

5.1.2 Méthode de Parzen

L’estimation est faite en centrant une fonction (obtenue à partir d’une fenêtre, ou noyau,
notée W ) sur chaque observation et en moyennant les fonctions sur l’ensemble des observa-

École des Mines de Nancy


65 5.1. MÉTHODES NON-PARAMÉTRIQUES

1 2.5

0.9

0.8 2

0.7

0.6 1.5

0.5

0.4 1

0.3

0.2 0.5

0.1

0 0
0 0.5 1 1.5 2 2.5 0 0.5 1 1.5 2 2.5

F IGURE 5.2 – Estimation de densité par la méthode de Parzen : ici, fenêtre gaussienne. À
gauche : h = 0.2 ; à droite : h = 0.05. En bleu : densité estimée ; en rouge : W ((x − x n )/h) pour
chaque x n . Une largeur de bande h trop petite fait apparaître des détails indésirables, et une
largeur trop grande lisse des détails pertinents.

tions. Autrement dit, l’estimation en un point x est :

1 N ³x −x ´
X n
p W (x) = W
N hd n=1 h

où W est une fonction concentrée autour de 0, d’intégrale 1 sur l’espace des observations, et
où h > 0 est appelée « largeur de bande » (bandwidth).
L’estimation p W a la même régularité que W : si W est de classe C ∞ , alors p W aussi.
Le paramètre h gouverne l’influence de chaque observation x n : si h est grand, p W (x)
dépendra de x n même si x est éloigné de x n .
La normalisation 1/(N h d ) est telle que l’intégrale de p W sur l’espace des observations
est 1 (ce qui est logique pour une densité).
On parle d’estimation par noyaux ou par fenêtres de Parzen, ce qu’illustre la figure 5.2.
Un choix classique de W est la fenêtre gaussienne :

W (x) = W0 exp(−kxk22 /2)


R
avec W0 fixé de manière à ce que W = 1.
L’inconvénient de cette méthode est le choix de la largeur de bande h laissé à l’utilisateur
alors qu’il a une influence forte sur l’estimation de la densité.

5.1.3 Méthodes des K plus proches voisins

Pour estimer une densité φ en x, on considère une boule B x centrée en x, contenant K


observations parmi les N disponibles en tout qui suivent la loi φ.

Introduction à l’apprentissage automatique


CHAPITRE 5. ESTIMATION DE DENSITÉS DE PROBABILITÉ 66

D’après la loi des grands nombres (écrire l’espérance de la fonction indicatrice de la


boule B x ) :
K
Z
φ(y) dy '
Bx N

Par ailleurs, si on suppose la densité φ à peu près constante sur B x :


Z
φ(y) dy ' φ(x) × Volume(B x )
Bx

Donc :
K
Z
' φ(y) dy ' φ(x) × Volume(B x )
N Bx

On en déduit l’estimateur des K plus proches voisins :

K
φ(x) =
N VK (x)

où VK (x) est le volume d’une boule centrée en x contenant les K plus proches voisins de x,
sur laquelle la densité est supposée constante.

En fait, cette méthode est rarement utilisée pour estimer des densités, mais elle apparaîtra
dans la méthode des K plus proches voisins pour la classification supervisée au chapitre 6.

5.2 Méthodes paramétriques


On cherche la distribution dans une famille paramétrée. Par exemple, la distribution d’une
variable aléatoire gaussienne est caractérisée par la moyenne et la variance dont on connaît
des estimateurs non-biaisés d’après le cours de statistique :

1 XN 1 X N
µ= xn et σ2 = (x n − µ)2
N n=1 N − 1 n=1

Rappelons que pour un vecteur aléatoire gaussien, des estimateurs de la moyenne (qui est
alors un vecteur) µ et de la matrice de covariance Σ sont :

1 XN 1 X N
µ= xn et Σ= (x n − µ)(x n − µ)T
N n=1 N − 1 n=1

Le paragraphe 5.3 discute les problèmes pratiques posés en grande dimension par l’estima-
teur Σ.
De manière générale, dans les méthodes paramétriques, on suppose la densité de la forme
f θ où θ représente un ou plusieurs paramètres. La méthode du maximum de vraisemblance
(Fisher 1922) permet alors d’estimer θ à partir des observations.

École des Mines de Nancy


67 5.2. MÉTHODES PARAMÉTRIQUES

5.2.1 Estimateur du maximum de vraisemblance


Attention, ici l’expression « maximum de vraisemblance » a un sens différent de celui du
chapitre 4.
On définit la vraisemblance d’un paramètre θ, notée L (θ), comme la valeur de la densité
évaluée en les observations. Si on suppose les observations indépendantes et identiquement
distribuées selon une loi f θ , comme la loi jointe est le produit des lois marginales, on peut
écrire :
N
L (θ) =
Y
f θ (x i )
i =1
La vraisemblance « décrit la plausibilité d’une valeur des paramètres d’un modèle, étant donné
l’observation d’un certain nombre de réalisations d’une variable aléatoire » 1 .
Pour simplifier les calculs, il peut être utile de considérer la log-vraisemblance (le loga-
rithme de la vraisemblance), notée L(θ), telle que L(θ) = log(L (θ)).
La méthode du maximum de vraisemblance consiste alors à chercher θMV maximisant L (θ),
ou, de manière équivalente, L(θ) (car le logarithme est croissant). Connaissant (x 1 , . . . , x N ),
θMV est alors le paramètre le plus plausible parmi les paramètres possibles.

Exemple 5.1
On suppose (x 1 , x 2 , . . . , x N ) réalisations de variables aléatoires i.i.d. gaussiennes. La vrai-
semblance s’écrit :
à !
1 1 XN ³ x − µ ´2
2 n
L (µ, σ ) = N exp −
σ (2π)N /2 2 n=1 σ

et la log-vraisemblance s’écrit plus simplement :

¢ 1 X N ³ x − µ ´2
n
L(µ, σ2 ) = − log σN (2π)N /2 −
¡
2 n=1 σ

Les dérivées partielles de L sont alors :


∂L
(
2 1 PN
∂µ (µ, σ ) = − σ2 n=1 (x n − µ)
∂L N
(µ, σ2 ) = 2σ1 4 n=1
PN
∂σ2
(x n − µ)2 − 2σ 2

et s’annulent pour :
1 PN
µMV =
(
N i =n x n
1 PN
σ2MV = N n=1 (x n − µMV )
2

qui sont les estimateurs du maximum de vraisemblance de la moyenne et de la variance.


On remarque que l’estimateur du maximum de vraisemblance de la variance est biaisé.
Néanmoins, lorsque N est assez grand, le biais devient négligeable.

1. https://fr.wikipedia.org/wiki/Fonction_de_vraisemblance

Introduction à l’apprentissage automatique


CHAPITRE 5. ESTIMATION DE DENSITÉS DE PROBABILITÉ 68

Dans l’exemple précédent, on a pu faire les calculs et trouver une expression explicite
de θMV . Si ce n’est pas possible, on utilise une méthode d’optimisation numérique.

5.2.2 Une distribution très utile : le mélange de gaussiennes


Le théorème central limite justifie la modélisation de nombreux phénomènes aléatoires
par la loi normale. Néanmoins, différentes sous-populations peuvent parfois être remarquées
dans les observations. Ces sous-populations peuvent chacune présenter leur forme propre,
et chacune d’entre elles peut éventuellement être bien modélisée par une gaussienne. La
densité de l’ensemble des observations apparaît alors comme une superposition de densi-
tés gaussiennes.
Cela motive la définition du modèle de mélange de gaussiennes (Gaussian mixture model,
ou GMM), la densité sur un espace d’observations Rd étant exprimée comme :

M
φθ (x) = πm Gµm ,Σm (x)
X
m=1

PM
où m=1 πm = 1 et Gµm ,Σm désigne la densité gaussienne de moyenne µm et matrice de cova-
riance Σm :
1
e −(x−µm ) Σm (x−µm )/2
T −1
Gµm ,Σm (x) = d /2 1/2
(2π) |Σm |
Les paramètres d’un mélange de gaussiennes sont alors θ = (πm , µm , Σm )m∈{1,...,M } .

Dans ce cas, il n’y a pas de formule explicite permettant de trouver les paramètres maxi-
misant la vraisemblance. Néanmoins, il est possible de démontrer que l’algorithme Espérance-
Maximisation (EM), décrit ci-après, permet d’estimer ces paramètres à partir des observa-
tions.

La figure 5.3 montre une modélisation de densité comme un mélange de gaussiennes.

Algorithme Espérance-Maximisation (EM) La log-vraisemblance de N observations x n in-


dépendantes identiquement distribuées selon un mélange de gaussiennes s’écrit :
à !
N M
πm Gµm ,Σm (x n )
X X
L(θ) = log
n=1 m=1

Il va être difficile de trouver explicitement le minimum en calculant les dérivées partielles. . .


Écrivons tout de même les conditions de stationnarité sous la contrainte m πm = 1 : cela
P

consiste à annuler les dérivées partielles du Lagrangien L(θ) + λ m πm − 1 .


¡P ¢
πm Gµm ,Σm (x n )
D’une part, si γnm = PM :
l =1 πl G µl ,Σl (x n )

∂L N
γnm Σ−1
m (x n − µm ) = 0
X
=
∂µm n=1

École des Mines de Nancy


69 5.2. MÉTHODES PARAMÉTRIQUES

4.5

0.1
4

0.5
0.6
0.2

3.5
0.1
0.03.2

0.2
0.3
0.4

0
4 0.5 0..43
y

0. 0.6
0.1

3
0.

0.5

0.1
0.2
3
0.

0.3
0.1

0.4
2.5
0.1
0.2

2
4 4.5 5 5.5 6 6.5 7 7.5 8
x

F IGURE 5.3 – La densité des observations bidimensionnelles (représentées par des points) est
ici modélisée comme un mélange de trois gaussiennes. Les paramètres du mélange sont esti-
més par l’algorithme EM. À gauche : représentation des lignes de niveau de la densité dans le
plan des observations. Rappelons que les lignes de niveau d’une densité gaussienne bidimen-
sionnelle sont des ellipses (cf. annexe A.3.3). À droite : représentation tridimensionnelle : les
observations sont représentées dans le plan x-y, et l’axe des z représente la valeur de la densité
estimée.

n γnm
P
Donc en notant Nm = :

1 XN
µm = γnm x n
Nm n=1

D’autre part, par un raisonnement similaire :

1 XN
Σm = γnm (x n − µm )(x n − µm )T
Nm n=1

Enfin,

∂ N Gµm ,Σm (x n )
µ µ ¶¶
L(θ) + λ πm − 1 +λ
X X
=
∂πm
PM
m n=1 l =1 πl Gµl ,Σl (x n )
N γ
nm
+λ = 0
X
=
π
n=1 m

et comme m πm = 1 = m γnm = 1 (par définition), λ = −N (car λπm = − n γnm ).


P P P

On peut conclure :
1 X N
πm = γnm
N n=1
Le problème est que πm , µm , Σm dépendent de γnm , qui dépend lui-même de ces para-
mètres.

Introduction à l’apprentissage automatique


CHAPITRE 5. ESTIMATION DE DENSITÉS DE PROBABILITÉ 70

On propose donc l’algorithme itératif suivant :

Initialisation : π0m , µ0m , Σ0m connus pour tout 1 ≤ m ≤ M


(par exemple : initialisation aléatoire).
Jusqu’à convergence de L(θ i ), répéter, pour i Ê 0 :
— E-step :
πim Gµim ,Σim (x n )
∀ m ∈ {1, . . . , M }, ∀ n ∈ {1, . . . , N }, γinm
+1
= PM i
πG
l =1 l µi ,Σi n
(x )
l l

— M-step :

1 N
µim+1 = P i γinm x n

 X

n γnm n=1




N


i +1 1
Σm = P i γinm (x n − µim )(x n − µim )T
X
∀ m ∈ {1, . . . , M },
n γnm n=1




 1 N
i +1
 πm = γi

 X
N n=1 nm

— incrémenter i

Proposition 5.1 Cet algorithme converge vers un maximum (local) de la vraisemblance L ou,
de manière équivalente, de la log-vraisemblance L.

L’algorithme EM fournit donc, à partir d’un ensemble d’observations, les estimateurs du


maximum de vraisemblance des paramètres d’un mélange de M gaussiennes.

Choix du nombre M de gaussiennes dans le mélange On peut se demander comment


choisir le nombre de gaussiennes devant intervenir dans la modélisation d’un ensemble d’ob-
servations.
Remarquons que plus M est grand, plus le modèle pourra s’adapter aux données et four-
nir une vraisemblance élevée. Le cas extrême M = N l’illustre bien : chaque observation est
alors le centre d’une gaussienne dont la variance peut être prise aussi petite que l’on veut, la
vraisemblance pouvant donc être très grande.
Par conséquent, il faut trouver un compromis entre vraisemblance et complexité du mo-
dèle. Différents critères ont été proposés. En particulier, on peut choisir de minimiser (et pas
maximiser : il faut noter le signe devant L) l’un des critères suivants, qui réalise un compromis
entre log-vraisemblance et nombre de paramètres.
— Bayesian’s information criterion (BIC) :

BIC = −2L(θ) + #{θ} log(N )

— Akaike’s information criterion (AIC) :

AIC = −2L(θ) + 2#{θ}

École des Mines de Nancy


71 5.3. LE RETOUR DE LA MALÉDICTION DE LA DIMENSION

où : #{θ} désigne le nombre de paramètres du modèle. Un modèle de mélange général vérifie


#{θ} = M − 1 + M d + M d (d + 1)/2. En effet, il faut estimer M − 1 scalaires πm sous contrainte
πm = 1, M vecteurs µm de Rd , et M matrices symétriques Σm d’ordre d . Dans un modèle où
P

les matrices de covariances sont diagonales (pour tout m, Σm = σm Id), #{θ} = M −1+M d +M .
Plusieurs critères d’information sont possibles, que l’on peut justifier par différentes consi-
dérations que l’on ne détaillera pas.

5.3 Le retour de la malédiction de la dimension


L’estimation d’une densité de probabilité sur un espace de grande dimension butte géné-
ralement sur la malédiction de la dimension.
Nous avons évoqué au chapitre 2 (section 2.1.2) le problème du nombre d’hypercubes
de côté 1/n nécessaires pour remplir l’hypercube de côté 1 en dimension d . Les n d hyper-
cubes nécessaires rendent l’estimation de densité par histogrammes impraticable en grande
dimension.
L’estimation de densité par fenêtres de Parzen est également limitée par la dimension :
en dimension grande les fenêtres couvrent une partie de l’espace trop petite, sauf à utiliser
une largeur de bande grande avec les inconvénients que l’on a soulignés. De la même ma-
nière, dans l’estimation par plus proches voisins, il faudrait que la boule contenant les K plus
proches voisins soit « pas trop grosse » pour pouvoir supposer la densité constante, mais en
grande dimension les observations sont toutes relativement éloignées.
Les méthodes d’estimation paramétrique nécessitent l’estimation de quelques paramètres
seulement, et imposent la forme de la distribution cherchée. Par exemple, on suppose sou-
vent les observations distribuées selon une densité gaussienne de moyenne µ ∈ Rd et de
matrice de covariance Σ d’ordre d , ou selon un mélange de telles gaussiennes. Ceci facilite
l’estimation de densités en grande dimension.
L’expérience suivante montre cependant que l’estimation de la matrice de covariance est
également limitée par la malédiction de la dimension. On suppose disposer de N observa-
tions x i indépendantes identiquement distribuées selon une loi normale Nd (0, Σ). Une esti-
mation de Σ est fournie par :
1 X N
Σ
b= x n x nT
N − 1 n=1
On remarque déjà que si N < d , Σ
b n’est pas inversible, ce qui est tout de même problématique
pour une matrice de covariance. La situation n’est pas davantage favorable lorsqu’on dispose
de plus d’observations que la dimension. Définissons la norme de Frobenius normalisée par
la dimension : v
d
u
u1 X
°Σ − Σ λ2
° °
NFn =
b° t
d i =1 i

où les λi sont les valeurs propres de la matrice symétrique Σ − Σ.


b Cette norme doit conver-
ger vers 0 lorsque le nombre N d’observations augmente. Le graphique de la figure 5.4 nous
montre que la convergence ralentit significativement lorsque la dimension augmente.

Introduction à l’apprentissage automatique


CHAPITRE 5. ESTIMATION DE DENSITÉS DE PROBABILITÉ 72

10 1

10 0

10 -1

10 -2

10 -3
0 2 4 6 8 10
10 4

F IGURE 5.4 – Estimation de la matrice de covariance à partir de N observations générées selon


une loi gaussienne. On voit que la vitesse de convergence décroît fortement avec la dimension.
Par exemple, il faut de l’ordre de 10 fois plus d’observations pour atteindre la même précision
en dimension 10 qu’en dimension 1, et de l’ordre de 100 fois plus en dimension 100.

Comme discuté au chapitre 2, la malédiction de la dimension nous incite en pratique à ré-


duire le nombre de paramètres à estimer. Une possibilité est de supposer les composantes des
observations statistiquement indépendantes, ce qui permet de simplifier la loi jointe sur Rd
en le produit des d lois marginales sur R. C’est l’idée du classifieur naïf de Bayes que l’on dé-
taillera au chapitre suivant. Dans le cas de marginales gaussiennes de paramètres µ j , σ j , on
peut écrire la densité jointe de la façon suivante :

d 1
Y −|x −µ |2 /(2σ2j )
p(x) = p e j j
j =1 2πσ j
1 −
P
j |x j −µ j |2 /(2σ2j )
= e
d /2 σj
Q
(2π) j
1 T
Σ−1 (x−µ)/2
= e −(x−µ)
(2π)d /2 |Σ|1/2

où µ est le vecteur des µ j , Σ est la matrice diagonale formée des σ2j et |Σ| désigne son déter-
minant.
Supposer l’indépendance permet de passer d’une matrice de covariance générale possé-
dant d (d − 1)/2 paramètres à une matrice de covariance diagonale à d paramètres. Estimer Σ
nécessite alors nettement moins d’observations.

École des Mines de Nancy


73 5.4. POUR APPROFONDIR. . .

5.4 Pour approfondir. . .

L’algorithme EM vu comme un soft k-means La densité d’un mélange de gaussiennes s’écrit


sous la forme :
M
πm Gµm ,Σm (x)
X
f (x) =
m=1

On peut interpréter les πm comme la probabilité a priori p(C m ) d’une classe, et les Gµm ,Σm (x)
comme les vraisemblances p(x|C m ) de ces classes.
πm Gµm ,Σm (x n )
Ainsi, le terme γnm = PM calculé dans l’algorithme EM apparaît comme la pro-
l =1 πl G µl ,Σl (x n )
babilité a posteriori :
p(C m )p(x n |C m )
p(C m |x n ) = PM
l =1
p(C l )p(x n |C l )

Étant données des observations modélisées comme un mélange de gaussiennes dont on


a estimé les paramètres par EM, on peut donc définir la règle de classification suivante : l’ob-
servation x n est classée dans C m ∗ telle que m ∗ = arg max 1ÉmÉM γnm .
Examinons le cas particulier où les gaussiennes ont toutes la même matrice de covariance
diagonale Σm = σ2 Id , où Id désigne la matrice identité d’ordre d . Dans ce cas,

1 2 2
Gµm ,σ2 Id (x) = e −kx−µm k2 /(2σ )
(2π)d /2 σd

Donc lorsque σ → 0,
πm Gµm ,σ2 Id (x)
PM
πG 2 (x)
l =1 l µl ,σ Id

converge vers :
si m est le maximum des πm Gµm ,σ2 Id (x)
½
1
0 sinon

c’est-à-dire :
si m = arg min l kx n − µl k2
½
1
∀n, lim γnm =
σ→0 0 sinon

En effet, tous les πl Gµl ,σ2 Id tendent vers 0 lorsque σ → 0, mais on peut conclure en écrivant :
πm Gµm ,σ2 I (x)
d
= P 1 avec αl → 0 lorsque m maximise πm Gµm ,σ2 Id (x) (détails laissés
1+ l ∈{1,...,M }\m αl
PM
l =1 πl G µ ,σ2 I (x)
l d
en exercice).
On remarque que les πm et les Σm = σ2 Id n’interviennent plus dans la définitions des γnm .

De cette manière, l’algorithme des k-moyennes (voir l’algorithme de Lloyd au chapitre 3)


peut être vue comme un cas limite d’EM (ou EM comme un soft k-means), en écrivant à
l’étape i :

Introduction à l’apprentissage automatique


CHAPITRE 5. ESTIMATION DE DENSITÉS DE PROBABILITÉ 74

— E-step :
si m = arg min l kx n − µl k2
½
1
∀m, n, γinm
+1
=
0
sinon
n o
i
Cm = x n t.q. γinm
+1
=1

— M-step :
1
∀m, n, µim+1 =
X
i
x
#C m i
x∈C m

L’algorithme « mélange de gaussiennes + EM » permet de dépasser les limites de l’algo-


rithme de Lloyd pour les k-moyennes : les groupes ne sont pas forcément isotropes et homo-
gènes (par prise en compte de la matrice de covariance), et les appartenances à un groupe
sont données par les probabilités γnm plutôt que par une affectation univoque. On peut fixer
le nombre de groupes à l’aide des critères d’information AIC ou BIC. L’inconvénient d’EM est
la difficulté d’estimer en pratique les matrices de covariance dès que la dimension augmente.
La convergence est généralement plus lente que pour l’algorithme des k-moyennes.

École des Mines de Nancy


Chapitre 6

Mise en œuvre du classifeur de Bayes :


classifieur naïf, régression logistique, plus
proches voisins

Dans ce chapitre, nous nous intéressons au problème de la classification supervisée et


à la manière de mettre en œuvre le classifieur de Bayes. En particulier, nous allons voir le
classifieur naïf de Bayes, la régression logistique, et l’algorithme des plus proches voisins.
Nous avons établi au chapitre 4 que le classifieur de Bayes est optimal sous hypothèse
d’un coût d’erreur de classification 0-1. Ce classifieur consiste à associer une observation x ∈
Rd à la classe C k qui maximise la probabilité a posteriori p(C k )p(x|C k ) parmi les K classes
C 1 , C 2 , . . . , C K . Il nécessite de connaître les probabilité a priori p(C k ) et les vraisemblances
p(x|C k ). Le chapitre 5 présente quelques méthodes d’estimation de ces probabilités, mais
souligne également que l’estimation des vraisemblances est sujette à la malédiction de la di-
mension : en pratique on ne peut pas estimer p(x|C k ) de manière fiable dès que la dimension
de l’espace des observations est relativement grande, à moins de disposer de gigantesques
bases d’apprentissage.

6.1 Classifieur naïf de Bayes

6.1.1 Indépendance conditionnelle


Une manière de lutter contre la malédiction de la dimension est de supposer les com-
posantes de x = (x 1 , x 2 , . . . , x d ) ∈ Rd indépendantes conditionnellement à chaque classe C k .
La loi jointe étant alors le produit des lois marginales, on peut écrire l’égalité suivante pour
chaque classe C k :
d ³ ´
p(x | C k ) = p xi | Ck
Y
i =1
Le gros avantage de cette approche est qu’on est ramené à l’estimation des d densités
p x i | C k sur R à la place de p(x | C k ) sur Rd .
¡ ¢
CHAPITRE 6. MISE EN ŒUVRE DU CLASSIFEUR DE BAYES 76

F IGURE 6.1 – Illustration de l’indépendance conditionnelle à la classe. Les observations (x 1 , x 2 )


sont générées aléatoirement selon une loi telle que pour chaque classe C k , p(x 1 , x 2 |C k ) =
p(x 1 |C k )p(x 2 |C k ) mais p(x 1 , x 2 ) 6= p(x 1 )p(x 2 ). On constate que les observations de chaque
classe ont des composantes non corrélées entre elles, mais aussi que les observations dans leur
ensemble ont des composantes corrélées.

On définit ainsi le classifieur naïf de Bayes :

d ³ ´
p xi | Ck
Y
f (x) = arg max p (C k )
Ck i =1

Ce classifieur est qualifié de naïf car il fait l’hypothèse forte que les composantes sont
conditionnellement indépendantes, ce qui est en pratique très optimiste. Ce classifieur pré-
sente malgré tout de bonnes performances dans un certain nombre de cas pratiques.

6.1.2 Classifieur naïf de Bayes gaussien

Souvent, on suppose les distributions p(x i | C k ) gaussiennes. Elles sont donc caractéri-
sées par leur moyennes et écarts-types µi ,k , σi ,k , à estimer à partir des données. On obtient
alors le classifieur naïf de Bayes gaussien (Gaussian naive Bayes classifier, GNB). Comme on
l’a discuté au paragraphe 5.3 du chapitre 5, estimer ces paramètres réels nécessite bien moins
d’observations que pour estimer les paramètres d’une loi gaussienne sur Rd .
La notion d’indépendance conditionnellement à la classe est illustrée par la figure 6.1 : les
composantes des observations d’étiquette C k sont non-corrélées entre elles, mais les com-
posantes peuvent présenter une corrélation dans leur ensemble.

Dans le cas biclasse, le classifieur naïf de Bayes est en fait un classifieur linéaire pour un
certain nombre de choix de distributions de probabilités p(x i |C k ). En particulier, c’est le cas
dans le cas gaussien si de plus, pour toute composante i , σi ,1 = σi ,2 , noté ci-dessous σi .

École des Mines de Nancy


77 6.2. RÉGRESSION LOGISTIQUE

En effet, sous cette hypothèse on doit calculer

d 1 1 i 2 2
e − 2 ((x −µi ,k ) /σi )
Y
p(C k |x) = p(C k ) p
i =1 2πσi

pour k ∈ {1, 2}.


La règle de décision est de choisir la classe C 1 si p(C 1 |x) > p(C 2 |x) ou de manière équi-
¡ ¢
valente log p(C 1 |x)/p(C 2 |x) > 0. La frontière de classification vérifie alors (à développer en
exercice) :
p(C 1 |x)
µ ¶
log = α0 + α1 · x
p(C 2 |x)

¶ d µ2 − µ2
p(C 1 )
µ
X i ,2 i ,1
α0 = log + 2
p(C 2 ) i =1 2σi
à !
µi ,1 − µi ,2
α1 =
σ2i 1Éi Éd

Sous l’hypothèse d’égalité des variances des composantes (∀i , σi ,1 = σi ,2 ), le classifieur


naïf de Bayes gaussien sépare donc linéairement les deux classes. Attention, ceci n’est pas
vrai si les variances ne sont pas supposées égales. Dans ce cas, le calcul précédent montre
que la fonction de décision est quadratique, conduisant en dimension d = 2 à une frontière
de décision en ellipse, parabole, ou hyperbole.

6.2 Régression logistique


Nous nous restreignons au cas d’un problème de classification à deux classes C 1 et C 2 .
Le théorème de Bayes nous permet d’écrire la probabilité a posteriori p(C 1 |x) de la ma-
nière suivante :

p(C 1 )p(x|C 1 )
p(C 1 |x) =
p(C 1 )p(x|C 1 ) + p(C 2 )p(x|C 2 )
1
= p(C )p(x|C )
1 + p(C 21 )p(x|C 21 )

Posons
p(x|C 1 ) p(C 1 )
µ ¶ µ ¶
f (x) = log + log
p(x|C 2 ) p(C 2 )
de telle manière que :
e f (x) 1
p(C 1 |x) = =
1 + e f (x) 1 + e − f (x)
1
La fonction définie sur R par σ(t ) = 1+e −t
est appelée fonction logistique (ou sigmoïde),
et est représentée par la figure 6.2.

Introduction à l’apprentissage automatique


CHAPITRE 6. MISE EN ŒUVRE DU CLASSIFEUR DE BAYES 78

0.5

0
-4 -3 -2 -1 0 1 2 3 4
x

F IGURE 6.2 – Graphique de la fonction logistique (ou sigmoïde).

On a déjà vu qu’une manière de contrer la malédiction de la dimension est de faire des


hypothèses restrictives sur les distributions de probabilité à estimer. Ici, nous allons supposer
que f est une fonction affine de x : f (x) = β0 + β1 · x, où β0 ∈ R et β1 ∈ Rd .

Si on sait estimer β0 et β1 à partir des observations, le classifieur de Bayes fournit la règle


de décision suivante :

x classé dans C 1 si f (x) > 0 (c’est-à-dire p(C 1 |x) = σ( f (x)) > 1/2)
½

x classé dans C 2 si f (x) < 0 (c’est-à-dire p(C 2 |x) = 1 − p(C 1 |x) = σ(− f (x)) > 1/2)

La fonction f étant affine, les deux classes sont donc séparées par un hyperplan de Rd .

Au passage, lorsque p(x|C 1 ) et p(x|C 2 ) sont des distributions gaussiennes de même ma-
trice de covariance Σ, la fonction f est bien affine, ceci n’est pas une hypothèse simplifica-
1
trice. En effet, si p(x|C k ) = (2π)d /21 |Σ|1/2 e − 2 (x−µk ) Σ (x−µk ) pour k = 1 ou k = 2, alors :
T −1

p(C 1 )
µ ¶
1 1
f (x) = − (x − µ1 )T Σ−1 (x − µ1 ) + (x − µ2 )T Σ−1 (x − µ2 ) + log
2 2 p(C 2 )
p(C 1 )
µ ¶
1 T −1 T −1 1 T −1 T −1
= − µ1 Σ µ1 + x Σ µ1 + µ2 Σ µ2 − x Σ µ2 + log
2 2 p(C 2 )
³ ´
p(C 1 )
d’où f (x) = β0 + β1 · x avec : β0 = 12 µT2 Σ−1 µ2 − 21 µT1 Σ−1 µ1 + log p(C 2 ) et β1 = Σ−1 (µ1 − µ2 )

6.2.1 Estimation des paramètres : régression logistique

Nous nous plaçons sous l’hypothèse simplificatrice f (x) = β0 + β1 · x.


On estime alors les paramètres (β0 , β1 ) par maximisation de la vraisemblance condition-
nelle (voir section 5.2.1 au chapitre 5) : on cherche les paramètres qui maximisent la vrai-
semblance des étiquettes conditionnées aux observations. Les étiquettes y sont distribuées
selon p(y|x). En notant y = 1 si x est dans C 1 , et y = 0 si x est dans C 2 , on a : p(y|x) =
p(C 1 |x) y p(C 2 |x)1−y (on verifie bien que si y = 1, p(y|x) = p(C 1 |x), et si y = 0, p(y|x) =
p(C 2 |x) = 1 − p(C 1 |x)) .
La log-vraisemblance conditionnelle s’exprime donc à partir d’un ensemble d’observa-

École des Mines de Nancy


79 6.2. RÉGRESSION LOGISTIQUE

tions étiquetées (x n , y n )1ÉnÉN comme :

n ³ ¢1−y n ´
L(β0 , β1 ) = log (p(C 1 |x n )) y n 1 − p(C 1 |x n )
Y ¡
n=1
n
X ¡ ¢ ¡ ¢
= y n log p(C 1 |x n ) + (1 − y n ) log 1 − p(C 1 |x n )
n=1
n ³ ´
y n (β0 + β1 · x n ) − log(1 + exp(β0 + β1 · x n ))
X
=
n=1

car p(C 1 |x) = σ( f (x)) = e f (x) /(1 + e f (x) ) donc log(p(C 1 |x)) = f (x) − log(1 + e f (x) ) et log(1 −
p(C 1 |x)) = log(1 − σ( f (x))) = − log(1 + e f (x) ).
Cette fonction est la somme de fonctions concaves car une fonction affine est concave
et log(1 + exp(β0 + β1 · x)) aussi. Le maximum de la vraisemblance conditionnelle est donc
unique (voir annexe B.1). Il est donc légitime de parler du classifieur de « la » régression logis-
tique : quelle que soit la manière de maximiser la vraisemblance conditionnelle, on aboutira
toujours aux mêmes paramètres (β0 , β1 ) (aux imprécisions numériques près). Généralement,
c’est un algorithme de montée de gradient qui est utilisé pour maximiser L(β0 , β1 ) (voir an-
nexe B.3).
Attention au vocabulaire : la régression logistique permet de déterminer β0 et β1 ; le clas-
sifieur de la régression logistique, discuté dans le paragraphe suivant, implémente le principe
du maximum a posteriori sous l’hypothèse p(C 1 |x) = σ(β0 + β1 · x).

6.2.2 Classifieur de la régression logistique


Le classifieur de la régression logistique est ce qu’on appelle un « classifieur linéaire », car
la surface de séparation est un hyperplan de l’espace des observations. Il s’agit de l’hyper-
plan d’équation f (x) = β0 + β1 · x = 0 ; rappelons que la règle de décision est (voir la section
précédente) :
x classé dans C 1 si f (x) > 0
½

x classé dans C 2 si f (x) < 0

On a montré que la log-vraisemblance conditionnelle s’écrit sous la forme :

n
L(β0 , β1 ) =
X
y i log(σ( f (x i ))) + (1 − y i ) log(σ(− f (x i )))
i =1

Lorsqu’on maximise cette fonction, on se rend compte qu’on a tout intérêt à avoir f (x i ) =
β0 + β1 · x i > 0 lorsque y i = 1 et f (x i ) < 0 lorsque y i = 0.
Par ailleurs, la sigmoïde est peu sensible à l’éloignement de x i au plan d’équation f (x) =
0, car cette fonction admet deux asymptotes (1 en +∞ et 0 en −∞) : les points tels que | f (x)|
est « grand » ont une influence dans l’expression de la log-vraisemblance limitée par cette
propriété. Ce n’est pas le cas dans la régression linéaire : dans ce cas on minimise la norme
au carré d’un résidu, et les observations de résidu élevé vont avoir une forte influence sur
l’estimation des paramètres de la droite cherchée.

Introduction à l’apprentissage automatique


CHAPITRE 6. MISE EN ŒUVRE DU CLASSIFEUR DE BAYES 80

Il est possible d’introduire une régularisation dans la régression logistique en contrai-


gnant les valeurs pouvant être prises par les paramètres par l’intermédiaire de la norme eu-
clidienne de β1 . Pour ce faire, il suffit de chercher à minimiser

−L(β0 , β1 ) + λkβ1 k2

pour un hyperparamètre λ Ê 0, plutôt que maximiser la seule log-vraisemblance L(β0 , β1 ). Au


passage, remarquons que la fonction objectif est convexe, comme somme de deux fonctions
convexes. La solution reste donc unique.

6.3 Classification au sens des P plus proches voisins


La classification aux P plus proches voisins est sans doute le plus simple algorithme de
classification. On dispose d’un jeu de données fait de N observations x 1 , . . .,x N , chaque ob-
servation faisant partie d’une des K classes C 1 , C 2 ,. . .,C K . Lorsqu’on veut déterminer la classe
d’une nouvelle observation x, on cherche alors ses P plus proches voisins parmi les N obser-
vations (au sens d’une métrique prédéfinie), et on classe x dans la classe majoritaire parmi les
classes des P plus proches voisins. Il se trouve que ce classifieur présente souvent de bonnes
performances.
Nous allons voir que cet algorithme de classification met en œuvre le classifieur de Bayes
sous certaines hypothèses.

6.3.1 Rappel : estimation aux plus proches voisins d’une distribution


On a vu au chapitre 5 (section 5.1.3) qu’on pouvait estimer une distribution de probabi-
lité φ en considérant les P plus proches observations de x parmi les M observations dispo-
nibles, comme :
P
φ(x) =
M VP (x)
où VP (x) est le volume d’une boule centrée en x contenant ces P observations.

6.3.2 Classification au sens du maximum a posteriori


Appliquons cette méthode à l’estimation des vraisemblances p(x|C 1 ), p(x|C 2 ), . . . , p(x|C K ).
Supposons que parmi les P plus proches voisins d’une observation x, P 1 voisins appartiennent
à la classe C 1 , P 2 à la classe C 2 ,. . ., et P K à la classe C K , de sorte que Kk=1 P k = P . De même,
P

notons N1 le nombre d’observations du jeu de données dans C 1 , N2 le nombre dans C 2 ,. . .,


et NK dans C K , de sorte que Kk=1 Nk = N . Dans ce cas, pour tout k ∈ {1, . . . , K },
P

Pk
p(x|C k ) =
Nk VP (x)

Les probabilités a priori peuvent pour leur part être estimées comme :

Nk
p(C k ) =
N

École des Mines de Nancy


81 6.4. RÉSUMÉ : MISE EN ŒUVRE DU CLASSIFIEUR DE BAYES

Les probabilités a posteriori sont donc, d’après le théorème de Bayes :

p(C k )p(x|C k ) Pk
p(C k |x) = =
p(x) N VP (x) p(x)

On remarque que seul P k dépend de k. La règle de Bayes consiste donc à classer x dans
la classe telle que P k est maximum, c’est-à-dire dans la classe majoritaire parmi les P plus
proches voisins de x.

6.3.3 Discussion

Si cet algorithme est très simple, il présente les mêmes limites que celles discutées pour
l’estimation des distributions de probabilité : problème de la dimension, « densité » des ob-
servations qui doit être suffisante autour de x. . .
On a intérêt à utiliser la classification aux P plus proches voisins avec P « un peu grand »
(P = 5 ? P = 10 ?) de manière à ne pas dépendre uniquement « du » plus proche voisin et limiter
ainsi le sur-apprentissage (en d’autres termes, à augmenter le biais et diminuer la fluctuation
ou la variance, cf section 2.3 au chapitre 2). Néanmoins, plus P est grand, plus VP devient
grand, donc moins on respecte l’hypothèse « φ constante sur VP (x) » qui est à la base de l’es-
timation des densités. Augmenter P conduit donc à s’écarter du classifieur idéal de Bayes.
Nous n’avons pas discuté des aspects algorithmiques. La classification aux P plus proches
voisins nécessite de trouver, comme son nom l’indique, les P plus proches voisins d’une nou-
velle observation à classifier. Lorsque le jeu de données est grand (N =1 million d’observa-
tions étiquetées ?), il est très coûteux de tester exhaustivement les N observations pour déter-
miner les P plus proches de x. Une manière efficace de faire est d’organiser les observations
dans un arbre k-d (k-d tree). Cependant, lorsque la dimension augmente, il se trouve que la
performance d’une recherche par arbre k-d tree se rapproche de celle de la méthode exhaus-
tive : il s’agit encore d’une manifestation de la malédiction de la dimension. Des algorithmes
ont récemment été proposés pour chercher des plus proches voisins approchés (on s’auto-
rise des erreurs dans la liste des P plus proches voisins), ou de manière adaptée à la recherche
dans un espace de grande dimension, voir le paragraphe 6.5.

6.4 Résumé : mise en œuvre du classifieur de Bayes


Nous avons vu que le classifieur optimal pour un coût d’erreur 0-1 est le classifieur de
Bayes (ou classifieur du maximum a posteriori) qui consiste à choisir la classe C k qui maxi-
mise p(C k |x) ou, de manière équivalent p(C k )p(x|C k ). Il s’agit d’un classifieur théorique
idéal car en pratique nous ne connaissons pas la distribution de probabilité des observations
étiquetées.
On peut chercher à estimer les vraisemblances p(x|C k ) et probabilités a priori p(C k ) par
différentes méthodes de manière à mettre en œuvre ce classifieur. Lorsque les probabilités
a priori sont considérées toutes égales, le classifieur de Bayes revient au classifieur du maxi-
mum de vraisemblance : on choisit la classe C k qui maximise p(x|C k ).

Introduction à l’apprentissage automatique


CHAPITRE 6. MISE EN ŒUVRE DU CLASSIFEUR DE BAYES 82

Néanmoins, estimer les vraisemblances est illusoire lorsque les observations x appar-
tiennent à un espace vectoriel de grande dimension, à cause de la malédiction de la dimen-
sion. Dans ce cas, on peut supposer les composantes des observations indépendantes condi-
tionnellement à la classe C k . C’est l’hypothèse du classifieur naïf de Bayes qui a l’avantage de
nécessiter uniquement l’estimation de distributions de probabilité sur R. Lorsque ces distri-
butions sont de plus supposées gaussiennes, on parle de classifieur naïf de Bayes gaussien.
Une autre manière de contrer la malédiction de la dimension est de chercher à estimer
directement les probabilités a posteriori p(C k |x), sous l’hypothèse simplificatrice p(C k |x) =
σ( f (x)) où σ est la fonction logistique et f (x) une fonction affine de x. Il s’agit de la régression
logistique, qui fournit un algorithme de classification dont la frontière de décision est un hy-
perplan. Bien entendu, si les deux classes ne sont pas linéairement séparables, la régression
logistique souffrira de sous-apprentissage.
Nous avons vu que le classifieur des P plus proches voisins était aussi une manière de
mettre en œuvre le classifieur de Bayes, sous des hypothèses assez grossières mais avec un
certain succès dans bon nombre d’applications.
Dans les chapitres suivants, nous allons voir deux nouveaux séparateurs linéaires, la ma-
chine à vecteur support linéaire et le perceptron de Rosenblatt. Dans les deux cas, il est pos-
sible de les étendres aux classes non linéairement séparables, ce qui fait des machines à vec-
teurs supports (SVM) et des réseaux de neurones artificiels les grands succès du vingt-et-
unième siècle.

6.5 Pour approfondir. . .


Modèles génératifs et modèles discriminants La littérature distingue ces deux modèles de
classification, qu’y a-t-il derrière ce vocabulaire ?
Le classifieur naïf de Bayes (en particulier dans le cas gaussien) fait partie des modèles gé-
nératifs. Ces modèles s’appuient sur les vraisemblances p(x|C k ) et les probabilités a priori p(C k ) ;
il serait possible de générer des données aléatoirement à partir de ces distributions de proba-
bilité. Pour ce faire, on tire au hasard un classe l selon la distribution des p(C k ), puis on tire
au hasard une observation selon la distribution p(x|C l ).
La régression logistique fait partie des modèles discriminants, dans lesquels on modé-
lise directement les probabilités a posteriori p(C k |x) qui vont servir à discriminer les classes
selon le principe du maximum a posteriori.

Régression logistique et classification naïve de Bayes gaussienne Dans le cas de variances


des composantes x i identiques pour toutes les classe C k , on a vu que le classifieur naïf de
Bayes gaussien fournissait un séparateur linéaire, comme le classifieur de la régression lo-
gistique. Cependant, ils ne fournissent pas les mêmes frontières. En effet, l’estimation des
paramètres ne se fait pas de la même façon dans les deux cas : on utilise des estimateurs clas-
siques de la moyenne et de la variance des composantes dans le premier cas, et on maximise
la vraisemblance conditionnelle dans le second cas.
Des arguments théoriques et expérimentaux permettent de dire que la régression logis-
tique a de meilleures performances en généralisation que la classification naïve de Bayes

École des Mines de Nancy


83 6.5. POUR APPROFONDIR. . .

gaussienne lorsque la base d’apprentissage est grande (sinon la conclusion est inversée). On
pourra consulter :
A. Ng and M. Jordan, On discriminative vs. generative classifiers : A comparison of logistic re-
gression and naive Bayes, Proceedings of the International Conference on Neural Information
Processing Systems (NIPS), 2001.

Au delà des classifieurs linéaires On peut se demander pourquoi chercher des surfaces
séparatrices sous forme d’hyperplan plutôt que sous forme d’une surface quadratique, ou
d’une autre nature géométrique. Une réponse sera donnée dans le chapitre suivant : lorsque
les observations appartiennent à un espace de grande dimension, il sera « facile » de sépa-
rer les classes par un simple hyperplan. Un classifieur linéaire étant défini par un produit
scalaire, on verra également qu’il est facile de le rendre non-linéaire par l’astuce du noyau.
Il y a toutefois des situations où il est utile d’imposer la géométrie de la surface de sépa-
ration. Il est possible de choisir une surface a priori : on verra par exemple que le choix d’un
noyau judicieux permet de s’assurer que les surfaces sont quadratiques. En général, on n’im-
pose pas la surface en elle-même (comment choisir sa nature géométrique a priori ?) mais on
fait plutôt des hypothèses dans le cadre d’un modèle probabiliste des observations. Nous ne
développerons pas ce point de vue dans le cours, mais nous allons discuter rapidement un
exemple.
Plaçons-nous dans le cadre d’un problème de classification biclasse pour des observa-
tions de Rd , dans lequel on modélise chaque vraisemblance p(x|C k ) (k ∈ {1, 2}) par une loi
gaussienne de moyenne µk et matrice de covariance Σk . Le principe du maximum a poste-
riori associe une observation x à la classe C 1 si :
1 1 1 1
e − 2 (x−µ1 ) Σ1 (x−µ1 ) > p(C 2 ) p e − 2 (x−µ2 ) Σ2 (x−µ2 )
T −1 T −1
p(C 1 ) p
(2π)d |Σ1 | (2π)d |Σ2 |
soit, en passant au logarithme :

K 1 − (x − µ1 )T Σ1 (x − µ1 ) > K 2 − (x − µ2 )T Σ2 (x − µ2 )

où K 1 et K 2 sont deux constantes.


En développant, on se rend compte que la surface de séparation entre les deux classes
est une (hyper)surface quadratique. Par exemple, si d = 2 on obtient des ellipses, paraboles,
hyperboles, et des cas dégénérés comme les droites (on sait déjà que le maximum a posteriori
conduit à un classifieur linéaire pour des matrices de covariances bien choisies). D’autres
modèles probabilistes induiraient des séparations de géométrie encore différente.

Recherche efficace des plus proches voisins Concernant la recherche des plus proches voi-
sins, de manière approchée ou en grande dimension, l’article suivant :
M. Muja and D. Lowe, Scalable Nearest Neighbor Algorithms for High Dimensional Data, IEEE
Transactions on Image Processing, vol. 36, no. 11, p. 2227-2240, 2011
ainsi que la très utile bibliothèque FLANN (Fast Library for Approximate Nearest Neighbors) :
https://github.com/mariusmuja/flann
font référence.

Introduction à l’apprentissage automatique


Chapitre 7

Méthodes ensemblistes : bagging et boosting

Ce chapitre traite de problèmes de classification supervisée. Nous proposons de com-


biner la réponse de plusieurs classifieurs dont les performances individuelles sont limitées,
dans le but d’obtenir un « super-classifieur » plus performant. Les techniques relatives à ce
problème sont appelées « méthodes ensemblistes » (ensemble methods).

7.1 Méthodes ensemblistes, classifieurs faibles et forts


Considérons un problème de classification biclasse, pour lequel on dispose de N clas-
sifieurs donnant des prédictions indépendantes. On suppose que chaque classifieur a une
probabilité d’erreur de p < 1/2. Lorsque la probabilité p est juste inférieure à 1/2, le clas-
sifieur est à peine meilleur qu’une réponse aléatoire. On parle alors de « classifieur faible »
(weak classifier). Il semble naturel, connaissant la prédiction de chacun des N classifieurs
pour une observation donnée, d’associer cette observation à la classe majoritaire parmi les
classes prédites. Cette méthode améliore-t-elle la prédiction ?
Un simple dénombrement sous hypothèse d’indépendance des prédictions nous dit que
la probabilité qu’exactement k classifieurs parmi les N prédisent la mauvaise classe est Nk p k (1−
¡ ¢

p)N −k (loi binomiale). La probabilité que la majorité des classifieurs prédise la mauvaise
classe est donc : Ã !
N N k
p (1 − p)N −k
X
k=dN /2e k
où dN /2e désigne le plus petit entier supérieur ou égal à N /2.
Il se trouve que cette valeur décroît assez vite avec N . Par exemple, si on considère N = 20
classifieurs de probabilité d’erreur individuelle p = 0.3, alors la probabilité qu’au moins 10
classifieurs parmi les 20 fournissent une mauvaise réponse vaut 0, 048.
De manière générale, il est possible de déduire la majoration suivante à partir de l’inéga-
lité de Hoeffding (annexe A.1, à faire en exercice !), dans le cas où m Ê N p :
à !
N N k 2
p (1 − p)N −k É e −2N (m/N −p)
X
k=m k
CHAPITRE 7. MÉTHODES ENSEMBLISTES : BAGGING ET BOOSTING 86

Si m = dN /2e et p < 1/2, la condition d’application de l’inégalité est bien vérifiée et on déduit :
à !
N N k 2
p (1 − p)N −k É e −2N (p−1/2)
X
k=dN /2e k

Ce majorant décroît effectivement très vite lorsque N croît.

On a donc tout intérêt à associer des classifieurs faibles pour en faire un classifieur fort.
Attention néanmoins, le classifieur fort construit ici en choisissant la classe majoritaire parmi
les classes prédites par les classifieurs faible n’a l’assurance d’obtenir de bonnes performances
que si les classifieurs faibles fournissent des réponses indépendantes. Dans le cas contraire,
notre calcul n’est plus valable.

Associer les réponses de classifieurs faibles pour construire un classifieur fort est l’objet
des « méthodes ensemblistes ». Nous discutons à présent les deux grandes familles de mé-
thodes ensemblistes, les approches de type bagging et de type boosting.

7.2 Techniques de bagging


Après avoir expliqué le bagging en général, on expliquera l’algorithme inspiré du bagging
le plus populaire : les forêts aléatoires.

7.2.1 Agrégation bootstrap


Dans les techniques de bagging, on construit des classifieurs faibles en entraînant un clas-
sifieur d’une famille donnée sur des sous-ensembles de la base d’apprentissage initiale. Ces
sous-ensembles sont appelés échantillons bootstrap. Ils sont construits par tirage aléatoire
avec remise à partir de la base initiale : ils peuvent donc présenter plusieurs fois la même ob-
servation, et les échantillons bootstrap peuvent avoir des observations en commun. Le tirage
avec remise est supposé assurer que les réponses des classifieurs faibles sont indépendantes,
car la construction de chaque échantillon bootstrap ne dépend pas des autres échantillons.
Chaque échantillon bootstrap permet alors de construire un classifieur. Un classifieur fort
agrège (combine) ensuite les prédictions de ces différents classifieurs face à une nouvelle ob-
servation, par exemple en choisissant la classe majoritaire parmi les classes prédites. Le nom
bagging vient de de Bootstrap AGGregatING. La figure 7.1 illustre la technique de bagging.
Dans la section 2.2 du chapitre 2, nous avons vu le dilemme biais-fluctuation. Lorsqu’on
choisit un classifieur dans une famille donnée (une méthode d’apprentissage) par minimi-
sation du risque empirique sur la base d’apprentissage, le risque moyen de prédiction de ce
classifieur est majoré par la somme du biais (l’erreur de prédiction minimale que peut réa-
liser tout classifieur de cette famille) et de la fluctuation (une grande fluctuation peut nous
mettre en situation de sur-apprentissage).
Le bagging est généralement bien adapté aux méthodes d’apprentissage à forte fluctua-
tion. En effet, dans ce cas chaque classifieur faible entraîné sur un échantillon bootstrap peut
présenter du surapprentissage, donc fortement dépendre de l’échantillon bootstrap, mais le

École des Mines de Nancy


87 7.2. TECHNIQUES DE BAGGING

F IGURE 7.1 – Illustration du bagging pour un problème de classification supervisée à quatre


classes. Les échantillons bootstrap sont tirés aléatoirement de l’ensemble d’apprentissage (ti-
rage avec remise). Chaque échantillon bootstrap permet d’entraîner un classifieur faible. Le
classifieur ensembliste est construit par agrégation des prédictions des classifieurs faibles. Par
exemple, face à une nouvelle observation, le classifieur ensembliste pourra prédire la classe
majoritaire parmi les classes prédites par les classifieurs faibles. Illustration adaptée de https:
// commons. wikimedia. org/ w/ index. php? curid= 85888768 (by Sirakorn - Own work, CC BY-
SA 4.0)

vote pour la prédiction majoritaire lissera la dépendance du classifieur fort à la base d’ap-
prentissage originale. Par contre, le bagging ne permet pas de réduire le biais, qui est indé-
pendant de la base d’apprentissage.

7.2.2 Forêts aléatoires


Les forêts aléatoires (random forests) sont une application du bagging aux arbres de déci-
sion considérés comme classifieurs faibles.

7.2.2.1 Arbres de décision

Les arbres de décision permettent de faire une prédiction (une classe dans notre cas
d’étude) à partir de décision successives portant sur les caractéristiques d’une observation.
Les arbres de décision sont très populaires car, contrairement à beaucoup des méthodes
de l’apprentissage automatique, il est possible d’interpréter les décisions fournies. En effet,
ces décisions sont la succession de décisions élémentaires sur chaque caractéristique de l’ob-

Introduction à l’apprentissage automatique


CHAPITRE 7. MÉTHODES ENSEMBLISTES : BAGGING ET BOOSTING 88

F IGURE 7.2 – Un exemple de classification bi-classe d’observations de R2 (caractéristiques


(x 1 , x 2 )), et un arbre de décision. À gauche, représentation des observations d’apprentissage :
croix rouges (classe -1) et cercles bleus (classe 1). À droite : un arbre binaire de décision de pro-
fondeur 3 permettant de classer les observations d’apprentissage. Pour classer une nouvelle
observation d’étiquette inconnue, on parcourt l’arbre. La frontière de décision de ce classifieur
est représentée en traits pleins verts sur la représentation de gauche. Notons que d’autres arbres
de décision pourraient convenir.

servation dont on cherche à prédire la classe. On parle de « boîte blanche », par opposition à
une « boîte noire ». Il s’agit d’une méthode ancienne, développée dans les années 1960. Les
médecins (ou garagistes !) utilisent des arbres de décision de manière routinière : la tempé-
rature est-elle supérieur à 37.5° ? si oui, le rythme cardiaque est-il inférieur à 40bpm ? etc.,
la conclusion de ces tests diagnostiques étant telle ou telle maladie. La figure 7.2 donne un
exemple d’arbre de décision pour un problème de classification d’observations bidimension-
nelles.

On dispose d’algorithmes permettant de construire un arbre de décision à partir d’un


ensemble d’observations, par exemple l’algorithme CART (classification and regression trees)
que nous allons décrire. CART construit des arbres binaire de décision (chaque décision est
« oui » ou « non », autrement dit avec le vocabulaire de la théorie des graphes, chaque nœud
de l’arbre a deux enfants, à l’exception des feuilles). Il s’agit d’un algorithme récursif, qui
construit successivement les règles de décision binaires. Chaque règle sera de la forme « x i <
T ? » où x i est une des caractéristiques de l’observation testée et T un seuil à déterminer.
CART est basé sur un critère de segmentation. Un critère de segmentation est une valeur
calculée sur un sous-ensemble de la base d’apprentissage, qui va permettre de décider sur
quelle caractéristique x i et quelle valeur T va se faire la décision en chaque nœud.

On suppose disposer d’un ensemble S d’observations. Cet ensemble étant fini, chaque
caractéristique x i ne prend qu’un nombre fini de valeurs différentes. L’algorithme CART fonc-
tionne de la manière suivante.

École des Mines de Nancy


89 7.2. TECHNIQUES DE BAGGING

1. pour chaque caractéristique, calculer la valeur du critère de segmentation C i , j sur


l’ensemble des observations vérifiant x i < T j , où T j est la j -ème valeur possible
pour x i .
2. sélectionner la caractéristique x i ∗ et le seuil T j ∗ qui minimise l’ensemble des C i , j
3. séparer l’ensemble d’observations entre S 1 vérifiant x i ∗ < T j ∗ , et S 2 vérifiant x i ∗ Ê
Tj∗
4. recommencer à l’étape 1 avec le sous-ensemble S 1 (respectivement S 2 ) sauf si S 1
(respectivement S 2 ) ne contient que des observations de la même classe.

Le nombre d’observations d’apprentissage étant fini, l’algorithme termine. En algorith-


mique, on parle d’« algorithme glouton » (greedy algorithm).

Notons p k la proportion d’observations appartenant à la classe k (k ∈ {1, . . . , K } dans le cas


de K classes). Plusieurs critères de segmentation C sont possibles, les plus populaires sont :
— l’entropie croisée (avec la convention 0 log(0) = 0) :

K
X
C =− p k log(p k )
k=1

— le critère de Gini :
K
X
C= p k (1 − p k )
k=1

Pour les deux critères C est positif, et dans le cas biclasse C = 0 si p k = 0 ou p k = 1, et C est
maximal pour p k = 1/2. Chaque étape de CART encourage la formation de sous-ensembles S 1
et S 2 dans lesquels une grande proportion d’observations appartiennent à une seule classe.
La figure 7.3 illustre la formation d’un arbre de décision classifieur. En haut à gauche de
la figure, on voit les observations réparties en deux classes (cercles rouges et étoiles bleues)
auxquelles on ajoute des observations de test (croix en transparence) pour calculer un score
de classification. Toujours en première ligne, on voit aussi les classifications obtenues (classe
majoritaire dans l’agrégation des votes) par les arbres de décision obtenus par l’algorithme
glouton de construction au fur et à mesure que la profondeur de l’arbre augmente. Ces arbres
sont aussi représentés. Pour une profondeur de 3, la région rosée indique qu’une observation
y serait classé comme un cercle rouge, mais la classe des étoiles bleues obtient quelques voix.
Pour une profondeur 4, la région blanche indique que les deux classes y reçoivent le même
nombre de votes. Le nombre en bas à droite est la proportion d’observations test bien clas-
sées. Les arbres de décision sont également représentés : on indique la règle de décision,
la valeur du critère de segmentation (critère de Gini), ainsi que le nombre total d’observa-
tions (samples) et le nombre d’observation de chaque classe (value) dans les sous-arbres
du nœud courant. La couleur d’un nœud indique la classe majoritaire dans le sous-arbre.
Notons que le critère d’arrêt impose qu’une branche s’arrête de « pousser » dès qu’elle ne
contient plus que des observations d’une seule classe.

Introduction à l’apprentissage automatique


CHAPITRE 7. MÉTHODES ENSEMBLISTES : BAGGING ET BOOSTING 90

profondeur=1 profondeur=2 profondeur=3

profondeur=4 profondeur=5

F IGURE 7.3 – Classification de données bidimensionnelles à l’aide de la fonction


DecisionTreeClassifier de scikit-learn. Voir le texte.

École des Mines de Nancy


91 7.2. TECHNIQUES DE BAGGING

On a déjà dit que l’interprétabilité des décisions expliquait le succès des arbres de dé-
cision. Néanmoins les règles de décision générées dépendent fortement de la base d’obser-
vations (dans CART, les seuils sont choisis parmi les valeurs prises par les caractéristiques).
Par ailleurs, les décisions se font uniquement sur les caractéristiques : dans le cas d’observa-
tions de R2 , la surface de séparation est une union de segments parallèles à l’un ou l’autre des
axes. Cette manière de définir l’arbre de décision peut être largement sous-optimale. Pensez
par exemple à des observations dans le plan appartenant à deux classes séparées par une
droite penchée à 45 degrés : de nombreuses décisions sur les caractéristiques peuvent être
nécessaires alors qu’une seule décision combinant linéairement les caractéristiques serait
nécessaire.

L’algorithme CART partitionne parfaitement la base d’observation (dans le sens où l’er-


reur sur la base d’apprentissage est nulle), quitte à ce que l’arbre soit très profond. Pour éviter
le sur-apprentissage, on « élague » l’arbre en supprimant les branches concernant trop peu
d’observations par exemple. Pour cette raison, les arbres de décision forment généralement
des classifieurs faibles.

7.2.2.2 Bagging et arbres de décision : forêts aléatoires

Les arbres de décision sont susceptibles de fortement dépendre des observations d’ap-
prentissages. Cette famille de classifieur a donc probablement une forte fluctuation : la tech-
nique du bagging est par conséquent toute indiquée.
Comme on l’a déjà dit, cette technique est censée bien fonctionner lorsque les classi-
fieurs faibles ont des probabilités d’erreur indépendantes, ce qui motive l’échantillonnage
bootstrap. Dans le cas des arbres de décision, on introduit un aléa supplémentaire dans l’al-
gorithme de construction expliqué précédemment, en choisissant au hasard m caractéris-
tiques parmi les d disponibles pour calculer les valeurs du critère de segmentation, à la place
de toutes les caractéristiques disponibles.
L’algorithme de classification de la forêt aléatoire (random forest) consiste à construire
de tels arbres de décision aléatoires à partir d’échantillons bootstrap, puis à sélectionner la
classe majoritaire parmi les classes prédites par ces classifieurs faibles. On parle aussi de forêt
d’arbres aléatoires.
Remarquons que l’on perd l’interprétabilité des résultats des arbres de décision : les forêts
aléatoires sont, elles, des « boîtes noires ».
Les principaux paramètres à régler sont le nombre d’arbres dans la forêt, le nombre de
caractéristiques sélectionnées aléatoirement dans la construction des arbres de décision, le
critère de segmentation, et la méthode d’élagage des arbres de décision. Pour fixer les idées,
voiciples paramètres par défaut dans RandomForestClassifier de Scikit-learn : 100 arbres,
m = d , critère de Gini.
Les forêts aléatoires rencontrent de nombreux succès pratiques. Microsoft l’utilise dans
le suivi des mouvements du boîtier Kinect de la console Xbox 1 . Bien entendu, toute une lit-
térature est disponible sur le sujet.

1. Voir https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/
decisionForests_MSR_TR_2011_114.pdf

Introduction à l’apprentissage automatique


CHAPITRE 7. MÉTHODES ENSEMBLISTES : BAGGING ET BOOSTING 92

La figure 7.4 montre un exemple de classification par forêt aléatoire.

F IGURE 7.4 – Classification de données bidimensionnelles à l’aide de la fonction


RandomForestClassifier de scikit-learn, pour différents nombres n d’arbres dans la forêt.
Les arbres aléatoires sont construits sur une caractéristique (m = 1). Les observations sont sé-
parées en deux classes, des observations tests (croix en transparence) permettent de calculer
un taux de classifications correctes, indiqué en bas à droite. On voit que plus la forêt contient
d’arbres, plus la frontière de classification est complexe.

7.3 Techniques de boosting


Dans les techniques de boosting, des classifieurs faibles sont construits séquentiellement
sur l’ensemble de la base de données ; à chaque étape un classifieur est construit à partir des
classifieurs précédents en pondérant de manière plus importante les observations prédites
incorrectement de manière à focaliser les efforts sur ces observations difficiles à classer. La
technique du boosting est illustrée par la figure 7.5.

7.3.1 Adaboost
L’exemple le plus connu de méthode de type boosting est sans doute Adaboost (pour
ADAptive BOOsting). Il s’agit d’une technique générale pour construire un classifieur fort à
partir de classifieurs faibles. Supposons que l’on dispose d’une famille de classifieurs faible H .
On sélectionne dans H le classifieur faible minimisant le risque empirique : il commet des
erreurs sur la base d’apprentissage. L’idée est de le combiner avec un autre classifieur faible
plus performant sur les observations mal classées. Pour se faire, on sélectionne dans H le
classifieur faible minimisant un risque empirique pondéré, les observations mal classées
précédemment ayant un poids plus important. Le nouveau classifieur faible commet tou-
jours des erreurs, et ainsi de suite. La réponse du classifieur ensembliste sera le signe d’une
moyenne pondérée des réponses des classifieurs faibles intermédiaires.

École des Mines de Nancy


93 7.3. TECHNIQUES DE BOOSTING

F IGURE 7.5 – Illustration du boosting pour un problème de classification à quatre classes. Un


premier classifieur faible est entraîné sur la base d’apprentissage, avec des observations pondé-
rées de manière uniforme. Il sépare cette base entre observations correctement classées et mal
classées. Les poids des observations de la base originale sont adaptés de manière à donner un
poids plus élevé aux données mal classées. Un second classifieur est entraîné sur ces données
pondérées, et ainsi de suite. Ce processus itératif est arrêté après quelques étapes. La réponse du
classifieur ensembliste est définie comme une moyenne pondérée des classifieurs faibles inter-
médiaires. Source de l’illustration : https: // commons. wikimedia. org/ w/ index. php? curid=
85888769 (by Sirakorn - Own work, CC BY-SA 4.0).

Précisons quelques notations avant de détailler Adaboost. On suppose disposer d’une


base d’apprentissage de N observations étiquetées notée (x i , y i )1Éi ÉN , les étiquettes valant
-1 ou 1 selon la classe. On note h m le classifieur faible sélectionné dans H à l’étape m (h m (x)
vaut 1 ou -1 selon la classe de x). La fonction discriminante du classifieur fort construit à la
m-ème étape est noté K m et vérifie :

 K 0 = C 0 est le classifieur minimisant sur H


le nombre d’erreurs pour des observations non pondérées


K m = K m−1 + αm h m

où αm > 0. La règle de décision pour le classifieur ensembliste associé à K m est comme sou-
vent d’associer une observation x à la classe -1 si K m (x) < 0 et à la classe 1 si K m (x) > 0.
On note qu’a priori, le classifieur ensembliste obtenu n’appartient pas à la famille de clas-
sifieurs faibles H . Nous espérons ainsi diminuer le biais d’apprentissage de la famille H .
La question est de savoir comment choisir les poids αm et les classifieurs h m à chaque
étape, de manière à obtenir un classifieur fort intéressant après quelques étapes. Nous allons

Introduction à l’apprentissage automatique


CHAPITRE 7. MÉTHODES ENSEMBLISTES : BAGGING ET BOOSTING 94

faire les choix de manière à minimiser un risque empirique calculé sur la base d’apprentis-
sage. Dans Adaboost, on introduit le risque empirique du classifieur K m associé à une fonc-
tion de perte exponentielle (exponential loss) :

N
e −y i K m (xi )
X
Em =
i =1

Il s’agit bien d’une fonction de perte valide : e −y i K m (xi ) est plus grand lorsque y i et K m (x i ) ont
des signes différents (erreur de prédiction de K m ) que lorsque y i et K m (x i ) ont même signe
(prédiction correcte). Le choix d’une fonction de perte exponentielle va permettre de mener
à bien les calculs suivants. Il est possible d’utiliser une perte logistique (voir section 8.4.1 au
chapitre 8), conduisant à l’algorithme LogitBoost.
Par définition de K m :

N N
e −y i (K m−1 (xi )+αm hm (xi )) = w im e −y i αm hm (xi )
X X
Em =
i =1 i =1

où w im = e −y i K m−1 (xi ) .
Comme y i h m (x i ) = 1 si h m (x i ) = y i et y i h m (x i ) = −1 si h m (x i ) 6= y i , on peut séparer dans
l’expression de E m les observations bien et mal classées par le classifieur h m et écrire :

w im e −αm + w im e αm
X X
Em =
i t.q. h m (x i )=y i i t.q. h m (x i )6= y i

soit : Ã !
N
E m = e −αm w im + w im e 2αm − 1
X X ¡ ¢
i =1 i t.q. h m (x i )6= y i

On voit que seul le terme i t.q. hm (xi )6= y i ) w im dépend du choix de h m . Minimiser E m sur
P

l’ensemble des classifieurs faibles H revient donc à minimiser ce terme. On sélectionne


donc le classifieur faible h m qui minimise : i t.q. hm (xi )6= y i ) w im , c’est-à-dire la somme des
P

coûts w i ,m sur les observations mal classées.


Remarquons que le choix initial de K 0 = C 0 comme le classifieur de H minimisant le
nombre d’erreurs revient à dire qu’on a minimisé le risque empirique avec w im = 1/N pour
tout i puisque la somme à minimiser est alors proportionnelle au nombre d’observations mal
classées.
Il faut également choisir le poids αm . On minimise E m par rapport à αm en annulant la
dérivée. Comme :
∂E m
= −αm e −αm w im + αm e αm w im
X X
∂αm i t.q. h m (x i )=y i i t.q. h m (x i )6= y i

cette dérivée s’annule pour :


m
ÃP !
1 i t.q. h m (x i )=y i ) w i
αm = log P m
2 i t.q. h m (x i )6= y i ) w i

École des Mines de Nancy


95 7.3. TECHNIQUES DE BOOSTING

Nous avons donc une stratégie pour choisir un classifieur h m et mettre à jour son poids αm .
Concernant la mise à jour des poids des observations w i ,m , on remarque que, par définition
de K m :
w im+1 = e −y i K m (xi ) = w im e −αm y i hm (xi )
On déduit la règle de mise à jour :

w im+1 = w im e αm
½
si h m (x i ) 6= y i :
si h m (x i ) = y i : w im+1 = w im e −αm

Dans les implantations logicielles, on normalise les poids à chaque étape de manière à ce que
PN m
i =1 w i = 1 pour éviter des problèmes d’instabilité numérique.
En notant εm = i t.q. hm (xi )6= y i w im le coût des erreurs, si les poids sont normalisés on a
P

aussi 1 − εm = i t.q. hm (xi )=y i w im , donc :


P

1 − εm
αm =
2εm

L’algorithme Adaboost s’écrit donc de la manière suivante :

Initialisation : ∀ 1 É i É N , w i0 = 1/N .
Pour m = 0 à M ,
1. sélectionner le classifieur faible h m dans H minimisant le coût des erreurs

εm = w im
X
i t.q. h m (x i )6= y i

2. fixer le poids αm de ce classifieur comme :

1 − εm
αm =
2εm

3. mettre à jour les poids des observations :

w im+1 = w im e αm
½
si h m (x i ) 6= y i :
∀1 É i É N,
si h m (x i ) = y i : w im+1 = w im e −αm
PN m+1
les normaliser tels que i =1 w i =1
4. revenir en 1.

Le nombre d’étapes M est fixé par l’utilisateur : une trop grande valeur de M peut conduire
à un sur-apprentissage.
Dans Adaboost, les observations sont « stimulées » (boosted) par la mise à jour des poids :
une observation correctement classée par h m à un poids qui diminue à l’étape m + 1 (car
e −αm < 1) et une observation mal classée à un poids qui augmente (car e αm > 1). Le classi-
fieur faible h m+1 est donc choisi pour se focaliser sur les observations mal classées par les
classifieurs faibles précédents.

Introduction à l’apprentissage automatique


CHAPITRE 7. MÉTHODES ENSEMBLISTES : BAGGING ET BOOSTING 96

Le classifieur obtenu par Adaboost combine les classifieurs faibles par un vote pondéré de
leurs prédictions. Plus un classifieur faible est performant (εm faible), plus son poids est élevé
(αm grand). Par comparaison, le bagging combine les réponses par un vote non pondéré.

Nous avons décrit le principe de base d’Adaboost : de nombreuses variantes existent,


ainsi qu’une bibliographie foisonnante sur les propriétés théoriques.

Adaboost est souvent utilisé avec des arbres de décisions comme famille H de classi-
fieurs faibles, ce qui permet de résoudre l’étape 1 de l’algorithme en un temps raisonnable.
Pour ce faire, il suffit de prendre comme critère de segmentation le coût des erreurs. Un choix
très répandu est même d’utiliser des « souches de classification » (decision stumps) qui sont
des arbres de décision de profondeur 1. Ce sont donc des classifieurs qui se contentent de
tester si une caractéristique de l’observation est inférieure à un seuil.

Adaboost a rencontré de nombreux succès dans des applications diverses. Il est par exemple
utilisé dans l’algorithme de Viola-Jones de détection d’objets (en particulier de visages) dans
les images, qui peut fonctionner en temps réel avec de bonnes performances. Voir les exemples
dans l’article original :
P. Viola, M. Jones, Robust real-time object detection, International Journal of Computer Vision,
57(2), p. 137-154, 2004.

La figure 7.6 montre un exemple de classification par Adaboost.

F IGURE 7.6 – Classification de données bidimensionnelles à l’aide de la fonction


AdaBoostClassifier de scikit-learn, pour différents nombres n de classifieurs faibles. Les
classifieurs faibles sont des troncs de classification. Les observations sont séparées en deux
classes, des observations tests (croix en transparence) permettent de calculer un taux de classi-
fications correctes, indiqué en bas à droite. Là aussi, plus le nombre de troncs est grands, plus
la frontière de classification est complexe.

École des Mines de Nancy


97 7.4. POUR APPROFONDIR. . .

7.3.2 Gradient boosting


Dans notre présentation d’Adaboost, les poids αm et classifieurs h m sont choisis à chaque
étape de manière à minimiser le risque empirique E m du classifieur K m :
N
`(y i , K m (x i ))
X
Em =
i =1

avec ` la fonction de perte exponentielle et où, par définition, K m = K m−1 + αm h m .


Dans les techniques de gradient boosting, on généralise cette approche à d’autres fonc-
tions de perte seulement supposées différentiables.
L’idée est de minimiser E m en suivant la plus forte pente (steepest descent). Un dévelop-
pement limité à l’ordre 1 nous donne :
N
`(y i , K m−1 (x i ) + αm h m (x i ))
X
Em =
i =1
N N ∂`
`(y i , K m−1 (x i )) + αm
X X
' (y i , K m−1 (x i ))h m (x i )
i =1 i =1 ∂y
N ∂`
= E m−1 + αm
X
(y i , K m−1 (x i ))h m (x i )
i =1 ∂y
∂`
où ∂y désigne la dérivée partielle de ` par rapport à sa deuxième composante.
Pour minimiser E m en suivant la plus forte pente, il faut donc :
∂`
— choisir h m dans la classe H de manière à minimiser − iN=1 ∂y
P
(y i , K m−1 (x i ))h m (x i ) qui
est un produit scalaire,
— choisir αm > 0 minimisant E m (problème d’optimisation 1D, cf line search dans les
algorithmes de descente).
Selon le choix de la fonction de perte `, le gradient boosting s’adapte à des problèmes de
classification ou de régression.
XGBoost (eXtreme Gradient Boosting), « extrêmement » populaire parmi les participants
aux défis Kaggle pour ses très bonnes performances pratiques, est un exemple de gradient
boosting où les classifieurs faibles sont des arbres de décision ou de régression, qui consiste
à utiliser une approximation d’ordre 2 plutôt que d’ordre 1 dans la minimisation, ainsi qu’un
terme de régularisation afin d’éviter le surapprentissage. Plus de détails ici :
T. Chen, C. Guestrin. XGBoost : A scalable tree boosting system. Proceedings of the ACM Inter-
national Conference on Knowledge Discovery and Data Mining (SIGKDD), 2016.
L’implémentation de référence est là :
https://github.com/dmlc/xgboost

7.4 Pour approfondir. . .


Régression Bagging et boosting s’appliquent également sans difficulté à des problèmes de
régression. Les arbres de décision deviennent des arbres de régression qui permettent de
construire des fonctions de régression constantes par morceaux.

Introduction à l’apprentissage automatique


CHAPITRE 7. MÉTHODES ENSEMBLISTES : BAGGING ET BOOSTING 98

Un peu d’étymologie Le bootstrapping est une technique d’utilisation générale en statis-


tique. Selon Bradley Efron, qui a introduit cette technique dans un article de 1979 :
“Its name celebrates Baron Munchausen’s success in pulling himself up by his own
bootstraps from the bottom of a lake.”
(les bootstraps sont les anneaux de cuir ou de tissu qui aident à enfiler les bottes ou certaines
chaussures).
Voir la page 177 de :
B. Efron and T. Hastie, Computer age statistical inference, Cambridge University Press, 2016.

École des Mines de Nancy


Chapitre 8

Machines à vecteurs supports

Dans notre cours, nous discutons des classifieurs linéaires comme le classifieur de la ré-
gression logistique, ou le perceptron de Rosenblatt dans le prochain chapitre. Dans le cas
biclasse, la surface de séparation est un hyperplan de l’espace des observations. Ce chapitre
traite des machines à vecteurs supports (Support Vector Machines, SVM), dont la version la
plus simple fait également partie de la famille des classifieurs linéaires. Elles se prêtent bien
à l’« astuce du noyau » qui leur permettent de s’adapter à des données non linéairement sé-
parables. Les SVM à noyau sont les classifieurs phares de la fin des années 1990 et début des
années 2000 et ont rencontré de nombreux succès. Elles sont toujours utilisées, en particulier
lorsqu’on dispose de données en quantité limitée.

8.1 Notion de marge maximale


On suppose disposer d’un jeu d’observations réparties en deux classes linéairement sé-
parables. Dans ce chapitre, les N observations étiquetées de la base d’apprentissage seront
notées (x n , y n ), avec y n ∈ {−1, 1}. Les hyperplans séparateurs de paramètres (w , b) vérifient,
pour tout n entre 1 et N :
½
w · x n + b > 0 si y n = 1
w · x n + b < 0 si y n = −1

Parmi ces hyperplans, on s’intéresse à celui qui est le plus éloigné des points des deux classes.
Rappelons que si un hyperplan a pour équation w · x + b = 0, la distance d’un point x ∗
à ce plan est : |w · x ∗ + b|/kw k2 . En effet, le point de l’hyperplan le plus proche de x ∗ est sa
projection orthogonale, qui s’écrit sous la forme x ∗ + λw où λ ∈ R car w est orthogonal à
l’hyperplan. Comme cette projection appartient à l’hyperplan, λ vérifie w · (x ∗ + λw ) + b = 0,
soit λ = (b − w · x ∗ )/||w ||22 . Ainsi, kx − x ∗ k2 = |λ| kw k2 = |w · x ∗ + b|/kw k2 .
La plus petite distance entre les observations et un hyperplan séparateur de paramètres
(w , b) est donc :
1
min y n (w · x n + b)
kw k2 1ÉnÉN
CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 100

F IGURE 8.1 – Discrimination entre deux classes : marge d’une droite séparatrice d’équation
w · x + b = 0 et vecteurs supports entourés.

On appelle « marge » de l’hyperplan séparateur le double de cette quantité.


Par conséquence, les paramètres du séparateur de plus grande marge sont définis par :
½ ¾
1
arg max min y n (w · x n + b)
w ,b kw k2 1ÉnÉN

Notons que si les deux classes sont linéairement séparables, la solution de ce problème
de maximisation est bien un hyperplan séparateur car les hyperplans qui ne sont pas sépa-
rateurs sont tels que minn y n (w · x n + b) < 0 (car au moins un point n’est pas correctement
classé), au contraire des hyperplans séparateurs pour lesquels minn y n (w · x n + b) Ê 0 pour
tout n.
Les observations x n qui réalisent le minimum dans minn y n (w ·x n +b) sont appelés « vec-
teurs de support » ou « vecteurs supports ». On reviendra sur cette notion plus tard.
Les séparateurs à vaste marge, dont SVM est l’acronyme français, ainsi définis sont appe-
lés machines à vecteurs supports (support vector machines, SVM).
Marge, hyperplan séparateur et vecteurs supports sont illustrés par la figure 8.1.

8.1.1 Problème d’optimisation associé


La distance d’un point à un hyperplan est invariante par multiplication de w et b par
un scalaire non nul, comme on le voit sur la formule rappelée en introduction. On suppose
donc sans perte de généralité que les observations x n les plus proches du plan (les vecteurs
de support) vérifient :
y n (w · x n + b) = 1
Le problème de recherche des paramètres (w , b) du séparateur à plus grande marge re-
vient alors à celui de maximiser 1/kw k2 , ou de manière équivalente, à résoudre le problème

École des Mines de Nancy


101 8.1. NOTION DE MARGE MAXIMALE

de minimisation suivant :

 arg min 1 kw k2

2
(primal 1) w ,b 2
sous contraintes : ∀ 1 É n É N , y n (w · x n + b) Ê 1

Ce problème est qualifié de primal. Notons que chaque observation étiquetée (x n , y n ) induit
une contrainte.
Il s’agit d’un problème convexe (voir annexe B.1), appartenant à la famille des problèmes
de programmation quadratique car la fonction objectif est quadratique et les contraintes sont
linéaires. Le problème admet donc une unique solution.
Nous allons exprimer le dual de ce problème d’optimisation sous contraintes.

8.1.2 Dualité pour le problème des SVM


8.1.2.1 Dual de Wolfe

Dans le problème (primal 1), la fonction objectif et les contraintes sont convexes et diffé-
rentiables. On peut donc appliquer les résultats de l’annexe B.2 sur la dualité de Wolfe.
Dans le problème des SVM, (w , b) joue le rôle de la variable x de l’annexe B.2, les contraintes
sont g n (x) = −(y n (w · x n + b) − 1), et le Lagrangien est :

1 N
L(w , b, λ) = kw k22 − λn (y n (w · x n + b) − 1)
X
2 n=1

D’après les conditions KKT nécessaires et suffisantes, (w ∗ , b ∗ ) est solution optimale du


primal si et seulement s’il existe λ∗ = (λ1 , λ2 , . . . , λN ) où ∀1 É i É N , λi Ê 0, tel que (w ∗ , b ∗ )
vérifie :
∀ 1 É n É N , λ∗n (y n (w ∗ · x n + b ∗ ) − 1) = 0
∂L ∂L
et λ∗ maximise L(w ∗ , b ∗ , λ) sous les contraintes ∂w = 0 et ∂b = 0, ce qui est respectivement
équivalent à
N
w∗ = λn y n x n
X
n=1
et
N
λn y n = 0
X
n=1

On obtient :
° °2 Ã ÃÃ ! ! !
1° N ° N N
∗ ∗ ∗
L(w , b , λ) = ° λn y n x n ° − λ y λ y x · xn + b − 1
°X ° X X
2 °n=1 ° n=1 n n m=1 m m m
2

Or : ° °2
°XN ° N X N
λn y n x n ° = λn λm y n y m x n · x m
° ° X
°
°n=1 ° n=1 m=1
2

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 102

et :
à Ãà ! ! !
N N N X
N N N
λn y n λm y m x m · x n + b ∗ − 1 = λn λm y n y m x n · x m + b λn y n − λn
X X X X X
n=1 m=1 n=1 m=1 n=1 n=1
PN
Comme n=1 λn y n = 0, on simplifie l’expression du Lagrangien en :
N 1 XN X N
L(w ∗ , b ∗ , λ) = λn − λn λm y n y m x n · x m
X
n=1 2 n=1 m=1

Le problème dual de Wolfe consiste donc à résoudre :



N 1 XN X N
λn − λn λm y n y m x n · x m
 X
arg max

(dual 1) λ n=1 2 n=1 m=1
 sous contraintes : ∀1 É n É N , λ Ê 0 et PN λ y = 0

n n=1 n n

À l’optimum, les conditions KKT nous fournissent ∀n, λ∗n (y n (w ∗ · x n + b ∗ ) − 1) = 0.


Cela signifie, pour tout n ∈ {1, . . . , N } :
— soit w ∗ · x n + b ∗ = y n (et λ∗n Ê 0) : l’observation x n est un vecteur support
— soit λ∗n = 0
PN
Or w ∗ = n=1 λ∗n y n x n : l’hyperplan séparateur optimal ne dépend donc que des vecteurs
supports. Les autres observations ont une contribution nulle car pour les « vecteurs non-
supports », λ∗n = 0.

8.1.3 Résumé
Le problème primal des SVM s’écrit :

 arg min 1 kw k2

2
(primal 1) w ,b 2
sous contraintes : ∀ 1 É n É N , y n (w · x n + b) Ê 1

Le problème dual des SVM s’écrit :



N 1 XN X N
λn − λn λm y n y m x n · x m
 X
arg max

(dual 1) λ n=1 2 n=1 m=1
 sous contraintes : ∀1 É n É N , λ Ê 0 et PN λ y = 0

n n=1 n n

Dans les deux cas, il s’agit de programmes quadratiques. Le primal admet d +1 inconnues
et N contraintes, le dual N inconnues et une contrainte en plus des contraintes de signes sur
les λn .
Résoudre le problème dual nous fournit λ∗ , on en déduit w ∗ par l’expression :
N
w∗ = λ∗n y n x n
X
n=1

École des Mines de Nancy


103 8.2. MARGE SOUPLE ET VARIABLES D’ÉCART

où les termes non nuls dans cette somme sont ceux relatifs aux vecteurs supports. Les ob-
servations qui ne sont pas vecteurs supports ne participent pas à la définition de l’hyperplan
optimal.
Ensuite, on calcule b ∗ à partir des vecteurs supports sachant que pour tout vecteur sup-
port, w ∗ · x n + b ∗ = y n : on peut estimer numériquement b ∗ , par exemple en calculant la
moyenne sur les vecteurs supports des y n − w ∗ · x n .

8.2 Marge souple et variables d’écart


Dans le modèle précédent (dit à marge dure, hard margin), les deux classes sont sup-
posées linéairement séparables. Si ce n’est pas le cas, le problème d’optimisation primal n’a
pas de solution car l’ensemble des solutions réalisables est vide. Pour tenir compte de per-
turbations aléatoires sur les observations qui pourraient rendre les classes non-linéairement
séparables, ou permettre des erreurs de classification afin d’éviter le surapprentissage, on
introduit un modèle de SVM à marge souple (soft margin).
Une variable d’écart à la marge (slack variable) pour l’observation x n est un réel ξn > 0 tel
que :
½
0 si l’observation x n satisfait la contrainte sur la marge, i.e. y n (w · x n + b) Ê 1
ξn =
|y n − (w · x n + b)| sinon
Dans tous les cas, comme y n ∈ {−1, 1}, la variable d’écart de la n-ème observation s’exprime
ainsi :
ξn = max 0, 1 − y n (w · x n + b)
© ª

La notion de variable d’écart est illustrée par la figure 8.2.


On va estimer les paramètres d’une SVM à marge souple par optimisation, en réalisant un
compromis entre, d’une part, la marge 1/kw k que l’on veut la plus large possible, et, d’autre
part, les écarts qui prennent des valeurs strictement positives.

8.2.1 Problème primal


Le problème primal de la SVM à marge souple s’écrit :

N
 arg min 1 kw k2 +C X ξ

2 n
(primal 2) w ,b,ξ 2 n=1
sous contraintes : ∀ 1 É n É N , ξn Ê 1 − y n (w · x n + b) et ξn Ê 0

Il s’agit toujours d’un problème d’optimisation quadratique.


Le rôle de l’hyperparamètre C > 0 est le suivant :
— C grand : on pénalise fortement les erreurs. À l’optimum, les ξn vont donc être petits, si
possible nuls : peu d’observations seront mal classées. On risque le sur-apprentissage.
— C proche de 0 : à l’optimum les écarts ξn peuvent être assez grands, de manière à maxi-
miser la marge 1/kwk2 qui a un poids relatif plus important que les écarts dans la fonc-
tion objectif. On risque le sous-apprentissage.

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 104

F IGURE 8.2 – SVM : marge souple et variables d’écart. Notons les valeurs prises par ξi selon la
position de l’observation x i par rapport à la droite de séparation.

8.2.2 Problème dual


Le Lagrangien de ce problème s’écrit

1 N N N
L(w , b, ξ, λ, µ) = kw k2 +C ξn − λn (y n (w · x n + b) − 1 + ξn ) − µn ξn
X X X
2 n=1 n=1 n=1

où pour tout n, λn Ê 0 et µn Ê 0.
La dérivée partielle du Lagrangien par rapport à ξn fournit C − λn − µn = 0, donc le La-
grangien se simplifie en

1 N
L(w , b, λ, µ) = kw k2 − λn (y n (w · x n + b) − 1)
X
2 n=1

(ξn n’apparaît plus), et λn = C − µn avec µn Ê 0 implique 0 É λn É C . Le problème dual de


Wolfe est donc :

N 1 XN X N
λn − λn λ j y n y m x n · x m
 X
arg max

(dual 2) λ n=1 2 n=1 m=1
 sous contraintes : ∀1 É n É N , 0 É λ É C et PN λ y = 0

n n=1 n n

On remarque que la seule différence avec le problème (dual 1) est la borne supérieure
des λn , égale à C . On voit bien sur l’expression du dual que l’introduction des variables d’écart
agit comme une régularisation : on contraint l’espace des solutions possibles du dual.
Par ailleurs, on a toujours la relation w = n λn y n x n : w ne dépend que des vecteurs
P

supports (tels que λn 6= 0), pour lesquels la contrainte correspondante est saturée, ce qui
s’écrit : y n (w · x n + b) = 1 − ξn . Ainsi, les vecteurs supports sont les observations x n vérifiant :

École des Mines de Nancy


105 8.3. ASTUCE DU NOYAU

F IGURE 8.3 – Séparation de points du plan par une droite. Trois points sont toujours séparables
quelles que soient les étiquettes. Par contre, certains quadruplets ne sont pas séparables, comme
montré à droite.

— soit ξn = 0 et alors y n (w · x n + b) = 1 : x n est sur la frontière de la marge,


— soit ξn > 0 et x n est à l’« intérieur » de la marge, avec deux possibilités illustrées par la
figure 8.2 :
— si 0 < ξn < 1, alors y n (w · x n + b) > 0 et x n est bien classée
— si ξn > 1, alors y n (w · x n + b) < 0 et x n est mal classée

Une remarque très importante à ce stade est que le problème dual ne fait apparaître les
observations que par l’intermédiaire de produits scalaires x n · x m . Ceci justifie l’utilisation de
l’astuce du noyau.

8.3 Astuce du noyau


Le problème dual des SVM (à marge dure ou souple) ne fait intervenir les observations
que par l’intermédiaire de leur produit scalaire.
D’autre part, nous allons voir que des problèmes de classification non linéairement sé-
parables peuvent le devenir lorsqu’on plonge les observations dans un espace vectoriel de
dimension plus grande que l’espace initial.
Ces deux remarques justifient la mise en œuvre de « l’astuce du noyau » (kernel trick), qui
permet de transformer les machines à vecteurs supports en classifieurs non-linéaires.

8.3.1 Séparation linéaire et dimension


La motivation de l’utilisation des noyaux est basée sur le constat suivant : il est en un
certain sens plus facile de séparer des observations vectorielles par des hyperplans lorsque la
dimension de l’espace est grande.
Par exemple, si on considère trois points du plan non alignés, on pourra toujours trouver
une droite les séparant, quelles que soient leurs étiquettes. Par contre quatre points du plan
ne sont pas toujours séparables selon une droite. Voir la figure 8.3.
La proposition suivante montre que la propriété est générale.

Proposition 8.1 Dans Rd , tout ensemble de d + 1 observations étiquetées


(x 1 , y 1 ), . . . , (x d +1 , y d +1 ) telles que (x n − x d +1 )1ÉnÉd forme une famille libre est linéairement
séparable.

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 106

Le fait que les d vecteurs (x n − x d +1 ) forment une famille libre est le pendant de la condition
« les points ne sont pas alignés » dans l’exemple de la figure 8.3 en dimension 2.

Démonstration
Notons A la matrice dont les colonnes sont formées des vecteurs x n − x d +1 . La matrice A
admet une décomposition A = QR, où Q est une matrice orthogonale et R une matrice trian-
gulaire supérieure, inversible comme A.
Considérons alors la fonction f affine en x d’équation :

d ¢T
(y n − y d +1 ) R −1 (x n − x d +1 ) R −1 (x − x d +1 ) + y d +1
X ¡
f (x) =
n=1

Comme R −1 (x n − x d +1 ) est la n-ème colonne de la matrice Q qui est orthogonale,


½
¡ −1 ¢T 0 si n 6= m
R (x n − x d +1 ) R −1 (x m − x d +1 ) =
1 si n = m

Donc pour tout n entre 1 et d + 1, f (x n ) = y n . L’hyperplan d’équation f (x) = 0 sépare bien les
points, quelles que soient les valeurs des étiquettes. 

Il est possible de démontrer que pour tout ensemble de d +2 points de Rd , certaines affec-
tations d’étiquettes rendent impossible la séparation, comme dans l’exemple de la figure 8.3
pour d = 2. Au passage, et sans entrer dans les détails, ces deux propriétés permettent d’affir-
mer que la dimension de Vapnik-Chervonenkis (évoquée au chapitre 2) des hyperplans de Rd
est d + 1.

Il est donc plus « facile » de séparer linéairement deux classes lorsque la dimension est
grande, en particulier lorsque la dimension est supérieure au nombre d’observations. On
peut également interpréter la proposition 8.1 comme une justification de l’utilisation des
classifieurs linéaires (régression logistique, perceptron de Rosenblatt, SVM linéaire) lorsque
les observations appartiennent à un espace de grande dimension, comme dans le cas de la
classification de textes ou d’images.

La figure 8.4 illustre d’une autre manière cette propriété : des observations non linéaire-
ment séparables le deviennent lorsqu’on les plonge dans un espace vectoriel de dimension
supérieure.

L’« astuce du noyau » (kernel trick) utilisée dans les SVM fait qu’on n’aura pas besoin de
déterminer explicitement le plongement φ, on aura seulement besoin des valeurs des pro-
duits scalaires φ(x) · φ(y).

8.3.2 L’astuce du noyau

On plonge les observations x n ∈ Rd dans un espace vectoriel H de dimension d 0 par φ.


Cet espace H est appelé « espace de redescription » ou feature space. D’après la discussion

École des Mines de Nancy


107 8.3. ASTUCE DU NOYAU

F IGURE 8.4 – Exemple de plongement de points de R2 dans R3 . Le plongement consiste à pro-


jeter les points du plan sur un paraboloïde de révolution de R3 . Sur le paraboloïde dans R3 les
deux classes sont linéairement séparables, ce qui n’était pas le cas dans R2 .

précédente, on espère qu’il sera plus facile de séparer linéairement dans H . Il y a donc un
risque fort de sur-apprentissage : il est important de considérer le modèle de SVM à marge
douce qui permettra des erreurs de classifications et d’éviter le sur-apprentissage.
Nous avons établi plus haut la formulation duale de la SVM séparant les observations une
fois celles-ci plongées dans H par φ :

N 1 XN X N
λn − λn λm y n y m φ(x n ) · φ(x m )
 X
arg max

(dual 2’) λ n=1 2 n=1 m=1
 sous contraintes : ∀1 É n É N , 0 É λ É C et PN λ y = 0

n n=1 n n

Remarquons que seuls des produits scalaires φ(x n ) · φ(x m ) apparaissent. Si on définit le
noyau k tel que k(x, y) = φ(x) · φ(y), le problème devient :

N 1 XN X N
λn − λn λm y n y m k(x n , x m )
 X
arg max

(dual 3) λ n=1 2 n=1 m=1
 sous contraintes : ∀1 É n É N , 0 É λ É C et PN λ y = 0

n n=1 n n

Le classifieur de la SVM s’écrit f (x) = w ·φ(x)+b où w = n λn y n x n et où seuls les λn rela-


P
PN
tifs aux vecteurs supports sont non-nuls. Ainsi, f (x) = n=1 λn y n φ(x n )·φ(x)+b. Le classifieur
s’écrit donc uniquement en fonction du noyau k sous la forme suivante :

N
λn y n k(x n , x) + b
X
f (x) =
n=1

Notons qu’on n’a pas besoin de l’expression de w , vecteur normal à l’hyperplan séparateur
dans l’espace de redescription, mais seulement de calculer les k(x n , x) pour les vecteurs sup-
ports x n . En dimension d 0 grande, il est bien plus rapide de calculer f (x) grâce au noyau et

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 108

aux vecteurs supports (cela nécessite une somme avec autant de termes que de vecteurs sup-
ports, qui sont généralement en nombre limité) qu’en utilisant le calcul explicite du produit
scalaire avec w (qui nécessite au moins d 0 produits).
Que ce soit pour trouver les λn ou ensuite pour classifier de nouvelles observations, nous
n’avons jamais besoin de manipuler φ, mais seulement le noyau k.
Dans l’exemple de la figure 8.4, le plongement s’écrit

φ(x 1 , x 2 ) = (x 1 , x 2 , x 12 + x 22 )

Ainsi, avec x = (x 1 , x 2 ) et x 0 = (x 10 , x 20 ) :

k(x, x 0 ) = φ(x 1 , x 2 ) · φ(x 10 , x 20 )


= x 1 x 10 + x 2 x 20 + (x 12 + x 22 )(x 102 + x 202 )
= x · x 0 + kxk2 kx 0 k2

Nous avons explicité le plongement φ pour des raisons pédagogiques, mais en règle géné-
rale on construit un noyau adapté à la nature des données, et le plongement φ dans l’espace
vectoriel de redescription H n’est pas explicité (souvent ce n’est d’ailleurs pas facile, et pas
informatif) : tout ce dont nous avons besoin est le noyau k.
La figure 8.5 montre des exemples de classifications obtenues avec un noyau RBF (voir la
section suivante) pour différentes valeurs de l’hyperparamètre C .

8.3.3 Ingénierie des noyaux


S’il est vrai qu’on n’a pas besoin de manipuler le plongement φ de Rd vers H mais uni-
quement le noyau k, on ne peut tout de même pas choisir n’importe quelle fonction comme
noyau : k doit représenter un produit scalaire dans un espace H de manière à ce que la SVM
cherchée soit un séparateur linéaire dans H .
Sans rentrer dans les détails, un noyau vérifiant les conditions suivantes, dites conditions
de Mercer, est valide (c’est-à-dire qu’il permet la représentation d’un produit scalaire dans
un espace de redescription H ).

Proposition 8.2 Soit une fonction k définie sur Rd × Rd à valeur dans R. Si k est continue
symétrique et est telle que pour tout n et tout ensemble de vecteurs x 1 , . . . x n de Rd , la matrice
¡ ¢
symétrique k(x i , x j ) 1Éi , j Én est positive, alors k est un noyau valide.

Rappel : la matrice (k(x i , x j ))1Éi , j Én est symétrique positive si pour tout n-uplet (c 1 , . . . , c n ),
P
i , j k(x i , x j )c i c j Ê 0.

PN PN
Remarque. Si k est un noyau valide, alors le terme n=1 m=1 λn λm y n y m k(x n , x m ) appa-
raissant dans le problème (dual 3) est positif ou nul, et est une fonction convexe des λn . La
fonction objectif du problème (dual 3) est donc concave et la solution du problème de maxi-
misation est unique. Voir la caractérisation de la convexité pour les fonctions de classe C 2 en
annexe B.1.

École des Mines de Nancy


109 8.3. ASTUCE DU NOYAU

F IGURE 8.5 – Exemples de classification obtenues dans un problème biclasse (classe 0 en rouge
et classe 1 en vert) pour quatre valeurs de C . Les vecteurs supports sont marqués d’une étoile.
On indique à chaque fois le nombre de vecteurs supports dans chaque classe ainsi que le score
de classification obtenues sur des observations test (non représentées) qui n’ont pas servi à l’ap-
prentissage. La marge apparaît en clair. Cette expérience illustre qu’un C petit induit un sous-
apprentissage, et un C trop grand un sur-apprentissage. Figure à voir en couleur.

Par exemple, lorsque k(x, y) = x · y (produit scalaire canonique), k vérifie bien les condi-
tions de Mercer car la matrice des k(x n , x m ) est une matrice de Gram. Dans ce cas, le plon-
gement φ associé est tout simplement l’identité. Il s’agit du noyau linéaire, et on parle dans
ce cas de SVM linéaire. Bien entendu, il s’agit tout simplement de la solution des problèmes
(primal 2)/(dual 2) introduits précédemment.

Le choix du noyau doit être adapté au problème considéré ; on rencontre l’expression


« ingénierie des noyaux » (kernel design / kernel engineering).

Il est facile d’utiliser les conditions de Mercer pour démontrer la proposition suivante, qui
permet de construire de nouveaux noyaux à partir de noyaux connus.

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 110

Proposition 8.3 Supposons que k 1 et k 2 sont des noyaux valides, c > 0, A une matrice symé-
trique positive, x = (x a , x b ) où x a et x b sont des variables sur E a et E b et k a et k b des noyaux
valides sur ces espaces. Alors :
— k(x, y) = ck 1 (x, y) + k 2 (x, y)
— k(x, y) = x T Ay
— k(x, y) = k 1 (x, y)k 2 (x, y)
— k(x, y) = k a (x a , y a ) + k b (x b , y b )
— k(x, y) = k a (x a , y a )k b (x b , y b )
définissent des noyaux valides.

Il y a un certain nombre d’autres recettes du même type, voir la littérature sur le sujet.
Par exemple, un noyau populaire sur Rd × Rd est le noyau polynomial :

k(x, y) = γ(x · y + ρ)δ

où γ > 0, ρ > 0, δ entier Ê 1 sont des paramètres.

Proposition 8.4 Le noyau polynomial est valide.

Il s’agit d’un noyau valide d’après la proposition 8.3. Il est possible de démontrer que
l’espace de redescription a pour dimension d +δ
¡ ¢
δ .

Un autre noyau populaire sur Rd × Rd est le noyau RBF (Radial basis function, ou noyau
gaussien) :
k(x, y) = exp(−γkx − yk22 )
où γ > 0 est un paramètre.
Il s’agit d’un noyau dit invariant par translation car il s’écrit sous la forme h(x −y) et vérifie
donc ∀t ∈ Rd , ∀(x, y) ∈ Rd × Rd , k(x + t, y + t) = k(x, y).

Proposition 8.5 Le noyau RBF est valide

Démonstration
Rappelons tout d’abord que si la transformée de Fourier h
b d’une fonction intégrable h est
définie par l’expression :
Z
b = h(x)e −i x·ξ dx
h(ξ)

alors la transformée de Fourier inverse s’écrit :

1
Z
i x·ξ
h(x) = h(ξ)e
b dξ

On vérifie à présent la condition de Mercer.

École des Mines de Nancy


111 8.4. RETOUR SUR LES CLASSIFIEURS DU COURS

Pour tout n-uplet d’observations (x 1 , . . . , x n ) et n-uplet de scalaires (c 1 , . . . , c n ),

1 X
Z
i (x j −x k )·ξ
X
c j c k h(x j − x k ) = c j c k h(ξ)e
b dξ
2π j ,k
à !
1
Z
i x ·ξ −i x ·ξ
X
= h(ξ)
b c j e j ck e k dξ
2π j ,k
¯ ¯2
1
Z ¯X ¯
= b ¯ c j e i x j ·ξ ¯¯ dξ
h(ξ)
¯
2π ¯ j ¯

qui est positif lorsque h


b est une fonction réelle positive. C’est bien le cas pour la gaussienne
car la transformée de Fourier d’une gaussienne est une gaussienne. 

Selon la même démonstration, on peut généraliser et dire que tout fonction continue in-
variante par translation dont la transformée de Fourier est une fonction réelle positive définit
un noyau valide.
On peut démontrer que l’espace de redescription associé au noyau RBF est un espace de
Hilbert, une sorte d’espace vectoriel de dimension infinie, muni d’un produit scalaire.

Les noyaux précédents sont définis sur des observations vectorielles. Il se trouve que l’on
peut également définir des noyaux sur des chaînes de caractères, des ensembles, ou même
des graphes. Les noyaux sur les chaînes de caractères sont particulièrement intéressants dans
le cadre de la bioinformatique. Par exemple, les protéines sont décrites par des séquences
d’acides aminés. Or les protéines de tous les êtres vivants connus ne sont constituées que de
22 acides aminés, représentés par une lettre de l’alphabet : prédire des propriétés de protéine
à l’aide de machines à noyau revient à utiliser des noyaux sur des chaînes de 22 caractères.

8.4 Retour sur les classifieurs du cours


On peut légitimement se demander ce qui différencie les classifieurs vus dans ce cours,
beaucoup d’entre eux sont d’ailleurs linéaires. Nous donnons des éléments de réponse en les
présentant dans un cadre unifié.

8.4.1 Problèmes d’optimisation


Quasiment tous les classifieurs sont des solutions de problèmes d’optimisation.

SVM avec variables d’écart Comme les écarts ξn vérifient ξn = max{0, 1 − y n (w · x n + b)}, on
peut dire que l’on cherche (w , b) minimisant :

N
kw k2 +C
X © ª
max 0, 1 − y n (w · x n + b)
n=1

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 112

Régression logistique On a vu au chapitre 6 (section 6.2), que l’on cherche (β0 , β1 ) maxi-
misant la log-vraisemblance conditionnelle

N
L(β0 , β1 ) =
X
y n log(σ( f (x n ))) + (1 − y n ) log(σ(− f (x n )))
n=1
XN
= log(σ((2y n − 1) f (x n )))
n=1

où f (x) = β0 + β1 · x. Dans ces équations, on a utilisé la convention y n ∈ {0, 1} utilisée au


chapitre 6.
Cela revient, lorsqu’on exprime la relation précédente avec la convention y n ∈ {−1, 1} du
présent chapitre, à maximiser :

N
L(β0 , β1 ) = log σ(y n f (x n ))
X ¡ ¢
n=1

soit à minimiser :
N
log 1 + exp(−y n (β0 + β1 · x n ))
X ¡ ¢
n=1

La régression logistique régularisée consiste donc à minimiser :

N
kβ1 k22 +C log 1 + exp(−y n (β0 + β1 · x n ))
X ¡ ¢
n=1

où C > 0.

Adaboost Au chapitre 7 (section 7.3), on a vu qu’on cherchait à minimiser une fonction de


coût :
N
e −y n f (xn )
X
E=
n=1

où f est le classifieur obtenu à chaque étape d’Adaboost.

Perceptron On anticipe un peu sur le prochain chapitre. . .L’algorithme du perceptron dé-


crit au chapitre 9 (paragraphe 9.1) cherche à minimiser le nombre de mauvaises classifica-
tions :
XN
1zÉ0 (y n (w · x n + b))
n=1

où 1zÉ0 (z) = 1 si z É 0 et 1zÉ0 (z) = 0 si z > 0.


On peut introduire le perceptron régularisé comme solution à la minimisation de :

N
kw k22 +C
X
1zÉ0 (y n (w · x n + b))
n=1

où C est un hyperparamètre positif.

École des Mines de Nancy


113 8.4. RETOUR SUR LES CLASSIFIEURS DU COURS

3
0-1 loss
square loss
hinge loss
2.5
logistic loss
exponential loss

2
loss

1.5

0.5

0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
z

F IGURE 8.6 – Comparaison des fonctions de perte : z < 0 correspond à une observation mal
classée, z > 0 à une observation bien classée. Voir la version couleur dans le fichier pdf.

Fonction de perte Ces quatre classifieurs (Adaboost et les trois classifieurs linéaires SVM,
régression logistique, et perceptron) résolvent tous un problème d’optimisation. Ils diffèrent
par la manière dont le coût des erreurs sur la base d’apprentissage est intégré. Dans tous les
cas, le classifieur f fait une erreur sur l’observation étiquetée (x n , y n ) lorsque z = y n f (x n ) < 0,
et le coût d’une erreur est défini par la fonction de perte (loss function) ` comme suit :
— SVM : `(z) = max {0, 1 − z} (on parle de hinge loss, perte « charnière ») ;
— Régression logistique : `(z) = log 1 + exp(−z) (logistic loss, perte logistique) ;
¡ ¢

— Adaboost : `(z) = exp(−z) (exponential loss, perte exponentielle) ;


— Perceptron : `(z) = 1zÉ0 (z) (0-1 loss, perte 0-1).

8.4.2 Comparaison des fonctions de perte (ou coût des erreurs)

La figure 8.6 représente les graphes des différentes fonctions de perte. Ici la perte logis-
tique a été divisé par log(2) pour que toutes les fonctions aient la valeur 1 pour z = 0.
Estimer les paramètres d’un classifieur construit à partir du coût 0-1 nécessite d’utiliser
des algorithmes d’optimisation discrète car cette fonction de perte n’est ni différentiable ni
convexe. Les méthodes basées sur le gradient (ou le sous-gradient) ne sont pas utilisables.

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 114

Lorsque les données sont linéairement séparables, l’algorithme d’apprentissage du percep-


tron de Rosenblatt permet de répondre en un temps raisonnable, mais dans le cas général
le problème d’optimisation est algorithmiquement difficile (comprendre : sa résolution est
trop coûteuse en pratique). Les autres fonctions peuvent être vues comme des alternatives
convexes au coût « idéal » 0-1.
Le coût quadratique (square loss) n’est pas adapté aux problèmes de classification car il
donne une valeur très élevée aux observations trop mal classées (z << 0) ou trop bien classées
(z >> 0) qui deviennent alors des observations influentes (voir la discussion du chapitre 1 et
dans un cours de statistique). Ce coût est utilisé dans les problèmes de régression mais dans
ce cas il faut tout de même discuter les observations influentes ou aberrantes.
Les fonctions de perte de la SVM (hinge loss), d’Adaboost (exponential loss) et de la régres-
sion logistique (logistic loss) présentent des graphes similaires, avec une limite nulle lorsque z
tend vers l’infini. Comparée aux SVM, la régression logistique est un peu plus sensible aux
observations mal classées et aux observations « trop bien classées » qui sont alors des obser-
vations influentes, dans une mesure certes moindre que pour le coût quadratique. Les SVM
ne dépendent pas du tout des données bien classées au delà du bord de la marge (le hinge loss
est nul pour z > 1). Adaboost pénalise les observations bien classées de la manière semblable
à la régression logistique, mais pénalise bien plus les observations mal classées.
Les classifieurs linéaires fournissent un hyperplan séparateur entre les classes, défini de
manière unique dans le cas de la régression logistique ou des SVM. Cet hyperplan diffère d’un
modèle à l’autre car il n’est pas solution du même problème d’optimisation. Une SVM pré-
sente l’avantage de séparer les deux catégories « au maximum », mais la régression logistique
fournit des probabilités a posteriori, ce qui est intéressant pour certains problèmes. Atten-
tion néanmoins, ces probabilités sont basées sur une modélisation parfois peu réaliste, voir
la section 6.2 du chapitre 6.

8.4.3 Quel modèle choisir ?


Les considérations précédentes nous permettent de donner un guide de choix des mo-
dèles discutés dans ce cours.
Si la dimension du problème est grande par rapport au nombre d’observations, un classi-
fieur linéaire est possible (car on sait qu’il est « plus facile » de séparer les classes par un hyper-
plan en grande dimension) : SVM linéaire ou régression logistique peuvent être envisagées. La
SVM linéaire peut être préférée à la régression logistique pour les raisons précédemment évo-
quées (dépendance uniquement aux vecteurs supports, qui vérifient z < 1 dans la figure 8.6).
Néanmoins les probabilités estimées par la régression logistique peuvent être utiles, notam-
ment en cas d’observations proches de la surface de séparation entre les classes, pour les-
quelles on aimerait avoir une indication de confiance. Par ailleurs, on peut tout de même
questionner la pertinence d’un problème de classification dans lequel le nombre d’observa-
tions est faible par rapport à la dimension, en raison de la malédiction de la dimension. Il
serait sans doute plus pertinent de réduire la dimension du problème au préalable, plutôt
que chercher à classifier les observations « brutes ».
Dans le cas où les classes ne sont pas linéairement séparables, une SVM à noyau est à
favoriser. Le noyau RBF donne souvent de bons résultats lorsque les observations sont vec-

École des Mines de Nancy


115 8.5. RÉGRESSION À VECTEURS SUPPORTS

torielles. Adaboost (avec des troncs de décision en classifieurs faible) est une méthode assez
appréciée en pratique. Bien entendu, on ne sait pas a priori si un problème donné correspond
à des classes linéairement séparables.
Dans tous les cas, les réseaux de neurones artificiels du prochain chapitre représentent
généralement une solution convenable, mais la convergence de l’apprentissage peut être
lente.

8.5 Régression à vecteurs supports


Les machines à vecteurs supports permettent aussi de traiter des tâches de régression,
par l’intermédiaire de la régression à vecteurs supports (support vector regression, SVR).
On suppose disposer d’un ensemble d’observations étiquetées (x n , y n )1ÉnÉN où cette fois
y n ∈ R : les étiquettes sont à présent réelles.
Pour des raisons pédagogiques, nous allons commencer par chercher à prédire les éti-
quettes par une relation affine f (x) = w · x + b. Une solution de ce problème est connue dans
le cadre de la régression linéaire, dans laquelle on choisit w et b de manière à minimiser la
somme des carrés des écarts des résidus
N
(y n − (w · x n + b))2
X
n=1

Dans le cadre de la régression à vecteurs supports, nous cherchons f qui induit un écart
d’au plus ε entre prédictions et étiquettes (les (x n , y n ) doivent donc être dans un « tube » de
rayon ε autour des prédictions (x, f (x))) (appelé ε-tube), et qui est la plus « plate » possible,
c’est à dire avec la plus petite valeur de w . Cela signifie que dans le cas où les observations x n
sont réelles, on cherche la droite de régression de pente la plus petite possible satisfaisant la
contrainte.
Nous sommes donc amenés à résoudre le problème d’optimisation suivant :

 arg min 1 kw k2

2
(primal SVR) w ,b 2
sous contraintes : ∀ 1 É n É N , |y i − (w · x n + b)| É ε

Ce problème n’ayant pas forcément de solution réalisable lorsque ε est trop petit, on in-
troduit des écarts E n Ê 0 tels que :

0 si |y n − (w · x n + b)| É ε
½
En =
|y n − (w · x n + b)| − ε sinon

afin de relaxer les contraintes.


Cela nous conduit à minimiser en fonction de w , b, et les E n la fonction :

1 N
kw k22 +C
X
En
2 n=1

sous des contraintes du type |y n − (w · x n + b)| − ε = E n .

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 116

F IGURE 8.7 – Coûts quadratique et ε-insensitive.

Nous sommes donc face à un problème d’optimisation qui ressemble à celui de la régres-
sion ridge ; seule la fonction de coût des résidus change. Il s’agit du coût quadratique dans le
cas de la régression ridge et d’un coût appelé ε-insensitive dans le cas de la SVR. La figure 8.7
illustre les deux fonctions de coût. Ce changement de coût explique la différence fondamen-
tale entre régression ridge et SVR discutée en section 8.6.
Le problème d’optimisation précédent n’est pas quadratique car les contraintes ne sont
pas des fonctions linéaires des variables w , b et E n , à cause de la valeur absolue. Pour nous ra-
mener à un tel problème, nous introduisons pour chaque observation des variables d’écart ξn
et ξ∗n positives et cherchons à résoudre le problème équivalent :

N

1 2
(ξn + ξ∗n )
 X
 arg min kw k2 +C


w ,b,ξ,ξ∗ 2
(dual SVR) n=1 où ξ = (ξ1 , . . . , ξn )


 sous contraintes : ∀ 1 É n É N , y i − w · x n + b É ε + ξn
∀ 1 É n É N , w · x n + b − y i É ε + ξ∗n

et ξ∗ = (ξ∗1 , . . . , ξ∗n ).

La figure 8.8 montre comment interpréter les variables d’écart. Les vecteurs supports sont
les observations x n telles que (x n , y n ) soit en dehors du ε-tube.
On démontre alors (exactement comme en section 8.1.2 pour le problème de classifica-
tion) que le problème dual associé est :

1 X N N N
∗ ∗ ∗
λ λ ε λ y i (λi − λ∗i )
 X X
arg min − (λ − )(λ − ) x · x − (λ + ) +

i j i j i

 i j i
 λ,λ

 ∗ 2 i , j =1 i =1 i =1
sous contraintes : ∀ 1 É n É N , 0 É λi É C
∀ 1 É n É N , 0 É λ∗i É C




 PN
i =1 (λi − λi ) = 0

 ∗

École des Mines de Nancy


117 8.5. RÉGRESSION À VECTEURS SUPPORTS

F IGURE 8.8 – Valeurs possibles pour les variables d’écart selon la position relative des observa-
tions et de la courbe de régression optimale. Cette représentation anticipe un peu la discussion
et l’introduction du noyau pour rendre la prédiction non-linéaire. Trois cas sont possibles à
l’optimum du problème de minimisation sous-contrainte définissant la SVR : soit l’observa-
tion est dans le ε-tunnel et dans ce cas ξn = ξ∗n = 0, soit l’observation est « au-dessus » et ξn > 0,
ξ∗n = 0, soit l’observation est « en-dessous » et ξ∗n > 0, ξn = 0.

où λ = (λ1 , . . . , λn ) et λ∗ = (λ∗1 , . . . , λ∗n ).


Une fois ce problème dual résolu, on trouve l’expression du régresseur en fonction de λ
et λ∗ :
N
f (x) = (λi − λ∗i ) x i · x + b
X
i =1

où seuls les vecteurs supports contribuent. On trouve également la valeur de b à partir des
vecteurs supports.
Le problème dual ne faisant intervenir les observations que par des produits scalaires,
il est possible d’utiliser l’astuce du noyau pour traiter des problèmes de régression non-
linéaire. Le régresseur obtenu sera de la forme :

N
(λi − λ∗i )k(x i , x) + b
X
f (x) =
i =1

L’approche de la régression expliquée dans cette section, conduisant au régresseur f ,


est la support vector regression. Deux hyper-paramètres doivent être précisés : le rayon ε du
« tube » dans lequel les observations étiquetées doivent se trouver pour ne pas pénaliser la
régression, et le poids C des variables d’écart. La figure 8.9 montre un exemple de régression
à vecteurs supports sur des observations réelles.

Tous les détails peuvent être trouvés dans : A.J. Smola, B. Schölkopf, A tutorial on support
vector regression, Statistics and Computing 14 :199-222, 2004.

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 118

F IGURE 8.9 – Régression à vecteurs supports, noyau RBF. Parmi les observations d’apprentis-
sage, les vecteurs supports sont indiqués comme des cercle, les observations dans le ε-tube (re-
présenté par les lignes pointillées) comme des disques noirs. Rappelons que seuls les vecteurs
supports interviennent dans la définition du régresseur. Première ligne : C = 1, et de gauche à
droite ε = 0.1, 0.5, et 1. Plus ε est grand, moins il y a de vecteurs supports. Seconde ligne : ε = 0.1,
et de gauche à droite C = 0.01, 0.1, et 1. À ε fixé, plus C est grand plus les variables d’écart sont
pénalisées.

8.6 Pour approfondir. . .

Lecture Pour un tutoriel complet sur les SVM, se référer à :


C. Burges, A tutorial on support vector machines for pattern recognition, Data Mining and
Knowledge Discovery, vol. 2, no. 2, p. 121-167, 1998.

École des Mines de Nancy


119 8.6. POUR APPROFONDIR. . .

No-free-lunch theorem en apprentissage supervisé Dans la comparaison des différents


modèles de classification, il ne faut pas perdre de vue le No-free-lunch theorem de l’appren-
tissage automatique : aucun algorithme n’aura de performances meilleures en moyenne sur
tous les problèmes. Le nom du théorème vient de l’expression There ain’t no such thing as
a free lunch et du scénario suivant : chaque restaurant (classifieur) propose un menu faits
de plats (des problèmes de classification), chaque plat étant associé à un prix (le coût global
d’erreur). Les menus des restaurants sont les mêmes, seuls les prix des plats sont permutés
(les classifieurs ont des performances différentes sur les problèmes). Pour un client choisis-
sant ses plats au hasard, il n’y a pas de restaurant meilleur marché qu’un autre, le coût moyen
est constant. Il n’y a pas de choix de restaurant conduisant à un menu gratuit. Autrement dit,
il n’y a pas de classifieur ayant des performances meilleures en moyenne sur tous les pro-
blèmes.
Une présentation rigoureuse du no-free-lunch theorem est disponible dans l’article :
D.H. Wolpert, The Supervised Learning No-Free-Lunch Theorems, in Soft Computing and In-
dustry : Recent Applications, p. 25-42, 2002.
Un article récent dans montre la difficulté de la recherche du « meilleur » modèle d’ap-
prentissage et relativise les progrès de certains domaines applicatifs :
M. Hutson, Eye-catching advances in some AI fields are not real, in Science News, May 27, 2020.
https://www.sciencemag.org/news/2020/05/eye-catching-advances-some-ai-fields-are-not-real

Régression ridge à noyau La régression ridge (section 1.4.2.2 du chapitre 1) définit la fonc-
tion f (x) = w · x + b (en adoptant les notations du présent chapitre), de telle manière que w
minimise :
N
|y n − b − w · x n |2 + λ||w ||22
X
n=1
où λ est un paramètre positif.
En remplaçant le produit scalaire par un noyau de Mercer k, on va définir la régression
ridge à noyau (kernel ridge regression). Notons φ le plongement tel que k(x, y) = φ(x) · φ(y).
La fonction f (x) = b + w · φ(x) cherchée est telle que w minimise :
N
|y n − b − w · φ(x n )|2 + λ||w ||22
X
n=1

Il se trouve que le développement suivant ne se déroule pas bien si b 6= 0 1 . Néanmoins, la sec-


tion 1.4.2.2 suggère de centrer les données au préalable. Si les y n sont de moyenne nulle, nous
pouvons retirer b du modèle. Reprenons alors les notations des sections 1.4.2.1 (mais sans in-
tégrer la colonne de 1 dans X puisque l’ordonnée à l’origine n’intervient plus) et 1.4.2.2 : W
vérifie
W = (X T X + λI d )−1 X T Y
Grâce au matrix inversion lemma ou à l’identité de Woodbury (demandez à Google) :

(X T X + λI d )−1 X T = λX T (I N − X X T )−1
1. Si b 6= 0, il faut remplacer λI d par Λ (paragraphe 1.4.2.2 du chapitre 1) dans ce qui suit et l’identité de
Woodbury ne peut pas être utilisée car Λ n’est pas inversible

Introduction à l’apprentissage automatique


CHAPITRE 8. MACHINES À VECTEURS SUPPORTS 120

et donc :
W = X T (X X T + λI N )−1 Y
Ici, X X T est la matrice carrée d’ordre N dont l’élément en ligne i colonne j est φ(x i ) · φ(x j ) =
k(x i , x j ). Notons K = X X T (remarquons que le raisonnement est ici un peu heuristique : si
les observations sont plongées dans un espace de Hilbert de dimension infinie, les matrices
W et X ne sont pas définies ; l’important est que K le soit bien, ce qui est le cas car le nombre
d’observations N est fini). On a alors W = X T (K + λI N )−1 Y . Notons que K est symétrique.
Réintégrons la moyenne b des y n . Face à une nouvelle observation x, la fonction f s’éva-
lue alors comme :

f (x) = b + w · φ(x) = b + W T φ(x) = b + Y T (K + λI N )−1 X φ(x)

en identifiant φ(x) à son vecteur colonne, soit :

f (x) = b + Y T (K + λI N )−1 κ(x)

où κ(x) = X φ(x) est le vecteur-colonne de composantes k(x n , x).


Le point essentiel est qu’on a pu plonger les observations dans un espace de grande di-
mension en faisant uniquement intervenir le noyau k. L’intérêt est que la fonction f obtenue
n’est plus affine comme pour la régression ridge classique, mais non-linéaire grâce à l’utili-
sation du noyau k.
Par comparaison à la régression à vecteurs supports, la régression ridge est donnée par
une formule explicite et ne nécessite pas de résoudre un problème d’optimisation. Néan-
moins, cette formule nécessite l’inversion de la matrice K + λI N d’ordre N , puis un produit
par le vecteur κ(x) de dimension N , ce qui est difficilement envisageable lorsque le nombre
d’observations est grand. Au contraire, le prédicteur final de la SVR ne dépend que des vec-
teurs de support, qui sont généralement en nombre limité. En effet, dans le cas de la SVR,
PN
f (x) = b + n=1 (λn − λ∗n )k(x n , x), soit f (x) = b + Λκ(x)
e où Λ e est une matrice diagonale (for-
mée par les λn − λ∗n ) dont seuls les termes relatifs aux vecteurs de support sont non-nuls. On
dit que cette matrice Λe est creuse., contrairement à la matrice Y T (K +λI N )−1 de la régression
ridge à noyau. Cette propriété est une conséquence du fait que la SVR pénalise les résidus
avec une norme de type || · ||1 qui favorise la parcimonie, alors que la régression ridge utilise
la norme euclidienne || · ||2 (voir section 1.4.2.1 au chapitre 1).
En réécrivant le problème d’optimisation de la régression logistique sous la forme sui-
vante :
1 N
||w ||22 +C |y n − b − w · x n |2 +
X
2 n=1

on fait apparaître un paramètre C > 0 qui joue un rôle équivalent au paramètre C de la SVR.
La figure 8.10 illustre la régression ridge à noyau sur des observations réelles et le rôle de C .

Machines à noyau Des noyaux peuvent être définis pour des observations qui ne sont pas
facilement représentables sous forme vectorielle, comme des graphes, des chaînes de carac-
tères. . . Par ailleurs, l’astuce du noyau est utilisable dès qu’une méthode ne fait apparaître
que des produits scalaires. La première utilisation de l’astuce est le kernel perceptron en 1964.

École des Mines de Nancy


121 8.6. POUR APPROFONDIR. . .

F IGURE 8.10 – Régression ridge à noyau RBF. Plus C est grand, plus les écarts sont pénalisés et
plus la courbe de régression s’approche des observations. Un C trop faible implique un sous-
apprentissage, un C trop élevé un sur-apprentissage. À comparer à la figure 8.9.

Une version « à noyau » de l’analyse en composante principale existe (kernel PCA), ainsi qu’un
kernel k-means.
L’article suivant présente plusieurs modèles de « machines à noyaux » ainsi que différents
noyaux, pour des données vectorielles ou non :
T. Hofmann, B. Schölkopf, A. Smola, Kernel methods in machine learning, Annals of Statistics,
vol. 36 no. 3, 1171-1220, 2008.

Introduction à l’apprentissage automatique


Chapitre 9

Les réseaux de neurones artificiels

Nous discutons à présent les réseaux de neurones artificiels : un modèle qui, au cours des
soixante dernières années, s’est incarné sous différentes formes, a suscité des attentes par-
fois démesurées, est retombé dans l’oubli (relatif), mais a fini par surpasser la concurrence
sur certains problèmes au point d’être souvent synonyme d’Intelligence Artificielle dans le
discours public.

9.1 Le perceptron (neurone artificiel)


Notre histoire commence dans les années 1950 lorsque Frank Rosenblatt, psychologue
américain, propose un des premiers algorithmes de l’apprentissage automatique : le per-
ceptron. Ses travaux font suite à la première modélisation du neurone biologique proposée
par Walter Pitts et Warren McCulloch en 1943. Rosenblatt propose un algorithme permettant
d’adapter les paramètres du modèle d’un neurone en fonction d’exemples d’apprentissage.
Voici un extrait de l’introduction de son rapport de recherche de 1957 intitulé “The Percep-
tron, a perceiving and recognizing automaton” :
“Since the advent of electronic computers and modern servo systems, an increasing
amount of attention has been focused on the feasibility of constructing a device pos-
sessing such human-like functions as perception, recognition, concept formation, and
the ability to generalize from experience. In particular, interest has centered on the idea
of a machine which would be capable of conceptualizing inputs impinging directly from
the physical environment of light, sound, temperature, etc. – the "phenomenal world"
with which we are all familiar – rather than requiring the intervention of a human agent
to digest and code the necessary information.
A primary requirement of such a system is that it must be able to recognize complex pat-
terns of information which are phenomenally similar, or are experimentally related – a
process which corresponds to the psychological phenomena of "association" and "sti-
mulus generalization". The system must recognize the "same" object in different orien-
tations, sizes, colors, or transformations, and against a variety of different backgrounds.”

En langage moderne, l’objectif est bien de résoudre des problèmes de classification super-
CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 124

Pd
F IGURE 9.1 – Modèle de perceptron de Rosenblatt : y = 1 si w 0 + i =1 w i x i > 0 ; y = −1 sinon.

visée à partir d’observations qui seraient des images ou des sons. Une telle présentation du
perceptron est très optimiste, mais, par certains aspects, les réseaux de neurones convolutifs
apparus il y a quelques années commencent à atteindre cet objectif.
Nous allons présenter le perceptron comme un classifieur biclasse. Comme l’illustre la
figure 9.1, le perceptron admet d valeurs scalaires (x 1 , x 2 , . . . , x d ) en entrée, et retourne en
sortie 1 ou -1 selon le signe de w 0 + w 1 x 1 + . . . w d x d , où w 0 , . . . , w d sont les paramètres du
modèle. En langage moderne, le perceptron calcule de quel côté d’un hyperplan affine se
situe une observation x = (x 1 , . . . , x d ). Il s’agit donc d’un classifieur linéaire. Les d +1 poids w i
doivent être adaptés selon les exemples d’apprentissage.
Même si sa représentation graphique évoque le neurone biologique (ou en tout cas un
modèle assez grossier de neurone), le perceptron se contente juste de mettre en œuvre un
classifieur linéaire.

9.1.1 Algorithme d’apprentissage du perceptron


La base d’exemples est formée de N observations étiquetées (x n , y n )1ÉnÉN , où pour tout n,
x n ∈ Rd et y n ∈ {−1, 1}.
Quitte à considérer x n ∈ Rd +1 avec une première composante x 0 égale à 1, on peut tou-
jours se ramener à des hyperplans de Rd +1 d’équation w · x. On adoptera cette convention
pour alléger les notations.
L’algorithme d’apprentissage du perceptron, permettant d’adapter les poids w en fonc-
tion de la base d’exemples, est le suivant :

— Initialisation : w = 0
— Tant que la valeur de w est mise à jour lors d’un parcours de la base d’exemples,
répéter :
— Pour n de 1 à N : calculer ybn = signe(w · x n ) si ybn 6= y n alors mettre à jour w :
w ← w + y n xn
— Retourner w

Ici, signe(z) = −1 si z < 0, et signe(z) = 1 sinon.

École des Mines de Nancy


125 9.1. LE PERCEPTRON (NEURONE ARTIFICIEL)

À chaque étape, l’algorithme compare la « vraie étiquette » y n et l’étiquette prédite ybn par
le perceptron sur une observation x n , cette étiquette étant calculée à l’aide de l’estimation
courante des poids w . Si ycn ne correspond pas à y n , les poids du perceptron sont mis à jour.
L’algorithme est donc error-driven (les mises à jour visent à corriger les erreurs), et online (les
exemples sont présentés successivement).

Théorème 9.1 (Novikoff 1962) Si les observations étiquetées sont linéairement séparables,
alors l’algorithme du perceptron aboutit en un nombre fini d’étapes aux paramètres d’un hy-
perplan séparateur.

Démonstration
Soit w définissant un hyperplan séparateur des deux classes (qui existe par hypothèse).
Les poids du perceptron correspondant sont définis à une constante multiplicative près (seul
le signe de w · x n importe), on suppose donc sans perte de généralité kw k2 = 1.
Chaque hyperplan séparateur définit une marge entre les deux classes comme la plus
petite distance entre les observations de chaque classe et l’hyperplan. Rappelons que la dis-
tance entre une observation x et l’hyperplan défini par w est |w · x|/kw k2 . La marge γ est
donc γ = min1ÉnÉN y n w · x n car on suppose kw k2 = 1.
Notons également R = max1ÉnÉN kx n k2 .
Considérons la k-ème erreur de l’algorithme, commise sur l’observation étiquetée (x n , y n ).
On a : y n w k · x n < 0 (car y n et w k · x n ont des signes différentes), et la mise à jour s’écrit
w k+1 = w k + y n x n .
D’une part : w k+1 · w = w k · w + y n x n · w Ê w k · w + γ par définition de γ.
Donc par récurrence : w k+1 · w Ê kγ car w 0 = 0.
D’autre part : kw k+1 k22 = kw k + y n x n k22 = kw k k22 + 2y n x n · w k + kx n k22 É kw k k22 + R 2 car
y n w k · x n < 0 et kx n k22 É R 2 .
Donc par récurrence : kw k+1 k22 É kR 2 .
Comme kw k2 = 1, w k+1 · w /kw k+1 k2 est le cosinus de l’angle formé par les vecteurs w k+1
et w . Nous déduisons des deux inégalités précédentes, pour tout k :
p
kγ/R É w k+1 · w /kw k+1 k2 É 1

Autrement dit, au cours des mises à jour l’hyperplan défini par le perceptron (paramètre w k )
tend à s’aligner sur l’hyperplan séparateur de paramètre w , car le cosinus de leur angle se
rapproche de 1. p
Par ailleurs, kγ/R É 1, donc k É R 2 /γ2 : cela signifie que le nombre de mises à jour est
au plus R 2 /γ2 avant que le perceptron ne fasse plus d’erreurs. 

La démonstration nous indique que plus la marge γ entre les deux classes à discrimi-
ner est grande (relativement à R), plus la convergence est rapide. Le nombre de mises à jour
est indépendant de la dimension d , ainsi que du nombre d’observations N . Cela ne signifie
pas que la vitesse de convergence est indépendante de N , car plus N est grand plus on peut
mettre de temps à « tomber » sur les erreurs de classification permettant la mise à jour.

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 126

F IGURE 9.2 – Perceptron : ambiguïté de l’hyperplan séparateur obtenu. Selon l’hyperplan re-
tenu, une observation non étiquetée sera associée à une classe ou à l’autre.

Si les données ne sont pas séparables, l’algorithme ne converge pas. Il faut alors arrêter
après un certain nombre de parcours des données. Un parcours entier de la base d’appren-
tissage est appelé époque, ou epoch.
L’algorithme d’apprentissage du perceptron nous fournit un des hyperplans séparateurs,
de manière relativement arbitraire (cela dépend de l’ordre de parcours des observations).
Comme l’illustre la figure 9.2, l’indétermination pose problème pour la prédiction de la classe
de nouvelles observations.
L’algorithme du perceptron peut être vu comme la descente de gradient stochastique mi-
nimisant le coût d’erreur
N
`(w ) =
X © ª
max 0, −y n w · x n
n=1
(voir l’annexe B.3, en particulier la section B.3.3)
En effet, si y n w · x n > 0 (prédiction correcte) alors ∇`(w ) = 0, et si y n w · x n < 0 (prédic-
tion incorrecte) alors ∇`(w ) = −y n x n . L’algorithme de descente de gradient à pas η = 1 (voir
annexe B.3) correspond bien à l’algorithme d’apprentissage du perceptron.

9.1.2 Perceptron multiclasse


Le perceptron peut être étendu au cas de K > 2 classes, avec des étiquettes y ∈ {1, 2, . . . , K }.
Les classes sont associées à K vecteurs-poids w 1 , w 2 , . . . , w K (un w k par classe), et la règle de
décision est d’associer une observation x à l’étiquette yb = arg max k w k · x. L’apprentissage
s’opère par un algorithme similaire au cas biclasse, dans lequel la règle de mise à jour lorsque
ycn 6= y n est : w y n ← w y n + x n et w ybn ← w ybn − x n .

École des Mines de Nancy


127 9.1. LE PERCEPTRON (NEURONE ARTIFICIEL)

F IGURE 9.3 – Les calculs de AND, OR, ou XOR peuvent être vus comme des problèmes de clas-
sification biclasse. Les opérateurs logiques AND et OR sont calculés par un classifieur linéaire,
contrairement à l’opérateur XOR.

D’autres règles de mise à jour sont possibles.

9.1.3 Limites du perceptron, et comment les dépasser


Si le perceptron « simule » effectivement un neurone, il serait intéressant qu’il puisse faire
des calculs logiques. Il se trouve que le perceptron permet de calculer les opérateurs logiques
AND et OR. Rappelons que, si l’on note 0 le booléen « faux » et 1 le booléen « vrai », les tables
de vérité de ces opérateurs sont les suivantes :

x1 x2 y x1 x2 y
0 AND 0 0 0 OR 0 0
0 AND 1 0 0 OR 1 1
1 AND 0 0 1 OR 0 1
1 AND 1 1 1 OR 1 1

Comme l’illustre la figure 9.3, le calcul de ces deux opérateurs revient à un problème de
classification pour deux classes linéairement séparables. On pourrait penser qu’il s’agit là
d’un argument fort pour assimiler le perceptron à une brique essentielle dans la construction
d’une « intelligence artificielle ». Cependant, le perceptron ne peut pas calculer l’opérateur
logique XOR (« ou exclusif »), qui a pour table de vérité :

x1 x2 y
0 XOR 0 0
0 XOR 1 1
1 XOR 0 1
1 XOR 1 0

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 128

F IGURE 9.4 – Perceptron à une couche cachée calculant le « ou exclusif » (XOR). On vérifie que,
selon les valeurs de x 1 et x 2 (0 ou 1), la valeur de y en sortie correspond bien à x 1 XOR x 2 .

En effet, comme l’illustre la figure 9.3, calculer le XOR est équivalent à résoudre un pro-
blème de classification non linéaire, ce dont est incapable le perceptron. Ce genre de limita-
tions du perceptron a été la cause de l’abandon des méthodes dites connexionistes en faveur
des méthodes dites symboliques, cause du premier « hiver de l’IA » dans les années 1970.
Une solution à ce problème était en fait connue, et s’est révélee particulièrement fruc-
tueuse par la suite. . . On remarque la relation suivante entre XOR et OR/AND :

x 1 XOR x 2 = (x 1 OR x 2 ) AND (NOT(x 1 ) OR NOT(x 2 ))

Pour établir cette relation, on peut calculer la table de vérité de l’expression de droite et
constater qu’elle est identique à celle du XOR. La relation précédente permet de construire
un réseau de perceptrons à une couche cachée entre la couche d’entrée et la couche de sortie,
représenté sur la figure 9.4.
Il y a même mieux : on peut démontrer que toute formule logique (une fonction de n
booléens, à valeurs booléennes) peut être calculée par un réseau de perceptrons à une couche
cachée. En effet, les logiciens démontrent que :

Théorème 9.2 Toute formule logique peut être convertie en une formule équivalente sous
forme normale conjonctive.

Une forme normale conjonctive est une conjonction (AND) de disjonction(s) (OR) de litté-
raux (un littéral étant une variable booléenne ou la négation d’une variable). La décomposi-
tion précédente du XOR est justement une forme normale conjonctive.
On peut alors construire un réseau de perceptrons à une couche cachée calculant une
formule logique exprimée sous forme normale conjonctive en appliquant les « recettes » sui-
vantes :
1. on définit la couche d’entrée faites des variables x 1 , x 2 , . . .x n
2. on définit la couche cachée faites de m neurones cachés correspondant aux m dis-
jonctions, ainsi que les poids reliant les neurones cachés à l’entrée, en se basant sur la

École des Mines de Nancy


129 9.2. PERCEPTRON MULTICOUCHE OU RÉSEAU DE NEURONES ARTIFICIELS

propriété : Ã !
m
X
a 1 OR a 2 OR . . . OR a m = H a i − 0.5
i =1

où on remplace le littéral a i par une variable x ou par 1 − x lorsque a i = NOT(x i ).


3. on définit les poids liant les m neurones cachés à la sortie en se basant sur :
à !
m
X
a 1 AND a 2 AND . . . AND a m = H a i + 0.5 − m
i =1

Ici, la fonction d’activation H est telle que H (z) = 0 si z < 0, et H (z) = 1 sinon.
Sans rentrer dans les détails, pour convertir une formule logique en forme normale conjonc-
tive, il peut être nécessaire de faire apparaître un grand nombre de disjonctions (une fonc-
tion exponentielle du nombre de variables). Cela signifie que le réseau de perceptrons à une
couche cachée peut certes calculer toute formule logique, mais parfois au prix d’un grand
nombre de neurones dans la couche cachée.

9.2 Perceptron multicouche ou réseau de neurones artificiels


Les efforts pour prolonger les travaux de Rosenblatt ont donné naissance au perceptron
multicouche (multilayer perceptron, MLP), ou réseau de neurones artificiels. La terminologie
est légèrement trompeuse : il ne s’agit pas d’un perceptron à plusieurs couches comme celui
de la figure 9.4, mais plutôt d’un réseau possédant plusieurs couches de neurones, dont les
fonctions d’activation ne seraient pas nécessairement des fonctions en échelon comme pour
le perceptron.
La figure 9.5 montre la représentation graphique d’un perceptron multicouche. Un tel ré-
seau ne présente pas de boucle ou cycle, l’information se propage de la couche d’entrée à
la couche de sortie : on parle de réseau à propagation avant (feedforward neural network).
Chaque couche est un ensemble de neurones n’ayant pas de connexions entre eux, et corres-
pond à un « niveau » dans le vocabulaire de la théorie des graphes.
Un perceptron multicouche traite des vecteurs de Rd : la couche d’entrée est composée
de d neurones qui lisent les composantes d’un vecteur et envoient l’information aux neu-
rones de la première couche cachée. Chaque neurone d’une couche cachée fait une moyenne
pondérée des informations reçues et ré-émet aux neurones de la couche suivante cette infor-
mation moyenne modifiée par une fonction d’activation.
Plusieurs couches cachées peuvent se succéder, chacune étant constituée d’un certain
nombre de neurones connectés aux neurones de la couche précédente. L’« information » ar-
rivant à un des neurones ( j ) de la couche k est
X
a j = w j i zi + b j
i

où :
— la somme porte sur l’ensemble des neurones i de la couche précédente k −1 connectés
avec le neurone j ,

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 130

entrée couche cachée sortie


d n s

x1

x2 y1

x3

x4 y2

x5

F IGURE 9.5 – Un réseau de neurones artificiels (perceptron multicouche) à une couche cachée.
L’« information » en entrée est ici un vecteur de R5 , et en sortie un vecteur de R2 . Avec d neurones
en entrée, n neurones dans la couche cachée, et s neurones en sortie, le nombre de paramètres
(poids et biais) dans ce modèle est (d +1)n +(n +1)s (« +1 » à cause du biais en chaque neurone).

— w j i est le poids de la connexion entre le i -ème neurone de la couche k − 1 et le neu-


rone j ,
— b j (appelé « biais ») est un scalaire,
— et z i est le signal émis par ce i -ème neurone.
Le neurone j émet ensuite l’information σ(a j ) aux neurones de la couche suivante k +1 aux-
quels il est connecté, où σ est une fonction d’activation dont on verra les propriétés dans la
section 9.2.1.
Enfin, la dernière couche émet le vecteur ou le scalaire de sortie du réseau. Sa nature
exacte dépend du problème traité (classification ou régression) ; cela sera abordé à la sec-
tion 9.2.2.
L’apprentissage consiste à adapter les paramètres (poids et biais) du réseau de manière
à prédire correctement les étiquettes d’une base d’exemples. Il est l’objet de la section 9.4.
Avant de traiter l’apprentissage, on aura évoqué en section 9.3 quelques résultats théoriques
permettant de se représenter ce que peuvent calculer les réseaux de neurones.

Remarque. Dans la suite de ce chapitre, nous utilisons les notations du livre Pattern recogni-

École des Mines de Nancy


131 9.2. PERCEPTRON MULTICOUCHE OU RÉSEAU DE NEURONES ARTIFICIELS

1.5
step
sigmoide
RELU
softsign

0.5

-3 -2 -1 0 1 2 3

F IGURE 9.6 – Quelques fonctions d’activation.

tion and machine learning de C. Bishop : z est le signal en sortie d’un neurone appartenant
à une couche cachée (donc après activation), et a est la somme pondérée des signaux en en-
trée d’un neurone (donc avant activation). Notez que la convention inverse est adoptée sur
la page web suivante : https://en.wikipedia.org/wiki/Backpropagation

9.2.1 Fonction d’activation σ d’un neurone


Le signal en sortie d’un neurone j est :
à !
z j = σ(a j ) = σ
X
w j i zi + b j
i

où la somme porte sur les neurones de la couche précédente connectés au neurone consi-
déré, chacun ayant une sortie z i , les poids des connexions étant w j i et le biais b j . Il est fon-
damental de considérer des activations non linéaires. Un réseau de neurones avec des activa-
tions linéaires ne ferait que des compositions de fonctions linéaires des entrées. Il émettrait
donc en sortie une combinaison linéaire des entrée, ce qui limiterait grandement son intérêt.

Une activation en échelon comme pour le perceptron de Rosenblatt restreint les signaux z i
aux seules valeurs 0 ou 1. Différentes activations ont été proposées. Toutes sont à valeurs po-
sitives, sont continues et croissantes, et sont (presque partout) dérivables pour des raisons
qui apparaîtront dans la suite de ce chapitre. La figure 9.6 représente les fonctions d’activa-
tion définies ci-dessous.

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 132



step  0 si a < 0

σ(a) =
(voir perceptron) 
 1 si a Ê 0

1
sigmoide σ(a) = 1+e −t
ReLU
σ(a) = max{0, a}
(rectified linear unit)
x
softsign σ(a) = 1+|x|

9.2.2 Sortie d’un réseau de neurones

9.2.2.1 Problèmes de régression

Dans les problèmes de régression, les étiquettes sont des vecteurs. Un réseau de neu-
rones adapté à un problème de régression a autant de neurones de sortie que la dimension
des étiquettes à prédire, comme représenté ci-dessous. Dans cet exemple, le problème de ré-
gression consiste à prédire y ∈ R2 à partir de x ∈ R5 avec une seule couche cachée de trois
neurones. Bien entendu, l’architecture est à adapter aux données traitées.

x1

x2 y1

x3

x4 y2

x5

Il n’y a pas de fonction d’activation sur les neurones de la couche de sortie : avec les no-
tations habituelles, la j -ème composante de sortie est :
X
yj = w j i zi + b j
i

où z i est le signal émis par le neurone i de la couche cachée.


Dans notre exemple, la sortie y j s’expriment en fonction des entrées du réseau par la
relation : Ã !
3 5
∗ ∗
w ji σ
X X
yj = w i l xl + bi + b j
i =1 l =1

où σ est l’activation des neurones cachés, et w ∗ et b ∗ désignent leurs poids et biais.

École des Mines de Nancy


133 9.2. PERCEPTRON MULTICOUCHE OU RÉSEAU DE NEURONES ARTIFICIELS

9.2.2.2 Problèmes de classification biclasse

Dans les problèmes de classification où il faut distinguer deux classes, les étiquettes sont 1
ou 0 et correspondent respectivement aux classes C 1 ou C 2 . Un exemple de réseau de neu-
rones pour la classification biclasse d’observations x ∈ R5 est représenté ci-dessous.

x1

x2

x3 y

x4

x5

Ce réseau a un seul neurone de sortie, de fonction d’activation σ, la valeur émise étant :


à !
y =σ
X
w i zi + b
i

en fonction des poids w i reliant le neurone de sortie à ceux de la couche cachée et des si-
gnaux z i émis par les neurones de la dernière couche cachée.
Pour obtenir une probabilité a posteriori p(C 1 |x) (et pour permettre l’apprentissage, comme
on le verra plus loin), on utilise une fonction d’activation σ sur le neurone de sortie de ma-
nière à normaliser la sortie à une valeur entre 0 et 1, supérieure à 1/2 pour la classe C 1 et
inférieure à 1/2 pour la classe C 2 . Il est courant de choisir la fonction sigmoïde. La fonction
d’activation des neurones des couches cachées n’est pas nécessairement bornée et peut donc
être choisie différemment.
La règle de décision est alors :
— si y > 1/2, classification dans classe C 1 ;
— si y < 1/2, dans C 2 .
ou de manière équivalente (notons la similitude avec la régression logistique lorsque σ est la
sigmoïde) :
— si i w i z i + b > 0, classification dans la classe C 1 ;
P

— si i w i z i + b < 0, dans C 2 .
P

9.2.2.3 Problèmes de classification multiclasse

On suppose que K classes sont à discriminer. Il faut encoder les classes par des étiquettes
scalaires, mais choisir arbitrairement des numéros de classes (y = 2, y = 5, etc.) n’a pas vrai-
ment de sens. On utilise un encodage particulier des étiquettes : l’encodage « un parmi n »,

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 134

ou one-hot encoding. Cela consiste à définir y comme un vecteur de dimension K , tel que
la composante y i est nulle sauf en l’indice correspondant à la classe à coder pour laquelle
y i = 1.
L’exemple ci-dessous montre un réseau de neurones adapté à un problème de classifica-
tion en K = 3 catégories à partir d’observations dans R5 .

x1

x2 y1

x3 y2

x4 y3

x5

La règle de décision est alors d’associer l’observation à la classe i telle que y i a la plus
grande valeur parmi les sorties.
Ici aussi, on fait apparaître des probabilités a posteriori en normalisant les sorties entre 0
et 1. On utilise la règle dite « SoftMax » sur chaque sortie y i :

1
y i = PK exp(a i )
k=1
exp(a k )

où chaque a k représente le signal en entrée du neurone de sortie k, qui est une combinaison
linéaire des signaux émis par les neurones de la couche précédente.
Cette opération a pour effet d’« écarter » numériquement la plus grande valeur des autres,
et de normaliser les y i entre 0 et 1 (d’où l’expression SoftMax : il s’agit d’une version lisse du
maximum qui consisterait à mettre toutes les valeurs à 0 sauf la valeur maximale à 1).
Il ne s’agit pas d’une fonction d’activation à proprement parler car la normalisation est
commune à tous les neurones de sortie. On parle de « couche SoftMax » (SoftMax layer) en
sortie.

9.3 Expressivité des réseaux de neurones artificiels


Avant d’aborder l’apprentissage, nous discutons de l’« expressivité » des réseaux de neu-
rones artificiels : quelles fonctions peuvent bien être calculées par ces modèles ?

9.3.1 Théorème d’approximation universelle


Commençons par discuter le réseau de neurones artificiels le plus simple, possédant une
couche cachée. Supposons d neurones en entrée lisant x ∈ Rd , M neurones dans la couche
cachée (fonction d’activation σ), et un neurone en sortie émettant F (x) ∈ R. Il s’agit d’une
architecture pour un problème de régression dans R.

École des Mines de Nancy


135 9.3. EXPRESSIVITÉ DES RÉSEAUX DE NEURONES ARTIFICIELS

Les règles de propagation permettent d’écrire l’expression de la sortie F (x) en fonction


de l’entrée x :
M
w ks σ (w k · x + b k ) + b
X
F (x) =
k=1
d
où ∀k ∈ {1, . . . , M }, w k ∈ R représente le vecteur des poids reliant les d entrées au k-ème
neurone de la couche cachée, b k ∈ R le biais correspondant, et ∀k ∈ {1, . . . , M }, w ks ∈ R est le
poids entre ce k-ème neurone caché et le neurone de sortie, et b le biais du neurone de sortie.
Le théorème suivant nous indique ce qu’il est possible de calculer avec une fonction de
cette forme.
Théorème 9.3 Théorème de Cybenko (1989) (et autres chercheurs), ou théorème d’approxima-
tion universelle.
Soient φ une fonction strictement croissante continue bornée, et C un compact de Rd .
Pour tout ε > 0 et f continue sur C , il existe M ∈ N , et pour tout i ∈ {1, . . . , M }, v i , b i ∈ R,
w i ∈ Rd , tels que la fonction :
M
v i φ(w i · x + b i )
X
F (x) =
i =1

vérifie :
∀x ∈ C , |F (x) − f (x)| < ε

Des théorèmes équivalents ont été démontrés pour certaines fonctions φ non bornées
comme la fonction ReLU. Le théorème de Cybenko nous dit que toute fonction réelle conti-
nue sur un compact peut être approchée d’aussi près que l’on veut par la sortie d’un percep-
tron à une couche cachée possédant M neurones. La fonction φ joue le rôle de l’activation σ
qui en possède bien les propriétés (qu’elle soit bornée, ou non-bornée sous certaines hypo-
thèses).
On se rend compte que la non-linéarité de l’activation joue un rôle essentiel : si φ était
une fonction affine, alors F (x) serait également affine. Bien entendu les fonctions affines ne
peuvent pas approcher toute fonction continue sur un compact à une précision arbitraire.

Remarque. Il s’agit d’un résultat d’existence (pour les matheux, il s’agit d’une variante du
théorème de Stone-Weierstrass) : le théorème ne dit pas comment construire le réseau (choix
de M , qui est potentiellement grand) ni comment fixer les poids pour approcher une fonction
donnée avec une précision ε donnée. De fait, les techniques modernes de deep learning pri-
vilégient un grand nombre de couches cachées, architecture plus adaptée à l’apprentissage
qu’une seule couche cachée faite d’un très grand nombre de neurones.

9.3.2 Réseaux de neurones et classifieur universel


Le théorème précédent nous permet de dire que les réseaux de neurones sont également
des classifieurs universels, dans le sens suivant.
Supposons que l’espace des observations C (supposé compact) soit partitionné en l’union
des K classes à identifier C = C 1 ∪ · · · ∪ C K .

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 136

Chaque observation x appartenant à une des classes, on introduit la fonction de classifi-


cation multiclasse : f (x) = k si x ∈ C k . On ne peut pas appliquer le théorème de Cybenko à f
car cette fonction n’est pas continue.
Néanmoins, le théorème de Lusin nous indique que, pour ε > 0, il existe un ensemble
D ⊂ C de mesure λ(D) ≥ (1 − ε)λ(C ) tel que f coïncide sur D avec une fonction g continue.
On peut appliquer le théorème de Cybenko à g , ce qui nous permet de conclure : il
existe un réseau de neurones qui approche f à ε près, sauf sur un ensemble de mesure au
plus ελ(C ).
Ce réseau de neurones fournit des classifications incorrectes, mais la mesure de l’en-
semble des observations incorrectement classées est contrôlée, et il existe un réseau pour
lequel cette mesure peut être rendue aussi petite que l’on veut.
Remarque. Certes, les réseaux de neurones pour la classification n’ont pas cette architecture
(cf. la couche de sortie qui emploie une sigmoïde ou est une couche SoftMax). Néanmoins, il
ne faut pas perdre de vue qu’il ne s’agit de toute façon que d’un résultat d’existence. L’ensei-
gnement principal est que les réseaux de neurones ont une expressivité suffisante pour re-
présenter correctement toutes les frontières de classification. Ce n’est pas le cas par exemple
du perceptron de Rosenblatt ou du classifieur de la régression logistique qui sont restreints
aux frontières linéaires.

9.4 Apprentissage et rétropropagation


L’apprentissage des poids d’un réseau de neurones en fonction d’une base d’exemples
se fait en minimisant un coût d’erreur global par descente de gradient (voir la section B.3
en annexe). On parle aussi d’entraînement du réseau (training). Le calcul exact du gradient
(c’est-à-dire sans utiliser de schéma numérique approché) est possible grâce à un algorithme
astucieux popularisé dans les années 1980 : la « rétropropagation des erreurs » (backpropaga-
tion).
Pour alléger les notations, on suppose que la première composante de chaque obser-
vation est égale à 1, ce qui permet de traiter les biais comme des poids pour simplifier les
équations.

9.4.1 Notations
(x n , y n )n=1...N désigne la base d’apprentissage faite de N observations étiquetées. Les x n
sont des vecteurs de dimensions d (d neurones en entrée), et les étiquettes y n sont, selon les
situations :
— pour un problème de régression : y n = (y n1 , . . . y ns ) ∈ Rs (s neurones de sortie) ;
— pour un problème de classification biclasse : y n = 0 ou 1 (un neurone en sortie avec
une activation σ) ;

— pour un problème de classification à K > 2 classes y n est un vecteur de dimension K


one-hot encoding fait de 0 et un seul 1 (s = K neurones de sorties dans une couche
SoftMax).

École des Mines de Nancy


137 9.4. APPRENTISSAGE ET RÉTROPROPAGATION

La sortie du perceptron sur l’entrée x n = (x n1 , . . . , x nd ) est notée : ŷ n = ( ŷ n1 , . . . , ŷ ns ). Dans


tous les cas, le but ultime est que ybn ne soit pas très éloigné de y n .

9.4.2 Coût d’erreur


Le risque empirique (coût d’erreur moyen sur la base d’apprentissage) est la moyenne
des coûts des erreurs E n sur chaque observation étiquetée (x n , y n ) :

1 XN
E (w ) = E n (w )
N n=1

Il s’agit d’une fonction de w , l’ensemble des poids du réseau.

Il faut choisir la fonction E n en fonction du problème traité. Les choix les plus populaires
sont :
— pour un problème de régression :

1°° y n − ŷ n °2
°
E n (w ) = 2
2

— pour un problème de classification biclasse :

E n (w ) = −y n log( ybn ) − (1 − y n ) log(1 − ybn )

— pour un problème de classification à K > 2 classes :

K
X
E n (w ) = − y n j log( ŷ n j )
j =1

Ce coût est l’entropie croisée entre les distributions de probabilité discrètes (y n1 , . . . y nK )


et ( ybn1 , . . . ybnK ). Ici, par convention : 0 log(0) = 0.
Dans tous les cas, E n est positif (si x É 1, − log(x) Ê 0) et est minimal (et nul) lorsque y n = ybn .
En effet, dans le cas de la classification biclasse, y n = 0 ou y n = 1 donc E n est minimal lorsque
ybn = y n , et dans le cas de K > 2 classes, la convention sur le logarithme et l’utilisation du
one-hot encoding font que seul un terme est non nul dans la somme.

L’objectif est de choisir les poids w qui minimisent l’erreur moyenne E (w ).

Remarque. Dans le cas de la classification, la fonction mesurant le coût d’erreur (loss) n’étant
pas un coût 0-1, l’erreur n’est pas directement liée à la proportion de fausses classifications.

Remarque. On note que le classifieur biclasse de la régression logistique est équivalent à


un réseau de neurones sans couche cachée (à faire en exercice). Les paramètres ne sont pas
estimés numériquement de la même manière dans les deux cas, mais l’unicité de l’optimum
fait que l’on doit trouver la même solution, aux erreurs numériques près.

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 138

9.4.3 Descente de gradient et perceptron multicouche


L’annexe B.3 nous rappelle que l’algorithme de descente de gradient permettant de mini-
miser le risque empirique E (w ) met à jour chaque poids w j i (poids du neurone i de la couche
k vers le neurone j de la couche k + 1) de la manière suivante :
∂E
w ji ← w ji − η (w )
∂w j i
où le paramètre positif η est le pas de descente, appelé « taux d’apprentissage » lorsqu’on
entraîne un classifieur ou régresseur.
Par linéarité de la dérivation :
∂E N ∂E
1 X n
= (w )
∂w j i N n=1 ∂w j i
Nous allons donc commencer par calculer les dérivées partielles ∂E n /∂w j i .
Le signal arrivant au neurone j est :
X
aj = w j i zi
i

où z i (= σ(a i )) est le signal sorti par le neurone i connecté à j


La formule de dérivation composée (voir l’annexe A.2) nous indique (ici, a j = g (w j i ) ∈ R) :

∂E n ∂E n ∂a j
=
∂w j i ∂a j ∂w j i
∂a j ∂E n
On a ∂w j i = z i , donc, en posant δ j = ∂a j :

∂E n
= δ j zi
∂w j i
Il s’avère qu’il existe une astuce pour calculer efficacement les δ j en chaque neurone : l’al-
gorithme de rétropropagation des erreurs (backpropagation). Il s’appuie sur le calcul des δ j
aux neurones de sortie, puis calcule, de proche en proche, les δ j des couches cachées jus-
qu’aux neurones de la couche cachée la plus proche de l’entrée du réseau.

9.4.3.1 Calcul de δ j aux neurones de sortie

Nous montrons qu’aux neurones de la couche de sortie, δ j = ∂E n


∂a j est calculable en fonc-
tion des sorties yb du réseau, qui dépendent bien entendu de la fonction de coût adoptée.
Pour reprendre les fonctions de coût introduite précédemment :
— problème de régression : E n = 12 ky n − ybn k22 où ybn = (a l )1≤l ≤s est le vecteur des sorties de
chacun des s neurones de la dernière couche.
Par conséquent, aux neurones de sortie :
∂E n
δj = = ybn j − y n j
∂a j

École des Mines de Nancy


139 9.4. APPRENTISSAGE ET RÉTROPROPAGATION

— problème de classification biclasse : E n (w ) = −y n log( ybn ) − (1 − y n ) log(1 − ybn ) où ybn =


σ(a) est la sortie du neurone de la dernière couche, avec σ la fonction sigmoïde.
Comme σ vérifie log(σ(a)) = − log(1 + e −a ) et log(1 − σ(a)) = −a − log(1 + e −a ), on peut
écrire E n = y n log(1+e −a )+(1− y n )a +(1− y n ) log(1+e −a ) = a − y n a +log(1+e −a ), donc :
∂E n e −a 1
δ= = 1 − yn − = − yn
∂a 1+e −a 1 + e −a
soit :
δ = ybn − y n
— problème de classification à s > 2 classes : E n = − ls=1 y nl log( ŷ nl ) où ŷ nl = e al / m e am
P P

(couche SoftMax). Autrement écrit :


Xs µ µ
X a
¶¶
En = − y nl a l − log e m

l =1 m

Par conséquent : Ã !
∂E n eaj X s
δj = = − yn j − P a y nl
∂a j me
m
l =1
P
Comme pour tout n, l y nl = 1 (cf one-hot encoding), on peut conclure. Au neurone de
sortie j :
δ j = ybn j − y n j
Pour toutes les fonctions de coût vues ici, on voit que δ j est calculé en un neurone de
sortie comme la différence entre la sortie attendue y et la sortie observée yb.

9.4.3.2 Calcul de δ j aux neurones cachés

On calcule δ j en un neurone j appartenant à une couche k. On applique la règle de déri-


vation composée (annexe A.2) en exprimant la dépendance de E n par rapport au vecteur des
(a l ) représentant les entrées des neurones de la couche k + 1 liés au neurone j :
∂E n X ∂E n ∂a l
δj = =
∂a j l ∂a l ∂a j

Ici, l parcourt l’ensemble des neurones de la couche k + 1 auxquels est connecté j de la


couche k.
De plus :
∂a l ∂ X
= w l i σ(a i ) = w l j σ0 (a j )
∂a j ∂a j i
où i parcourt l’ensemble des neurones de la couche k auquel le neurone l de la couche k + 1
est connecté : le neurone j est l’un des i , les autres ne dépendent pas des a j . σ0 désigne la
dérivée de l’activation σ.
On a donc obtenu la formule :

δ j = σ0 (a j ) w l j δl
X
l

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 140

F IGURE 9.7 – Illustration des deux étapes successives de propagation avant puis rétropropaga-
tion pour calculer les z et δ intervenant dans les dérivée partielle ∂E /∂w j i . Dans cette figure,
on a isolé le neurone j , et représenté uniquement les neurones qui lui sont connectés dans la
couche précédente et dans la couche suivante.

9.4.3.3 Conclusion : calcul des δ j

On peut calculer tous les δ sur le réseau par rétropropagation des erreurs. On commence
par calculer les erreurs comme différence entre sortie attendue y n et sortie du réseau ybn
(paragraphe 9.4.3.1), puis on propage les δ j vers les couches d’entrée à l’aide de la formule
concluant le paragraphe 9.4.3.2.

L’algorithme de calcul des δ j avec propagation avant suivie de rétropropagation est illus-
tré par la figure 9.7.

9.4.4 Apprentissage et rétropropagation des erreurs

L’apprentissage (c’est-à-dire l’adaptation des poids w du réseau de manière à minimiser


le coût moyen d’erreur E (w )) peut donc se faire à l’aide d’un algorithme de descente, en
itérant les deux étapes suivantes jusqu’à satisfaction d’un critère d’arrêt :

École des Mines de Nancy


141 9.4. APPRENTISSAGE ET RÉTROPROPAGATION

1. pour chaque observation étiquetée (x n , y n ) en entrée :


(a) propagation avant pour calculer les a j et z j en chaque neurone, ainsi que la
sortie ybn du réseau ;
(b) calcul des δ j aux neurones de sortie : δ j = ybn j − y n j ;
(c) rétropropagation des δ : en chaque neurone caché, calcul de δ j =
σ0 (a j ) l w l j δl
P

∂E n
(d) calcul des dérivées partielles : ∂w j i (w ) = δ j z i
∂E 1 PN ∂E n
2. pour chaque poids w j i , calcul de ∂w j i (w ) = N n=1 ∂w j i (w ) et mise à jour :

∂E
w ji ← w ji − η (w )
∂w j i

En pratique, il est coûteux en temps de calcul et occupation mémoire de ne faire la mise


à jour dans l’étape 2 qu’une fois que l’intégralité de la base d’exemples a été parcourue dans
l’étape 1.
En pratique, deux variantes sont utilisées dans les implantations logicielles :
— version online / algorithme du gradient stochastique : mise à jour des poids pour chaque
observation de la base d’apprentissage, selon la règle :

∂E n
w ji ← w ji − η
∂w j i

— version mini-batch / par mini-lot : mise à jour des poids après parcours d’un sous-
ensemble B m d’observations :
X ∂E n
w ji ← w ji − η
n∈B m ∂w j i

tel que ∪m B m = {1, . . . , N }


Pour faciliter la lecture, la discussion détaillée de ces algorithmes est renvoyée en annexe
(section B.3.3), notamment les méthodes de moment utilisées dans les bibliothèques logi-
cielles pour accélérer la convergence.

9.4.5 Remarques
La rétropropagation est une astuce pour calculer le gradient ∇E , ce n’est pas l’appren-
tissage proprement dit, même si par abus de langage on peut parler d’« apprentissage par
rétropropagation ».
L’algorithme d’apprentissage présenté ici est l’implantation d’une descente de gradient.
Pour résoudre numériquement un problème d’optimisation d’une fonction, la descente de
gradient à pas fixe est une méthode simple mais assez grossière. Plusieurs méthodes existent
pour améliorer l’optimisation du risque empirique en évitant d’échouer dans des minima

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 142

F IGURE 9.8 – Illustration du sur-apprentissage. Coût d’erreur en fonction du nombre d’époques


d’apprentissage, calculé sur la base d’entraînement et sur une base de test (validation) indépen-
dante. Le sur-apprentissage se traduit par un coût d’erreur sur la base de validation qui finit
par croître, alors qu’il continue logiquement à diminuer sur la base d’apprentissage.

locaux ou en améliorant la vitesse de convergence. Ces méthodes sont implantées dans les
bibliothèques logicielles. Dans tous les cas, le gradient reste utile et est calculé par rétropro-
pagation.
On voit que toutes les formules employées sont exactes, et nécessitent des fonctions d’ac-
tivation dérivables. Au passage, on voit que les neurones peuvent avoir chacun leur propre
fonction d’activation.
La formule de rétropropagation δ j = σ0 (a j ) l w l j δl montre que lorsqu’on remonte de
P

couche en couche, on multiplie par la dérivée de la fonction d’activation. Or, pour la sig-
moïde, la dérivée s’exprime comme σ0 (t ) = σ(t )(1 − σ(t )), qui est toujours inférieur à 1/4. Le
gradient est donc de plus en plus petit au fur et à mesure que l’on propage les calculs de
rétropropagation vers les couches d’entrée. Les poids des neurones près de l’entrée du ré-
seau évoluent donc peu dans l’apprentissage et nécessitent un long entraînement. On parle
d’« évanouissement du gradient » (vanishing gradient), et le phénomène est d’autant plus
marqué lorsque le réseau a de nombreuses couches. Cela motive l’utilisation de l’activation
ReLU (rectified linear unit) en apprentissage profond (cf. chapitre 10). Cette fonction d’acti-
vation est dérivable (sauf en l’unique point 0), et sa dérivée (0 pour x < 0 et 1 pour x > 0) ne
s’« évanouit » pas par multiplications successives.

9.5 Problème du sur-apprentissage


L’apprentissage (entraînement) d’un réseau de neurones consiste à minimiser l’erreur
empirique. On est donc susceptible de se retrouver dans une situation de sur-apprentissage,
comme illustré par la figure 9.8.
On peut envisager deux manières d’éviter le sur-apprentissage :
— arrêt prématuré de l’entraînement (early stopping). On arrête l’apprentissage quand
l’erreur sur une base d’observations de test (ou base de validation), indépendante de la

École des Mines de Nancy


143 9.6. CONCLUSION SUR LES RÉSEAUX DE NEURONES PRÉ-2012. . .

base d’apprentissage, commence à augmenter. On peut aussi tout simplement arrêter


l’apprentissage après un nombre d’époques fixé a priori ;
— régularisation. On contrôle la « complexité » du réseau (en fait l’intervalle de variation
des poids) en cherchant plutôt à minimiser :

E (w ) + λkw k22

avec un hyperparamètre λ > 0. On remarque que cela ajoute le terme 2λw j i dans la dé-
rivée partielle ∂E /∂w j i de l’algorithme d’apprentissage, ce qui ne pose pas de difficulté
particulière.

9.6 Conclusion sur les réseaux de neurones pré-2012. . .

Les réseaux de neurones artificiels ou perceptrons multicouches permettent d’aller au-


delà des classifieurs linéaires (perceptron de Rosenblatt, régression logistique, SVM linéaire,
etc.) en introduisant des non-linéarités par l’intermédiaire des fonctions d’activation. On a
vu qu’ils sont des approximateurs et classifieurs universels. Si ce résultat n’a essentiellement
qu’un intérêt théorique, il permet aussi de se rendre compte que cela peut être au prix d’une
grande augmentation de la complexité de l’architecture (nombre de neurones cachés).

L’algorithme de rétropropagation des erreurs permet la mise en œuvre de l’apprentissage


des poids du réseau par minimisation de l’erreur empirique à l’aide d’une descente de gra-
dient.

Il ne faut pas perdre de vue les nombreux paramètres restant à fixer par l’utilisateur :

— l’architecture du réseau : combien de couches cachées ? combien de neurones dans


chaque couche ?
— le nombre d’époques dans l’apprentissage en cas d’arrêt prématuré, ou le paramètre
de régularisation λ ;
— le taux d’apprentissage η qui peut être amené à varier (intuitivement, on peut com-
mencer l’apprentissage avec une grande valeur de η puis diminuer cette valeur lorsque
la descente de gradient commence à converger) ;
— les valeurs initiales des poids et biais (l’initialisation est assez critique pour les per-
formances d’apprentissage : elle est généralement aléatoire et différentes stratégies
existent) ;
— le critère d’arrêt de la descente de gradient ;
— les tailles de lots (batches) dans l’algorithme du gradient stochastique par lot.

S’il peut être possible de s’aider de la validation croisée, au prix d’un temps de calcul parfois
rédhibitoire, une large partie des réglages dépend tout de même de l’expérience de l’utilisa-
teur.

Introduction à l’apprentissage automatique


CHAPITRE 9. LES RÉSEAUX DE NEURONES ARTIFICIELS 144

9.7 Pour approfondir. . .


Théorème d’approximation universelle Une démonstration du théorème de Cybenko se
trouve dans son article :
G. Cybenko, Approximation by Superpositions of a Sigmoidal Function, Mathematics of Control,
Signals and Systems, Vol. 2, No. 4, p. 303-314, 1989.
Des articles scientifiques récents démontrent des théorèmes d’approximation universelle
en supposant que le nombre de neurones dans chaque couche cachée est borné, mais en
permettant un certain nombre de couches cachées. D’une certaine manière, ces résultats
expliquent le succès de l’apprentissage profond qui fera l’objet du chapitre suivant.
Voir par exemple les articles cités ici :
https://en.wikipedia.org/wiki/Universal_approximation_theorem

École des Mines de Nancy


Chapitre 10

Introduction aux réseaux de neurones


convolutifs et à l’apprentissage profond

Pour conclure ce cours, nous souhaitons donner quelques éléments permettant de com-
prendre les enjeux de l’apprentissage profond (deep learning).

10.1 Le retour des réseaux de neurones


En 2012, les participants au défi de reconnaissance d’images ImageNet ont la surprise de
voir une équipe de l’université de Toronto écraser la concurrence avec des taux d’erreurs de
classification passant subitement de 25% à 12% : les résultats sont disponibles en ligne à cette
URL :
http://www.image-net.org/challenges/LSVRC/2012/results.html
La description de l’algorithme vainqueur (le réseau AlexNet) est :
“Our model is a large, deep convolutional neural network trained on raw RGB pixel va-
lues. The neural network, which has 60 million parameters and 650,000 neurons, consists
of five convolutional layers, some of which are followed by max-pooling layers, and three
globally-connected layers with a final 1000-way softmax. It was trained on two NVIDIA
GPUs for about a week. To make training faster, we used non-saturating neurons and
a very efficient GPU implementation of convolutional nets. To reduce overfitting in the
globally-connected layers we employed hidden-unit "dropout", a recently-developed re-
gularization method that proved to be very effective.”

C’est le début de la révolution de l’apprentissage profond. Par comparaison aux réseaux


de neurones classiques qui étaient quelque peu tombés en désuétude, les nouveaux réseaux
superposent plusieurs couches cachées. Ils dépendent donc d’un grand nombre de para-
mètres. Ils restent entraînables en pratique, pour plusieurs raisons :
— les poids de certaines couches cachées ne sont pas quelconques, mais correspondent
à des convolutions : on parle de réseaux de neurones convolutifs (convolutional neural
networks, CNN). Cela permet de réduire le nombre de paramètres à estimer ;
CHAPITRE 10. INTRODUCTION AUX RÉSEAUX DE NEURONES CONVOLUTIFS ET À
L’APPRENTISSAGE PROFOND 146

— l’entraînement tire profit du grand nombre de données disponibles à l’ère d’Internet :


le défi ImageNet 2012 propose une base d’entraînement de 1,2 millions d’images dans
1000 catégories, et une base de test de 150 000 images. Plus de 14 millions d’images
sont incluses dans ImageNet à l’heure actuelle (voir : http://www.image-net.org/) ;
— les chercheurs se sont rendu compte qu’ils disposaient dans leur machine de proces-
seurs bon marché adaptés au calcul matriciel efficace ou aux opérations de convolution
qui sont la base du traitement des images : les GPU (graphics processing unit) embar-
qués sur les cartes graphiques.
Si les réseaux convolutifs ont été introduits par Yann Le Cun et ses co-auteurs dans les an-
nées 1990, c’est bien la disponibilité de grandes bases d’apprentissage et l’amélioration du
matériel qui ont permis la révolution de l’apprentissage profond. Notons que la notion de
« profondeur » est relative : dans certaines applications on se satisfait d’un réseau possédant
seulement quelques couches de convolution.

10.2 Apprentissage profond par réseaux convolutifs


Nous allons essayer de donner une idée des différents ingrédients qui entrent dans le
composition des modèles de l’apprentissage profond, tel que celui décrit dans le résumé du
challenge ImageNet 2012.

10.2.1 Convolution
Le traitement du signal est la discipline scientifique qui s’intéresse aux signaux numé-
riques ou analogiques et à la manière de les transformer. Les signaux peuvent être des images
ou des enregistrements sonores.
Considérons un système H transformant un signal d’entrée e en signal de sortie s = H (e).
Des propriétés naturelles d’un tel système sont :
— H est linéaire : si e 1 et e 2 sont des signaux et α ∈ R, alors H (e 1 + αe 2 ) = H (e 1 ) + αH (e 2 ) ;
— H est continu
— H est invariant par translation : si H (e(t )) = s(t ), alors H (e(t − τ)) = s(t − τ)
On parle de système (ou filtre) linéaire, continu, et invariant. Ce sont des propriétés natu-
relles : la linéarité traduit que la réponse à deux signaux superposés est la superposition des
réponses des signaux considérés de manière indépendante ; la continuité implique qu’une
petite perturbation du signal en entrée induira une petite perturbation du signal en sortie ;
l’invariance par translation implique que lorsqu’on traite un son, l’origine du temps n’im-
porte pas, ou lorsqu’on traite une image, un « objet » est transformé de la même manière s’il
est en haut à gauche ou en bas à droite de l’image.
On démontre alors que pour tout filtre vérifiant ces trois propriétés, il existe une fonc-
tion h (en fait, une distribution. . .) telle que pour tout signal en entrée e,

H (e) = h ∗ s

École des Mines de Nancy


147 10.2. APPRENTISSAGE PROFOND PAR RÉSEAUX CONVOLUTIFS

où ∗ désigne le produit de convolution. Pour rappel, si h et s sont deux fonctions réelles


intégrables, la convolution h ∗ s est définie par :
Z Z
∀ t ∈ R, h ∗ s(t ) = h(t − u)s(u) du = h(u)s(t − u) du
R R

Tout filtre s’exprime donc comme un produit de convolution et est caractérisé par une
fonction h appelée « réponse impulsionnelle », ou noyau de convolution. On parle de réponse
impulsionnelle car, dans le cadre de la théorie des distributions, la convolution de h avec la
distribution de Dirac (une impulsion) est h elle-même.
Les convolutions apparaissent comme l’outil de base du traitement du signal. Lorsqu’on
souhaite construire des réseaux de neurones traitant des signaux comme des images ou des
sons, il semble donc naturel de s’appuyer sur les convolutions.
On s’intéresse en fait aux signaux discrets : ce sont des vecteurs (x n )n , indexés sur un
espace discret plutôt que sur un espace continu comme précédemment.
On définit la convolution discrète de réponse impulsionnelle h comme :

∀ n ∈ Z, h ∗ s(n) =
X
h(k)s(n − k)
k∈Z

En pratique, le noyau h est non nul pour un nombre fini de valeurs, la somme précédente ne
concerne donc qu’un nombre fini de termes.
Dans le cas où le signal est une image, la convolution s’écrit comme une somme double :

∀ (m, n) ∈ Z2 , h ∗ s(m, n) =
X
h(k, l )s(m − k, n − l )
(k,l )∈Z2

L’opération de convolution étant linéaire, elle peut très bien être réalisée par une couche
de neurones : les neurones d’entrées lisent le signal (fini), la couche cachée faite du même
nombre de neurones calcule les h ∗ s, mais pour ce faire les neurones cachés ne sont reliés
qu’aux neurones d’entrée jouant un rôle dans la somme, et les poids des liaisons sont les
coefficients du noyau. On voit que les poids des liaisons en entrée des neurones cachées sont
les mêmes d’un neurone caché à l’autre : ce sont les coefficients du noyau de convolution.
Par exemple, pour réaliser la convolution d’un signal s(1), s(2), . . . , s(n) avec un noyau dont
la taille de support est 3 :
X
∀ i ∈ {1, 2, . . . , n}, h ∗ s(n) = h(k)s(n − k)
k∈{−1,0,1}

donc le neurone caché d’indice n est relié aux neurones d’entrée d’indices n −1, n, n +1 avec
des poids respectifs h(1), h(0), h(−1). Dans cet exemple, les transitions entre les deux couches
ne dépendent que de trois paramètres. Notons qu’il faudrait traiter les bords de manière par-
ticulière afin de donner un sens plus précis à la formule.
Comme en traitement du signal classique, on peut définir un « banc de filtres », qui sépare
le signal en plusieurs composantes, chacune étant obtenue par un filtre autonome, finale-
ment recombinées par la suite. Ici, le banc de filtre est implanté par des couches de convolu-
tion indépendantes utilisées sur la même entrée.

Introduction à l’apprentissage automatique


CHAPITRE 10. INTRODUCTION AUX RÉSEAUX DE NEURONES CONVOLUTIFS ET À
L’APPRENTISSAGE PROFOND 148

F IGURE 10.1 – Représentation d’une couche convolutive : entrée de la couche à gauche, sortie
à droite. On suppose que l’entrée est formée d’un champ de dimension l × L × d . C’est le cas des
signaux bidimensionnels comme les images pour lesquelles d = 3 si l’image a trois canaux de
couleur. Un signal unidimensionnel serait représenté par un champ de dimension l ×1×d , avec
d = 1 si le signal est univarié comme une onde sonore par exemple. Un filtre de support de taille
l 0 × L 0 × d donne une valeur stockée dans un champ de dimension (l − l 0 ) × (L − L 0 ) × 1 (sauf à
traiter de manière particulière les bords, par exemple en mettant à zéro les valeurs manquantes
pour obtenir une dimension de l × L), comme représenté par les pointillés noirs dans la figure.
Ici, la couche convolutive implante un banc de D = 5 filtres, la sortie de cette couche convolu-
tive est donc un champ de dimension (l − l 0 ) × (L − L 0 ) × D. Cette couche dépend de D(l 0 L 0 d + 1)
paramètres (« +1 » pour le biais). Elle est équivalente à une couche de réseau de neurones à pro-
pagation avant dans laquelle les poids sont partagés entre certaines connexions de manière à
implanter des convolutions. Pour des raisons de lisibilité, on représente une couche convolutive
sous cette forme plutôt qu’en disposant les neurones en colonne comme au chapitre 9.

En toute généralité, l’entrée est d’« épaisseur » d . Par exemple d = 3 pour une image
couleur, car chaque pixel est représenté par un triple de composantes (rouge,vert,bleu). Un
noyau de convolution sur une telle entrée est également d’« épaisseur » d .
La figure 10.1 illustre une couche convolutive.
La sortie des couches de convolution est rendu non-linéaire par une fonction d’activa-
tion. Afin d’assurer une certaine complexité au réseau, les couches de convolution peuvent
se succéder. Si une première couche est formée de k filtres (c’est un banc de filtre précédem-
ment évoqué), les noyaux de la seconde couche agiront sur toute la pile des k sorties. De
manière à éviter le problème d’« évanouissement du gradient », on utilise une fonction d’ac-
tivation ReLU qui n’est pas bornée plutôt qu’une sigmoïde, comme nous l’avons évoqué au
paragraphe 9.4.5 du chapitre précédent. C’est le sens de “we used non-saturating neurons”
dans la description du réseau vainqueur d’ImageNet2012.

Les couches de convolution peuvent donc être vues comme des couches de neurones

École des Mines de Nancy


149 10.2. APPRENTISSAGE PROFOND PAR RÉSEAUX CONVOLUTIFS

5.5 3.9 -5.1 -4.0


1.1 2.4 -6.1 -1.1 5.5 -1.1
−→
-4.2 2.0 3.1 1.2 3.9 3.1
3.9 -0.4 -0.3 -3.1

F IGURE 10.2 – Exemple de pooling par sous-échantillonnage d’un facteur 2 : on passe ici d’une
couche de dimension 4 × 4 à une couche de dimension 2 × 2. Chaque bloc de dimension 2 × 2
est remplacé par une valeur unique, égale au maximum des valeurs présentes dans le cas du
max-pooling. On peut envisager d’autres formes de pooling, par exemple un mean pooling.

classiques auxquelles on impose des contraintes particulières sur les poids. Il se trouve que
l’algorithme de rétropropagation s’adapte aisément (la démonstration est tout de même un
peu technique), et qu’on peut entraîner un réseau convolutif de manière similaire à ce qu’on
a discuté au paragraphe 9.4 du chapitre 9.

10.2.2 Pooling

Pour limiter les coefficients à estimer et le temps de calcul, le support des noyaux de
convolution est de taille petite. Par exemple, pour traiter des images on peut utiliser des
noyaux de taille 3 × 3 ou 5 × 5 pixels (ou 3 × 3 × 3 ou 5 × 5 × 3 pour des images à trois canaux
de couleur). Néanmoins, il semble légitime de vouloir intégrer des informations distantes de
plus de trois ou cinq pixels. Une possibilité est de faire se succéder les convolutions. Une
autre possibilité est de réduire la taille des couches représentant le signal convolué par sous-
échantillonnage, par exemple en prenant le plus grand élément parmi deux éléments consé-
cutifs (ou parmi un bloc de 2 × 2 pixels dans le cas des images). Un noyau opérant sur une
couche sous-échantillonnée par un facteur 2 aurait un effet semblable à un noyau de support
de taille double sur la couche originale. L’avantage est de limiter le nombre de paramètre des
noyaux.
On appelle couche de pooling (« mise en commun ») les couches du réseau effectuant une
telle opération. L’opération de pooling est illustrée par la figure 10.2.

10.2.3 Dropout

Pour éviter le sur-apprentissage, le dropout est couramment utilisé dans les couches com-
plètement connectées du réseau (généralement les couches près de la sortie). Cela consiste
à « déconnecter » chaque neurone avec une certaine probabilité (par exemple 0.5) pendant
une itération de l’apprentissage, avec pour effet d’éviter de trop adapter les poids à la base
d’entraînement.
Bien entendu pour la prédiction tous les neurones sont utilisés.

Introduction à l’apprentissage automatique


CHAPITRE 10. INTRODUCTION AUX RÉSEAUX DE NEURONES CONVOLUTIFS ET À
L’APPRENTISSAGE PROFOND 150

10.2.4 Augmentation des données


Si l’apprentissage profond s’appuie souvent sur de très grandes bases d’apprentissage
pour permettre l’estimation du grand nombre de paramètres des modèles, on peut égale-
ment augmenter cette base en simulant de nouvelles observations à l’aide de transforma-
tions prédéfinies. Par exemple, si on cherche à reconnaître des véhicules dans des images, et
qu’on dispose uniquement d’exemples d’images dans lesquelles le sol est horizontal, on peut
enrichir la base d’images en générant par des rotations d’angles variés des images synthé-
tiques dans lesquelles le sol est penché. De cette manière, on espère parvenir à reconnaître
les véhicules lorsque les images de test ne présentent pas un sol horizontal.
L’enrichissement par génération de données synthétiques peut être fait « au vol » pendant
l’apprentissage en générant aléatoirement les paramètres des transformations appliquées.
De cette manière, ce ne sont jamais les mêmes observations qui sont présentées au réseau
pendant l’apprentissage, ce qui permet de se prémunir du sur-apprentissage.

10.3 L’exemple de VGG16


Un réseau convolutif typique est constitué de la succession de plusieurs blocs de convo-
lution. Chaque bloc est constitué de plusieurs couches de convolution indépendantes (elles
implantent différents filtres, appris lors de l’entraînement). L’information est ensuite passé
au bloc suivant après pooling. Par conséquent, plus on avance dans le réseau, plus les convo-
lutions intègrent de l’information distante dans l’image originale. Intuitivement, les couches
de convolution proches de l’entrée apprennent des filtres locaux (pour reconnaître un visage
on détecte d’abord le nez, les yeux, etc), et les couches de convolution finales apprennent des
filtres de haut niveau (un visage est constitué d’un nez à peu près au milieu de deux yeux).
Finalement, tout est intégré dans un réseau de neurones multicouches classique, avec des
connexions entre tous les neurones appartenant à des couches successives, et une dernière
couche de type SoftMax. Les dernières couches peuvent donc être vues comme un classifieur
classique opérant sur les informations données par les couches de convolution qui, pour leur
part, extraient des images des caractéristiques pertinentes apprises sur la base.
La figure 10.3 montre l’exemple de l’architecture du réseau VGG16. De nombreuses autres
architectures ont été proposées pour le problème de la reconnaissance d’images, et de nom-
breuses autres sont proposées pour d’autres domaines applicatifs. En 2019, 9200 articles scien-
tifiques déposés sur le serveur de preprints Arxiv mentionnaient deep learning dans leur ré-
sumé. . .

10.4 Apprentissage par transfert et réglage fin


Bien entendu, le grand nombre de paramètres à apprendre nécessite une grande base de
données et des ressources de calcul conséquentes. VGG 16 est par exemple construit à l’aide
de 14 millions d’images de la base de données ImageNet et a nécessité à l’époque plusieurs
semaines d’apprentissage. Il est à présent disponible sur Internet, comme de nombreux ré-
seaux construits pour différents problèmes. Nous aimerions pouvoir réemployer ces réseaux

École des Mines de Nancy


151 10.4. APPRENTISSAGE PAR TRANSFERT ET RÉGLAGE FIN

F IGURE 10.3 – Un exemple de réseau convolutif profond : VGG16 (K. Simonyan and A. Zisser-
man, 2014). L’entrée est constitué de 224 × 224 × 3 = 150528 neurones, ce qui correspond à une
image couleur (trois canaux) de 224 × 224 pixels. Le premier bloc de convolutions est constitué
de 64 filtres indépendants de support de taille 3 × 3 × 3, chacun étant suivi d’une activation
ReLU. Un second bloc réalise la même opération. Ensuite, un seul pixel sur deux est gardé dans
le pooling. Les blocs de convolution et de pooling se succèdent jusqu’à atteindre un réseau com-
plètement connecté classique constitué de deux couches de 4096 neurones, une couche de 1000
neurones, puis une couche SoftMax de 1000 neurones (il s’agit d’un problème de classifica-
tion à 1000 classes). Ce réseau est gouverné par 138 millions de paramètres. Par exemple les
connexions entre l’entrée et la première couche de convolution nécessitent (3 × 3 × 3 + 1) × 64 =
1792 paramètres (64 filtres 3×3 sur les 3 composantes RVB, et un biais par filtre), et entre la pre-
mière et la deuxième couche de convolution (3 × 3 × 64 + 1) × 64 = 36928 paramètres. Source de
l’illustration : https: // neurohive. io/ en/ popular-networks/ vgg16/ où sont fournis
les détails de l’architecture.

pour faire de l’apprentissage profond sur nos propres problèmes. . .


Cependant, que faire si on s’intéresse à un problème de reconnaissance d’images qui ne
seraient pas issues d’ImageNet ? Et si on cherche à identifier non pas 1000 catégories comme
dans ImageNet mais 5 qui ne figureraient pas dans cette base d’images ? Les couches de
convolution apprennent des descripteurs des images, qui seront ensuite fournis en entrée
à la partie fully connected supérieure du réseau. En supposant les images de la base Ima-
geNet « pas trop éloignées » des images de notre problème, on peut imaginer réutiliser les
descripteurs de VGG16 et donc utiliser les couches de convolution correspondantes. Ensuite,
on change la couche SoftMax de sortie de manière à prédire 5 classes, on change éventuelle-
ment le nombre de neurones des couches fully connected, puis on entraîne uniquement les

Introduction à l’apprentissage automatique


CHAPITRE 10. INTRODUCTION AUX RÉSEAUX DE NEURONES CONVOLUTIFS ET À
L’APPRENTISSAGE PROFOND 152

dernières couches du réseau qui servent à la classification. Alors qu’on ne pouvait pas en-
traîner intégralement un réseau comme VGG16 sur une petite base d’images, il est possible
d’entraîner uniquement les dernières couches sur cette base, en gardant fixes les poids des
couches convolutives. On pourrait d’ailleurs même envisager d’utiliser un autre classifieur
que la partie fully connected, par exemple en classifiant les sorties de la partie convolutive à
l’aide d’une SVM. Cette manière de procéder s’appelle « apprentissage par transfert » (transfer
learning).
Une approche complémentaire est de poursuivre l’apprentissage d’un réseau « pré-appris »
(pre-trained network) comme VGG16, avec les observations qui nous intéressent. En initiali-
sant l’apprentissage avec les poids originaux du réseau et en utilisant un taux d’apprentissage
faible, on ne fait que modifier légèrement les poids en les adaptant aux observations. On parle
de « réglage fin » du réseau (fine tuning).

10.5 Pour approfondir. . .


Historique Les deux articles suivants présentent un historique de la révolution deep lear-
ning :
D. Cardon, J.-Ph. Cointet, A. Mazières, La revanche des neurones. L’invention des machines
inductives et la controverse de l’intelligence artificielle, Réseaux, vol. 5, no. 211, p. 173-220,
2018.
https://www.cairn.info/revue-reseaux-2018-5-page-173.htm
V. Lepetit, Yann Le Cun, prix Turing 2018 : des idées profondes, 1024 - Bulletin de la société
informatique de France, no. 14, p. 99-102, 2019.
https://www.societe-informatique-de-france.fr/bulletin/1024-numero-14/

Lecture Nous n’avons fait qu’esquisser quelques éléments sur l’apprentissage profond à
travers les réseaux convolutifs, et n’avons évoqué que l’application de la classification d’images.
Par exemple, les approches modernes de l’apprentissage par réseaux de neurones permettent
l’apprentissage non-supervisé (voir les auto-encodeurs) ou l’apprentissage de séries tempo-
relles ou de données texturelles (voir les réseaux de neurones récurrents). Un point d’entrée
pour aller (beaucoup) plus loin est le livre :
I. Goodfellow, Y. Bengio, A. Courville, Deep learning, MIT Press, 2016.
Le lecteur intéressé pour également consulter les cours de Stéphane Mallat, titulaire de la
chaire « sciences des données » au Collège de France (vidéos et textes sont disponibles) :
https://www.college-de-france.fr/site/stephane-mallat/

École des Mines de Nancy


Annexe A

Quelques résultats utiles

A.1 Inégalités de Hoeffding


Soient X 1 , X 2 , . . . X n n variables aléatoires indépendantes telles que pour tout i , X i prend
ses valeurs dans un intervalle [a i , b i ]. Notons

1X n
X= Xi
n i =1

la moyenne empirique.

Proposition A.1 Pour tout t Ê 0, les inégalités de Hoeffding (1963) s’écrivent :

−2n 2 t 2
³ ´ µ ¶
Pr X − E (X ) Ê t É exp Pn 2
i =1 (b i − a i )

et :
−2n 2 t 2
³¯ ¯ ´ µ ¶
Pr ¯ X − E (X )¯ Ê t É 2 exp Pn
¯ ¯
2
i =1 (b i − a i )

A.2 Dérivation des fonctions composées


On considère deux fonctions différentiables : g de Rp dans Rq et f de Rq dans R (pour p et
q des entiers non nuls). On souhaite calculer les dérivées partielles de la fonction composée
h = f ◦ g . La fonction h est de Rp dans R.
Si x = (x 1 , . . . , x p ) ∈ Rp et y = g (x) = (y 1 , . . . , y q ) ∈ Rq , alors la dérivée partielle de h par
rapport à la i -ème composante de sa variable est donnée par l’expression suivante :

∂h X q
∂f ∂g j
∀i ∈ [1, p], (x) = (y) (x)
∂x i j =1 ∂y j ∂x i
ANNEXE A. QUELQUES RÉSULTATS UTILES 154

∂f ∂g j
où ∂y j désigne la dérivée partielle de f par rapport à sa j -ème composante, et ∂x i la dérivée
partielle de g j , j -ème composante de g , par rapport à sa i -ème composante.

Dans le cas q = 1 :
∂h ∂g
∀i ∈ [1, p], (x) = f 0 (y) (x)
∂x i ∂x i
où f 0 désigne la dérivée de la fonction réelle f .

Ce sont des formules de dérivation des fonctions composées (chain rule).

A.3 Matrices symétriques, classification des quadriques et coniques

A.3.1 Rappels
Une matrice carrée A à coefficients réels est dite symétrique si elle est égale à sa transpo-
sée : A = A T .
Une matrice carrée P à coefficients réels est dite orthogonale si son inverse est égal à sa
transposée : P P T = P T P = Id. Autrement dit, les vecteurs colonnes et les vecteurs lignes de P
forment une base orthonormée de Rn .

Proposition A.2 Une matrice A symétrique d’ordre n est diagonalisable à l’aide de matrices de
passage orthogonale, c’est-à-dire qu’il existe des matrices D et P d’ordre n telles que :

A = P DP T

où D est diagonale et P est orthogonale.


Les coefficients de D sont les valeurs propres de A et les colonnes de P sont les vecteurs
propres de A.
A admet donc n valeurs propres (distinctes ou non).

Une matrice symétrique A est dite positive si ∀ x ∈ Rn , x T Ax Ê 0.


Elle est dite symétrique définie positive si ∀ x ∈ Rn \{0}, x T Ax > 0.

Proposition A.3 Les valeurs propres d’une matrice symétrique positive sont positives ou
nulles.
Les valeurs propres d’une matrice symétrique définie positive sont strictement positives. En
particulier, cette matrice est inversible.

Démonstration
Si A est une matrice symétrique positive, soient λ une valeur propre de A et x un vecteur
propre associé. On a x T Ax = λ|x|2 et x T Ax Ê 0, donc λ Ê 0. Le cas défini se traite de la même
manière avec des inégalités strictes. 

École des Mines de Nancy


155 A.3. MATRICES SYMÉTRIQUES, CLASSIFICATION DES QUADRIQUES ET CONIQUES

Proposition A.4 Si A est une matrice symétrique définie positive, alors A −1 aussi.

Démonstration
Si A est symétrique définie positive, ses valeurs propres sont strictement positives donc A
est inversible. (A −1 )T = (A T )−1 = A −1 donc l’inverse de A est symétrique. Soient P orthogo-
nale et D diagonale telles que A = P DP T . Alors A −1 = P D −1 P T car P −1 = P T . Les éléments
diagonaux de D −1 sont comme ceux de D strictement positifs, donc pour tout x non nul :
x T A −1 x = (P T x)T D −1 P T x > 0. 

A.3.2 Classification des quadriques et coniques


Une quadrique de l’espace affine R3 est l’ensemble des points de coordonnées (x 1 , x 2 , x 3 )
tels que :

a 11 x 12 + a 22 x 22 + a 33 x 32 + a 12 x 1 x 2 + a 13 x 1 x 3 + a 23 x 2 x 3 + b 1 x 1 + b 2 x 2 + b 3 x 3 + c = 0

où les a i j (i , j ∈ {1, 2, 3}), b i (i ∈ {1, 2, 3}) et c sont des coefficients réels.


De manière équivalente, si a 11 , a 22 et a 33 ne sont pas nuls :

b1 2 b2 2 b3 2
µ ¶ µ ¶ µ ¶
a 11 x 1 + + a 22 x 2 + + a 33 x 3 +
2a 11 2a 22 2a 33
b1 b2 b1 b3 b2 b3
µ ¶µ ¶ µ ¶µ ¶ µ ¶µ ¶
+ a 12 x 1 + x2 + + a 13 x 1 + x3 + + a 23 x 2 + x3 +
2a 11 2a 22 2a 11 2a 33 2a 22 2a 33
2 2 2
b b b a 12 b 1 b 2 a 13 b 1 b 3 a 23 b 2 b 3
+c − 1 − 2 − 3 − − − =0
4a 11 4a 22 4a 33 4a 11 a 22 4a 11 a 33 4a 22 a 33

qui est la forme canonique de la quadrique, dans laquelle on a fait apparaître le centre de la
conique de coordonnées : ³ ´
− 2ab111 − 2ab222 − 2ab333

Le cas où l’un des a i i est nul se traite de manière similaire.


Par changement d’origine, on se ramène ainsi à l’étude de l’ensemble des x de R3 tels
que :
x T Ax + δ = 0

où δ est un coefficient réel et A est la matrice symétrique :

a 11 a 12 /2 a 13 /2
 

A = a 12 /2 a 22 a 23 /2
a 13 /2 a 23 /2 a 33

Ainsi, toute quadrique est associée à une matrice symétrique.

Introduction à l’apprentissage automatique


ANNEXE A. QUELQUES RÉSULTATS UTILES 156

Une matrice symétrique étant diagonalisable dans la base orthonormée de ses vecteurs
propres, en écrivant A = P DP T , et en notant y = P T x et s 1 , s 2 , s 3 les éléments diagonaux de D
(ce sont les valeurs propres de A), on est ramené à l’étude de :

s 1 y 12 + s 2 y 22 + s 3 y 32 = δ

qui est l’équation réduite de la quadrique.


Discuter la nature des quadriques selon les valeurs propres s 1 , s 2 , s 3 de la matrice symé-
trique A est ce qu’on appelle la classification des quadriques. Nous vous renvoyons vers la
littérature dédiée.
Le petit calcul que nous venons de faire s’adapte aisément selon la dimension de l’espace
affine. En dimension 2, on parle de conique : de la même manière que précédemment, on
classifie les coniques selon les valeurs propres de A.
En dimension 2 (resp. 3), si A est symétrique définie positive, alors les deux (resp. trois)
valeurs propres sont strictement positives. Si δ est négatif, l’équation réduite nous indique
que la surface définie est une ellipse (resp. un ellipsoïde).

A.3.3 Propriétés utiles dans le cours


Nous utilisons des résultats sur les matrices symétriques dans plusieurs cas.

A.3.3.1 Lignes de niveau des densités de probabilité gaussiennes

Les lignes de niveaux d’une densité de probabilité gaussienne sont des ellipses en dimen-
sion d = 2 ou des ellipsoïdes en dimension d = 3, centrées en la moyenne de la densité. En
effet, une densité gaussienne de moyenne µ et de matrice de covariance Σ s’écrit :

1 1 T
Σ−1 (x−µ)
f µ,Σ (x) = e − 2 (x−µ)
(2π)d /2 |Σ|1/2

Une ligne de niveau est formée des x tels que f µ,Σ (x) = c où c est une constante positive, donc
(en passant au logarithme) ses points vérifient :

(x − µ)T Σ−1 (x − µ) = K

où K est un paramètre réel.


Une matrice de covariance est symétrique définie positive par définition, donc son in-
verse également. Les lignes de niveau des densités de probabilité gaussiennes sont donc bien
des ellipses ou ellipsoïdes centrés en µ lorsque K > 0, ou l’ensemble vide lorsque K < 0. La
discussion précédente nous indique que les vecteurs propres de Σ portent les axes de l’el-
lipse ou ellipsoïde, et que la longueur de ces axes est proportionnelle aux valeurs propres
de Σ. Dans le cas où la matrice de covariance est diagonale (les composantes du vecteur
gaussien étant alors décorrélées), la longueur des axes est proportionnelle à l’écart-type de la
composante. Les ellipses ou ellipsoïdes correspondant aux lignes de niveau montrent bien la
répartition des réalisations du vecteur gaussien.

École des Mines de Nancy


157 A.3. MATRICES SYMÉTRIQUES, CLASSIFICATION DES QUADRIQUES ET CONIQUES

A.3.3.2 Nature des points critiques d’une fonction de plusieurs variables

Le développement limité à l’ordre 2 d’une fonction f de classe C 2 d’un ouvert de Rn


dans R s’écrit en x 0 :

1
f (x) =x0 f (x 0 ) + ∇ f xT0 · (x − x 0 ) + (x − x 0 )T H f x0 (x − x 0 ) + o(|x − x 0 |2 )
2
où ∇ f x0 est le vecteur gradient et H f x0 est la matrice hessienne en x 0 , c’est-à-dire :

∂f
³ ´
∇ f x0 = ∂x i (x 0 )
1Éi Én

et :
∂2 f
³ ´
H f x0 = ∂x i x j (x 0 )
1Éi , j Én

Comme f est C 2 , la matrice hessienne H f x0 est symétrique (théorème de Schwarz).


La matrice hessienne nous permet de déterminer la nature des points où le gradient de f
s’annule (appelés points critiques).
Au voisinage de x 0 tel que ∇ f x0 = 0 :

1
f (x) ' f (x 0 ) + (x − x 0 )T H f x0 (x − x 0 )
2
Ainsi,
— si H f x0 est symétrique positive, f (x) Ê f (x 0 ) pour x au voisinage de x 0 et f (x 0 ) est un
minimum local,
— si −H f x0 est symétrique positive (dans ce cas la matrice H f x0 est dite symétrique néga-
tive), f (x) É f (x 0 ) pour x au voisinage de x 0 et f (x 0 ) est un maximum local,
— si certaines valeurs propres de la hessienne sont négatives et d’autres positives, alors
pour tout vecteur propre x̃ associé à une valeur propre σ, f (x 0 + λx̃) = f (x 0 ) + λ2σ |x̃|2
2

pour toute valeur de λ « assez petite ». Dans ce cas, f (x 0 + λx̃) É f (x 0 ) si σ < 0 et f (x 0 +


λx̃) Ê f (x 0 ) si σ > 0 : selon la direction x̃ que l’on suit au voisinage de x 0 , la valeur de f
décroît ou croît. On dit que x 0 est un point col (ou point selle, saddle point).

Introduction à l’apprentissage automatique


Annexe B

Rappels d’optimisation

B.1 Éléments d’optimisation convexe


À plusieurs reprises dans ce cours nous avons à optimiser des fonctions convexes. Rap-
pelons quelques propriétés de ces fonctions.

B.1.1 Définition
Résoudre un problème d’optimisation convexe consiste à chercher le minimum d’une
fonction f convexe sur un ensemble (domaine) E ⊂ Rd convexe.
On rappelle qu’un ensemble E est convexe si pour toute paire de points (x 1 , x 2 ) ∈ E ×E , le
segment [x 1 , x 2 ] est inclus dans E , soit :

∀ (x 1 , x 2 ) ∈ E , ∀ α ∈ [0, 1], αx 1 + (1 − α)x 2 ∈ E

Une fonction à valeurs réelles est convexe sur E convexe si pour toute paire de points (x 1 , x 2 ) ∈
E × E , la corde joignant f (x 1 ) et f (x 2 ) est au dessus du graphe de f entre x 1 et x 2 , soit :

∀ (x 1 , x 2 ) ∈ E , ∀ α ∈ [0, 1], f (αx 1 + (1 − α)x 2 ) É α f (x 1 ) + (1 − α) f (x 2 )

Lorsque l’inégalité est stricte avec x 1 6= x 2 et α ∈]0, 1[, f est dite strictement convexe.

B.1.2 Propriétés
La convexité implique l’inégalité suivante (appelée inégalité de Jensen), souvent très utile.

Proposition B.1 Soient f est une fonction convexe sur un domaine E convexe, x 1 , . . . , x n ∈ E ,
α1 , . . . , αn Ê 0 tels que i αi = 1 alors :
P

à !
n n
αi x i É αi f (x i )
X X
f
i =1 i =1
ANNEXE B. RAPPELS D’OPTIMISATION 160

En d’autres termes, l’image par f d’une moyenne pondérée d’un ensemble de points est in-
férieure à la même moyenne pondérée des images de ces points.
Si f est de classe C 1 , on dispose de la caractérisation suivante :

Proposition B.2 f est convexe sur E si et seulement si

∀ (x 1 , x 2 ) ∈ E × E , f (x 1 ) Ê f (x 2 ) + (x 1 − x 2 ) · ∇ f (x 2 )

Ceci signifie que le graphe d’une fonction convexe est au dessus de tout hyperplan tangent à
ce graphe.
Si f est de classe C 2 , on dispose de la caractérisation suivante :

Proposition B.3 f est convexe sur E si et seulement si la matrice hessienne de f (c’est-à-dire la


matrice des dérivées secondes de f ) en tout x ∈ E est symétrique positive.

Les fonctions convexes jouent un rôle particulier en optimisation à cause de la proposi-


tion suivante :
Proposition B.4 Si f est une fonction convexe sur E convexe, alors :
— tout minimum local est global :
— si, de plus, f est de classe C 1 et E est ouvert, alors x ∗ ∈ arg min x∈E f si et seulement
si ∇ f (x ∗ ) = 0.

Démonstration
Si x ∗ est minimum local, soit y ∈ E . Par définition de la convexité, pour tout α ∈ [0, 1]
et y ∈ E ,
f (αy + (1 − α)x ∗ ) É α f (y) + (1 − α) f (x ∗ )
soit :
f (αy + (1 − α)x ∗ ) − f (x ∗ ) É α( f (y) − f (x ∗ ))
Comme x ∗ est minimum local, pour α assez petit le membre de gauche est positif, donc le
membre de droite aussi, quel que soit y ∈ E . x ∗ est donc minimum global.
Supposons f de classe C 1 et E ouvert. Si x ∗ est minimum local, alors ∇ f (x ∗ ) = 0. Réci-
proquement, si ∇ f (x ∗ ) = 0, d’après la caractérisation de la convexité ci-dessus :

∀ y ∈ E , f (y) Ê f (x ∗ ) + (y − x ∗ ) · 0

et x ∗ est minimum global. 

Nous n’avons évoqué que quelques propriétés élémentaires de l’optimisation convexe. Il


s’agit d’un domaine très vaste, n’hésitez pas à consulter un livre dédié, comme le livre (gratuit)
suivant :
S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2009.
https://web.stanford.edu/~boyd/cvxbook/

École des Mines de Nancy


161 B.2. DUALITÉ DE WOLFE

B.2 Dualité de Wolfe


On considère le problème d’optimisation suivant, dit problème primal :
½
arg min x∈Rn f (x)
sous contraintes : ∀ i ∈ {1, . . . , m}, g i (x) É 0

dans lequel f et les g i sont convexes et différentiables.


Le Lagrangien L s’écrit :
m
L(x, λ) = f (x) + λi g i (x)
X
i =1

où λ a pour composantes (λ1 , . . . , λm ), et ∇x L désigne le vecteur des dérivées partielles de L


par rapport aux composantes de x.
On remarque que minimiser f (x) sous les contraintes g i (x) É 0 est équivalent à résoudre
le problème suivant :
arg min max L(x, λ)
x λÊ0

En effet, soit x satisfait les contraintes et alors maxλi Ê0 L(x, λ) = f (x) (car pour maximiser
L(x, λ) il faut annuler les λi , les g i (x) étant négatifs), soit x ne satisfait pas les contraintes et
alors maxλÊ0 L(x, λ) = +∞ (car pour au moins un i , g i (x) > 0) mais dans ce cas x ne sera pas
minimum de f .
Le problème dual au sens de Lagrange du problème d’optimisation original consiste donc
à résoudre :
arg max minn L(x, λ)
λÊ0 x∈R

Comme f et les g i sont convexes et les λi sont positifs, L(x, λ) est convexe en la va-
riable x. Cette fonction, qui est différentiable, est donc minimum en x qui annule le gradient
∇x L(x, λ), et cette condition suffit à définir x optimal.
Le problème dual s’écrit donc :

arg max x∈Rn ,λÊ0 L(x, λ)


½

sous contraintes : ∇x L(x, λ) = 0

On parle de dual de Wolfe.


On suppose les contraintes du primal qualifiées (c’est le cas lorsqu’elles sont convexes
comme ici : il suffit que l’ensemble des solutions réalisables soit non vide). Les conditions de
Karush, Kuhn et Tucker (KKT) se traduisent par la proposition suivante :

Proposition B.5 x ∗ est solution du problème primal si et seulement s’il existe λ∗ Ê 0 tel que :

∇x L(x ∗ , λ∗ ) = 0
½

∀ 1 ≤ i ≤ N , λ∗i g i (x ∗ ) = 0

De plus, (x ∗ , λ∗ ) est solution du problème dual.

Introduction à l’apprentissage automatique


ANNEXE B. RAPPELS D’OPTIMISATION 162

La dualité de Wolfe apparaît comme un cas particulier de la dualité de Lagrange dans le


cas où la fonction à minimiser et les contraintes sont convexes et différentiables.

B.3 Optimisation numérique par algorithme de descente

B.3.1 Exemple introductif


Considérons une fonction f dérivable et à dérivée continue, dont on cherche un mini-
mum. La dérivée f 0 est positive là où f est croissante, et négative là où f est décroissante. En
tout extremum, la dérivée s’annule.
Pour tout x 0 du domaine de définition de f , considérons f (x 0 − η f 0 (x 0 )), pour η > 0 assez
petit. Si f est croissante (respectivement décroissante) autour de x 0 , x 1 = x 0 − η f 0 (x 0 ) est « à
gauche » (respectivement « à droite ») de x 0 . Dans tous les cas, f (x 1 ) É f (x 0 ).
Une autre manière de voir est d’écrire le développement limité à l’ordre 1 de f en x 1 :

f (x 1 ) = f x 0 − η f 0 (x 0 ) = f (x 0 ) − η f 0 (x 0 )2 + o(|x 1 − x 0 |)
¡ ¢

On a bien f (x 1 ) É f (x 0 ) pour x 1 au voisinage de x 0 (donc pour η « pas trop grand »).


En définissant par récurrence :

∀ n ∈ N∗ , x n+1 = x n − η f 0 (x n )

les valeurs de f (x n ) sont décroissantes jusqu’à un certain rang n ∗ au delà duquel la suite (x n )
est susceptible d’osciller autour de l’optimum cherché. Il faut donc définir un critère d’arrêt
pour éviter de boucler indéfiniment. Par exemple, on peut définir à l’avance un petit τ >
0 et arrêter l’algorithme lorsque | f 0 (x n )| É τ. Par ailleurs, le comportement de l’algorithme
dépend fortement du pas η : un trop grand pas peut entraîner des oscillations de grande
amplitude autour de l’optimum que l’on n’atteint jamais, et un trop petit pas impliquera une
convergence lente.
Bien entendu, par cette méthode on ne peut trouver qu’un minimum local : selon le point
de départ x 0 on pourrait converger vers un autre minimum local.
La figure B.1 illustre la discussion.

B.3.2 Algorithme de descente


Le raisonnement précédent se généralise à une fonction f définie sur un domaine de Rd .
À partir de x 0 dans le domaine de f , on définit par récurrence :

∀ n ∈ N∗ , x n+1 = x n − η∇ f (x n )

où η > 0 est un paramètre et ∇ f (x) désigne le gradient de f en x : c’est le vecteur fait des d
dérivées partielles de f en x.
Autrement écrit, pour la i -ème composante (1 É i É d ) :

i ∂ fi
∀ n ∈ N∗ , x n+1 = x ni − η (x n )
∂x i

École des Mines de Nancy


163 B.3. OPTIMISATION NUMÉRIQUE PAR ALGORITHME DE DESCENTE

F IGURE B.1 – Illustration de la recherche du minimum d’une fonction réelle. La suite des (x n )
a l’air de converger vers le minimum local x ∗ . Par contre, la suite des (x n0 ) oscille autour d’un
minimum local à cause d’un pas η choisi trop grand. Rappelons que plus la pente du graphe
de f est prononcée en x, plus | f 0 (x)| est grand et donc plus l’écart η| f 0 (x n )| entre x n et x n+1 est
grand.

Si le pas η est assez petit, un développement limité nous fournit pour tout n ∈ N, f (x n+1 ) =
f (x n − η∇ f (x n )) = f (x n ) − η∇ f (x n ) · ∇ f (x n ) + o(kx n+1 − x n k), soit, à l’ordre 1 :
°2
f (x n+1 ) = f (x n ) − η °∇ f (x n )°
°
2

Les valeurs successives de f (x n ) sont décroissantes jusqu’à un certain rang pour η « pas trop
grand », comme dans l’exemple introductif.
Cet algorithme cherchant un minimum avec un pas η constant est l’algorithme du gra-
dient à pas constant. Consultez un cours sur ce sujet pour savoir comment choisir η n à
chaque itération, voire choisir une matrice A n telle que x n+1 = x n − ηA n ∇ f (x n ), de manière à
accélérer la convergence.
La figure B.2 illustre l’algorithme de descente. Sur la représentation graphique de la fonc-
tion, on descend le long de la direction du gradient, d’où l’expression « algorithme de des-
cente ».

B.3.3 Algorithme du gradient stochastique


Lorsque la fonction à optimiser s’écrit comme une somme :
N
X
E (x) = E i (x)
i =1
l’algorithme de descente s’écrit :
N
x n+1 = x n − η
X
∇E i (x n )
i =1

Introduction à l’apprentissage automatique


ANNEXE B. RAPPELS D’OPTIMISATION 164

E(w 1 ,w 2 ) - E(w 1 ,w 2 )
2

1.5

15 1

10
0.5
5
E

w2
0
0

-5 -0.5

-10 -1
2
2 -1.5
0
0 -2
w2 w1
-2 -2 -2 -1 0 1 2
w1

F IGURE B.2 – Illustration de la recherche du minimum d’une fonction E de deux va-


riables w 1 , w 2 . La fonction est représentée sur la figure de gauche, avec des lignes de niveau
dans le plan (w 1 , w 2 ). A droite, représentation dans le plan (w 1 , w 2 ) des lignes de niveau et des
vecteurs −∇E . Le gradient est orthogonal aux lignes de niveau. On voit qu’en tout point, si on
se déplace dans la direction −∇E , alors la valeur de E diminue. En effet, sur la représentation
graphique de E , on « descend ».

par linéarité du gradient.


Il s’agit d’une situation très courante en apprentissage (les risques empiriques que l’on
cherche à minimiser s’écrivent sous cette forme, en particulier pour l’entraînement des ré-
seaux de neurones pour lesquels les poids w jouent le rôle de la variable x) ainsi qu’en statis-
tique (voir chapitre 4, section 4.2).
Lorsque N est grand, calculer iN=1 ∇E i peut poser problème :
P

— stocker tous les ∇E i (x n ) avant d’en faire la somme peut prendre de la place en mémoire,
— certains termes ∇E i (x n ) peuvent être petits devant d’autres (ou devant la somme par-
tielle à laquelle il faut les ajouter) et ne pas être pris en compte dans la somme à cause
de la précision limitée de l’arithmétique des ordinateurs 1 ,
— il faut sommer les N gradients avant de mettre à jour x. Pensez à la difficulté de pro-
céder à l’apprentissage d’un réseau de neurones avec un nombre d’exemples N de un
million par exemple : il faudrait parcourir toute la base d’apprentissage avant de com-
mencer à mettre à jour les poids du réseau.

Pour surmonter cette difficulté, l’algorithme stochastique de descente du gradient (ou


algorithme du gradient stochastique, stochastic gradient descent, SGD) a été proposé.

1. Selon la norme IEEE 754 (implantée par tout compilateur/machine raisonnable), 1 + x = 1 dès que x <
2−53 ' 1.1102e − 16.

École des Mines de Nancy


165 B.3. OPTIMISATION NUMÉRIQUE PAR ALGORITHME DE DESCENTE

— choisir une initialisation x


— Jusqu’à satisfaction d’un critère d’arrêt, répéter :
— choisir aléatoirement une permutation φ de {1, . . . , N }
— pour n ∈ {1, . . . , N }, faire :
x ← x − η∇E φ(n) (x)

Les E n étant traités successivement, on parle d’algorithme online. Dans le cas d’un pro-
blème d’apprentissage, cela revient à présenter les observations étiquetées les unes après les
autres après les avoir mélangées aléatoirement. À chaque étape, la valeur de la fonction E ne
diminue pas forcément. Comme x est mis à jour après le calcul de chaque gradient ∇E i , x
ne se déplace pas forcément dans la direction du minimum de E cherché : on observe géné-
ralement des oscillations qui « ralentissent » la convergence. Pour limiter ce phénomène, on
peut faire la mise à jour après le calcul (potentiellement en parallèle) de quelques gradients
dont on moyenne l’influence. On parle alors d’algorithme par « mini-lot », compromis entre
le gradient stochastique et la descente classique qui prend en compte le lot complet des N
termes E i . Il semble que ces oscillations dues au caractère stochastique de l’algorithme ont
pour avantage de lui permettre de ne pas rester piégé dans des minima locaux comme l’algo-
rithme de descente classique.

Une autre manière de réduire les oscillations dans la descente est de remplacer, dans la
mise à jour x ← x − ∆x où
∆x = η∇E φ(n) (x)

le terme ∆x en le mettant lui même à jour par :

∆x ← β∆x + (1 − β)η∇E φ(n) (x)

où β ∈ [0, 1]. Cela permet d’amortir l’influence du gradient en le moyennant avec la dernière
valeur de ∆x.
Généralement, on intègre le terme (1 − β) dans le pas η pour écrire :

∆x ← β∆x + η∇E φ(n) (x)

Il s’agit de la méthode du moment (SGD with momentum) : on fait une moyenne pondérée
entre l’ancienne valeur de ∆x et le gradient courant.
La méthode du moment de Nesterov consiste à calculer :

∆x ← β∆x + η∇E φ(n) (x − β∆x)

c’est-à-dire calculer le gradient en le point qui correspondrait à la prochaine mise à jour. Cela
a pour effet d’accélérer la convergence.

De cette façon, l’algorithme du gradient stochastique accéléré par la méthode du mo-


ment de Nesterov est :

Introduction à l’apprentissage automatique


— choisir une initialisation x et un pas ∆x
— Jusqu’à satisfaction d’un critère d’arrêt, répéter :
— choisir aléatoirement une permutation φ de {1, . . . , N }
— pour n ∈ {1, . . . , N }, faire :

∆x ← β∆x + η∇E φ(n) (x − β∆x)


x ← x − ∆x

L’algorithme du gradient stochastique a fait l’objet de nombreuses recherche, il est pos-


sible de démontrer la convergence presque sûre de cet algorithme sous certaines hypothèses
raisonnables. De par son importance en apprentissage, il a donné lieu à de nombreuses va-
riantes et travaux théoriques.
Index

0 Caractéristique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13, 22
ε-insensitive loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 CART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
0-1 loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 58, 113 Catégorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Chain rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
A Chaînage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
Adaboost. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92, 112 Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
AIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Classification
Algorithme aux plus proches voisins . . . . . . . . . . . . . . . . . . 80
de descente . . . . . . . . . . . . . . . . . . . . . 126, 138, 162 biclasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17, 133
de Lloyd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42, 73 binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
du gradient stochastique . . . . . . . . . . . . 141, 163 hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
EM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 non-supervisée . . . . . . . . . . . . . . . . . . . . . . . . 13, 39
Analyse en composante principale . . . . . . . . . . . . . 29 supervisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Apprentissage un contre tous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 un contre un . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
non-supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Classifieur
par cœur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 33
de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
par renforcement . . . . . . . . . . . . . . . . . . . . . . 12, 23
faible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
par transfert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
linéaire . . . . . . . . . . . . . . . . . . . . . . 79, 100, 106, 124
profond. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142, 145
naïf de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 75
supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
naïf de Bayes gaussien. . . . . . . . . . . . . . . . . . . . .76
Arbre de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
universel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Arbre k-d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13, 15, 39
Astuce du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Complete linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Attribut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Complexité de Rademacher . . . . . . . . . . . . . . . . . . . . 38
Augmentation des données . . . . . . . . . . . . . . . . . . . 150
Concentration dans les coins . . . . . . . . . . . . . . . . . . . 27
Auto-encodeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28, 152
Conditions
Average linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
de Karush, Kuhn et Tucker . . . . . . . . . . . . . . . 162
B de Mercer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . 136, 138 Coniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Bagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Banc de filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Convolutive neural network . . . . . . . . . . . . . . . . . . . 146
BIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Coût
Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 ε-insensitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
0-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 36, 58, 94
C d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 55, 137
Capacité de généralisation . . . . . . . . . . . . . . . . . . . . . 30 quadratique . . . . . . . . . . . . . . . . . . . . . 56, 114, 116
Critère F
de Gini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Feature space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
de Ward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
du coude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 Feedforward neural network . . . . . . . . . . . . . . . . . . 129
Cross validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Fenêtres de Parzen . . . . . . . . . . . . . . . . . . . . . . . . . . 49, 64
Cross-entropy loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Curse of dimensionality . . . . . . . . . . . . . . . . . 25, 39, 71 Fine tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Fonction
D Γ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 convexe . . . . . . . . . . . . . . . . . . . . . 19, 101, 159, 161
d’activation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Decision
de perte . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 94, 113
stump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
discriminante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77, 132
Deep learning . . . . . . . . . . . . . . . . . . . . . . . . 135, 142, 145
Forêt aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Dendrogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Forme normale conjonctive . . . . . . . . . . . . . . . . . . . 128
Densité conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . 57
Frontière de séparation . . . . . . . . . . . . . . . . . . . . . . . . . 15
Dérivation des fonctions composées . . . . . . . . . 153
Dilemme G
biais-fluctuation . . . . . . . . . . . . . . . . . . . . . . . 29, 86 Gaussian mixture model . . . . . . . . . . . . . . . . . . . . . . . . 68
biais-variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Gaussian naive Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Dimension de Vapnik-Chervonenkis . . . . . . 38, 106 GMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Distance GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
d’édition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40, 51 Gradient boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
de Levenshtein. . . . . . . . . . . . . . . . . . . . . . . . .40, 51
Données H
étiquetées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 15 Hard margin SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
non-étiquetées. . . . . . . . . . . . . . . . . . . . . . . . .12, 13 Hinge loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Histogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Dualité de Wolfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Hiver de l’IA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Huber loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
E Hyperparamètre . . . . . . . . . . . . . . . . . . 22, 34, 103, 143
Early stopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
I
Échantillon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Identité de Woodbury . . . . . . . . . . . . . . . . . . . . . . . . . 119
Elbow method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Imitation game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Encodage un parmi n . . . . . . . . . . . . . . . . . . . . . . . . . 134
Inégalité
Ensemble convexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
de Hoeffding . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 153
Entraînement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15, 136
de Jensen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Entropie croisée . . . . . . . . . . . . . . . . . . . . . . . . . . . 89, 137 Inertie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
Epoch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126, 142 Ingénierie des noyaux . . . . . . . . . . . . . . . . . . . . . . . . . 108
Époque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126, 142 Intelligence artificielle . . . . . . . . . . . . . . . . . . . . . 22, 123
Équations normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Espérance conditionnelle . . . . . . . . . . . . . . . . . . . . . . 57 K
Espace de redescription . . . . . . . . . . . . . . . . . . . . . . . 106 K -means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Estimation de densités . . . . . . . . . . . . . . . . . . . . . . . . . 63 K -moyennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
ET logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 k-d tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
Étiquette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Évanouissement du gradient . . . . . . . . . . . . . . . . . . 142 design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Exponential loss . . . . . . . . . . . . . . . . . . . . . . . . . . . 94, 113 ridge regression . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
trick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
L RBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Lagrangien . . . . . . . . . . . . . . . . . . . . . . . . . . 101, 104, 161
Learning loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 O
Likelihood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 One-hot encoding. . . . . . . . . . . . . . . . . . . . . . . . .134, 136
Logistic loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94, 113 One-vs-all classification . . . . . . . . . . . . . . . . . . . . . . . . 17
Loss function . . . . . . . . . . . . . . . . . . . . . . . 29, 55, 94, 113 One-vs-one classification . . . . . . . . . . . . . . . . . . . . . . . 17
Optimisation
M combinatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
M -estimateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 convexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Machine learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 OU logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Machine à vecteurs supports . . . . . . . . . . . . . . . . . . . 99 Overfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Malédiction de la dimension . . . . . . . . 25, 39, 71, 81
Marge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99, 125 P
souple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Partitionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13, 39
Matrice Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . 106, 112, 123
orthogonale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 multicouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
symétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Plus proches voisins . . . . . . . . . . . . . . . . . . . . . 28, 65, 80
Matrix inversion lemma . . . . . . . . . . . . . . . . . . . . . . . 119 Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Maximum Posterior probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
a posteriori (MAP) . . . . . . . . . . . . . . . . . . . . . . . . . 60 Prior probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
de vraisemblance . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Probabilité
Mean shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Mélange de gaussiennes. . . . . . . . . . . . . . . . . . . . . . . .68 a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Mesure de dissimilarité . . . . . . . . . . . . . . . . . . . . . . . . . 39
Méthode Q
connexioniste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Quadriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
de Parzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49, 64
des plus proches voisins. . . . . . . . . . . . . . . . . . .65 R
du moment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Random forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
ensembliste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 RANSAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
symbolique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Réduction de dimension . . . . . . . . . . . . . . . . . . . . . . . 29
MiniBatch K -means . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Réglage fin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Minimisation du risque . . . . . . . . . . . . . . . . . . . . . 30, 55 Régression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17, 58
Modèle à vecteurs supports . . . . . . . . . . . . . . . . . . . . . . 115
discriminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Lasso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 23
génératif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
parcimonieux . . . . . . . . . . . . . . . . . . . . . . . . . 22, 120 logistique . . . . . . . . . . . . . . . . . . . . . . . . 77, 106, 112
Moindres carrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 ridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20, 29
Moment de Nesterov . . . . . . . . . . . . . . . . . . . . . . . . . . 165 ridge à noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Momentum method . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Regroupement hiérarchique . . . . . . . . . . . . . . . . . . . 39
Multilayer perceptron . . . . . . . . . . . . . . . . . . . . . . . . . 129 Régularisation . . . . . . . . . . . . . . . . . . . . . . . . 19, 104, 143
Reinforcement learning . . . . . . . . . . . . . . . . . . . . . 12, 23
N ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131, 132, 142, 148
No-free-lunch theorem . . . . . . . . . . . . . . . . . . . . . . . . 119 Réseau de neurones
Nombre de Stirling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 à propagation avant . . . . . . . . . . . . . . . . . . . . . . 129
Norme euclidienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 artificiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 convolutif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
invariant par translation . . . . . . . . . . . . . . . . . 110 récurrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Résidu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 V
Rétropropagation . . . . . . . . . . . . . . . . . . . . . . . . 136, 138 Validation
Risque holdout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
de prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 55 leave-one-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
empirique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 137 croisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22, 34
Vanishing gradient . . . . . . . . . . . . . . . . . . . . . . . 142, 148
S Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13, 22
Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 d’écart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Sélection de variables . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Volume de la boule unité . . . . . . . . . . . . . . . . . . . . . . . 26
Séparateur à vaste marge. . . . . . . . . . . . . . . . . . . . . .100
X
Sigmoïde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77, 131–133
XGBoost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Single linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
xkcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Slack variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
XOR logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Soft k-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Soft margin SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
SoftMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
SoftSign. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132
Souche de classification . . . . . . . . . . . . . . . . . . . . . . . . 96
Sous-apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . 31, 36
Sparse model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22, 120
Square loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Statistical learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Statistical learning theory . . . . . . . . . . . . . . . . . . . . . . 36
Stochastic gradient descent . . . . . . . . . . . . . . . . . . . . 163
Supervised learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Support vector machine . . . . . . . . . . . . . . . . . . . . . . . . 99
Support vector regression . . . . . . . . . . . . . . . . . . . . . . 115
Sur-apprentissage . . . . . . . . . . . . . . . . . . . . . . 31, 36, 142
SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106, 109

T
Taux d’apprentissage . . . . . . . . . . . . . . . . . . . . . 138, 143
Test de Turing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Test loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Théorème
d’approximation universelle . . . . . . . . . . . . . 134
de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
de Cybenko. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
de Novikoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Théorie statistique de l’apprentissage. . . . . . . . . .36
Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Traitement du signal . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Transfer learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Turing, Alan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

U
Unsupervised learning . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Vous aimerez peut-être aussi