IntroML Azencott
IntroML Azencott
IntroML Azencott
Cet ouvrage s’adresse aux étudiantes et étudiants en fin de licence et en master d’informatique ou de
maths appliquées, ainsi qu’aux élèves d’école d’ingénieurs.
L’apprentissage automatique, ou machine Learning, est une discipline dont les outils puissants permettent
aujourd’hui à de nombreux secteurs d’activité de réaliser des progrès spectaculaires grâce à l’exploitation
de grands volumes de données.
Le but de cet ouvrage est de vous fournir des bases solides sur les concepts et les algorithmes de ce
domaine en plein essor. Il vous aidera à identifier les problèmes qui peuvent être résolus par une approche
machine learning, à les formaliser, à identifier les algorithmes les mieux adaptés à chaque cas, à les mettre
en oeuvre, et enfin à savoir évaluer les résultats obtenus.
Ce document est la version électronique d’un ouvrage publié aux éditions Dunod dans la collection
InfoSup 1 , qui contient aussi 86 exercices corrigés.
1. https://www.dunod.com/sciences-techniques/introduction-au-machine-learning-0
Préambule
Le machine learning (apprentissage automatique) est au cœur de la science des données et de l’intelli-
gence artificielle. Que l’on parle de transformation numérique des entreprises, de Big Data ou de straté-
gie nationale ou européenne, le machine learning est devenu incontournable. Ses applications sont nom-
breuses et variées, allant des moteurs de recherche et de la reconnaissance de caractères à la recherche en
génomique, l’analyse des réseaux sociaux, la publicité ciblée, la vision par ordinateur, la traduction auto-
matique ou encore le trading algorithmique.
Ce livre se veut une introduction aux concepts et algorithmes qui fondent le machine learning, et en
propose une vision centrée sur la minimisation d’un risque empirique par rapport à une classe donnée de
fonctions de prédictions.
Objectifs pédagogiques : Le but de ce livre est de vous accompagner dans votre découverte du machine
learning et de vous fournir les outils nécessaires à
1. identifier les problèmes qui peuvent être résolus par des approches de machine learning ;
2. formaliser ces problèmes en termes de machine learning ;
3. identifier les algorithmes classiques les plus appropriés pour ces problèmes et les mettre en œuvre ;
4. implémenter ces algorithmes par vous-même afin d’en comprendre les tenants et aboutissants ;
5. évaluer et comparer de la manière la plus objective possible les performances de plusieurs algo-
rithmes de machine learning pour une application particulière.
Public visé : Ce livre s’adresse à des étudiants en informatique ou maths appliquées, niveau L3 ou M1
(ou deuxième année d’école d’ingénieur), qui cherchent à comprendre les fondements des principaux algo-
rithmes utilisés en machine learning. Il se base sur mes cours à CentraleSupélec 2 et sur OpenClassrooms 3
et suppose les prérequis suivants :
— algèbre linéaire (inversion de matrice, théorème spectral, décomposition en valeurs propres et vec-
teurs propres).
— notions de probabilités (variable aléatoire, distributions, théorème de Bayes).
2. http://tinyurl.com/ma2823-2017
3. https://openclassrooms.com/paths/data-scientist
2
3
Plan du livre : Ce livre commence par une vue d’ensemble du machine learning et des différents types
de problèmes qu’il permet de résoudre. Il présente comment ces problèmes peuvent être formulés mathé-
matiquement comme des problèmes d’optimisation (chapitre 1) et pose en appendice les bases d’optimi-
sation convexe nécessaires à la compréhension des algorithmes présentés par la suite. La majeure partie
de ce livre concerne les problèmes d’apprentissage supervisé ; le chapitre 2 détaille plus particulièrement
leur formulation et introduit les notions d’espace des hypothèses, de risque et perte, et de généralisation.
Avant d’étudier les algorithmes d’apprentissage supervisé les plus classiques et fréquemment utilisés, il est
essentiel de comprendre comment évaluer un modèle sur un jeu de données, et de savoir sélectionner le
meilleur modèle parmi plusieurs possibilités, ce qui est le sujet du chapitre 3.
Il est enfin pertinent à ce stade d’aborder l’entraînement de modèles prédictifs supervisés. Le livre
aborde tout d’abord les modèles paramétriques, dans lesquels la fonction modélisant la distribution des
données ou permettant de faire des prédictions a une forme analytique explicite. Les bases sont posées
avec des éléments d’inférence bayésienne (chapitre 4), qui seront ensuite appliqués à des modèles d’ap-
prentissage supervisé paramétriques (chapitre 5). Le chapitre 6 présente les variantes régularisées de ces
algorithmes. Enfin, le chapitre 7 sur les réseaux de neurones propose de construire des modèles paramé-
triques beaucoup plus complexes et d’aborder les bases du deep learning.
Le livre aborde ensuite les modèles non paramétriques, à commencer par une des plus intuitives de ces
approches, la méthode des plus proches voisins (chapitre 8). Suivront ensuite les approches à base d’arbres
de décision, puis les méthodes à ensemble qui permettront d’introduire deux des algorithmes de machine
learning supervisé les plus puissants à l’heure actuelle : les forêts aléatoires et le boosting de gradient (cha-
pitre 9). Le chapitre 10 sur les méthodes à noyaux, introduites grâce aux machines à vecteurs de support,
permettra de voir comment construire des modèles non linéaires via des modèles linéaires dans un espace
de redescription des données.
Comment lire ce livre : Ce livre a été conçu pour être lu linéairement. Cependant, après les trois pre-
miers chapitres, il vous sera possible de lire les suivants dans l’ordre qui vous conviendra, à l’exception du
chapitre 6, qui a été écrit dans la continuité du chapitre 5. De manière générale, des références vers les
sections d’autres chapitres apparaîtront si nécessaire.
Remerciements : Cet ouvrage n’aurait pas vu le jour sans Jean-Philippe Vert, qui m’a fait découvrir le
machine learning, avec qui j’ai enseigné et pratiqué cette discipline pendant plusieurs années, et qui m’a
fait, enfin, l’honneur d’une relecture attentive.
Ce livre doit beaucoup à ceux qui m’ont enseigné le machine learning, et plus particulièrement Pierre
Baldi, Padhraic Smyth, et Max Welling ; à ceux avec qui je l’ai pratiqué, notamment les membres du Baldi
Lab à UC Irvine, du MLCB et du département d’inférence empirique de l’Institut Max Planck à Tübingen, et
du CBIO à Mines ParisTech, et bien d’autres encore qu’il serait difficile de tous nommer ici ; à ceux avec qui
je l’ai enseigné, Karsten Borgwardt, Yannis Chaouche, Frédéric Guyon, Fabien Moutarde, mais aussi Judith
Abecassis, Eugene Belilovsky, Joseph Boyd, Peter Naylor, Benoît Playe, Mihir Sahasrabudhe, Jiaqian Yu, et
Luc Bertrand ; et enfin à ceux auxquels je l’ai enseigné, en particulier les étudiants du cours Data Mining
4
in der Bioinformatik de l’Université de Tübingen qui ont subi ma toute première tentative d’enseignement
des méthodes à noyaux en 2012, et les étudiants centraliens qui ont essuyé les plâtres de la première version
de ce cours à l’automne 2015.
Mes cours sont le résultat de nombreuses sources d’inspirations accumulées au cours des années. Je
remercie tout particulièrement Ethem Alpaydin, David Barber, Christopher M. Bishop, Stephen Boyd, Hal
Daumé III, Jerome Friedman, Trevor Hastie, Tom Mitchell, Bernhard Schölkopf, Alex Smola, Robert Tibshi-
rani, Lieven Vandenberghe, et Alice Zhang pour leurs ouvrages.
Parce que tout serait différent sans scikit-learn, je remercie chaleureusement tous ses core-devs, et en
particulier Alexandre Gramfort, Olivier Grisel, Gaël Varoquaux et Nelle Varoquaux.
Je remercie aussi Matthew Blaschko, qui m’a poussée à l’eau, et Nikos Paragios, qui l’y a encouragé.
Parce que je n’aurais pas pu écrire ce livre seule, merci à Jean-Luc Blanc des Éditions Dunod, et à tous
ceux qui ont relu tout ou partie de cet ouvrage, en particulier Judith Abecassis, Luc Bertrand, Caroline
Petitjean, Denis Rousselle, Erwan Scornet.
La relecture attentive de Jean-Marie Monier, ainsi que les commentaires d’Antoine Brault, ont permis
d’éliminer de nombreuses coquilles et approximations de la deuxième version de ce texte.
Merci à Alix Deleporte, enfin, pour ses relectures et son soutien.
Table des matières
2 Apprentissage supervisé 20
2.1 Formalisation d’un problème d’apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . 20
2.1.1 Décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.2 Classification multi-classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Espace des hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Minimisation du risque empirique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 Fonctions de coût . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.1 Fonctions de coût pour la classification binaire . . . . . . . . . . . . . . . . . . . . . 26
2.4.2 Coûts pour la classification multi-classe . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.3 Coûts pour la régression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5 Généralisation et sur-apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.1 Généralisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.2 Sur-apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.3 Compromis biais-variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.4 Régularisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5
6 TABLE DES MATIÈRES
4 Inférence bayésienne 49
4.1 Modèles génératifs pour la classification binaire . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.1.1 Inférence et prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.1.2 Loi de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.1.3 Modélisation paramétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2 Règles de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.1 Tests du rapport de vraisemblance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.2 Théorie de la décision bayésienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3 Estimation de densité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.1 Estimation par maximum de vraisemblance . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.2 Estimateur de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.3 Décomposition biais-variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4 Classification naïve bayésienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.1 Principes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.2 Filtrage bayésien du spam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.5 Sélection de modèle bayésienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5 Régressions paramétriques 64
5.1 Apprentissage supervisé d’un modèle paramétrique . . . . . . . . . . . . . . . . . . . . . . . 64
5.1.1 Modèles paramétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.1.2 Estimation par maximum de vraisemblance et méthode des moindres carrés . . . . . 66
5.2 Régression linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.3 Théorème de Gauss-Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3 Régression logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.3.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4 Régression polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6 Régularisation 72
6.1 Qu’est-ce que la régularisation ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2 La régression ridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2.1 Formulation de la régression ridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.2.3 Chemin de régularisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.2.4 Interprétation géométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.3 Le lasso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3.1 Parcimonie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3.2 Formulation du lasso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.3.4 Interprétation géométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.3.5 Chemin de régularisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.4 Elastic net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
TABLE DES MATIÈRES 7
12 Clustering 148
12.1 Pourquoi partitionner ses données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
12.2 Évaluer la qualité d’un algorithme de clustering . . . . . . . . . . . . . . . . . . . . . . . . . 149
12.2.1 La forme des clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
12.2.2 La stabilité des clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
12.2.3 Les connaissances expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
12.3 Clustering hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
12.3.1 Dendrogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
12.3.2 Construction agglomérative ou divisive . . . . . . . . . . . . . . . . . . . . . . . . . . 154
12.3.3 Fonctions de lien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
12.3.4 Choix du nombre de clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
12.3.5 Complexité algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
12.4 Méthode des k-moyennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
12.4.1 Algorithme de Lloyd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
12.4.2 Forme des clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
12.4.3 Variantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
12.5 Clustering par densité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Le machine learning est un domaine captivant. Issu de nombreuses disciplines comme les statistiques,
l’optimisation, l’algorithmique ou le traitement du signal, c’est un champ d’études en mutation constante
qui s’est maintenant imposé dans notre société. Déjà utilisé depuis des décennies dans la reconnaissance
automatique de caractères ou les filtres anti-spam, il sert maintenant à protéger contre la fraude bancaire,
recommander des livres, films, ou autres produits adaptés à nos goûts, identifier les visages dans le viseur
de notre appareil photo, ou traduire automatiquement des textes d’une langue vers une autre.
Dans les années à venir, le machine learning nous permettra vraisemblablement d’améliorer la sécurité
routière (y compris grâce aux véhicules autonomes), la réponse d’urgence aux catastrophes naturelles, le
développement de nouveaux médicaments, ou l’efficacité énergétique de nos bâtiments et industries.
Le but de ce chapitre est d’établir plus clairement ce qui relève ou non du machine learning, ainsi que
des branches de ce domaine dont cet ouvrage traitera.
Objectifs
— Définir le machine learning
— Identifier si un problème relève ou non du machine learning
— Donner des exemples de cas concrets relevant de grandes classes de problèmes de machine learning.
10
1.1. Qu’est-ce que le machine learning ? 11
(1959). On peut ainsi opposer un programme classique, qui utilise une procédure et les données qu’il reçoit
en entrée pour produire en sortie des réponses, à un programme d’apprentissage automatique, qui utilise
les données et les réponses afin de produire la procédure qui permet d’obtenir les secondes à partir des
premières.
Exemple
Supposons qu’une entreprise veuille connaître le montant total dépensé par un client ou une cliente
à partir de ses factures. Il suffit d’appliquer un algorithme classique, à savoir une simple addition : un
algorithme d’apprentissage n’est pas nécessaire.
Supposons maintenant que l’on veuille utiliser ces factures pour déterminer quels produits le client est
le plus susceptible d’acheter dans un mois. Bien que cela soit vraisemblablement lié, nous n’avons manifes-
tement pas toutes les informations nécessaires pour ce faire. Cependant, si nous disposons de l’historique
d’achat d’un grand nombre d’individus, il devient possible d’utiliser un algorithme de machine learning
pour qu’il en tire un modèle prédictif nous permettant d’apporter une réponse à notre question.
ne pourra rien en faire d’autre que des prédictions de mauvaise qualité. D’autre part, un modèle appris avec
un algorithme inadapté sur des données pertinentes ne pourra pas être de bonne qualité.
Cet ouvrage est consacré au deuxième de ces piliers – les algorithmes d’apprentissage. Néanmoins, il
ne faut pas négliger qu’une part importante du travail de machine learner ou de data scientist est un travail
d’ingénierie consistant à préparer les données afin d’éliminer les données aberrantes, gérer les données
manquantes, choisir une représentation pertinente, etc.
Attention
Bien que l’usage soit souvent d’appeler les deux du même nom, il faut distinguer l’algorithme d’apprentis-
sage automatique du modèle appris : le premier utilise les données pour produire le second, qui peut ensuite
être appliqué comme un programme classique.
Un algorithme d’apprentissage permet donc de modéliser un phénomène à partir d’exemples. Nous consi-
dérons ici qu’il faut pour ce faire définir et optimiser un objectif. Il peut par exemple s’agir de minimiser le
nombre d’erreurs faites par le modèle sur les exemples d’apprentissage. Cet ouvrage présente en effet les
algorithmes les plus classiques et les plus populaires sous cette forme.
Exemple
Voici quelques exemples de reformulation de problèmes de machine learning sous la forme d’un pro-
blème d’optimisation. La suite de cet ouvrage devrait vous éclairer sur la formalisation mathématique de
ces problèmes, formulés ici très librement.
— un vendeur en ligne peut chercher à modéliser des types représentatifs de clientèle, à partir des tran-
sactions passées, en maximisant la proximité entre clients et clientes affectés à un même type ;
— une compagnie automobile peut chercher à modéliser la trajectoire d’un véhicule dans son environ-
nement, à partir d’enregistrements vidéo de voitures, en minimisant le nombre d’accidents ;
— des chercheurs en génétique peuvent vouloir modéliser l’impact d’une mutation sur une maladie,
à partir de données patient, en maximisant la cohérence de leur modèle avec les connaissances de
l’état de l’art ;
— une banque peut vouloir modéliser les comportements à risque, à partir de son historique, en maxi-
misant le taux de détection de non solvabilité.
Ainsi, le machine learning repose d’une part sur les mathématiques, et en particulier les statistiques,
pour ce qui est de la construction de modèles et de leur inférence à partir de données, et d’autre part sur
l’informatique, pour ce qui est de la représentation des données et de l’implémentation efficace d’algo-
rithmes d’optimisation. De plus en plus, les quantités de données disponibles imposent de faire appel à des
architectures de calcul et de base de données distribuées. C’est un point important mais que nous n’abor-
dons pas dans cet ouvrage.
Probablement parce que le terme « intelligence artificielle » stimule plus l’imagination, il est cependant
de plus en plus souvent employé en lieu et place de celui d’apprentissage automatique.
L’espace sur lequel sont définies les données est le plus souvent X = Rp . Nous verrons cependant aussi
comment traiter d’autres types de représentations, comme des variables binaires, discrètes, catégoriques,
voire des chaînes de caractères ou des graphes.
Algorithme Modèle
Observations
de ML prédictif
Étiquettes
Classification binaire
Dans le cas où les étiquettes sont binaires, elles indiquent l’appartenance à une classe. On parle alors de
classification binaire.
Définition 1.2 (Classification binaire) Un problème d’apprentissage supervisé dans lequel l’espace
des étiquettes est binaire, autrement dit Y = {0, 1} est appelé un problème de classification binaire.
14 Chapitre 1. Présentation du machine learning
Exemple
Voici quelques exemples de problèmes de classification binaire :
— Identifier si un email est un spam ou non ;
— Identifier si un tableau a été peint par Picasso ou non ;
— Identifier si une image contient ou non une girafe ;
— Identifier si une molécule peut ou non traiter la dépression ;
— Identifier si une transaction financière est frauduleuse ou non.
Classification multi-classe
Dans le cas où les étiquettes sont discrètes, et correspondent donc à plusieurs 1 classes, on parle de clas-
sification multi-classe.
Définition 1.3 (Classification multi-classe) Un problème d’apprentissage supervisé dans lequel l’es-
pace des étiquettes est discret et fini, autrement dit Y = {1, 2, . . . , C} est appelé un problème de classifi-
cation multi-classe. C est le nombre de classes.
Exemple
Voici quelques exemples de problèmes de classification multi-classe :
— Identifier en quelle langue un texte est écrit ;
— Identifier lequel des 10 chiffres arabes est un chiffre manuscrit
— Identifier l’expression d’un visage parmi une liste prédéfinie de possibilités (colère, tristesse, joie,
etc.) ;
— Identifier à quelle espèce appartient une plante ;
— Identifier les objets présents sur une photographie.
Régression
Dans le cas où les étiquettes sont à valeurs réelles, on parle de régression.
Définition 1.4 (Régression) Un problème d’apprentissage supervisé dans lequel l’espace des étiquettes
est Y = R est appelé un problème de régression.
Exemple
Voici quelques exemples de problèmes de régression :
— Prédire le nombre de clics sur un lien ;
— Prédire le nombre d’utilisateurs et utilisatrices d’un service en ligne à un moment donné ;
— Prédire le prix d’une action en bourse ;
— Prédire l’affinité de liaison entre deux molécules ;
— Prédire le rendement d’un plant de maïs.
1. Nous utilisons ici la définition bourbakiste de « plusieurs », c’est-à-dire strictement supérieur à deux.
1.2. Types de problèmes de machine learning 15
Régression structurée
Dans le cas où l’espace des étiquettes est un espace structuré plus complexe que ceux évoqués précé-
demment, on parle de régression structurée – en anglais, structured regression, ou structured output prediction. Il
peut par exemple s’agir de prédire des vecteurs, des images, des graphes, ou des séquences. La régression
structurée permet de formaliser de nombreux problèmes, comme ceux de la traduction automatique ou de
la reconnaissance vocale (text-to-speech et speech-to-text, par exemple). Ce cas dépasse cependant le cadre
du présent ouvrage, et nous nous concentrerons sur les problèmes de classification binaire et multi-classe,
ainsi que de régression classique.
L’apprentissage supervisé est le sujet principal de cet ouvrage, et sera traité du chapitre 2 au chapitre 9.
Algorithme
Observations
de ML
Observations réduites
Cette définition est très vague, et sera certainement plus claire sur des exemples.
Clustering
Tout d’abord, le clustering, ou partitionnement, consiste à identifier des groupes dans les données (voir
figure 1.3). Cela permet de comprendre leurs caractéristiques générales, et éventuellement d’inférer les
propriétés d’une observation en fonction du groupe auquel elle appartient.
Définition 1.6 (Partitionnement) On appelle partitionnement ou clusteringS un problème d’apprentis-
sage non supervisé pouvant être formalisé comme la recherche d’une partition K k=1 Ck des n observations
i
{~x }i=1,...,n . Cette partition doit être pertinente au vu d’un ou plusieurs critères à préciser.
Exemple
Voici quelques exemples de problèmes de partitionnement
— La segmentation de marché consiste à identifier des groupes d’usagers ou de clients ayant un compor-
tement similaire. Cela permet de mieux comprendre leur profil, et cibler une campagne de publicité,
des contenus ou des actions spécifiquement vers certains groupes.
— Identifier des groupes de documents ayant un sujet similaire, sans les avoir au préalable étiquetés
par sujet. Cela permet d’organiser de larges banques de textes.
16 Chapitre 1. Présentation du machine learning
Algorithme
Observations
de ML
— La compression d’image peut être formulée comme un problème de partitionnement consistant à re-
grouper des pixels similaires pour ensuite les représenter plus efficacement.
— La segmentation d’image consiste à identifier les pixels d’une image appartenant à la même région.
— Identifier des groupes parmi les patients présentant les mêmes symptômes permet d’identifier des
sous-types d’une maladie, qui pourront être traités différemment.
Réduction de dimension
La réduction de dimension est une autre famille importante de problèmes d’apprentissage non supervisé.
Il s’agit de trouver une représentation des données dans un espace de dimension plus faible que celle de
l’espace dans lequel elles sont représentées à l’origine (voir figure 1.4). Cela permet de réduire les temps de
calcul et l’espace mémoire nécessaire au stockage les données, mais aussi souvent d’améliorer les perfor-
mances d’un algorithme d’apprentissage supervisé entraîné par la suite sur ces données.
Définition 1.7 (Réduction de dimension) On appelle réduction de dimension un problème d’appren-
tissage non supervisé pouvant être formalisé comme la recherche d’un espace Z de dimension plus faible
que l’espace X dans lequel sont représentées n observations {~x i }i=1,...,n . Les projections {~z i }i=1,...,n des
données sur Z doivent vérifier certaines propriétés à préciser.
Algorithme Observations
Observations réduites
de ML
Remarque
Certaines méthodes de réduction de dimension sont supervisées : il s’agit alors de trouver la représen-
tation la plus pertinente pour prédire une étiquette donnée.
Estimation de densité
Enfin, une grande famille de problèmes d’apprentissage non supervisé est en fait un problème tradi-
tionnel en statistiques : il s’agit d’estimer une loi de probabilité en supposant que le jeu de données en est
un échantillon aléatoire. Le chapitre 4 aborde brièvement ce sujet.
1.4 Notations
Autant que faire se peut, nous utilisons dans cet ouvrage les notations suivantes :
— Les lettres minuscules (x) représentent un scalaire ;
— les lettres minuscules surmontées d’une flèche (~x) représentent un vecteur ;
— les lettres majuscules (X) représentent une matrice, un événement ou une variable aléatoire ;
— les lettres calligraphiées (X ) représentent un ensemble ou un espace ;
— les indices correspondent à une variable tandis que les exposants correspondent à une observation :
xij est la j-ème variable de la i-ème observation, et correspond à l’entrée Xij de la matrice X ;
— n est un nombre d’observations, p un nombre de variables, C un nombre de classes ;
— [a]+ représente la partie positive de a ∈ R, autrement dit max(0, a).
— P(A) représente la probabilité de l’événement A ;
— δ est la fonction Dirac, c’est-à-dire.
δ : X × X → {0, 1}
(
1 si u = v
(u, v) 7→
0 sinon ;
Points clefs
— Un algorithme de machine learning est un algorithme qui apprend un modèle à partir d’exemples,
par le biais d’un problème d’optimisation.
— On utilise le machine learning lorsqu’il est difficile ou impossible de définir les instructions explicites
à donner à un ordinateur pour résoudre un problème, mais que l’on dispose de nombreux exemples
illustratifs.
— Les algorithmes de machine learning peuvent être divisés selon la nature du problème qu’ils cherchent
à résoudre, en apprentissage supervisé, non supervisé, semi-supervisé, et par renforcement.
19
Bibliographie
BakIr, G., Hofmann, T., Schölkopf, B., Smola, A. J., Taskar, B., et Vishwanathan, S. V. N. (2007).
Predicting Structured Data. MIT Press, Cambridge, MA. https://mitpress.mit.edu/books/
predicting-structured-data.
Barto, R. S. et Sutton A. G. (1998). Reinforcement Learning : An Introduction. MIT Press, Cambridge, MA. http:
//incompleteideas.net/book/the-book-2nd.html.
Benureau, F. (2015). Self-Exploration of Sensorimotor Spaces in Robots. Thèse de doctorat, Université de Bor-
deaux.
Samuel, A. L. (1959). Some studies in machine learning using the game of checkers. IBM Journal of Research
and Development, 44(1.2) :206–226.
Apprentissage supervisé
Dans cet ouvrage, nous nous intéresserons principalement aux problèmes d’apprentissage supervisé :
il s’agit de développer des algorithmes qui soient capables d’apprendre des modèles prédictifs. À partir
d’exemples étiquetés, ces modèles seront capables de prédire l’étiquette de nouveaux objets. Le but de ce
chapitre est de développer les concepts généraux qui nous permettent de formaliser ce type de problèmes.
Objectifs
— Formaliser un problème comme un problème d’apprentissage supervisé ;
— Choisir une fonction de coût ;
— Lier la capacité d’un modèle à généraliser avec sa complexité.
20
2.1. Formalisation d’un problème d’apprentissage supervisé 21
Le machine learning étant issu de plusieurs disciplines et champs d’applications, on trouvera plusieurs
noms pour les mêmes objets. Ainsi les variables sont aussi appelées descripteurs, attributs, prédicteurs, ou
caractéristiques (en anglais, variables, descriptors, attributes, predictors ou encore features). Les observations sont
aussi appelées exemples, échantillons ou points du jeu de donnée (en anglais, samples ou data points). Enfin, les
étiquettes sont aussi appelées variables cibles (en anglais, labels, targets ou outcomes).
Ces concepts sont illustrés sur la figure 2.1.
Figure 2.1 – Les données d’un problème d’apprentissage supervisé sont organisées en une matrice de de-
sign et un vecteur d’étiquettes. Les observations sont représentées par leurs variables explicatives.
2.1.1 Décision
Dans le cas d’un problème de classification, le modèle prédictif peut prendre directement la forme d’une
fonction f à valeurs dans {0, 1}, ou utiliser une fonction intermédiaire g à valeurs réelles, qui associe à une
observation un score d’autant plus élevé qu’elle est susceptible d’être positive. Ce score peut par exemple
être la probabilité que cette observation appartienne à la classe positive. On obtient alors f en seuillant g ;
g est appelée fonction de décision.
Définition 2.1 (Fonction de décision) Dans le cadre d’un problème de classification binaire, on appelle
fonction de décision, ou fonction discriminante, une fonction g : X 7→ R telle que f (~x) = 0 si et seulement si
g(~x) ≤ 0 et f (~x) = 1 si et seulement si g(~x) > 0.
Il est difficile de dire laquelle de ces deux approches est la plus performante. En pratique, le choix
sera souvent guidé par des considérations de complexité algorithmique : est-il plus efficace d’entraîner C
modèles sur n observations, ou C(C − 1) modèles sur Cn observations (en supposant les classes équilibrées,
autrement dit que D contient sensiblement autant d’exemples de chaque classe) ? Par ailleurs, on prendra
aussi en compte le nombre d’exemples disponibles pour chaque classe : s’il est plus efficace d’entraîner
un modèle sur peu de données, si ce nombre est trop faible, il sera difficile d’obtenir un modèle de bonne
qualité.
2.2. Espace des hypothèses 23
Dans l’exemple de la figure 2.2, on pourra décider de se restreindre à des discriminants qui soient des
ellipses à axes parallèles aux axes de coordonnées. Ainsi, l’espace des hypothèse sera
Figure 2.2 – Les exemples positifs (+) et négatifs (x) semblent être séparables par une ellipse.
générique, il sera plus difficile et intensif en temps de calcul d’y trouver une bonne fonction de modélisa-
tion.
Étant donnée une fonction de coût L, nous cherchons donc f qui minimise ce coût sur l’ensemble des
valeurs possibles de ~x ∈ X , ce qui est formalisé par la notion de risque.
Définition 2.8 (Risque) Dans le cadre d’un problème d’apprentissage supervisé, on appelle risque l’es-
pérance d’une fonction de coût (voir chapitre 4 pour la modélisation probabiliste d’un problème d’appren-
tissage supervisé) :
R(h) = EX [L(h(~x), y)].
La fonction f que nous cherchons vérifie donc f = arg minh∈F E[L(h(~x), y)]. Ce problème est géné-
ralement insoluble sans plus d’hypothèses : si nous connaissions les étiquettes de tous les points de X , nous
n’aurions pas besoin d’apprentissage automatique. Étant données n observations étiquetées {(~x i , y i )}i=1,...,n ,
on approchera donc le risque par son estimation sur ces données observées
Définition 2.9 (Risque empirique) Dans le cadre d’un problème d’apprentissage supervisé, étant don-
nées n observations étiquetées {(~x i , y i )}i=1,...,n , on appelle risque empirique l’estimateur
n
1X
Rn (h) = L(h(~x i ), y i ).
n
i=1
Selon le choix de F, l’équation 2.1 peut avoir une solution analytique explicite. Cela ne sera pas souvent
le cas ; cependant on choisira souvent une fonction de coût convexe afin de résoudre plus facilement ce
problème d’optimisation (voir l’annexe A sur l’optimisation convexe).
La minimisation du risque empirique est généralement un problème mal posé au sens de Hadamard,
c’est-à-dire qu’il n’admet pas une solution unique dépendant de façon continue des conditions initiales. Il
se peut par exemple qu’un nombre infini de solutions minimise le risque empirique à zéro (voir figure 2.3).
2.4. Fonctions de coût 25
Figure 2.3 – Une infinité de droites séparent parfaitement les points positifs (+) des points négatifs (x).
Chacune d’entre elles a un risque empirique nul.
De plus, le prédicteur par minimisation du risque empirique n’est pas statistiquement consistant. Rap-
pelons qu’un estimateur θn (dépendant de n observations) d’un paramètre θ est consistant s’il converge en
probabilité vers θ quand n croit vers l’infini :
La loi des grands nombres nous garantit que le risque empirique converge vers le risque :
Cela ne suffit cependant pas à garantir que le minimum du risque empirique minh∈F Rn (h) converge vers
le minimum du risque. En effet, si F est l’espace des fonctions mesurables, minh∈F Rn (h) vaut générale-
ment 0, ce qui n’est pas le cas de R(h). Il n’y a donc aucune garantie que la fonction fn qui minimise Rn (h)
soit un bon estimateur du minimiseur f de R(h).
La consistance de la minimisation du risque empirique dépend de l’espace des versions F. L’étude de
cette consistance est un des principaux éléments de la théorie de l’apprentissage de Vapnik-Chervonenkis,
qui dépasse l’ambition de cet ouvrage.
Définition 2.10 (Coût 0/1 – classification binaire) Dans le cas d’une fonction f à valeurs binaires, on
appelle fonction de coût 0/1, ou 0/1 loss, la fonction suivante :
L0/1 : Y × Y → R
(
1 si f (~x) 6= y
y, f (~x) 7→
0 sinon.
1 − yf (~x)
L0/1 (y, f (~x)) = .
2
Quand on utilise cette fonction de coût, le risque empirique est le nombre moyen d’erreurs de prédiction.
Si l’on considère pour f une fonction de décision (à valeurs réelles) plutôt qu’une fonction de prédiction
à valeurs binaires, on peut définir la fonction de coût 0/1 comme suit :
Définition 2.11 (Coût 0/1 – régression) Quand on considère une fonction de décision à valeurs réelles,
on appelle fonction de coût 0/1, ou 0/1 loss, la fonction suivante :
L0/1 : Y × R → R
(
1 si yf (~x) ≤ 0
y, f (~x) 7→
0 sinon.
L’inconvénient de cette fonction de coût est qu’elle n’est pas dérivable, ce qui compliquera les pro-
blèmes d’optimisation l’utilisant. De plus, elle n’est pas très fine : l’erreur est la même que f (~x) soit très
proche ou très loin du seuil de décision. Rappelons que pour une classification parfaite, quand Y = {−1, 1},
yf (~x) = 1. On peut ainsi définir une fonction de coût qui soit d’autant plus grande que yf (~x) s’éloigne de
1 à gauche ; on considère qu’il n’y a pas d’erreur si yf (~x) > 1. Cela conduit à la définition d’erreur hinge,
ainsi appelée car elle forme un coude, ou une charnière (cf. figure 2.4).
Erreur hinge
2.4. Fonctions de coût 27
Définition 2.12 (Erreur hinge) On appelle fonction d’erreur hinge, ou hinge loss, la fonction suivante :
Lhinge : {−1, 1} × R → R
(
0 si yf (~x) ≥ 1
y, f (~x) 7→
1 − yf (~x) sinon.
On peut aussi considérer que f (~x) doit être la plus proche possible de 1 pour les observations positives
(et −1 pour les observations négatives). Ainsi, on pénalisera aussi les cas où yf (~x) s’éloigne de 1 par la
droite, ce que l’on peut faire avec le coût quadratique.
Lsquare : {−1, 1} × R → R
y, f (~x) 7→ (1 − yf (~x))2 .
Enfin, on peut chercher à définir une fonction de décision dont la valeur absolue quantifie notre confiance
en sa prédiction. On cherche alors à ce que yf (~x) soit la plus grande possible, et on utilise le coût logistique.
Coût logistique
Définition 2.14 (Coût logistique) On appelle fonction de coût logistique, ou logistic loss, la fonction sui-
vante :
Llog : {−1, 1} × R → R
y, f (~x) 7→ log (1 + exp(−yf (~x))) .
Si l’on préfère utiliser Y = {0, 1}, le coût logistique est équivalent à l’entropie croisée.
Entropie croisée
Définition 2.15 (Entropie croisée) Dans le cas binaire, on appelle entropie croisée, ou cross-entropy, la
fonction suivante :
LH : {0, 1}×]0, 1[ → R
y, f (~x) 7→ −y log f (~x) − (1 − y) log(1 − f (~x)).
28 Chapitre 2. Apprentissage supervisé
Remarque
L’entropie croisée est issue de la théorie de l’information, d’où son nom. En considérant que la véritable
classe de ~x est modélisée par une distribution Q, et sa classe prédite par une distribution P , nous allons
chercher à modéliser P de sorte qu’elle soit la plus proche possible de Q. On utilise pour cela la divergence
de Kullback-Leibler :
X Q(y = c|~x
KL(Q||P ) = Q(y = c|~x) log
P (y = c|~x)
c=0,1
X X
=− Q(y = c|~x) log P (y = c|~x) + Q(y = c|~x) log Q(y = c|~x)
c=0,1 c=0,1
Comme Q(y = c|~x) vaut soit 0 (c n’est pas la classe de ~x) soit 1 (dans le cas contraire), le deuxième terme
de cette expression est nul et on retrouve ainsi la définition ci-dessus de l’entropie croisée.
Les fonctions de perte pour la classification binaire sont illustrées sur la figure 2.4.
Définition 2.16 (Entropie croisée) Dans le cas multi-classe, on appelle entropie croisée, ou cross-entropy,
la fonction suivante :
LH : {1, 2, . . . , C} × R → R
C
X
y, f (~x) 7→ − δ(y, c) log fc (~x) = − log fy (~x).
c=1
Plusieurs propositions permettent de généraliser la fonction d’erreur hinge au cas multi-classe. Dans
tous les cas, il s’agit d’assurer que la fonction de décision pour la véritable classe de ~x, fy (~x), prend une
valeur supérieure à toutes les autres fonctions de décision fc (~x), c 6= y.
Weston and Watkins (1999) proposent la définition suivante :
X
Lhinge (y, f (~x)) = [1 + fc (~x) − fy (~x)]+ .
c6=y
Crammer and Singer (2001), eux, utilisent un maximum plutôt qu’une somme : définition suivante :
Lhinge (y, f (~x)) = 1 + max fc (~x) − fy (~x) .
c6=y +
Ces fonctions de coût sont rarement utilisées en pratique, et on a tendance à leur préférer l’utilisation
de la perte hinge binaire dans une approche une-contre-une ou une-contre-toutes.
Coût quadratique
Définition 2.17 (Coût quadratique) On appelle fonction de coût quadratique, ou quadratic loss, ou encore
squared error, la fonction suivante :
LSE : R × R → R
1
y, f (~x) 7→ (y − f (~x))2 .
2
Le coefficient 12 permet d’éviter d’avoir des coefficients multiplicateurs quand on dérive le risque em-
pirique pour le minimiser.
30 Chapitre 2. Apprentissage supervisé
Coût -insensible
Le coût quadratique a tendance à être dominé par les valeurs aberrantes : dès que quelques observations
dans le jeu de données ont une prédiction très éloignée de leur étiquette réelle, la qualité de la prédiction
sur les autres observations importe peu. On peut ainsi lui préférer le coût absolu :
Définition 2.18 (Coût absolu) On appelle fonction de coût absolu, ou absolute error, la fonction suivante :
LAE : R × R → R
y, f (~x) 7→ |y − f (~x)|.
Avec cette fonction de coût, même les prédictions très proches de la véritable étiquette sont pénalisées
(même si elles le sont faiblement). Cependant, il est numériquement quasiment impossible d’avoir une
prédiction exacte. Le coût -insensible permet de remédier à cette limitation.
Définition 2.19 (Coût -insensible) Étant donné > 0, on appelle fonction de coût -insensible, ou -
insensitive loss, la fonction suivante :
L : R × R → R
y, f (~x) 7→ max (0, |y − f (~x)| − ) .
Coût de Huber
Le coût -insensible n’est dérivable ni en − ni en +, ce qui complique l’optimisation du risque empi-
rique. La fonction de coût de Huber permet d’établir un bon compromis entre le coût quadratique (dérivable
en 0) et le coût absolu (qui n’explose pas dans les valeurs extrêmes).
Définition 2.20 (Coût de Huber) On appelle fonction de coût de Huber, ou Huber loss, la fonction suivante :
LHuber : R × R → R
(
1
2 (y − f (~x))2 si |y − f (~x)| <
y, f (~x) 7→
|y − f (~x)| − 12 2 sinon.
Les fonctions de coût pour la régression sont illustrées sur la figure 2.5.
Attention
Ainsi, évaluer un algorithme de machine learning sur les données sur lesquelles il a appris ne nous
permet absolument pas de savoir comment il se comportera sur de nouvelles données, en d’autres mots, sa
capacité de généralisation. C’est un point essentiel !
Définition 2.21 (Généralisation) On appelle généralisation la capacité d’un modèle à faire des prédic-
tions correctes sur de nouvelles données, qui n’ont pas été utilisées pour le construire.
2.5.2 Sur-apprentissage
L’exemple, certes extrême, que nous avons pris plus haut, illustre que l’on peut facilement mettre au
point une procédure d’apprentissage qui produise un modèle qui fait de bonnes prédictions sur les données
utilisées pour le construire, mais généralise mal. Au lieu de modéliser la vraie nature des objets qui nous
intéressent, un tel modèle capture aussi (voire surtout) un bruit qui n’est pas pertinent pour l’application
considérée. En effet, dans tout problème d’apprentissage automatique, nos données sont inévitablement
bruitées
— par des erreurs de mesure dues à la faillibilité des capteurs utilisés pour mesurer les variables par
lesquelles on représente nos données, ou à la faillibilité des opérateurs humains qui ont entré ces
mesures dans une base de données ;
32 Chapitre 2. Apprentissage supervisé
— par des erreurs d’étiquetage (souvent appelés teacher’s noise en anglais) dues à la faillibilité des opéra-
teurs humains qui ont étiqueté les données ;
— enfin, parce que les variables mesurées ne suffisent pas à modéliser le phénomène qui nous intéresse,
soit qu’on ne les connaisse pas, soit qu’elles soient coûteuses à mesurer.
Exemple
Supposons que nous voulions classifier des photographies selon qu’elles représentent des pandas ou
non. Chaque image est représentée par les valeurs RGB des pixels qui la composent. Nous aimerions faire en
sorte que le modèle que nous construisons capture la véritable nature d’un panda. Nous pouvons cependant
être exposés à des erreurs de mesure (erreurs techniques des capteurs de l’appareil photo) ainsi que des
erreurs d’étiquetage (erreurs de la personne qui a dû décider, pour chaque photo, s’il s’agissait ou non d’un
panda, et a pu cliquer sur le mauvais choix, ou confondre un panda avec un ours). De plus, nous sommes
limités par notre choix de variables : nos pixels ne capturent pas directement le fait qu’un panda est un
animal rondouillard, avec un masque autour des yeux, généralement entouré de bambous.
Remarque
On voit ici que le choix des variables utilisées pour représenter les données est une étape très impor-
tante du processus de modélisation. Nous verrons d’ailleurs au chapitre 7 que la puissance des réseaux de
neurones profonds qui sont si populaires de nos jours vient de leur capacité à extraire des données une re-
présentation pertinente. Les techniques présentées dans le chapitre 11 pourront être utilisées pour guider
le choix des variables prédictives à utiliser.
Définition 2.22 (Sur-apprentissage) On dit d’un modèle qui, plutôt que de capturer la nature des
objets à étiqueter, modélise aussi le bruit et ne sera pas en mesure de généraliser qu’il sur-apprend. En
anglais, on parle d’overfitting.
Un modèle qui sur-apprend est généralement un modèle trop complexe, qui « colle » trop aux données
et capture donc aussi leur bruit.
À l’inverse, il est aussi possible de construire un modèle trop simple, dont les performances ne soient
bonnes ni sur les données utilisées pour le construire, ni en généralisation.
Définition 2.23 (Sous-apprentissage) On dit d’un modèle qui est trop simple pour avoir de bonnes
performances même sur les données utilisées pour le construire qu’il sous-apprend. En anglais, on parle
d’underfitting.
Ces concepts sont illustrés sur la figure 2.6a pour un problème de classification binaire et la figure 2.6b
pour un problème de régression.
(a) Pour séparer les observations négatives (x) des (b) Les étiquettes y des observations (représentées par
observations positives (+), la droite pointillée sous- des points) ont été générées à partir d’un polynôme de
apprend. La frontière de séparation en trait plein ne fait degré d = 3. Le modèle de degré d = 2 approxime très
aucune erreur sur les données mais est susceptible de mal les données et sous-apprend, tandis que celui de de-
sur-apprendre. La frontière de séparation en trait dis- gré d = 13, dont le risque empirique est plus faible, sur-
continu est un bon compromis. apprend.
Le premier terme, R(f ) − minh∈F R(h), quantifie la distance entre le modèle f et le modèle optimal
sur F. C’est ce que l’on appelle l’erreur d’estimation.
Le second terme, minh∈F R(h) − R∗ , quantifie la qualité du modèle optimal sur F, autrement dit,
la qualité du choix de l’espace des hypothèses. C’est ce que l’on appelle l’erreur d’approximation. Si F est
l’ensemble des fonctions mesurables, alors l’erreur d’approximation est nulle.
Ainsi, l’écriture 2.4 permet de décomposer l’erreur entre un terme qui découle de la qualité de l’espace
des hypothèses et un autre qui découle de la qualité de la procédure d’optimisation utilisée. En pratique,
sauf dans des cas très particuliers où cela est rendu possible par construction, il n’est pas possible de calcu-
ler ces termes d’erreur. Cependant, cette écriture nous permet de comprendre le problème suivant : choisir
un espace des hypothèses plus large permet généralement de réduire l’erreur d’approximation, car un mo-
dèle plus proche de la réalité a plus de chances de se trouver dans cet espace. Cependant, puisque cet espace
est plus vaste, la solution optimale y est aussi généralement plus difficile à trouver : l’erreur d’estimation,
elle, augmente. C’est dans ce cas qu’il y a sur-apprentissage.
Un espace des hypothèses plus large permet généralement de construire des modèles plus complexes :
par exemple, l’ensemble des droites vs. l’ensemble des polynômes de degré 9 (cf. figure 2.6b). C’est une
variante du principe du rasoir d’Ockham, selon lequel les hypothèses les plus simples sont les plus vraisem-
blables.
Il y a donc un compromis entre erreur d’approximation et erreur d’estimation : il est difficile de ré-
duire l’une sans augmenter l’autre. Ce compromis est généralement appelé compromis biais-variance : l’er-
reur d’approximation correspond au biais de la procédure d’apprentissage, tandis que l’erreur d’estimation
correspond à sa variance. On retrouvera ce compromis dans l’estimation bayésienne de paramètres à la
34 Chapitre 2. Apprentissage supervisé
section 4.3.3.
Exemple
Considérons pour un problème de régression un espace des hypothèses naïf qui ne contient que des
fonctions constantes. Supposons que les étiquettes soient générées par une distribution normale centrée
en a. Quelles que soient les données observées, la procédure d’apprentissage va construire un modèle qui
retourne a quelle que soit l’observation concernée : la variance de la procédure par rapport au jeu de don-
nées est très faible. À l’inverse, comme la fonction de prédiction apprise est très peu sensible au jeu de
données, il y a un biais très important qui conduit à construire des prédicteurs qui retournent a pour toutes
les observations.
2.5.4 Régularisation
Plus un modèle est simple, et moins il a de chances de sur-apprendre. Pour limiter le risque de sur-
apprentissage, il est donc souhaitable de limiter la complexité d’un modèle. C’est ce que permet de faire la
régularisation, une technique que nous verrons plus en détail au cours de cet ouvrage (à commencer par le
chapitre 6), et qui consiste à ajouter au terme d’erreur que l’on cherche à minimiser un terme qui mesure
la complexité du problème (par exemple, dans le cas précédent, le degré du polynôme ou le nombre de
coefficients du modèle). Ainsi, un modèle complexe qui a une erreur empirique faible peut être défavorisé
face à une modèle plus simple, même si celui-ci présente une erreur empirique plus élevée.
Points clefs
— Les trois ingrédients d’un algorithme d’apprentissage supervisé sont :
— l’espace des hypothèses,
— la fonction de coût,
— l’algorithme d’optimisation qui permet de trouver l’hypothèse optimale au sens de la fonction
de coût sur les données (minimisation du risque empirique).
— Le compromis biais-variance traduit le compromis entre l’erreur d’approximation, correspondant
au biais de l’algorithme d’apprentissage, et l’erreur d’estimation, correspondant à sa variance.
— La généralisation et le sur-apprentissage sont des préoccupations majeures en machine learning :
comment s’assurer que des modèles entraînés pour minimiser leur erreur de prédiction sur les don-
nées observées seront généralisables aux données pour lesquelles il nous intéresse de faire des pré-
dictions ?
Bibliographie
Crammer, K. and Singer, Y. (2001). On the algorithmic implementation of multiclass kernel-based vector
machines. Journal of Machine Learning Research, 2 :265–292.
Friedman, J. H. (1997). On bias, variance, 0/1-loss and the curse of dimensionality. Data Mining and Knowledge
Discovery, 1 :55–77.
Kearns, M. J. et Vazirani, U. V. (1994). An Introduction to Computational Learning Theory. MIT Press, Cambridge,
MA.
Vapnik, V. N. (1995). The Nature of Statistical Learning Theory. Springer, New York.
Weston, J. and Watkins, C. (1999). Support vector machines for multi-class pattern recognition. In European
Symposium on Artificial Neural Networks.
Chapitre 3
Nous avons formalisé au chapitre 2 l’apprentissage supervisé comme la recherche d’un modèle dont
l’erreur empirique est minimale sur un ensemble donné d’observations. Cependant, minimiser cette erreur
empirique ne garantit pas de minimiser l’erreur du modèle sur la totalité de l’espace des données. En effet,
dans une situation de sur-apprentissage, l’erreur du modèle sera sous-estimée. C’est cependant cette erreur,
ou, en d’autres mots, notre capacité à faire des prédictions sur des choses qui ne sont pas connues, qui nous
intéresse. Ce chapitre présente comment mettre en place un cadre expérimental qui permette d’évaluer un
modèle en évitant le biais du sur-apprentissage. Dans cette optique, nous veillerons à distinguer l’évaluation
d’un modèle, qui consiste à déterminer sa performance sur l’espace des données dans sa totalité, de sa
sélection, qui consiste à choisir le meilleur modèle parmi plusieurs.
Objectifs
— concevoir un cadre expérimental dans lequel sélectionner un modèle d’apprentissage supervisé ;
— choisir un ou des critères d’évaluation d’un modèle d’apprentissage supervisé ;
— estimer la performance en généralisation d’un modèle d’apprentissage supervisé.
Le théorème du no free lunch de Wolpert et Macready (1997) indique qu’aucun algorithme de machine
learning ne peut bien fonctionner pour tous les problèmes d’apprentissage : un algorithme qui fonctionne
bien sur un type particulier de problèmes le compensera en fonctionnant moins bien sur d’autres types de
problèmes. En d’autres termes, il n’y a pas de « baguette magique » qui puisse résoudre tous nos problèmes
de machine learning, et il est donc essentiel, pour un problème donné, de tester plusieurs possibilités afin
de sélectionner le modèle optimal. Notons au passage que plusieurs critères peuvent intervenir dans ce
choix : non seulement celui de la qualité des prédictions, qui nous intéresse dans ce chapitre, mais aussi
celui des ressources de calcul nécessaires, qui peuvent être un facteur limitant en pratique.
36
3.1. Estimation empirique de l’erreur de généralisation 37
Comme nous n’avons pas utilisé le jeu de test pour entraîner notre modèle, il peut être considéré comme
un jeu de données « nouvelles ». La perte calculée sur ce jeu de test est un estimateur de l’erreur de géné-
ralisation.
1 X
fˆ = arg min L(y, fk (~x)) (3.1)
k=1,...,K |Dte |
~
x,y∈Dte
Mais quelle est son erreur de généralisation ? Comme nous avons utilisé Dte pour sélectionner le modèle,
il ne représente plus un jeu indépendant composé de données nouvelles, inutilisées pour déterminer le
modèle.
La solution est alors de découper notre jeu de données en trois parties :
— Un jeu d’entraînement Dtr sur lequel nous pourrons entraîner nos K algorithmes d’apprentissage ;
— Un jeu de validation (validation set en anglais) Dval sur lequel nous évaluerons les K modèles ainsi
obtenus, afin de sélectionner un modèle définitif ;
— Un jeu de test Dte sur lequel nous évaluerons enfin l’erreur de généralisation du modèle choisi.
On voit ici qu’il est important de distinguer la sélection d’un modèle de son évaluation : les faire sur les
mêmes données peut nous conduire à sous-estimer l’erreur de généralisation et le sur-apprentissage du
modèle choisi.
Remarque
Une fois un modèle sélectionné, on peut le ré-entraîner sur l’union du jeu d’entraînement et du jeu de
validation afin de construire un modèle final.
Chaque observation étiquetée du jeu D appartient à un unique jeu de test, et à (K − 1) jeux d’entraîne-
ment. Ainsi, cette procédure génère une prédiction par observation de D. Pour conclure sur la performance
du modèle, on peut :
— soit évaluer la qualité des prédictions sur D ;
— soit évaluer la qualité de chacun des K prédicteurs sur le jeu de test Dk correspondant, et moyenner
leurs performances. Cette deuxième approche permet aussi de rapporter l’écart-type de ces perfor-
mances, ce qui permet de se faire une meilleure idée de la variabilité de la qualité des prédictions
en fonction des données d’entraînement.
Figure 3.1 – Une validation croisée en 5 folds : Chaque observation appartient à un des 5 jeux de validation
(en blanc) et aux 4 autres jeux d’entraînement (en noir).
Stratification
Définition 3.3 (Validation croisée stratifiée) Une validation croisée est dite stratifiée si la moyenne
des étiquettes des observations est sensiblement la même dans chacun des K sous-ensembles Dk :
1 X i 1 X i 1 X i 1 X i
y ≈ y ≈ ··· ≈ y ≈ y.
|D1 | |D2 | |DK | |D|
i∈D1 i∈D2 i∈DK i∈D
Dans le cas d’un problème de classification, cela signifie que la proportion d’exemples de chaque classe
est la même dans chacun des Dk . Cette proportion est donc aussi la même que dans le jeu de données D
complet.
L’intérêt de cette procédure est de faire en sorte que la distribution des observations au sein de chaque
Dk soit la même qu’au sein du jeu de données D. Imaginons que par malchance un des folds ne contienne
que des exemples positifs dans son jeu d’entraînement et que des exemples négatifs dans son jeu de test :
il est vraisemblable que, sur ce fold, tout modèle apprenne à prédire que tout est positif et ait une très
mauvaise performance.
3.1. Estimation empirique de l’erreur de généralisation 39
Leave-one-out
Définition 3.4 (Validation croisée leave-one-out) Une validation croisée dont le nombre de folds est
égal au nombre d’observations dans le jeu d’entraînement, et dont chaque fold est donc composé d’un jeu
d’entraînement de taille n − 1 et d’un jeu de test de taille 1, est appelée leave one out : on met de côté, pour
chaque fold, un unique exemple.
L’évaluation par leave-one-out présente deux inconvénients. Tout d’abord, elle requiert un grand temps
de calcul : on entraîne n modèles, chacun sur n−1 observations, au lieu de (dans le cas K = 10) 10 modèles,
chacun sur 90% des observations. De plus, les jeux d’entraînement ainsi formés sont très similaires entre
eux. Les modèles entraînés seront eux aussi très similaires, et généralement peu différents d’un modèle
entraîné sur l’intégralité du jeu de données. Par contre, les jeux de test seront disjoints, et les performances
pourront ainsi avoir une grande variabilité, ce qui compliquera leur interprétation.
3.1.4 Bootstrap
Une autre façon de rééchantillonner les données afin d’estimer l’erreur de généralisation est connue
sous le nom de bootstrap.
Définition 3.5 (Bootstrap) Étant donné un jeu D de n observations, et un nombre B, on appelle boots-
trap la procédure qui consiste à créer B échantillons D1 , D2 , . . . , DB de D, obtenus chacun en tirant n
exemples de D avec remplacement. Ainsi, chaque exemple peut apparaître plusieurs fois, ou pas du tout,
dans Db .
Le bootstrap est une procédure couramment utilisée en statistiques pour estimer un paramètre en fonc-
tion de son estimation sur les B échantillons. En la suivant, on pourrait entraîner le modèle à évaluer sur
chaque échantillon Db , puis évaluer sa performance sur l’intégralité de D. Cependant, cette estimation se-
rait biaisée par la présence d’une partie des exemples de D dans Db . Il faut donc se limiter aux exemples
de D \ Db . En pratique, cette procédure est jugée trop complexe pour être souvent appliquée.
Remarque
La probabilité que (~x i , y i )
apparaisse dans Db peut être calculée comme le complémentaire à 1 de la
probabilité que (~x i , y i ) ne soit tiré aucune des n fois. La probabilité de (~x i , y i ) soit tiré une fois vaut n1 .
Ainsi
1 n
i i
P[(~x , y ) ∈ Db ] = 1 − 1 − .
n
n
Quand n est grand, cette probabilité vaut donc environ 1 − e−1 ≈ 0.632, car la limite en +∞ de 1 + nx
vaut ex .
Ainsi, Db contient environ deux tiers des observations de D.
40 Chapitre 3. Sélection de modèle et évaluation
Il est possible de dériver de nombreux critères d’évaluation à partir de la matrice de confusion. En voici
quelques exemples :
Définition 3.7 (Rappel) On appelle rappel (recall en anglais), ou sensibilité (sensitivity en anglais), le taux
de vrais positifs, c’est-à-dire la proportion d’exemples positifs correctement identifiés comme tels :
TP
Rappel = .
TP + FN
Il est cependant très facile d’avoir un bon rappel en prédisant que tous les exemples sont positifs. Ainsi,
ce critère ne peut pas être utilisé seul. On lui adjoint ainsi souvent la précision :
Définition 3.8 (Précision) On appelle précision, ou valeur positive prédictive (positive predictive value, PPV)
la proportion de prédictions correctes parmi les prédictions positives :
TP
Précision = .
TP + FP
3.2. Critères de performance 41
De même que l’on peut facilement avoir un très bon rappel au détriment de la précision, il est aisé
d’obtenir une bonne précision (au détriment du rappel) en faisant très peu de prédictions positives (ce qui
réduit le risque qu’elles soient erronées)
Attention
L’anglais distingue precision (la précision ci-dessus) et accuracy, qui est la proportion d’exemples cor-
rectement étiquetés, soit le complémentaire à 1 du taux d’erreur, aussi traduit par précision en français. On
utilisera donc ces termes avec précaution.
Définition 3.10 (Spécificité) On appelle spécificité le taux de vrais négatifs, autrement dit la proportion
d’exemples négatifs correctement identifiés comme tels.
TN
Spécificité = .
FP + TN
Exemple
Prenons l’exemple d’un test clinique pour illustrer ces différents critères. Il ne s’agit pas ici d’un modèle
d’apprentissage automatique, mais d’un frottis de dépistage du cancer du col de l’utérus : il s’agit d’un
examen beaucoup plus simple et moins invasif qu’un examen histologique, qui doit être interprété par un
expert, et servira de vérité terrain.
Les résultats d’une expérience menée sur 4 000 femmes âgées de 40 ans et plus sont présentés sur le
tableau 3.1.
Table 3.1 – Matrice de confusion pour une expérience sur le dépistage du cancer du col de l’utérus par
frottis.
Le rappel est de 95%, la spécificité de 94.5%, mais la précision ne vaut que 47.5%. En effet, ce test est
un bon outil de dépistage : la probabilité de n’avoir effectivement pas de cancer quand le frottis est négatif
est élevée (3590/3600 ≈ 99.7%). Cependant, c’est un mauvais outil diagnostique, au sens où la probabilité
de fausse alarme est très élevée.
42 Chapitre 3. Sélection de modèle et évaluation
Courbe ROC
Définition 3.11 (Courbe ROC) On appelle courbe ROC, de l’anglais Receiver-Operator Characteristic la
courbe décrivant l’évolution de la sensibilité en fonction du complémentaire à 1 de la spécificité, parfois
appelé antispécificité, lorsque le seuil de décision change.
Le terme vient des télécommunications, où ces courbes servent à étudier si un système arrive à séparer
le signal du bruit de fond.
On peut synthétiser une courbe ROC par l’aire sous cette courbe, souvent abrégée AUROC pour Area
Under the ROC.
Un exemple de courbe ROC est présenté sur la figure 3.2. Le point (0, 0) apparaît quand on utilise comme
seuil un nombre supérieur à la plus grande valeur retournée par la fonction de décision : ainsi, tous les
exemples sont étiquetés négatifs. À l’inverse, le point (1, 1) apparaît quand on utilise pour seuil une valeur
inférieure au plus petit score retourné par la fonction de décision : tous les exemples sont alors étiquetés
positifs.
Pour construire la courbe ROC, on prend pour seuil les valeurs successives de la fonction de décision sur
notre jeu de données. Ainsi, à chaque nouvelle valeur de seuil, une observation que l’on prédisait précédem-
ment négative change d’étiquette. Si cette observation est effectivement positive, la sensibilité augmente
3.2. Critères de performance 43
de 1/np (où np est le nombre d’exemples positifs) ; sinon, c’est l’antispécificité qui augmente de 1/nn , où
nn est le nombre d’exemples négatifs. La courbe ROC est donc une courbe en escaliers.
Un classifieur idéal, qui ne commet aucune erreur, associe systématique des scores plus faibles aux
exemples négatifs qu’aux exemples positifs. Sa courbe ROC suit donc le coin supérieur gauche du carré
[0, 1]2 ; il a une aire sous la courbe de 1.
La courbe ROC d’un classifieur aléatoire, qui fera sensiblement la même proportion d’erreurs que de
classifications correctes quel que soit le seuil utilisé, suit la diagonale de ce carré. L’aire sous la courbe ROC
d’un classifieur aléatoire vaut donc 0.5.
Exemple
Pour illustrer la construction d’une courbe ROC, prenons l’exemple décrit sur le tableau 3.2.
Étiquette + - + + - -
Score 0.9 0.8 0.6 0.4 0.3 0.1
Table 3.2 – Exemple de résultats d’une expérience de classification binaire, évaluée sur 6 échantillons.
Pour un seuil supérieur à 0.9, les 6 exemples sont étiquetés négatifs. On commence donc par le point
(0, 0). Pour un seuil entre 0.95 et 0.9, seule la première observation est étiquetée positive. La sensibilité est
donc de 31 tandis que l’antispécificité reste nulle. On peut continuer ainsi jusqu’à utiliser un seuil inférieur
à 0.1 :
Seuil > 0.9 0.8–0.9 0.6–0.8 0.4–0.6 0.3–0.4 0.1–0.3 < 0.1
TP/P 0 1/3 1/3 2/3 1 1 1
FP/P 0 0 1/3 1/3 1/3 2/3 1
La courbe ROC correspondante est visible sur la figure 3.3.
On peut enfin utiliser la courbe ROC pour choisir un seuil de décision, à partir de la sensibilité (ou de la
spécificité) que l’on souhaite garantir.
44 Chapitre 3. Sélection de modèle et évaluation
Courbe précision-rappel
La courbe précision-rappel vient souvent complémenter la courbe ROC.
Définition 3.12 (Courbe précisioj-rappel) On appelle courbe précision-rappel, ou Precision-Recall curve
en anglais, la courbe décrivant l’évolution de la précision en fonction du rappel, lorsque le seuil de décision
change.
Pour synthétiser cette courbe, on peut utiliser l’aire sous celle-ci, souvent abrégée AUPR pour Area Under
the Precision-Recall curve.
Un exemple de courbe précision-rappel, pour les mêmes données que la figure 3.2, est présenté sur la
figure 3.4.
Remarque
Pour le seuil le plus élevé, aucun exemple n’est étiqueté positif, et la précision n’est donc pas définie. Par
convention, on utilise généralement une précision de 1 si la première observation à considérer est positive,
et une précision de 0 sinon.
Exemple
Reprenons l’exemple précédent pour construire une courbe précision-rappel. Les valeurs de la préci-
sion et du rappel sont les suivantes :
Seuil > 0.9 0.8–0.9 0.6–0.8 0.4–0.6 0.3–0.4 0.1–0.3 < 0.1
Rappel 0 1/3 1/3 2/3 1 1 1
Précision – 1 1/2 2/3 3/4 3/5 3/6
Définition 3.13 (Erreur quadratique moyenne (MSE)) Étant données n étiquettes réelles y 1 , y 2 , . . . , y n
et n prédictions f (~x 1 ), f (~x 2 ), . . . , f (~x n ), on appelle erreur quadratique moyenne, ou MSE de l’anglais mean
squared error la valeur
n
1X 2
MSE = f (~x i ) − y i .
n
i=1
Pour mesurer l’erreur dans la même unité que la cible, on lui préfère souvent sa racine :
Définition 3.14 (RMSE) Étant données n étiquettes réelles y 1 , y 2 , . . . , y n et n prédictions f (~x 1 ), f (~x 2 ), . . . , f (~x n ),
on appelle racine de l’erreur quadratique moyenne, ou RMSE de l’anglais root mean squared error la valeur
v
u n
u1 X
RMSE = t (f (~x i ) − y i )2 .
n
i=1
46 Chapitre 3. Sélection de modèle et évaluation
Dans le cas où les valeurs cibles couvrent plusieurs ordres de grandeur, on préfère parfois passer au log
avant de comparer f (~x i ) à y i , afin de ne pas donner plus d’importance aux erreurs faites pour des valeurs
plus élevées.
Définition 3.15 (RMSLE) Étant données n étiquettes réelles y 1 , y 2 , . . . , y n et n prédictions f (~x 1 ), f (~x 2 ), . . . , f (~x n ),
on appelle racine du log de l’erreur quadratique moyenne, ou RMSLE de l’anglais root mean squared log error la va-
leur v
u n
u1 X
RMSLE = t (log (f (~x i ) + 1) − log (y i + 1))2 .
n
i=1
L’interprétation de ces erreurs requiert néanmoins de connaître la distribution des valeurs cibles : une
RMSE de 1 cm n’aura pas la même signification selon qu’on essaie de prédire la taille d’humains ou celle de
drosophiles. Pour répondre à cela, il est possible de normaliser la somme des carrés des résidus non pas en
en faisant la moyenne, mais en la comparant à la somme des distances des valeurs cibles à leur moyenne.
Ce coefficient indique à quel point les valeurs prédites sont corrélées aux valeurs réelles ; attention, il sera
élevé aussi si elles leur sont anti-corrélées.
Points clefs
— Pour éviter le sur-apprentissage, il est essentiel lors de l’étape de sélection du modèle de valider les
différents modèles testés sur un jeu de données différent de celui utilisé pour l’entraînement.
— Pour estimer la performance en généralisation d’un modèle, il est essentiel de l’évaluer sur des don-
nées qui n’ont été utilisées ni pour l’entraînement, ni pour la sélection de ce modèle.
— De nombreux critères permettent d’évaluer la performance prédictive d’un modèle. On les choisira
en fonction de l’application.
— Pour interpréter la performance d’un modèle, il peut être utile de le comparer à une approche naïve.
leurs vraies étiquettes dans D. Le meilleur modèle est celui pour lequel la somme des tailles de ces
représentations est minimale : un bon modèle permet de compresser efficacement les données.
• Pour une discussion détaillée des procédures de validation croisée, on pourra consulter Arlot et
Celisse (2010).
Bibliographie
Arlot, S. et Celisse, A. (2010). A survey of cross-validation procedures for model selection. Statistics Surveys,
4 :40–79.
Davis, J. et Goadrich, M. (2006). The relationship between Precision-Recall and ROC curves. In Proceedings
of the 23rd International Conference on Machine Learning, ICML ’06, pages 233–240, New York, NY, USA. ACM.
Wolpert, D. H. et Macready, W. G. (1997). No free lunch theorems for optimization. IEEE Transactions on
Evolutionary Computation, 1(1) :67–82.
Chapitre 4
Inférence bayésienne
Un des problèmes fondamentaux auxquels nous faisons face dans le cadre du machine learning est
celui de l’incertitude : notre compréhension du monde est limitée par nos observations nécessairement
partielles. Les modèles probabilistes nous permettent de prendre en compte cette incertitude de manière
explicite.
Dans ce chapitre, nous allons voir comment formuler l’apprentissage d’un modèle comme un problème
d’inférence sur une distribution jointe des observations et des paramètres de ce modèle. Nous verrons aussi
comment utiliser le cadre bayésien pour prendre des décisions, ce qui requiert de modéliser additionnel-
lement à quel point il est utile de prendre la bonne décision. À titre illustratif, nous présenterons la classi-
fication bayésienne naïve.
Objectifs
— Formaliser le concept de classe grâce à des modèles probabilistes ;
— Définir des règles de décision, sur la base de tests de rapport de vraisemblance ;
— Estimer une densité par maximum de vraisemblance ou par estimateur de Bayes ;
— Mettre en œuvre un algorithme de classification naïve bayésienne.
49
50 Chapitre 4. Inférence bayésienne
sont la réalisation d’une variable aléatoire peut être une façon efficace de représenter l’information com-
plexe qu’elles contiennent. Ainsi, si l’une de nos variables est le résultat d’un test de dépistage médical, il
est plus simple de la représenter comme la réalisation d’une loi de Bernoulli que de modéliser toutes les
informations biochimiques qui ont pu aboutir à ce résultat. C’est dans ce cadre que nous allons maintenant
nous placer.
Nous discuterons plus en détails de cette règle de décision et d’autres dans la section 4.2.
À partir de maintenant, nous écrirons parfois P(~x) au lieu de P(X = ~x) quand il n’y a pas d’ambiguité.
P(Y = c)P(~x|Y = c)
P(Y = c|~x) = . (4.2)
P(~x)
Chacun des éléments de cette équation joue un rôle bien précis et porte ainsi un nom :
— P(Y = c) est la distribution a priori des étiquettes, avant d’avoir observé les données ;
— P(~x|Y = c) est la vraisemblance. Elle quantifie à quel point il est vraisemblable que l’on observe la
réalisation ~x de X sachant que la classe est c ;
— P(Y = c|~x) est la distribution a posteriori des étiquettes, après avoir observé les données.
Le dénominateur P(~x) est la probabilité marginale que ~x soit observée, indépendamment de sa classe.
P P(~x) = P(~x|Y = 0)P (Y = 0) + P(~x|Y = 1)P (Y = 1). Dans le cas
Il peut être réécrit sous la forme
multi-classe, on écrira P(~x) = C c=1 P(~x|Y = c)P (Y = c).
4.2. Règles de décision 51
Exemple
Prenons le cas du dépistage du cancer du col de l’utérus par frottis sanguin. Ce test, bien que simple
à réaliser, est assez imprécis : il a une sensibilité (la proportion de personnes atteintes pour lequel il est
positif) d’environ 70% 1 , et une spécificité (la proportion de personnes non atteintes pour lequel il est
négatif) d’environ 98%. (Pour plus de détails sur la sensibilité et la spécificité, voir la section 3.2.1.) De plus,
l’incidence de la maladie est d’environ 1 femme sur 10 000 2 .
Quelle est la probabilité qu’une personne testée soit atteinte d’un cancer si le test est positif ? C’est un
problème d’inférence bayésienne.
Soient X une variable aléatoire à valeurs dans {0, 1} modélisant le résultat du test (1 pour positif, 0
pour négatif), et Y une variable aléatoire à valeurs dans {0, 1} modélisant le statut de la personne testée
(1 pour malade, 0 pour non atteinte).
Inférence : Nous cherchons à calculer P(Y = 1|X = 1). Appliquons la loi de Bayes :
P(X = 1|Y = 1) n’est autre que la sensibilité du test, autrement dit, P(X = 1|Y = 1) = 0, 70.
P(Y = 1) est l’incidence de la maladie, soit 10−4 . Enfin, P(X = 1) = P(X = 1|Y = 1)P(Y = 1) +
P(X = 1|Y = 0)P(Y = 0). Nous connaissons déjà les deux premiers termes de cette équation. De plus,
P(X = 1|Y = 0) = 1 − 0, 90 = 0, 02, et P(Y = 0) = 1 − P(Y = 1) = 0, 9999. Ainsi,
0, 70 × 10−4
P(Y = 1|X = 1) = = 0, 0035.
0, 70 × 10−4 + 0, 02 × 0, 9999
Prédiction : Ainsi, la probabilité qu’une personne dont le test est positif soit atteinte est seulement de
0, 35%. Sans autre information, P(Y = 0|X = 1) > P(Y = 0|X = 1) et la règle de décision 4.1 retournera
une prédiction négative pour tous les tests positifs.
P(~x) n’affecte pas cette règle de décision et peut donc être éliminée. Remarquons néanmoins que P(~x) sera
nécessaire si nous voulons estimer la valeur a posteriori P(Y = ŷ|~x) pour quantifier la qualité de notre
décision.
Définition 4.1 (Décision par maximum a posteriori) Dans le cas binaire, la règle de décision
(
1 si P(~x|Y = 1)P(Y = 1) > P(~x|Y = 0)P(Y = 0)
ŷ = (4.3)
0 sinon.
P(~x|Y = 1)
Λ(~x) = ,
P(~x|Y = 0)
La règle de décision par maximum a posteriori peut être reformulée comme ce que l’on appelle un test
du rapport de vraisemblance : ( =0)
1 si Λ(~x) > P(Y
P(Y =1)
ŷ = (4.4)
0 sinon.
Dans le cas où l’on fait l’hypothèse d’égalité des distributions a priori, P(Y = 0) = P(Y = 1) et l’on
comparera le rapport de vraisemblance à 1.
Définition 4.3 (Décision par maximum de vraisemblance) La règle de décision
(
1 si P(~x|Y = 1) > P(~x|Y = 0)
ŷ =
0 sinon.
Remarque
Dans de nombreux cas, on préfèrera passer au log et évaluer le signe de log Λ(~x).
Exemple
Supposons que nous disposions d’un échantillon d’une population de poissons d’une même espèce,
parmi lesquels se trouvent des mâles et des femelles. Nous cherchons à déterminer leur sexe, modélisé
comme une variable aléatoire binaire Y (0 pour les mâles, 1 pour les femelles), uniquement à partir de leur
longueur, modélisée comme une variable aléatoire continue X. Nous allons supposer la distribution des
longueurs des mâles normalement distribuée, centrée en 4 cm et d’écart-type 1 cm, et celle des longueurs
des femelles normalement distribuée, centrée en 6 cm, et d’écart-type 1 cm.
Ainsi, si l’on suppose les proportions de mâles et de femelles identiques dans notre échantillon, la règle
de décision par maximum a posteriori est équivalente à la règle de décision par maximum de vraisemblance
et consiste à prédire qu’un poisson est une femelle si sa longueur est supérieure à 5 cm et un mâle sinon.
Cette règle de décision est illustrée sur la figure 4.1a.
Supposons maintenant que l’on sache avoir cinq fois plus de femelles que de mâles dans notre échan-
=0) 1
tillon. Le rapport des distributions a priori vaut donc P(YP(Y =1) = 5 . Nous comparons donc le logarithme
du rapport de vraisemblance à ln 15 . Nous allons prédire qu’un poisson est une femelle si sa longueur est
supérieure à 5 − ln(5)/4 ≈ 4.58 : il est plus probable que précédemment qu’un poisson d’une taille légè-
rement inférieure à 5 cm soit femelle. On observe un déplacement de la valeur seuil en accord avec notre
connaissance a priori du problème. Cette règle de décision est illustrée sur la figure 4.1b.
(a) Si les deux classes sont également probables, les pois- (b) Si un poisson a cinq fois plus de chances a priori
sons dont la taille est inférieure à 5 cm sont étiquetés d’être femelle, les poissons dont la taille est inférieure
mâles et les autres femelles. à 4,58 cm sont étiquetés mâles et les autres femelles.
Figure 4.1 – Règle de décision pour le sexe d’un guppy en fonction de sa taille.
Exemple
Dois-je prendre ou non mon parapluie ce matin ? Nous pouvons modéliser ce problème de la façon sui-
vante : A contient deux actions (« prendre mon parapluie » et « ne pas prendre mon parapluie »). Y contient
les vérités « il ne pleut pas », « il pleut un peu », « il pleut fort », « il y a beaucoup de vent ». Enfin, X est un
espace décrivant les informations sur lesquelles je peux m’appuyer, comme les prévisions météorologiques
et la couleur du ciel quand je pars de chez moi. Je peux choisir la fonction de coût suivante :
Dans ce cadre, il est raisonnable de choisir l’action a qui minimise la probabilité d’erreur, autrement
dit l’espérance de la fonction de coût :
Définition 4.4 (Décision de Bayes) La règle de décision qui consiste à choisir l’action a∗ qui minimise
l’espérance de la fonction de coût est appellée règle de décision de Bayes :
X
a∗ (~x) = arg min E[L(y, a)] = arg min P(Y = y|~x)L(y, a). (4.5)
a∈A a∈A y∈Y
On parlera aussi du principe de minimisation de la perte espérée (minimum expected loss en anglais.)
Remarque
En économie, on préfère au concept de fonction de coût celui d’utilité. L’utilité peut être simplement dé-
finie comme l’opposé d’une fonction de coût. Le principe ci-dessus s’appelle alors la maximisation de l’utilité
espérée (maximum expected utility en anglais.)
4.2. Règles de décision 55
Cette approche est à contraster avec la minimisation du risque empirique 2.3, dans laquelle on rem-
place la distribution P(X, Y ) par sa distribution empirique obtenue en partageant également la masse de
probabilité entre les n observations
n
1X
P(X = ~x, Y = y|D) = δ(y, y i )δ(~x, ~x i ). (4.6)
n
i=1
Par contraste, dans le cadre bayésien, on paramétrise la distribution P(X, Y ) par un paramètre θ~ optimisé
sur D. Dans le cadre empirique, les hypothèses sur la distribution des données sont potentiellement sim-
plistes ; mais dans le cadre bayésien, cette distribution est apprise sans considérer le processus de décision
dans lequel elle sera utilisée.
Alors que la décision de Bayes consiste à choisir, pour une observation donnée, l’espérance de la fonc-
tion de coût, on définit le risque de Bayes comme l’espérance globale de la fonction de coût :
Définition 4.5 (Risque de Bayes) Le risque de Bayes est l’espérance du coût sous la règle de décision de
Bayes. Z X
r= L(y, a∗ (~x))P(~x, y) d~x. (4.7)
x∈X y∈Y
~
Définir une stratégie qui minimise le risque de Bayes est équivalent à appliquer la règle de décision de
Bayes.
L:Y ×Y →R
c, k 7→ λck
quantifie maintenant le coût de prédire la classe k quand la classe véritable est c (voir section 2.4). La règle
de décision de Bayes (équation 4.5) est équivalente à la règle de décision suivante :
(
1 si λ11 P(Y = 1|~x) + λ10 P(Y = 0|~x) ≤ λ01 P(Y = 1|~x) + λ00 P(Y = 0|~x)
ŷ = (4.8)
0 sinon.
K
X
ŷ = arg min λkc P(Y = k|~x).
c=1,...,C k=1
56 Chapitre 4. Inférence bayésienne
Coût 0/1
On retrouve le coût 0/1 (section 2.4) en utilisant λck = 1 − δ(k, c). L’équation 4.8 devient
(
1 si P(Y = 0|~x) ≤ P(Y = 1|~x)
ŷ = (4.10)
0 sinon
et ainsi la règle de décision de Bayes est équivalente à la règle décision par maximum a posteriori. Ceci est
vrai aussi dans le cas multi-classe.
Le coût 0/1 n’est pas la seule fonction de coût possible, même pour un problème de classification bi-
naire. En particulier, toutes les erreurs de classification ne sont pas nécessairement également coûteuses.
Par exemple, prédire qu’une patiente atteinte d’un cancer est en bonne santé peut être largement plus
problématique que l’inverse.
Régions de décision
Les règles de décisions peuvent aussi s’exprimer en termes de régions de décision (cf. section 2.1) : la
règle de décision consiste simplement à étiqueter l’observation ~x en accord avec la région de décision à
laquelle elle appartient : (
1 si ~x ∈ R1
ŷ = (4.11)
0 sinon.
Dans le cas multi-classe, cette règle revient à
C
X
ŷ = δ~x∈Rc .
c=1
Cette règle de décision est équivalente à la règle de décision de Bayes si l’on définit comme fonction
discriminante la fonction :
f (~x) = (λ01 P(Y = 1|~x) + λ00 P(Y = 0|~x)) −
(4.12)
(λ11 P(Y = 1|~x) + λ10 P(Y = 0|~x)) ,
ou, dans le cas multi-classe
C
X
fc (~x) = − λck P(Y = k|~x).
k=1
Dans le cas du coût 0/1, la fonction discriminante vaut f (~x) = P(Y = 1|~x) − P(Y = 0|~x) et la règle de
décision de Bayes est bien équivalente à la décision par maximum a posteriori (équation 4.4).
Le risque de Bayes(4.7) peut s’exprimer en fonction des régions de décision :
Z
r= λ0,a∗ (~x) P(~x|Y = 0)P(Y = 0) + λ1,a∗ (~x) P(~x|Y = 1)P(Y = 1) d~x
Z~x∈X
= λ00 P(~x|Y = 0)P(Y = 0) + λ10 P(~x|Y = 1)P(Y = 1) d~x (4.13)
x∈R0
~
Z
+ λ01 P(~x|Y = 0)P(Y = 0) + λ11 P(~x|Y = 1)P(Y = 1) d~x.
x∈R1
~
Définir les régions de décision de sorte à minimiser le risque de Bayes est équivalent à utiliser la fonction
discriminante définie par l’équation 4.12. Cela vaut aussi pour le cas multi-classe, où
X C Z XC
r= λck P(~x|Y = c)P(Y = c) d~x.
x∈Rk c=1
k=1 ~
4.3. Estimation de densité 57
Rejet
Pour certaines applications, il peut être intéressant que l’algorithme refuse de prendre une décision
quand sa confiance en sa prédiction est faible, autrement dit, quand le rapport de vraisemblance est très
proche de 1. Dans ce cas, on pourra rajouter une classe artificielle C + 1 de rejet. On peut adapter le coût
0/1 à ce cas en proposant
0 si k = c
λck = λ si k = C + 1 (4.14)
1 sinon,
avec 0 < λ < 1. La règle de décision par minimisation de la perte espérée devient alors
(
c si P(Y = c|~x) ≥ P(Y = k|~x) ∀k 6= c
ŷ = (4.15)
rejet sinon.
Dans ce cas, les régions de décision R1 , . . . RC ne couvrent pas X et la réunion de leur complémentaire
est la zone de rejet.
Pour trouver θ̂MLE , nous allons supposer que les n observations sont indépendantes et identiquement dis-
tribuées (ou iid). Cela nous permet de décomposer la vraisemblance comme
n
Y
P(D|θ) = P(X = ~x i |θ). (4.17)
i=1
Enfin, remarquons que pour simplifier les calculs, on choisira souvent de maximiser non pas directe-
ment la vraisemblance mais son logarithme :
n
X
θ̂MLE = arg max log P(X = ~x i |θ). (4.18)
θ i=1
Exemple
Prenons l’exemple d’un jeu de pile ou face. Nous modélisons l’observation « pile » ou « face » comme
la réalisation d’une variable aléatoire X, définie sur l’univers X = {0, 1} (0 correspondant à « pile » et 1
58 Chapitre 4. Inférence bayésienne
à « face »), et suivant une loi de probabilité P. Un choix classique pour cette loi de probabilité est d’utiliser
une loi de Bernoulli : (
p si x = 1
P(X = x) = (4.19)
(1 − p) si x = 0,
ou, de manière équivalente, P(X = x) = px (1 − p)1−x . Supposons D = {x1 , x2 , . . . , xn } constitué de n
observations iid. D’après l’équation 4.18, l’estimateur par maximum de vraisemblance de p est
n n i
i
X X
p̂MLE = arg max log P(X = xi |p) = arg max log px (1 − p)1−x
p∈[0,1] i=1 p∈[0,1] i=1
n n
!
X X
= arg max xi log p + n− xi log(1 − p).
p∈[0,1] i=1 i=1
Pn Pn
xi log p+ xi
La fonction L : p 7→ i=1 n− log(1−p) est concave, nous pouvons donc la maximiser
i=1
en annulant sa dérivée :
n n
!
∂L X i 1 X 1
= x − n− xi ,
∂p p 1−p
i=1 i=1
ce qui nous donne
n n
!
X X
i i
(1 − p̂MLE ) x − p̂MLE n− x =0
i=1 i=1
et donc
n
1X i
p̂MLE = x. (4.20)
n
i=1
L’estimateur par maximum de vraisemblance de p est tout simplement la moyenne de l’échantillon.
Exemple
Reprenons l’exemple du test de dépistage du cancer du col de l’utérus. Alors que dans l’exemple précé-
dent, P(X|Y = 0) et P(X|Y = 1) étaient données, nous allons maintenant les estimer à partir de données
observées. Supposons que nous observions un jeu D0 de n0 personnes non atteintes, parmi lesquelles t0
ont un test négatif, et un jeu D1 de n1 personnes atteintes, parmi lesquelles t1 ont un test positif. La pré-
valence de la maladie est P(Y = 1) = π. Nous pouvons modéliser la probabilité P(X|Y = 1) par une loi
de Bernoulli de paramètre p1 , et P(X|Y = 0) par une loi de Bernoulli de paramètre p0 .
La probabilité qu’une personne dont le test est positif soit atteinte est
P(X = 1|Y = 1)P(Y = 1)
P(Y = 1|X = 1) = .
P(X = 1)
Nous savons que P(X = x|Y = 0) = px0 (1 − p0 )1−x et P(X = x|Y = 1) = px1 (1 − p1 )1−x . Ainsi,
p1 π
P(Y = 1|X = 1) = .
p1 π + p0 (1 − π)
Nous pouvons remplacer dans cette équation p0 et p1 par leurs estimateurs par maximum de vraisemblance
(équation 4.20) :
t0 t1
p̂0 = 1 − et p̂1 = . (4.21)
n0 n1
Il s’agit respectivement de la spécificité et de la sensibilité estimées du test. En utilisant nt00 = 0, 98, nt11 =
0, 70 et π = 10−5 , on retrouve les résultats précédents.
4.3. Estimation de densité 59
Cette dernière égalité s’obtient en remarquant que ni E[θ] ni E[θ2 ] ne dépendent de θ̂. Cette espérance est
prise sur la distribution de θ et de X, qui nous sert à estimer θ ; ainsi
Z
θ̂Bayes = E[θ|X] = θP(θ|X) dθ. (4.24)
Quand la distribution a priori du paramètre est uniforme, l’estimateur de Bayes est équivalent à l’esti-
mateur par maximum de vraisemblance.
Exemple
Reprenons notre exemple de dépistage du cancer du col de l’utérus, et supposons maintenant que p0 et
p1 suivent chacun une loi bêta de paramètres (α0 , β0 ) et (α1 , β1 ) respectivement. La densité de probabilité
de la loi bêta de paramètres α, β > 0, définie sur 0 ≤ u ≤ 1, est donnée par :
uα−1 (1 − u)β−1
fα,β (u) = (4.25)
B(α, β)
où B(α, β) = Γ(α)Γ(β)
Γ(α+β) et Γ est la fonction gamma. L’espérance de cette loi est α+β .
α
Pour calculer l’estimateur de Bayes de p0 , il nous faut connaître la loi P(p0 |D0 ).
La loi de Bayes nous permet d’écrire
P(D0 |p0 )P(p0 )
P(p0 |D0 ) =
P(D0 )
0 n
1 i i
px0 (1 − p0 )1−x pα0 0 −1 (1 − p0 )β0 −1 (hypothèse iid)
Y
=
P(D0 )B(α0 , β0 )
i=1
1
= pn0 −t0 +α0 −1 (1 − p0 )t0 +β0 −1 .
P(D0 )B(α0 , β0 ) 0
60 Chapitre 4. Inférence bayésienne
Ainsi p0 |D0 suit une distribution beta de paramètres (n0 − t0 + α0 ) et (t0 + β0 ). L’estimateur de Bayes de
p0 est ainsi
(n0 − t0 + α0 ) n0 − t0 + α0
pe0 = E[p0 |D0 ] = = . (4.26)
(n0 − t0 + α0 ) + (t0 + β0 ) n0 + α0 + β 0
En utilisant l’équation 4.21, on peut réécrire l’équation 4.26 sous la forme
n0 α0 + β 0 α0
pe0 = pb0 + .
n0 + α0 + β 0 n0 + α0 + β 0 α0 + β 0
Quand le nombre d’observations n0 est grand, l’estimateur de Bayes pe0 est proche de l’estimateur par maxi-
mum de vraisemblance pb0 . À l’inverse, si n0 est faible, l’estimateur de Bayes est proche de α0α+β 0
0
qui est
l’espérance de la distribution a priori sur p0 . Ainsi, plus on a de données, plus on leur fait confiance et plus
l’estimateur s’éloigne de l’espérance a priori du paramètre, dont on sera plus proche avec peu d’observa-
tions.
Le même raisonnement s’applique à p1 , dont l’estimateur de Bayes est
t1 + α1 n1 α1 + β1 α1
pe1 = = pb1 + . (4.27)
n1 + α1 + β1 n1 + α1 + β1 n1 + α1 + β1 α1 + β1
Cette dernière égalité est obtenue en remarquant que E[θ̂] − θ est déterministe et que E[(E[θ̂] − θ)] =
E[E[θ̂]] − E[θ] = 0. Ainsi l’erreur quadratique moyenne d’un estimateur est la somme de sa variance et du
carré de son biais. C’est pourquoi un estimateur biaisé peut, si sa variance est plus faible, avoir une erreur
quadratique moyenne plus faible qu’un estimateur non biaisé. On retrouve ici la notion de compromis biais-
variance de la section 2.5.3.
4.4.1 Principes
Dans les exemples que nous avons vu jusqu’à présent, les variables aléatoires que nous avons utilisées
étaient unidimensionnelles. Cependant, dans la plupart des applications, les données sont multi-dimensionnelles.
Cela peut grandement compliquer les calculs, sauf dans le cas où nous faisons l’hypothèse naïve que les va-
riables sont conditionnellement indépendantes.
4.4. Classification naïve bayésienne 61
Définition 4.8 (Classifieur bayésien naïf) On appelle classifieur bayésien naïf, ou naive Bayes classifier en
anglais, un classifieur construit en appliquant la règle de décision par maximum a posteriori à des obser-
vations multi-dimensionnelles dont on suppose que les variables sont indépendantes conditionnellement
à l’étiquette.
La règle de décision prend la forme
p
Y
yb = arg max P(Y = c) P(Xj = xj |Y = c). (4.30)
c=1,...,C j=1
Notre première tâche est de trouver une représentation p-dimensionnelle d’e-mails. Pour ce faire, nous
allons choisir p mots clés, tels que « riche », « célibataire », « gagner », « cliquer », dont la présence sera
informative sur la probabilité du message d’être un spam. En pratique, on peut utiliser l’ensemble des mots
qui apparaissent dans les e-mails de notre base de données d’entraînement, en excluant éventuellement
les mots neutres tels que les articles (« le », « la », « un »).
Un e-mail sera ensuite représenté par p variables binaires, chacune correspondant à un des mots de
notre liste, et valant 1 si le mot apparaît dans l’e-mail, 0 sinon.
Nous allons donc modéliser chacune de ces variables comme la réalisation d’une variable aléatoire bi-
naire Xj suivant une loi de Bernoulli de paramètre pj . Nous modélisons aussi l’étiquette comme la réalisa-
tion d’une variable aléatoire binaire Y .
Pour pouvoir utiliser un classifieur naïf bayésien, nous allons supposer que les variables sont indépen-
dantes conditionnellement à l’étiquette. Cette hypothèse est effectivement naïve : parmi les spams, certains
mots sont plus probables une fois qu’on sait qu’un autre mot est présent (par exemple, « célibataire » est
plus susceptible d’apparaître une fois que l’on sait que le mot « rencontre » est présent.) En pratique, cela
n’empêche pas le classifieur d’avoir d’assez bons résultats.
62 Chapitre 4. Inférence bayésienne
Maximum a posteriori
Inférence
Il nous reste donc à déterminer P(Y = 1), P(Y = 0), et pour chaque variable Xj , P(Xj = xj |Y = 0)
et P(Xj = xj |Y = 1).
P(Y = 1) est tout simplement la fréquence des spams dans notre jeu de données d’entraînement, et
P(Y = 0) = 1 − P(Y = 1) la fréquence des e-mails légitimes. On peut aussi utiliser des statistiques sur la
question, qui donnent la proportion de spams parmi les e-mails qui circulent aux alentours de 80%.
Comme nous avons fait le choix de modéliser Xj comme une variable aléatoire suivant une loi de Ber-
x
noulli, P(Xj = xj |Y = 1) = pj j (1 − pj )1−xj . On pourrait utiliser, pour estimer pj , l’estimateur par
S
maximum de vraisemblance (équation 4.20) : pbj = Sj où Sj est le nombre de spams contenant le j-ème
mot et S le nombre de spams dans notre jeu de données.
Cependant, cet estimateur est peu adapté aux mots rares : si notre j-ème mot n’apparaît pas du tout
dans le jeu d’entraînement, Sj = S = 0. Pour cette raison, on préfèrera appliquer ce que l’on appelle un
lissage de Laplace pour obtenir l’estimateur suivant :
Sj + 1
pbj = . (4.32)
S+2
P(D|M)P(M)
P(M|D) = . (4.33)
P(D)
La maximisation a posteriori de l’équation 4.34 est équivalente à minimiser la somme d’un terme carac-
térisant l’erreur empirique (− log P(D|M)) et d’un terme caractérisant la complexité du modèle (− log P(M)).
Cette formulation est similaire à celle de la régularisation (voir section 2.5.4). La régularisation peut alors
être comprise comme le fait de choisir une distribution a priori pour M qui favorise les modèles moins
complexes.
C’est dans ce cadre que s’inscrit par exemple le critère de sélection bayésien (BIC). Le détailler dépasse
l’ambition de cet ouvrage.
63
Points clefs
— La modélisation d’un problème d’apprentissage de manière probabiliste se divise en deux tâches :
— Un problème d’inférence, qui consiste à déterminer la loi de probabilité P(Y = c|X) ;
— Une tâche de prédiction, qui consiste à appliquer une règle de décision.
— Le raisonnement probabiliste s’appuie sur la loi de Bayes
— Généralement, la loi de probabilité P(Y = c|X) est modélisée de manière paramétrique et le pro-
blème d’inférence se résout en s’appuyant d’une part sur la loi de Bayes, et d’autre part sur des
estimateurs tels que l’estimateur par maximum de vraisemblance ou l’estimateur de Bayes pour en
déterminer les paramètres.
— La règle de décision de Bayes, qui consiste à minimiser l’espérance de la perte, contraste avec la règle
de minimisation du risque empirique.
Bibliographie
Barber, D. (2012). Bayesian Reasoning and Machine Learning. Cambridge University Press. http://www.cs.
ucl.ac.uk/staff/d.barber/brml/.
Hand, D. J. et Yu, K. (2001). Idiot’s Bayes : not so stupid after all ? International Statistical Review / Revue
Internationale de Statistique, 69(3) :385–398.
Murphy, K. P. (2013). Machine Learning : A Probabilistic Perspective. MIT Press, Cambridge, MA, 4th edition.
https://www.cs.ubc.ca/~murphyk/MLbook/.
Ross, S. M. (1987). Introduction to Probability and Statistics for Engineers and Scientists. Wiley, New York.
Chapitre 5
Régressions paramétriques
Un modèle de régression paramétrique suppose que la forme analytique de la fonction de décision est
connue. Dans ce contexte, ce chapitre se concentre principalement sur des problèmes de régression linéaire,
c’est-à-dire ceux pour lesquels la fonction de décision est une fonction linéaire des descripteurs.
Les modèles linéaires ont une longue histoire dans le domaine des statistiques, depuis bien avant le
développement des ordinateurs ; mais nous ne les étudions pas que pour cette raison. En effet, malgré leur
simplicité, ils peuvent avoir de bonnes performances, meilleures parfois que celles de modèles non linéaires
plus populaires (surtout dans le cas où la taille du jeu d’entraînement est faible). De plus, ces modèles sont
facilement interprétables. Enfin, leur compréhension est une excellente base sur laquelle construire des
modèles non linéaires.
Ce chapitre présente en détail la régression linéaire et son application aux problèmes de classification
avec la régression logistique. Il se termine par quelques mots sur la régression polynomiale.
Objectifs
— Distinguer un modèle d’apprentissage paramétrique d’un modèle non paramétrique
— Formuler un problème de régression linéaire ou logistique
— Résoudre un problème de régression paramétrique
64
5.1. Apprentissage supervisé d’un modèle paramétrique 65
Exemple
Un algorithme d’apprentissage qui permet d’apprendre les coefficient α, β, γ dans la fonction de déci-
sion suivante : f : ~x 7→ αx1 + βx2 x24 + γex3 −x5 apprend un modèle paramétrique. Quel que soit le nombre
d’observations, ce modèle ne change pas.
À l’inverse, la méthode du plus proche voisin, qui associe à ~x l’étiquette du point du jeu d’entraînement
dont il est le plus proche en distance euclidienne, apprend un modèle non paramétrique : on ne sait pas
écrire la fonction de décision comme une fonction des variables prédictives. Plus il y a d’observations, plus
le modèle pourra apprendre une frontière de décision complexe (cf. chapitre 8).
Étant donné un jeu D = {~x i , y i }i=1,...,n de n observations en p dimensions et leurs étiquettes réelles,
nous supposons ici que la fonction de décision f est paramétrée par le vecteur β~ ∈ Rm .
Nous allons faire l’hypothèse que les erreurs, c’est-à-dire la différence entre les étiquettes réelles et les
valeurs correspondantes de f , sont normalement distribuées, centrées en 0 :
~ +
y = f (~x|β) ∼ N (0, σ 2 ). (5.1)
Cette hypothèse est illustrée sur la figure 5.1 dans le cas d’une fonction de décision linéaire.
Figure 5.1 – Pour une observation x∗ donnée (ici en une dimension) , la distribution des valeurs possibles
de l’étiquette y ∗ correspondante est une gaussienne centrée en f (x∗ ).
5.2.1 Formulation
Nous choisissons une fonction de décision f de la forme
p
X
f : ~x 7→ β0 + βj xj . (5.3)
j=1
5.2.2 Solution
Définition
Pp 5.1 (Régression linéaire) On appelle régression linéaire le modèle de la forme f : ~x 7→
β0 + j=1 βj xj dont les coefficients sont obtenus par minimisation de la somme des moindres carrés, à
savoir : 2
Xn X p
arg min y i − β0 + βj xj . (5.4)
~ p+1 i=1
β∈R j=1
Nous pouvons réécrire le problème 5.4 sous forme matricielle, en ajoutant à gauche à la matrice d’ob-
servations X ∈ Rp une colonne de 1 :
1 x11 · · · x1p
X ← ... ... · · · .. .
. (5.5)
1 xn1 · · · xnp
5.2. Régression linéaire 67
Il s’agit d’une forme quadratique ~ que l’on peut donc minimiser en annulant son gradient
convexe en β,
∇β~ RSS = −2X > ~y − X β~ . On obtient alors
Attention
On fera attention à ne pas confondre les variables, qui sont les p valeurs x1 , x2 , . . . , xp qui décrivent les
données, et les paramètres, qui sont les p + 1 valeurs β0 , β1 , . . . , βp qui paramètrent le modèle.
−1 >
Démonstration. Tout d’abord, ~∗ > ~∗
h β = X X X ~y et iβ est donc linéaire.
−1
Son espérance est E[β~ ∗ ] = E X > X X > X β~ + .
h −1 i
Comme X, ~y et β~ ne sont pas aléatoires, et que a une espérance de 0, on obtient E[β~ ∗ ] = E X >X X > X β~ =
~ Ainsi, β~ ∗ est non biaisé.
β.
Sa variance vaut :
Var(β~ ∗ ) = Var (X > X)−1 X > ~y = Var (X > X)−1 X > X β~ +
= Var (X > X)−1 X > = σ 2 (X > X)−1 .
Remarque
L’hypothèse de normalité sur n’est pas nécessaire : il suffit que les erreurs {i }i=1,...,n aient une espé-
rance nulle, aient la même variance finie σ 2 (on parle d’homoscédasticité), et ne soient pas corrélées entre
elles (Cov(i , l ) = 0 pour i 6= l).
Nous pourrions alors envisager un modèle probabiliste, dans lequel P(Y = y|X = ~x) soit modélisé par
une combinaison linéaire des variables de ~x. Cependant, P(Y = y|X = ~x) doit être comprise entre 0 et 1,
et intuitivement, cette fonction n’est pas linéaire : si P(Y = 0|X = ~x) est très proche de 1, autrement dit
qu’il est très probable que ~x est négative, une petite perturbation de ~x ne doit pas beaucoup affecter cette
probabilité ; mais à l’inverse, si P(Y = 0|X = ~x) est très proche de 0.5, autrement dit que l’on est très peu
certain de l’étiquette de ~x, rien ne s’oppose à ce qu’une petite perturbation de ~x n’affecte cette probabilité.
C’est pour cela qu’il est classique de modéliser une transformation logit de P(Y = y|X = ~x) comme une
combinaison linéaire des variables.
Définition 5.3 (Fonction logit) On appelle fonction logit la fonction
logit : [0, 1] → R
p
p 7→ log
1−p
La fonction logit (figure 5.2a) est la réciproque de la fonction logistique (figure 5.2b).
Définition 5.4 (Fonction logistique) On appelle fonction logistique la fonction
σ : R → [0, 1]
1 eu
u 7→ = .
1 + e−u 1 + eu
Attention à ne pas confondre la fonction logistique avec l’écart-type, tous deux étant couramment notés
σ.
5.3.1 Formulation
P(Y =1|~
x) ~ > x, où, de
Ainsi, nous cherchons donc à modéliser log 1−P(Y =1|~x) comme la combinaison linéaire β ~
manière équivalente, P(Y = 1|~x) comme σ(β~ > ~x). Nous utilisons ici la transformation 5.5 de ~x.
70 Chapitre 5. Régressions paramétriques
Étant données n observations D = {~x i , y i }i=1,...,n , que l’on suppose iid, le log de la vraisemblance de
~
β est
n
Y n
Y n
Y
~ = log
log P(D|β) i ~ = log
P(X = ~x , Y = y |β)i ~ + log
P(Y = y |~x , β) i i
P(X = ~x i )
i=1 i=1 i=1
n
i i
X
= ~ y
log P(Y = 1|~x i , β) ~ 1−y
1 − P(Y = 1|~x i , β) +C (5.8)
i=1
Xn
= y i log σ(β~ > ~x i ) + (1 − y i ) log 1 − σ(β~ > ~x i ) + C,
i=1
Maximiser la vraisemblance de β sous ce modèle est équivalent à minimiser le risque empirique défini
en utilisant la fonction de coût logistique (voir section 2.4.1).
5.3.2 Solution
La vraisemblance de la régression logistique 5.8 est une fonction concave.
Théorème 5.3 Le gradient en β~ du maximum de vraisemblance de la régression logistique vaut
n
X
i 1
y − ~x i .
i=1
1 + e−β > ~x i
Ce gradient ne peut pas être annulé de manière analytique et la régression logistique n’admet donc
pas de solution explicite. On trouvera généralement sa solution par l’algorithme du gradient ou une de
ses variantes. Ces algorithmes convergent vers la solution optimale car la vraisemblance est concave et
n’admet donc pas de maximum local.
Points clefs
— On peut apprendre les coefficients d’un modèle de régression paramétrique par maximisation de
vraisemblance, ce qui équivaut à minimiser le risque empirique en utilisant le coût quadratique
comme fonction de perte, et revient à la méthode des moindres carrés.
−1 >
— La régression linéaire admet une unique solution β~ ∗ = X > X X ~y si et seulement si X > X
est inversible. Dans le cas contraire, il existe une infinité de solutions.
— La régression polynomiale se ramène à une régression linéaire.
— Pour un problème de classification binaire, utiliser le coût logistique comme fonction de perte dans
la minimisation du risque empirique revient à maximiser la vraisemblance d’un modèle dans lequel
la probabilité d’appartenir à la classe positive est la transformée logit d’une combinaison linéaire
des variables.
— La régression logistique n’a pas de solution analytique, mais on peut utiliser un algorithme à direc-
tions de descente pour apprendre le modèle.
Bibliographie
Hastie, T., Tibshirani, R., et Friedman, J. (2009). The Elements of Statistical Learning : Data Mining, Inference,
and Prediction, Second Edition. Springer-Verlag, New York, 2nd edition. https://web.stanford.edu/
~hastie/ElemStatLearn/
Chapitre 6
Régularisation
Lorsque les variables explicatives sont corrélées, ou trop nombreuses, la complexité d’un modèle de
régression linéaire est bien souvent trop élevée, ce qui conduit à une situation de sur-apprentissage.
Dans ce chapitre, nous verrons comment régulariser ces modèles en contrôlant les coefficients de ré-
gression, c’est-à-dire les poids affectés à chacune des variables dans leur combinaison linéaire. Nous pré-
senterons le cas de la régression linéaire, mais les techniques présentées dans ce chapitre s’appliquent plus
largement au cas de la régression logistique.
Objectifs
— Contrôler la complexité d’un modèle par la régularisation
— Définir le lasso, la régression ridge, et elastic net
— Comprendre le rôle des normes `1 et `2 comme régulariseurs
— Choisir un coefficient de régularisation.
72
6.2. La régression ridge 73
Dans le cas d’un modèle de régression linéaire, nous allons utiliser comme fonction de perte la somme
des moindres carrés. Les régulariseurs que nous allons voir sont fonction du vecteur de coefficients de
régression β~ :
>
arg min ~y − X β~ ~y − X β~ + λΩ(β) ~
~ p+1
β∈R
Nous utilisons ici la transformation 5.5 de ~x qui consiste à ajouter à la matrice de design X une colonne de
1 pour simplifier les notations.
Encart
Coefficient de régularisation
Le coefficient de régularisation λ est un hyperparamètre de la régression linéaire régularisée.
Quand λ tend vers +∞, le terme de régularisation prend de plus en plus d’importance, jusqu’à ce qu’il
domine le terme d’erreur et que seule compte la minimisation du régulariseur. Dans la plupart des cas, le
régulariseur est minimisé quand β~ = ~0, et il n’y a plus d’apprentissage.
À l’inverse, quand λ tend vers 0, le terme de régularisation devient négligeable devant le terme d’erreur,
~
et β prendra comme valeur une solution de la régression linéaire non régularisée.
Comme tout hyperparamètre, λ peut être choisi par validation croisée. On utilisera généralement une
grille de valeurs logarithmique.
La régression ridge est un cas particulier de régularisation de Tikhonov (développée pour résoudre des
équations intégrales). Elle intervient aussi dans les réseaux de neurones, où elle est appelée weight decay
(dégradation / modération des pondérations, voir section 7.2.4).
6.2.2 Solution
Le problème 6.4 est un problème d’optimisation convexe (voir section A) : il s’agit de minimiser une
forme quadratique. Il se résout en annulant le gradient en β~ de la fonction objective :
2 2
∇β~ ~y − X β + λ β~ = 0
~
(6.5)
2 2
Comme λ > 0, la matrice λIp + X > X est toujours inversible. Notre problème admet donc toujours une
unique solution explicite. La régularisation par la norme `2 a permis de transformer un problème poten-
tiellement mal posé en un problème bien posé, dont la solution est :
−1
β~ ∗ = λIp + X > X X > ~y . (6.7)
Remarque
Si l’on multiplie la variable xj par une constante α, le coefficient correspondant dans la régression li-
néaire non régularisée est divisé par α. En effet, si on appelle X ∗ la matrice obtenue
en remplaçant
xj par
αxj dans X, la solution β~ ∗ de la régression linéaire correspondante vérifie X ∗ ~y − X ∗ β~ ∗ = 0, tandis
que la solution β~ de la régression linéaire sur X vérifie X ~y − X β~ = 0. Ainsi, changer l’échelle d’une va-
riable a comme seul impact sur la régression linéaire non régularisée d’ajuster le coefficient correspondant
de manière inversement proportionnelle.
À l’inverse, dans le cas de la régression ridge, remplacer xj par αxj affecte aussi le terme de régulari-
sation, et a un effet plus complexe. L’échelle relative des différentes variables peut donc fortement affecter
la régression ridge. Il est ainsi recommandé de standardiser les variables avant l’apprentissage, c’est-à-dire
de toutes les ramener à avoir un écart-type de 1 en les divisant par leur écart-type :
xij
xij ←r 2 (6.8)
1 Pn 1 Pn
n i=1 xij − n
i
i=1 xj
Attention : pour éviter le sur-apprentissage, il est important que cet écart-type soit calculé sur le jeu d’en-
traînement uniquement, puis appliqué ensuite aux jeux de test ou validation.
La régression ridge a un effet de « regroupement » sur les variables corrélées, au sens où des variables
corrélées auront des coefficients similaires.
Figure 6.1 – Chemin de régularisation de la régression ridge pour un jeu de données avec 12 variables.
Chaque ligne représente l’évolution du coefficient de régression d’une de ces variables quand λ augmente :
le coefficient évolue de sa valeur dans la régression non régularisée vers 0.
Théorème 6.1 Étant donnés λ ∈ R+ , X ∈ Rn×p et ~y ∈ Rn , il existe un unique t ∈ R+ tel que le problème 6.4
soit équivalent à
2 2
arg min ~y − X β tel que β~ ≤ t.
~
(6.9)
~ p+1 2 2
β∈R
La régression ridge peut donc être formulée comme un problème d’optimisation quadratique (minimi-
2 2
ser ~y − X β~ ) sous contraintes (β~ ≤ t) : la solution doit être contenue dans la boule `2 de rayon
√ 2 2
t. Sauf dans le cas où l’optimisation sans contrainte vérifie déjà la condition, cette solution sera sur la
frontière de cette boule, comme illustré sur la figure 6.2.
76 Chapitre 6. Régularisation
Figure 6.2 – La solution du problème d’optimisation sous contraintes 6.9 (ici en deux dimensions)
√ se situe
sur une ligne de niveau de la somme des moindres carrés tangente à la boule `2 de rayon t.
6.3 Le lasso
6.3.1 Parcimonie
Dans certaines applications, il peut être raisonnable de supposer que l’étiquette que l’on cherche à
prédire n’est expliquée que par un nombre restreint de variables. Il est dans ce cas souhaitable d’avoir un
modèle parcimonieux, ou sparse, c’est-à-dire dans lequel un certain nombre de coefficients sont nuls : les
variables correspondantes peuvent être retirées du modèle.
Pour ce faire, Robert Tibshirani a proposé en 1996 d’utiliser comme régulariseur la norme `1 du coeffi-
cient β~ :
Xp
~ ~
Ωlasso (β) = β = |βj |. (6.10)
1
j=0
6.3. Le lasso 77
Le nom de lasso est en fait un acronyme, pour Least Absolute Shrinkage and Selection Operator : il s’agit
d’une méthode qui utilise les valeurs absolues des coefficients (la norme `1 ) pour réduire (shrink) ces co-
efficients, ce qui permet de sélectionner les variables qui n’auront pas un coefficient nul. En traitement du
signal, le lasso est aussi connu sous le nom de poursuite de base (basis pursuit en anglais).
Remarque
En créant un modèle parcimonieux et en permettant d’éliminer les variables ayant un coefficient nul, le
lasso est une méthode de sélection de variable supervisée. Il s’agit donc aussi d’une méthode de réduction
de dimension.
6.3.3 Solution
Le lasso 6.11 n’admet pas de solution explicite. On pourra utiliser un algorithme à directions de descente
(voir section A.3.3) pour le résoudre. De plus, il ne s’agit pas toujours d’un problème strictement convexe
(en particulier, quand p > n) et il n’admet donc pas nécessairement une unique solution. En pratique, cela
pose surtout problème quand les variables ne peuvent pas être considérées comme les réalisations de lois
de probabilité continues. Néanmoins, il est possible de montrer que les coefficients non nuls dans deux
solutions ont nécessairement le même signe. Ainsi, l’effet d’une variable a la même direction dans toutes
les solutions qui la considèrent, ce qui facilite l’interprétation d’un modèle appris par le lasso.
La solution doit maintenant être contenue dans la boule `1 de rayon t. Comme cette boule a des « coins »,
les lignes de niveau de la forme quadratique sont plus susceptibles d’y être tangente en un point où une ou
plusieurs coordonnées sont nulles (voir figure 6.3).
Figure 6.3 – La solution du problème d’optimisation sous contraintes 6.12 (ici en deux dimensions) se situe
sur une ligne de niveau de la somme des moindres carrés tangente à la boule `1 de rayon t.
le choix de cette variable est aléatoire, et peut changer si l’on répète la procédure d’optimisation. Le lasso
a donc tendance à être instable.
Ce régulariseur est paramétré par α ∈ [0, 1]. Quand α = 0, on retrouve la régularisation `1 , et quand α = 1,
la régularisation `2 .
Définition 6.5 (Elastic net) On appelle elastic net le modèle f : x 7→ β~ > ~x dont les coefficients sont
obtenus par
2 2
~
arg min ~y − X β + λ (1 − α) β + α β~ .
~
(6.14)
~ p+1 2 1 2
β∈R
6.4. Elastic net 79
Figure 6.4 – Chemin de régularisation du lasso pour un jeu de données avec 12 variables. Chaque ligne
représente l’évolution du coefficient de régression d’une de ces variables quand λ augmente : les variables
sont éliminées les unes après les autres.
On obtient la solution de l’elastic net par un algorithme à directions de descente. Cette solution est
parcimonieuse, mais moins que celle du lasso. En effet, quand plusieurs variables fortement corrélées sont
pertinentes, le lasso sélectionnera une seule d’entre elles, tandis que, par effet de la norme `2 , l’elastic net
les sélectionnera toutes et leur affectera le même coefficient.
Points clefs
~ au risque empirique de
— Ajouter un terme de régularisation, fonction du vecteur des coefficients β,
la régression linéaire permet d’éviter le sur-apprentissage
— La régression ridge utilise la norme `2 de β~ comme régulariseur ; elle admet toujours une unique
solution analytique, et a un effet de regroupement sur les variables corrélées.
— Le lasso utilise la norme `1 de β~ comme régulariseur ; il crée un modèle parcimonieux, et permet
donc d’effectuer une réduction de dimension supervisée.
— De nombreux autres régulariseurs sont possibles en fonction de la structure du problème.
• Une famille de régulariseurs appelés « structurés » permettent de sélectionner des variables qui
respectent une structure (graphe, groupes, ou arbre) donnée a priori. Ces approches sont utilisées
en particulier dans des applications bio-informatiques, par exemple quand on cherche à construire
des modèles parcimonieux basés sur l’expression de gènes sous l’hypothèse que seul un petit nombre
de voies métaboliques (groupes de gènes) est pertinent. Pour plus de détails, on se référera à l’article
de Huang et al. (2011).
• En ce qui concerne l’unicité de la solution du lasso, on se reportera à l’article de Tibshirani (2013).
• L’ouvrage de Hastie et al. (2015) est entièrement consacré au lasso et ses généralisations.
Bibliographie
Hastie, T., Tibshirani, R., et Wainwright, M. (2015). Statistical Learning with Sparsity : The Lasso and Generaliza-
tions. CRC Press. http://web.stanford.edu/~hastie/StatLearnSparsity/.
Huang, J., Zhang, T., et Metaxas, D. (2011). Learning with structured sparsity. Journal of Machine Learning
Research, 12 :3371–3412.
Tibshirani, R. J. (2013). The lasso problem and uniqueness. Electronic Journal of Statistics, 7 :1456–1490.
Chapitre 7
De l’annotation automatique d’images à la reconnaissance vocale, en passant par des ordinateurs ca-
pables de battre des champions de go et par les véhicules autonomes, les récents succès de l’intelligence
artificielle sont nombreux à reposer sur les réseaux de neurones profonds, et le deep learning (ou appren-
tissage profond) fait beaucoup parler de lui.
Les réseaux de neurones artificiels ne sont au fond rien d’autre que des modèles paramétriques, poten-
tiellement complexes : contrairement à la régression linéaire, ils permettent de construire facilement des
modèles très flexibles.
Dans ce chapitre, nous aborderons les principes de base d’une classe particulière de réseaux de neurones
artificiels, les perceptrons multi-couche, et de leur entraînement. Nous effleurerons la question des réseaux
de neurones profonds, que nous considérons comme un sujet avancé n’ayant pas sa place dans cet ouvrage.
Objectifs
— Écrire la fonction de décision correspondant à un perceptron uni- ou multi-couche
— Implémenter la procédure d’apprentissage d’un perceptron
— Expliciter les actualisations d’un perceptron multi-couche dans une procédure de rétropropagation
— Connaître quelques grands principes de la conception et de l’entraînement d’un perceptron multi-
couche
— Appréhender les enjeux du deep learning.
7.1 Le perceptron
L’histoire des réseaux de neurones artificiels remonte aux années 1950 et aux efforts de psychologues
comme Franck Rosenblatt pour comprendre le cerveau humain. Initialement, ils ont été conçus dans le but
de modéliser mathématiquement le traitement de l’information par les réseaux de neurones biologiques
qui se trouvent dans le cortex des mammifères. De nos jours, leur réalisme biologique importe peu et c’est
leur efficacité à modéliser des relations complexes et non linéaires qui fait leur succès.
81
82 Chapitre 7. Réseaux de neurones artificiels
Le premier réseau de neurones artificiels est le perceptron (Rosenblatt, 1957). Loin d’être profond, il
comporte une seule couche et a une capacité de modélisation limitée.
7.1.1 Modèle
Le perceptron (figure 7.1) est formé d’une couche d’entrée de p neurones, ou unités, correspondant
chacune à une variable d’entrée. Ces neurones transmettent la valeur de leur entrée à la couche suivante.
À ces p neurones on rajoute généralement une unité de biais, qui transmet toujours la valeur 1. Cette unité
correspond à la colonne de 1 que nous avons ajoutée aux données dans les modèles linéaires (équation 5.5).
On remplacera dans ce qui suit tout vecteur ~x = (x1 , x2 , . . . , xp ) par sa version augmentée d’un 1 : ~x =
(1, x1 , x2 , . . . , xp ).
La première et unique couche du perceptron (après la couche d’entrée) contient un seul neurone, au-
quel sont connectées toutes les unités de la couche d’entrée.
Ce neurone calcule une combinaison linéaire o(~x) = w0 + pj=1 wj xj des signaux x1 , x2 ,
P
. . . , xp qu’il reçoit en entrée, auquel il applique une fonction d’activation a, dont il transmet en sortie le
résultat. Cette sortie met en œuvre la fonction de décision du perceptron.
Ainsi, si l’on appelle wj le poids de connexion entre l’unité d’entrée j et le neurone de sortie, ce neurone
calcule
X p
f (~x) = a(o(~x)) = a w0 + wj xj = a (hw,~ ~xi) . (7.1)
j=1
Fonctions d’activation
Dans le cas d’un problème de régression, on utilisera tout simplement l’identité comme fonction d’ac-
tivation. Dans le cas d’un problème de classification binaire, on pourra utiliser :
— Pour prédire directement une étiquette binaire, une fonction de seuil :
(
0 si o(~x) ≤ 0
f : ~x 7→ (7.2)
1 sinon.
7.1. Le perceptron 83
— Pour prédire la probabilité d’appartenir à la classe positive, comme dans le cas de la régression lo-
gistique (section 5.3), une fonction logistique :
1 1
f : ~x 7→ o(~
x )
= . (7.3)
1+e ~ ~xi)
1 + exp (hw,
Classification multi-classe
Dans le cas d’un problème de classification multi-classe, on modifiera l’architecture du perceptron de
sorte à n’avoir non plus 1 mais C neurones dans la couche de sortie, où C est le nombre de classes. Les p + 1
neurones de la couche d’entrée seront ensuite tous connectés à chacun de ces neurones de sortie (on aura
donc (p + 1)C poids de connexion, notés wjc .) Cette architecture est illustrée sur la figure 7.2.
On utilise alors comme fonction d’activation la fonction softmax :
Définition 7.1 (Fonction softmax) On appelle fonction softmax, ou fonction exponentielle normalisée, la
fonction σ : RC → [0, 1]C définie par :
e oc
σ(o1 , o2 , . . . , oC )c = PC .
ok
k=1 e
Dans le cas d’un perceptron classique, ok est la combinaison linéaire calculée au k-ème neurone de
sortie : ok = hw~ k , ~xi.
La fonction softmax généralise la fonction logistique utilisée dans le cas binaire. Elle produit C nombres
réels positifs de somme 1, et peut être considérée comme une version régulière de la fonction arg max :
quand oc > ok6=c , σ(~o)c ≈ 1 et σ(~o)k6=c ≈ 0.
softmax
Figure 7.2 – Architecture d’un perceptron multi-classe.
7.1.2 Entraînement
Pour entraîner un perceptron, nous allons chercher, comme par exemple pour la régression paramé-
trique, à minimiser le risque empirique. Cependant, nous allons supposer que les observations (~x i , y i ) ne
sont pas disponibles simultanément, mais qu’elles sont observées séquentiellement. Cette hypothèse dé-
coule de la plasticité des réseaux de neurones biologiques : ils s’adaptent constamment en fonction des
84 Chapitre 7. Réseaux de neurones artificiels
signaux qu’ils reçoivent. Nous allons donc utiliser un algorithme d’entraînement incrémental, qui s’adapte
à des observations arrivant les unes après les autres.
Définition 7.2 (Apprentissage incrémental vs hors-ligne) Un algorithme d’apprentissage qui opère
sur un unique ensemble de n observations est appelé hors-ligne. En anglais, on parlera de batch learning.
Par contraste, un algorithme d’apprentissage qui effectue une ou plusieurs opérations à chaque nou-
velle observation qui lui est fournie est appelé incrémental ou en ligne. En anglais, on parlera de online learning.
Pour minimiser le risque empirique de manière itérative, nous allons nous appuyer sur l’algorithme du
gradient (voir section A.3.3). L’algorithme commence par une initialisation aléatoire du vecteur de poids
(0) (0) (0)
de connexion w0 , w1 , . . . , wp , par exemple, w ~ = ~0.
Puis, à chaque observation, on ajuste ce vecteur dans la direction opposée au gradient du risque em-
pirique. En effet, ce gradient indique la direction de plus forte pente du risque empirique ; le redescendre
nous rapproche d’un point où ce risque est minimal. Formellement, à une itération de l’algorithme, on tire
une nouvelle observation (~x i , y i ) et on actualise, pour tout j, les poids de connexion de la façon suivante :
∂L(f (~x i ), y i )
wj ← wj − η . (7.4)
∂wj
Il est possible (et même recommandé dans le cas où les données ne sont pas extrêmement volumineuses)
d’itérer plusieurs fois sur l’intégralité du jeu de données. Typiquement, on itère jusqu’à ce que l’algorithme
converge à près.
Vitesse d’apprentissage
Cet algorithme a un hyperparamètre, η > 0, qui est le pas de l’algorithme du gradient et que l’on
appelle la vitesse d’apprentissage (ou learning rate) dans le contexte des réseaux de neurones artificiels. Cet
hyperparamètre joue un rôle important : s’il est trop grand, l’algorithme risque d’osciller autour de la so-
lution optimale, voire de diverger. À l’inverse, s’il est trop faible, l’algorithme va converger très lentement.
Il est donc essentiel de bien choisir sa vitesse d’apprentissage.
En pratique, on utilise souvent une vitesse d’apprentissage adaptative : relativement grande au début,
puis de plus en plus faible au fur et à mesure que l’on se rapproche de la solution. Cette approche est à
rapprocher d’algorithmes similaires développés dans le cas général de l’algorithme du gradient (comme
par exemple la recherche linéaire par rebroussement, voir section A.3.4).
Classification binaire
Le cas de la classification binaire, utilisant un seuil comme fonction d’activation, est historiquement le
premier à avoir été traité. La fonction de coût utilisée est connue sous le nom de critère du perceptron :
L(f (~x i ), y i ) = max(0, −y i o(~x i )) = max(0, −y i hw,
~ ~xi) (7.5)
Ce critère est proche de la fonction d’erreur hinge. Quand la combinaison linéaire des entrées a le bon signe,
le critère du perceptron est nul. Quand elle a le mauvais signe, le critère du perceptron est d’autant plus
grand que cette combinaison linéaire est éloignée de 0. En utilisant ce critère, la règle d’actualisation 7.4
devient : (
0 si y i o(~x i ) > 0
wj ←
−y i xij sinon.
Ainsi, quand le perceptron fait une erreur de prédiction, il déplace la frontière de décision de sorte à cor-
riger cette erreur.
7.1. Le perceptron 85
Théorème 7.1 (Théorème de convergence du perceptron) Étant donné un jeu de n observations étique-
tées D = {(~x i , y i )i=1,...,n ∗
}i et D, γ ∈ R+ . Si :
— ∀i = 1, . . . , n, ~x 2 ≤ D
— il existe ~u ∈ Rp+1 tel que
— ||~u||2 = 1 et
— ∀i = 1, . . . , n, y i h~u, ~xi ≥ γ
2
alors l’algorithme du perceptron converge en au plus D γ étapes. Ce théorème est un résultat de Albert Novikoff
(1962).
Régression
Dans le cas de la régression, on utilise pour le coût empirique la fonction de coût quadratique :
1 1 i 2
L(f (~x i ), y i ) = (y i − f (~x i ))2 = y − hw,
~ ~xi . (7.6)
2 2
La règle d’actualisation 7.4 devient :
wj ← wj − η(f (~x i ) − y i )xij . (7.7)
Classification probabiliste
Dans le cas de la classification (binaire ou multi-classe), on utilise l’entropie croisée comme fonction de
coût :
C C
i i
X
i i
X exp(hw~ c , ~xi
L(f (~x ), y ) = − δ(y , c) log fc (~x ) = − δ(y i , c) log PC .
c=1 c=1 k=1 exp(hw~ k , ~xi)
Quelques lignes de calcul montrent que l’on obtient alors la même règle d’actualisation que pour la régres-
sion (7.7) :
wjk ← wjk − η(yki − f (~x i ))xij .
Ces calculs sont aussi valables dans le cas de la classification binaire, et la règle est exactement celle de la
formule 7.7.
Par contraste, aucun perceptron ne peut apprendre la fonction « ou exclusif » (XOR), dont la table de
vérité est rappelée sur la figure 7.4 : en effet, aucune droite ne peut séparer les points (0, 0) et (1, 1) d’un
côté et (0, 1) et (1, 0) de l’autre.
86 Chapitre 7. Réseaux de neurones artificiels
x1 x2 x1 ⊕ x2
0 0 0
0 1 1
1 0 1
1 1 0
7.2.1 Architecture
On appelle perceptron multi-couche, ou multi-layer perceptron (MLP) en anglais, un réseau de neurones
construit en insérant des couches intermédiaires entre la couche d’entrée et celle de sortie d’un perceptron.
On parlera parfois de couches cachées par référence à l’anglais hidden layers. Chaque neurone d’une couche
intermédiaire ou de la couche de sortie reçoit en entrée les sorties des neurones de la couche précédente.
Il n’y a pas de retour d’une couche vers une couche qui la précède ; on parle ainsi aussi d’un réseau de
neurones à propagation avant, ou feed-forward en anglais.
En utilisant des fonctions d’activation non linéaires, telles que la fonction logistique ou la fonction
tangente hyperbolique, on crée ainsi un modèle paramétrique hautement non linéaire.
Exemple
Prenons l’exemple d’un perceptron avec deux couches intermédiaires comme illustré sur la figure 7.5.
h le poids de la connexion du neurone j de la couche h − 1 au neurone q de la couche h, a la
Notons wjq h
fonction d’activation utilisée en sortie de la couche h, et ph le nombre de neurones dans la couche h.
La sortie zq1 du q-ème neurone de la première couche cachée vaut
Xp
zq1 = a1 1
wjq xj .
j=0
Ainsi, en supposant qu’on utilise une fonction logistique pour tous les neurones des couches cachées,
la sortie du perceptron vaut
p2
X 3 1
f (~x) = a3 wjq ,
Pp1 2 1
j=0 1 + exp − j=0 wjq p 1 x
(− j)
P
1+exp j=0 wjq
ce qui devrait vous convaincre de la capacité du perceptron multi-couche à modéliser des fonctions non
linéaires.
Attention
Le perceptron multi-couche est un modèle paramétrique dont les paramètres sont les poids de connexions
h . (Le nombre de couches et leurs nombres de neurones font partie des hyperparamètres : on les suppose
wjq
fixés, ce ne sont pas eux que l’on apprend). Ce modèle a donc d’autant plus de paramètres (c’est-à-dire de
poids de connexion) qu’il y a de couches intermédiaires et de neurones dans ces couches. C’est pour éviter
le sur-apprentissage que les réseaux de neurones profonds requièrent souvent des quantités massives de
données pour apprendre de bons modèles.
entier m, m scalaires {di }i=1,...,m , m scalaires {bi }i=1,...,m , et m vecteurs {w ~ i }i=1,...,m de Rp tels que pour tout
~x ∈ K,
Xm
|f (~x) − di a (hw ~ i , ~xi + bi )| < .
i=1
En d’autres termes, toute fonction continue sur un sous-ensemble compact de Rp peut être approchée avec un degré de
précision arbitraire par un perceptron multi-couche à une couche intermédiaire contenant un nombre fini de neurones.
Ce théorème, dû à George Cybenko (1989) et affiné par Kurt Hornik (1991), contraste fortement avec
l’intuition de Papert et Minsky : nous pouvons maintenant apprendre toutes sortes de fonctions ! Atten-
tion cependant, ce résultat ne nous donne ni le nombre de neurones qui doivent composer cette couche
intermédiaire, ni les poids de connexion à utiliser. Les réseaux de neurones à une seule couche cachée sont
généralement peu efficaces, et on aura souvent de meilleurs résultats en pratique avec plus de couches.
Saturation
Un autre problème du perceptron multi-couche apparaît quand la plupart des unités logistiques re-
tournent des valeurs soit très proches de 0 soit très proches de 1. Cela arrive quand la somme pondérée
ohj des signaux qu’ils reçoivent en entrée a une amplitude trop grande, autrement dit quand les poids de
connexion ont eux-mêmes une amplitude trop élevée. Dans ces conditions, les actualisations de ces poids
n’auront plus qu’un impact marginal sur les prédictions. On dit alors que le réseau est saturé.
Pour éviter cette situation, on peut se tourner vers la régularisation `2 (cf. section 6.2), appelée dégrada-
tion des pondérations ou weight decay dans le contexte des réseaux de neurones artificiels. Il s’agira d’ajouter
au risque empirique L(f (~x i ), y i ) la norme euclidienne du vecteur de poids de connexion.
Rétropropagation
ph+1 !
X ∂L(f (~x i ), y i ) ∂oh+1 ∂zqh ∂ohq
r
= (7.8)
r=1
∂oh+1
r ∂zqh ∂ohq ∂wjq h
ph+1 !
X ∂L(f (~x i ), y i )
= h+1
h+1
wqr a0h (ohq ) zjh−1 .
r=1
∂o r
Ainsi, le gradient nécessaire à l’actualisation des poids de la couche h se calcule en fonction des gra-
x i ,y i ))
dients ∂L(f (~h+1 nécessaires pour actualiser les poids de la couche (h + 1).
∂or
Cela va nous permettre de simplifier nos calculs en utilisant une technique de mémoïsation, c’est-à-dire
en évitant de recalculer des termes qui reviennent plusieurs fois dans notre procédure.
Plus précisément, l’entraînement d’un perceptron multi-couche par rétropropagation consiste à alterner,
pour chaque observation (~x i , y i ) traitée, une phase de propagation avant qui permet de calculer les sorties de
chaque neurone, et une phase de rétropropagation des erreurs dans laquelle on actualise les poids en partant
de ceux allant de la dernière couche intermédiaire vers l’unité de sortie et en « remontant »le réseau vers
les poids allant de l’entrée vers la première couche intermédiaire.
Exemple
Reprenons le réseau à deux couches intermédiaires décrit sur la figure 7.5, en utilisant l’identité comme
dernière fonction d’activation a3 , une fonction d’erreur quadratique, et des activations logistiques pour a1
et a2 . Nous rappelons que la dérivée de la fonction logistique peut s’écrire σ 0 (u) = u0 σ(u)(1 − σ(u)).
90 Chapitre 7. Réseaux de neurones artificiels
∂L(f (~x i ), y i ) i x i)
i ∂f (~
= f (~x i ) − y i zj2
3 = f (~
x ) − y 3
∂wj ∂wj
en utilisant les valeurs de f (~x i ) et zj2 que nous avons mémorisées lors de la propagation avant. Ainsi
où
∂L(f (~x i ), y i ) ∂L(f (~x i ), y i ) 3 0 2
wq σ (oq ) = f (~x i ) − y i wq3 zq2 (1 − zq2 )
2
= i
(7.9)
∂oq ∂f (~x )
et
∂o2q 1
2 = zj .
∂wjq
Nous pouvons donc utiliser les valeurs de f (~x i ), zq2 et zj1 mémorisées lors de la propagation avant, et wq3
que nous venons d’actualiser, pour actualiser wjq 2 par
2 2
− η f (~x i ) − y i wq3 zq2 (1 − zq2 ) zj1 .
wjq ← wjq
Encore une fois, nous disposons de tous les éléments nécessaires : zq1 a été calculé lors de la propagation
2 ont été actualisés à l’étape précédente, et les dérivées partielles x i ),y i )
∂L(f (~
avant, les poids wqr ∂o2q
ont elles
aussi été calculées à l’étape précédente (7.9). Nous pouvons donc effectuer aisément notre dernière étape
de rétropropagation :
p2
!
X ∂L(f (~
x i ), y i )
1 1 2
wjq ← wjq −η wqr zq1 (1 − zq1 ) xj .
∂o2r
r=1
7.2. Perceptron multi-couche 91
Remarque
Il est possible d’ajouter une unité de biais à chaque couche intermédiaire ; les dérivations se font alors
sur le même principe.
L’apprentissage de représentations
On associe souvent aux réseaux de neurones profond la notion de representation learning. En effet, il est
possible de considérer que chacune des couches intermédiaires successives apprend une nouvelle repré-
sentation des données (z1h , z2h , . . . , zphh ) à partir de la représentation de la couche précédente, et ce jusqu’à
pouvoir appliquer entre la dernière couche intermédiaire et la sortie du réseau un algorithme linéaire. Cet
aspect est exploité en particulier dans les auto-encodeurs que nous verrons à la section 11.3.3
Points clefs
— Le perceptron permet d’apprendre des modèles paramétriques linéaires et est entraîné par des ac-
tualisations itératives de ses poids grâce à un algorithme à directions de descente.
92 Chapitre 7. Réseaux de neurones artificiels
— Le perceptron multi-couche permet d’apprendre des modèles paramétriques non linéaires et offre
une grande flexibilité de modélisation.
— Le perceptron multi-couche est entraîné par rétropropagation, qui combine le théorème de dériva-
tion des fonctions composées avec une mémoïsation pour une grande efficacité de calcul.
— Le problème d’optimisation du perceptron multi-couche et, plus généralement, de tout réseau de
neurones artificiel profond, n’est pas convexe, et il n’est pas facile d’obtenir un bon minimum.
Bibliographie
Goodfellow, I., Bengio, Y., and Courville, A. (2016). Deep learning. MIT Press, Cambridge, MA. http://www.
deeplearningbook.org/.
Hornik, K. (1991). Approximation capabilities of multilayer feedforward networks. Neural Networks,
4(2) :251–257.
Minsky, M. and Papert, S. (1972). Perceptrons : an Introduction to Computational Geometry. MIT Press, Cam-
bridge, MA.
Rosenblatt, F. (1957). The perceptron–a perceiving and recognizing automaton. Technical Report 85-460-1,
Cornell Aeronautical Laboratory.
Chapitre 8
Ce chapitre présente un algorithme de prédiction non paramétrique conceptuellement très simple mais
néanmoins puissant, qui permet de construire des frontières de décision complexes sans faire aucune hy-
pothèse sur la distribution des données. Cet algorithme, dit des plus proches voisins, se base sur le principe
de « qui se ressemble s’assemble », et utilise les étiquettes des exemples les plus proches pour prendre une
décision.
La puissance de cet algorithme venant du choix de la fonction utilisée pour définir cette proximité
entre observations, ce chapitre sera aussi l’occasion de définir des distances et similarités pour différentes
représentations des données. Dans ce chapitre, nous étudierons aussi des cas où la représentation par un
vecteur réel de dimension p n’est pas nécessairement la plus appropriée.
Enfin, nous montrerons comment les plus proches voisins peuvent être utilisés en pratique dans le
cadre du filtrage collaboratif.
Objectifs
— Implémenter l’algorithme des k plus proches voisins
— Calculer distances et similarités pour différents types de représentations des données
— Définir la frontière de décision de l’algorithme du plus proches voisins
— Expliquer pourquoi l’algorithme des k plus proches voisins est susceptible de ne pas marcher en
haute dimension.
93
94 Chapitre 8. Méthode des plus proches voisins
Cet algorithme s’applique aussi bien à un problème de classification qu’à un problème de régression.
La figure 8.1 présente un exemple de diagramme de Voronoï, calculé dans le plan en utilisant la distance
euclidienne. Les cellules sont des polygones convexes. Tous les points à l’intérieur d’une même cellule ont
la même étiquette que leur graine.
Figure 8.1 – Diagramme de Voronoï pour 25 points en deux dimensions, en utilisant la distance euclidienne.
Une autre façon de présenter l’algorithme du plus proche voisin est de le voir comme une partition de X
en autant de parties qu’il existe d’étiquettes distinctes dans le jeu d’entraînement. La partie correspondant
à l’étiquette y est l’union des cellules de Voronoï correspondant à une observation de D étiquetée par y.
i
[
X = {~x ∈ X : y arg mini=1,...,n d(~x,~x ) = y}
y
8.2. Méthode des plus proches voisins 95
Ainsi, cet algorithme très simple permet de construire une frontière de décision beaucoup plus com-
plexe qu’un algorithme paramétrique linéaire, comme on le voit sur la figure 8.2.
Figure 8.2 – Frontière de décision d’un algorithme du plus proche voisin pour les données de la figure 8.1,
maintenant étiquetées.
— Pour un problème de régression, ~x prend comme étiquette la moyenne des étiquettes de ses k plus
proches voisins :
1 X
f (~x) = yi.
k i
x ∈Nk (~
i:~ x)
96 Chapitre 8. Méthode des plus proches voisins
Figure 8.3 – Frontière de décision d’un algorithme des 5 plus proches voisins pour les données des fi-
gures 8.1 et 8.2.
Il faudra donc choisir une valeur de k intermédiaire, ce que l’on fera généralement en utilisant une
√
validation croisée. L’heuristique k ≈ n est aussi parfois utilisée.
8.2.4 Variantes
-voisins
Plutôt que de considérer un nombre fixe de voisins les plus proches, on peut préférer considérer tous
les exemples d’apprentissage suffisamment proches de l’observation à étiqueter : cela permet de mieux
utiliser le jeu d’entraînement dans les zones où il est dense. De plus, les prédictions faites en se basant sur
des exemples proches (non pas relativement, mais dans l’absolu) sont intuitivement plus fiables que celles
faites en se basant sur des exemples éloignés.
Définition 8.4 (Algorithme des -voisins) Étant donné un jeu D = {(~x i , y i )i=1,...,n } de n observa-
tions étiquetées, une distance d sur X , et un hyperparamètre ∈ R+ , on appelle algorithme des -voisins, ou
-ball neighbors en anglais, l’algorithme consistant à étiqueter une nouvelle observation ~x en fonction des
étiquettes de tous les points du jeu d’entraînement situés à une distance inférieure à de ~x.
— Pour un problème de classification :
X
f (~x) = arg max δ(y i , c).
c
i:d(~ x i )≤
x,~
Une limitation évidente de cet algorithme est qu’il est nécessaire de définir une stratégie alternative
en l’absence d’exemples dans la boule de rayon choisi.
Dans le cas d’un problème de classification, on compare, pour chaque classe c, la somme des contributions
de chaque voisin appartenant à cette classe :
X
f (~x) = arg max δ(y i , c)wi .
c
i:xi ∈Nk (~
x)
8.3.1 Distances
Rappelons ici la définition d’une distance :
Définition 8.5 (Distance) Étant donné un ensemble X , on appelle distance sur X toute fonction d :
X × X → R vérifiant les trois propriétés suivantes :
1. Séparation : ∀~u, ~v ∈ X × X , d(~u, ~v ) = 0 ⇔ ~u = ~v
2. Symétrie : ∀~u, ~v ∈ X × X , d(~u, ~v ) = d(~v , ~u)
3. Inégalité triangulaire : ∀~t, ~u, ~v ∈ X 3 , d(~u, ~v ) ≤ d(~u, ~t) + d(~t, ~v ).
dq : Rp × Rp → R
1/q
p
X
7 ||~u − ~v ||q = |uj − vj |q .
~u, ~v →
j=1
qP
p
La distance euclidienne est le cas particulier q = 2 : d2 (~u, ~v ) = j=1 (uj − vj )2 .
Quand q = 1, on parle de distance de Manhattan, ou distance du chauffeur de taxi, car dans le plan elle
consiste à calculer la distance parcourue entre ~u et ~v en se déplaçant uniquement parallèlement Paux axes,
comme ce serait le cas d’un taxi dans Manhattan, où les rues forment un quadrillage : d1 (~u, ~v ) = pj=1 |uj −
vj |.
Enfin, la distance `∞ , ainsi nommée en référence à l’espace de suites `∞ , et notée d∞ , est la différence
maximale entre ~u et ~v sur une dimension :
q 1/q
p
X |uj − vj |
dq (~u, ~v ) = |uk − vk | ≤ |uj − vj |p1/q
|uk − vk |
j=1
car pour tout j, |uj − vj | ≤ |uk − vk |, avec égalité au maximum p fois. D’autre part,
1/q
X
dq (~u, ~v ) = |uk − vk |q + |uj − vj |q ≥ |uk − vk |
j6=k
Contrairement à une distance, une similarité n’a pas de propriétés mathématiques particulières. Il est
possible de transformer n’importe quelle distance en similarité, en utilisant par exemple la transformation
1
s(~u, ~v ) = −d(~u, ~v ), ou s(~u, ~v ) = 1+d(~
u,~v ) .
Une notion de similarité fréquemment utilisée lorsque X = Rp est celle du coefficient de corrélation.
Définition 8.8 (Coefficient de corrélation) Étant donnés ~u, ~v ∈ Rp , on appelle coefficient de corrélation
ou corrélation de Pearson entre ~u et ~v la valeur
Pp 1 Pp
1 Pp
j=1 u j − p k=1 u k v j − p k=1 v k
ρ(~u, ~v ) = r r 2 .
Pp 2
1 Pp Pp 1 Pp
j=1 uj − p k=1 uk j=1 vj − p k=1 vk
Remarquons que si l’on appelle u~0 (resp. v~0 ) la version centrée deP ~u (resp. ~v ), c’est-à-dire le vecteur
obtenu en lui retranchant la moyenne de ses coordonnées : u = ~u − p pj=1 uj , ce coefficient se simplifie
~ 0 1
en Pp 0 0
j=1 uj vj hu~0 , v~0 i
ρ(~u, ~v ) = qP =
||~u0 ||2 ||~v 0 ||2
qP
p p
u0 2j=1 j v0 2 j=1 j
100 Chapitre 8. Méthode des plus proches voisins
et vaut donc le cosinus de l’angle entre ~u0 et ~v 0 . C’est pour cette raison qu’on appelle parfois ρ la similarité
cosinus.
Si en plus d’être centrés, les vecteurs ~u et ~v sont normalisés, la similarité cosinus se réduit au produit
scalaire entre ~u et ~v . La valeur absolue de ce produit scalaire est d’autant plus grande que les vecteurs ~u et
~v sont colinéaires, et vaut 0 quand ces vecteurs sont orthogonaux.
Nous verrons au chapitre 10 comment étendre la notion de produit scalaire sur Rp à celle de noyau sur
X , ce qui nous permettra de définir aisément d’autres mesures de similarité.
Remarque
En général, la similarité cosinus et la distance euclidienne ne définissent pas les mêmes voisinages.
Deux ensembles sont considérés être d’autant plus semblables qu’ils ont d’éléments en commun. At-
tention, si l’on compare des ensembles susceptibles d’être de tailles très différentes, cela doit être comparé
au nombre d’éléments qu’ils pourraient avoir en commun : deux ensembles de grande taille auront naturel-
lement plus d’éléments communs que deux ensembles de petite taille. On utilisera pour cela la similarité
de Jaccard.
Définition 8.10 (Similarité de Jaccard/Tanimoto) Étant donné un ensemble E d’éléments, on appelle
similarité de Jaccard, similarité de Tanimoto, ou encore index de Jaccard la fonction
J : 2E × 2E → [0, 1]
|S ∩ T |
S, T 7→ .
|S ∪ T |
8.3. Distances et similarités 101
Ici 2E désigne l’ensemble des parties de E, autrement dit l’ensemble de ses sous-ensembles. Cette notation
est choisie car, du moins dans le cas fini, un sous-ensemble S ⊆ E peut être représenté comme une fonction
binaire de E vers {0, 1} qui associe 1 à un élément de E présent dans S, et 0 aux autres.
Si les éléments sont susceptibles d’apparaître plusieurs fois dans chaque « ensemble » (il ne s’agira
alors plus d’ensembles, mais de multi-ensembles), on peut prendre en compte la multiplicité des éléments
en utilisant la similarité MinMax :
Définition 8.11 (Similarité MinMax) Étant donné un multi-ensemble S de E, et un élément e ∈ E, on
note mS (e) la multiplicité de e dans S, autrement dit son nombre d’occurrences dans S. Étant donné un
ensemble E d’éléments, on appelle similarité MinMax entre deux multi-ensembles S et T de E la fonction
qui retourne P
min(mS (e), mT (e))
MinMax(S, T ) = P e∈S∩T .
e∈S∪T max(mS (e), mT (e))
Exemple
Supposons que nos observations soient des articles de journaux, et que nous disposions d’une variable
catégorique identifiant leur sujet comme un parmi « politique », « société », « économie », « sport », « science » ou
« culture ». L’encodage one-hot de cette variable consistera à la remplacer par 6 variables binaires, valant
(1, 0, 0, 0, 0, 0) si l’article parle de politique et (0, 0, 0, 0, 0, 1) s’il parle de science.
Une fois les données ainsi encodées, on peut leur appliquer les distances et similarités définies sur les
vecteurs réels.
102 Chapitre 8. Méthode des plus proches voisins
Remarque
Dans le cas des jours de la semaine (ou des mois de l’année), le problème de l’encodage par un nombre
de 1 à 7 (ou de 1 à 12) est la nature cyclique de ces catégories : février (2) est certes plus proche – temporel-
lement – de mai (5-2=3) que de juillet (7-2=5), mais il est encore plus proche de décembre (12-2=10). Pour
conserver cette proximité temporelle, on pourra positionner ces valeurs de manière équidistante sur un
cercle de rayon 1, et représenter chacune d’entre elles par deux variables, √
le cosinus et le sinus de cette
3
2π
position. On représentera ainsi février par (cos( 6 ), sin( 6 )) = ( 2 , 2 ), mai par (cos( 5π
2π 1 5π
6 ), sin( 6 ))√=
√
(− 23 , 12 ), et décembre par (cos(2π), sin(2π)) = (1, 0). La distance euclidienne de février à mai est de 2
tandis que celle de février à décembre est de 1.
Appelons maintenant Nuk (a) les k plus proches voisins de a parmi les objets notés par u. On peut re-
commander l’objet a pour l’utilisateur u par :
P
b∈Nuk (a) s(a, b)r(u, b)
f (u, a) = P .
b∈Nuk (a) |s(a, b)|
Points clefs
— L’algorithme des k plus proches voisins a un entraînement paresseux ; pour compenser, le coût al-
gorithmique d’une prédiction peut être élevé si la base de données d’entraînement est grande.
— La qualité des prédictions d’un algorithme des k plus proches voisins dépend principalement du
choix d’une bonne distance ou similarité.
— L’algorithme des k plus proches voisins fonctionne mieux en faible dimension :
— son exécution est plus rapide ;
— il est moins susceptible d’être biaisé par des variables qui ne sont pas pertinentes ;
— il est moins susceptible de souffrir du fléau de la dimension.
103
Bibliographie
Aha, D. W. (1997). Special issue on lazy learning. Artificial Intelligence Review, 11(1–5) :7–423.
Bentley, J. L. (1957). Multidimensional binary search trees used for associative searching. Communications
of the ACM, 18(9) :509–517.
Ricci, F., Rokach, L., et Shapira, B. (2016). Recommender Systems Handbook. Springer, 2 edition.
Arbres et forêts
L’algorithme des plus proches voisins permet de construire des modèles non paramétriques métriques,
c’est-à-dire qu’ils reposent sur la définition d’une distance ou similarité pertinente entre les observations.
Cela n’est pas toujours chose aisée, et les arbres de décision approchent le problème différemment. Non mé-
triques, hiérarchiques, et non paramétriques, ils présentent d’intéressantes propriétés, en particulier en ce
qui concerne les attributs discrets. Cependant, ils ont tendance à mal apprendre, et à avoir de faibles pro-
priétés de généralisation.
Dans ce chapitre, après avoir exploré plus en détail les propriétés des arbres et leur construction, nous
verrons comment les combiner pour en faire des modèles puissants, dits modèles ensemblistes, qui sont bien
plus que la somme de leurs parties.
Objectifs
— Détailler les avantages et inconvénients d’un arbre de décision
— Construire un arbre de décision
— Savoir combiner des apprenants faibles parallèlement ou séquentiellement et en comprendre l’in-
térêt
104
9.1. Arbres de décision 105
Couleur ?
rouge jaune
Taille ? Forme ?
petite grande ovale ronde incurvée
ronde pointue
cerise fraise
Figure 9.1 – Exemple d’arbre de décision pour étiqueter un fruit.
La figure 9.1 nous permet d’illustrer trois propriétés des arbres de décision :
— Ils permettent de traiter des attributs discrets (comme ici la forme, la taille et la couleur), sans né-
cessiter une notion de similarité ou d’ordre sur ces attributs (on parle d’apprentissage non métrique) ;
— Ils permettent de traiter un problème de classification multi-classe sans passer par des classifica-
tions binaires ;
— Ils permettent de traiter des classes multi-modales (comme ici pour l’étiquette « pomme », qui est
affectée à un fruit grand et rouge ou à un fruit jaune et rond.)
Définition 9.1 (Arbre de décision) On appelle arbre de décision un modèle de prédiction qui peut être
représenté sous la forme d’un arbre. Chaque nœud de l’arbre teste une condition sur une variable et chacun
de ses enfants correspond à une réponse possible à cette condition. Les feuilles de l’arbre correspondent à
une étiquette.
Pour prédire l’étiquette d’une observation, on « suit » les réponses aux tests depuis la racine de l’arbre,
et on retourne l’étiquette de la feuille à laquelle on arrive.
Dans ce chapitre, nous ne traiterons pas séparément du cas binaire et du cas multi-classe car le premier
découle du second en étiquetant les deux classes 1 et 2 plutôt que 0 et 1 comme nous en avons l’habitude.
Pour un problème de régression, cette étiquette est l’étiquette moyenne des observations dans cette
région :
R
X 1 X
f (~x) = δ~x∈Rr yi. (9.2)
|Rr | i
r=1 x ∈Rr
i:~
106 Chapitre 9. Arbres et forêts
Ces notations sont lourdes et on préférera éviter d’essayer d’écrire la fonction de décision d’un arbre de
décision sous forme analytique. Cependant, il est important de retenir qu’un arbre de décision partitionne
le jeu d’entraînement de manière récursive en des sous-ensembles de plus en plus petits. Une telle partition
est illustrée sur la figure 9.2 pour des variables réelles.
x2 < v2 ?
oui non
x1 < u2 ? x1 < u1 ?
R1 x2 < v1 ? R2 R4
oui non
R3 R5
Dans le cas où la variable de séparation est une variable discrète pouvant prendre plus de deux valeurs
(ou modalités), elle s’accompagne alors d’un sous-ensemble de ces valeurs ⊂ dom(xj ) Les deux régions
sont
Rl (j, s) = {~x : xj ∈ }; Rr (j, s) = {~x : xj ∈
/ }.
9.2. Comment faire pousser un arbre 107
Rouge ?
oui non
Petit ? Incurvé ?
oui non oui non
Enfin, dans le cas où la variable de séparation est une variable réelle, elle s’accompagne alors d’un point
de séparation (splitting point) s qui est la valeur de l’attribut par rapport à laquelle va se faire la décision. Les
deux régions sont alors
Rl (j, s) = {~x : xj < s}; Rr (j, s) = {~x : xj ≥ s}.
À chaque itération de l’algorithme CART, on itère sur toutes les valeurs possibles de j et, le cas échéant,
toutes les valeurs possibles de s ou S pour déterminer le couple (j, s) qui minimise un critère prédéfini.
Remarque
Dans le cas d’une variable continue xj , si l’on suppose les valeurs prises par cette variable dans D or-
xi+1 −xij
données : x1j ≤ x2j ≤ . . . , ≤ xnj , alors les valeurs possibles de s sont j
2 pour toutes les valeurs de i
telles que xi+1
j 6= xij .
Dans le cas d’un problème de régression, ce critère est généralement l’erreur quadratique moyenne : à
quel point la partition en (j, s) permet-elle de regrouper des observations d’étiquettes proches ? On choisit
donc la variable et le point de séparation comme
X X
arg min (y i − yl (j, s))2 + (y i − yr (j, s))2
j,s
x i ∈Rl (j,s)
i:~ x i ∈Rr (j,s)
i:~
où yl (j, s) (resp. yr (j, s)) est l’étiquette associée à la région Rl (j, s) (resp. Rr (j, s)) à ce stade, soit donc la
moyenne des étiquettes de cette région.
Dans le cas d’un problème de classification, on utilise plutôt que l’erreur quadratique moyenne un critère
d’impureté, ainsi appelé car il quantifie à quel point la région considérée est « polluée » par des éléments
des classes qui n’y sont pas majoritaires. En notant Imp ce critère, on choisit donc la variable et le point de
séparation comme
|Rl (j, s)| |Rr (j, s)|
arg min Imp(Rl (j, s)) + Imp(Rr (j, s)).
j,s n n
108 Chapitre 9. Arbres et forêts
Encore une fois, il s’agit d’un algorithme glouton : il n’y a aucune garantie que cette stratégie aboutisse
à l’arbre de décision dont l’impureté ou l’erreur quadratique moyenne est minimale.
Tout d’abord, l’erreur de classification permet de définir l’impureté d’une région R comme la proportion
d’exemples de cette région qui n’appartiennent pas à la classe majoritaire.
Si tous les exemples d’une région appartiennent à la même classe, l’erreur de classification de cette région
vaut 0 ; à l’inverse, si une région contient autant d’exemples de chacune des C classes, pc (R) ≈ C1 quelle
que soit la classe c, et l’erreur de classification vaut 1 − C1 , soit 21 dans le cas d’une classification binaire.
Ensuite, l’entropie croisée permet de définir l’impureté d’une région R de sorte à choisir la séparation qui
maximise le gain d’information : le but de la construction est alors de minimiser la quantité d’information
supplémentaire nécessaire pour étiqueter correctement les exemples d’entraînement de R.
C
X
Imp(R) = − pc (R) log2 pc (R). (9.4)
c=1
Si tous les exemples d’une région appartiennent à la même classe, l’entropie croisée de cette région vaut
0 ; à l’inverse, si une région contient autant d’exemples de chacune des C classes, l’entropie croisée vaut
log2 (C), soit 1 dans le cas d’une classification binaire.
Enfin, la définition la plus utilisée de l’impureté est l’impureté de Gini, qui permet de quantifier la proba-
bilité qu’un exemple du jeu d’entraînement soit mal étiqueté s’il était étiqueté aléatoirement en fonction
de la distribution des étiquettes dans R.
Définition 9.3 (Impureté de Gini) L’impureté de Gini d’une région R est définie comme
C
X
Imp(R) = pc (R) (1 − pc (R)) .
c=1
Si tous les exemples d’une région appartiennent à la même classe, l’impureté de Gini de cette région
vaut 0 ; à l’inverse, si une région contient autant d’exemples de chacune des C classes, l’impureté de Gini
vaut 1 − C1 , soit 12 dans le cas d’une classification binaire.
Une approche classique du problème est d’arrêter de diviser une région quand celle-ci contient un
nombre minimum d’exemples d’entraînement fixé par avance. Cela évite de construire des feuilles trop
spécifiques ne contenant qu’un seul point. On peut aussi choisir de limiter la profondeur de l’arbre.
Il est également possible d’utiliser une méthode de régularisation (cf. chapitre 6) pour contrôler la com-
plexité de l’arbre, mesurée par le nombre de régions qu’il définit. C’est ce qu’on appelle l’élagage par coût en
complexité, ou cost-complexity pruning : le coût en complexité d’un arbre T est donné par
|T |
X
Cλ (T ) = nr Imp(Rr ) + λ|T |, (9.5)
r=1
où |T | est le nombre de régions définies par T , Rr la r-ème de ces régions, et nr le nombre d’exemples d’en-
traînement qu’elle contient. λ > 0 est un hyperparamètre permettant de contrôler l’importance relative
de la mesure d’erreur et de la complexité. Cette procédure requiert de développer complètement l’arbre,
puis de l’élaguer en regroupant séquentiellement certaines régions jusqu’à ce que le critère soit optimal.
Malheureusement, les arbres de décision ont tendance à donner des modèles trop simples et à avoir
des performances de prédiction à peine supérieures à des modèles aléatoires et peu robustes aux variations
dans les données. On les qualifie d’apprenants faibles (weak learners en anglais). Heureusement, il est possible
d’y remédier grâce aux méthodes ensemblistes.
Attention
La théorie des méthodes ensemblistes montre que lorsque les modèles que l’on combine ont été appris
par des apprenants faibles, c’est-à-dire simples à entraîner et peu performants, ces méthodes permettent
d’améliorer la performance par rapport à celle du meileur de ces modèles individuels. En pratique, si les
modèles individuels sont déjà performants et robustes au bruit, le modèle ensembliste ne sera pas néces-
sairement meilleur. On utilise le plus souvent des arbres de décision comme modèles individuels.
Deux grandes familles d’approches permettent de créer plusieurs modèles faibles à partir d’un unique
jeu de données. Elles sont toutes deux basées sur un ré-échantillonage du jeu de données, mais sont concep-
tuellement très différentes. La première, le bagging, est une méthode parallèle dans laquelle les apprenants
110 Chapitre 9. Arbres et forêts
Figure 9.4 – Chacune des frontières de décision en escalier est une mauvaise approximation de la vraie
frontière qui est la diagonale en trait plein. Cependant, combiner ces escalier permet une meilleure ap-
proximation de la diagonale.
faibles sont indépendants les uns des autres, tandis que la deuxième, le boosting, est une méthode séquentielle
dans laquelle chaque nouvel apprenant est construit en fonction des performances du précédent.
Forêts aléatoires
La puissance des méthodes ensemblistes se révèle lorsque les apprenants faibles sont indépendants
conditionnellement aux données, autrement dit aussi différents les uns des autres que possible, afin que
leurs erreurs puissent se compenser les unes les autres. Pour atteindre cet objectif, l’idée des forêts aléa-
toires, proposée toujours par Leo Breiman, est de construire les arbres individuels non seulement sur des
échantillons différents (comme pour le bagging), mais aussi en utilisant des variables différentes (Breiman,
2001).
Plus précisément, les arbres construits pour former une forêt aléatoire diffèrent de ceux appris par
CART en ce que, à chaque nœud, on commence par sélectionner q < p variables aléatoirement, avant
√
de choisir la variable séparatrice parmi celles-ci. En classification, on utilise typiquement q ≈ p, ce qui
permet aussi de réduire considérablement les temps de calculs puisqu’on ne considère que peu de variables
9.3. Méthodes ensemblistes : la sagesse des foules 111
Figure 9.5 – Performance sur un jeu de test d’un classifieur entraîné par bagging (en bas à droite) et des 5
premiers arbres qui le composent.
à chaque nœud (5 pour un problème à 30 variables, 31 pour un problème avec 1000 variables). Pour la
régression, le choix par défaut est plutôt de q ≈ p3 .
Remarque
Le fait de moyenner les réponses des différents arbres permet d’utiliser les forêts aléatoires aussi bien
pour des problèmes de régression que de classification.
En pratique, les forêts aléatoires sont un des algorithmes les plus performants et les plus simples à
mettre en place. Elles ont aussi l’avantage de peu dépendre de leurs hyperparamètres, à savoir du nombre
q de variables considérées à chaque nœud, du nombre d’observations utilisées pour chaque arbre (n dans
la procédure que nous avons décrite, mais que l’on pourrait réduire), du nombre maximum d’observations
dans les feuilles de l’arbre (généralement fixé à 1 en classification et 5 en régression), et du nombre d’arbres,
à partir du moment où celui-ci est suffisamment grand.
l’approche séquentielle de la construction d’un ensemble cherche à créer des modèles faibles qui se concen-
treront sur les erreurs du modèle. On parle alors de boosting : par itérations successives, des apprenants
faibles viennent exalter (« booster ») les performances du modèle final qui les combine.
La première proposition dans ce sens est l’algorithme AdaBoost, proposé par Schapire et al. (1997).
AdaBoost
AdaBoost, dont le nom vient de Adaptive Boosting, est un algorithme qui permet de construire un classi-
fieur de manière itérative, en forçant un classifieur faible à se concentrer sur les erreurs du modèle grâce
à un système de pondération des exemples d’entraînement.
Définition 9.4 (AdaBoost) Supposons un jeu de données de classification binaire D = {(~x i , y i )}i=1,...,n ,
un nombre d’itérations M et un algorithme d’apprentissage. Étant donné un jeu de données S, on note fS
la fonction de décision retournée par cet algorithme. Nous supposons Y = {−1, 1} et que fS est à valeur
dans Y.
Nous appelons jeu de données pondérées D0 = {(wi , ~x i , y i )}i=1,...,n ∈ Rn × X n × Y n un jeu de données
{(~x i , y i )}i=1,...,n dans lequel un poids wi a été affecté à la i-ème observation. Nous supposons ici que l’algo-
rithme d’apprentissage que nous utilisons est capable d’intégrer ces pondérations. Dans le cas des arbres
de décision, la pondération des exemples d’apprentissage se reflète par leur pondération dans le critère
d’impureté ; la décision est également prise par vote majoritaire pondéré.
On appelle AdaBoost la procédure de construction d’un ensemble d’apprenants suivante :
1. Initialiser les pondérations w11 , w21 , . . . , wn1 à n1 .
2. Pour m = 1, 2, . . . , M :
(a) Apprendre sur le jeu de données pondéré Dm = {(wim , ~x i , y i )}i=1,...,n la fonction de décision
fm = fDm
(b) Calculer l’erreur pondérée de ce modèle :
m
X
m = wim δ(fm (~x i ), y i ) (9.6)
i=1
Boosting du gradient
AdaBoost se trouve en fait être un cas particulier d’une famille de techniques appelées boosting du gra-
dient (gradient boosting, ou GBOOST), dont le cadre théorique a été développé en 1999 par, d’une part Jerome
H. Friedman, et d’autre part Llew Mason, Jonathan Baxter, Peter Bartlett et Marcus Frean (Friedman, 2001;
Mason et al., 1999).
Ce cadre permet tout d’abord de mieux comprendre le fonctionnement d’AdaBoost, en considérant la
minimisation du risque empirique sur D et la fonction d’erreur exponentielle comme fonction de coût.
Définition 9.5 (Erreur exponentielle) Étant donné un problème de classification, on appelle fonction
d’erreur exponentielle, ou exponential loss, la fonction de coût suivante :
{−1, 1} × R → R
y, f (~x) 7→ e−yf (~x) .
n
1X m
wi exp −αm y i fm (~x i ) .
Em =
n
i=1
Comme fm est à valeur dans {−1, 1}, le produit y i fm (~x i ) vaut 1 si la prédiction est correcte et −1 sinon,
et donc
n
1 X m −αm 1 X
wim eαm − e−αm .
Em = wi e +
n n
i=1 i i
i:fm (~
x )6=y
Cette erreur est minimale quand αm a la forme donnée par l’équation 9.7. Ainsi, AdaBoost combine les
apprenants faibles de sorte à minimiser, à chaque étape, l’erreur exponentielle du classifieur global.
L’erreur exponentielle peut être remplacée par une autre fonction de coût, telle que l’entropie croisée
ou l’erreur quadratique : c’est ce que l’on appelle le boosting du gradient. GBOOST est aujourd’hui un des
algorithmes les plus populaires en machine learning.
Points clefs
— Les arbres de décision sont des modèles interprétables, qui manient naturellement des variables de
plusieurs natures (réelles, discrètes et binaires) et se prêtent aisément à l’apprentissage multi-classe
de distributions multi-modales.
114 Chapitre 9. Arbres et forêts
— Les arbres de décision ont le grand inconvénient d’être des apprenants faibles, et d’avoir en général
une capacité de modélisation trop limitée pour avoir de bonnes performances en pratique.
— Les méthodes ensemblistes permettent de remédier aux limitations des apprenants faibles tels que
les arbres de décision, en combinant ces modèles de sorte à compenser leurs erreurs respectives.
— Les méthodes ensemblistes parallèles, telles que le bagging ou les forêts aléatoires, construisent un
grand nombre de modèles faibles entraînés sur un échantillonage bootstrap des données.
— Les forêts aléatoires entraînent leurs arbres de façon à ce qu’ils soient indépendants les uns des
autres conditionnelement aux données, en sélectionnant aléatoirement les variables à considérer à
la création de chaque nœud.
— Les algorithmes de boosting combinent des modèles faibles entraînés séquentiellement pour donner
plus d’importance aux exemples d’entraînement sur lesquels les prédictions sont les moins bonnes.
Bibliographie
Breiman, L., Friedman, J. H., Olshen, R. A., and Stone, C. J. (1984). Classification and Regression Trees. Wad-
sworth International Group, Belmont, CA.
Chen, T. et Guestrin, C. (2016). XGBoost : A scalable tree boosting system. In Proceedings of the 22nd ACM
SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 785–794, New York, NY, USA.
ACM.
Friedman, J. H. (2001). Greedy function approximation : a gradient boosting machine. The Annals of Statistics,
29(5) :1189–1232.
Mason, L., Baxter, J., Bartlett, P., et Frean, M. (1999). Boosting algorithms as gradient descent. In Proceedings
of the 12th International Conference on Neural Information Processing Systems, pages 512–518, Cambridge, MA,
USA. MIT Press.
115
Schapire, R., Freund, Y., Bartlett, P., et Lee, W. S. (1997). Boosting the margin : a new explanation for the
effectiveness of voting methods. The Annals of Statistics, 26 :322–330.
Chapitre 10
Les machines à vecteurs de support (aussi appelées machines à vecteurs supports), ou SVM de l’anglais sup-
port vector machines, sont de puissants algorithmes d’apprentissage automatique. Elles se basent sur un al-
gorithme linéaire proposé par Vladimir Vapnik et Aleksandr Lerner en 1963 (Vapnik et Lerner, 1963), mais
permettent d’apprendre bien plus que des modèles linéaires. En effet, au début des années 1990, Vladimir
Vapnik, Bernhard Boser, Isabelle Guyon et Corinna Cortes (Boser et al., 1992; Cortes et Vapnik, 1995) ont
trouvé comment les étendre efficacement à l’apprentissage de modèles non linéaires grâce à l’astuce du
noyau. Ce chapitre présente cette approche dans ses différentes versions pour un problème de classifica-
tion, et introduit ainsi la famille des méthodes à noyaux
Objectifs
— Définir un classifieur à large marge dans le cas séparable ;
— Écrire les problèmes d’optimisation primal et dual correspondants ;
— Réécrire ces problèmes dans le cas non séparable ;
— Utiliser l’astuce du noyau pour appliquer une SVM à marge souple dans le cas non linéaire ;
— Définir des noyaux pour des données à valeurs réelles ou des chaînes de caractères.
116
10.1. Le cas linéairement séparable : SVM à marge rigide 117
Dans ce cas, il existe en fait une infinité d’hyperplans séparateurs qui ne font aucune erreur de classifi-
cation (voir figure 10.1). Ces hyperplans sont des modèles équivalents du point de vue de la minimisation
du risque empirique.
Figure 10.1 – Une infinité d’hyperplans (en deux dimensions, des droites) séparent les points négatifs (x)
des points positifs (+).
L’hyperplan séparateur que nous cherchons est donc celui qui maximise la marge. Il y a alors au moins
une observation négative et une observation positive qui sont à une distance γ de l’hyperplan séparateur :
dans le cas contraire, si par exemple toutes les observations négatives étaient à une distance supérieure à γ
de l’hyperplan séparateur, on pourrait rapprocher cet hyperplan des observations négatives et augmenter
la marge.
Nous pouvons alors définir, en plus de l’hyperplan séparateur H, les hyperplans H+ et H− qui lui sont
parallèles et situés à une distance γ de part et d’autre. H+ contient au moins une observation positive,
tandis que H− contient au moins une observation négative.
Définition 10.3 (Vecteurs de support) On appelle vecteurs de support les observations du jeu d’entraî-
nement situés à une distance γ de l’hyperplan séparateur. Elles « soutiennent » les hyperplans H+ et H− .
118 Chapitre 10. Machines à vecteurs de support et méthodes à noyaux
C’est de là que vient le nom de la méthode, appelée Support Vector Machine ou SVM en anglais, et machine
à vecteurs de support en français. On rencontre aussi parfois le nom de « séparatrice à vaste marge », qui
respecte les initiales SVM.
Si l’on venait à déplacer légèrement une observation qui est vecteur de support, cela déplacerait la zone
d’indécision et l’hyperplan séparateur changerait. À l’inverse, si l’on déplace légèrement une observation
qui n’est pas vecteur de support, H n’est pas affecté : les vecteurs de support sont les observations qui
soutiennent la solution.
Toutes les observations positives sont situées à l’extérieur de H+ , tandis que toutes les observations
négatives sont situées à l’extérieur de H− .
Définition 10.4 (Zone d’indécision) On appelle zone d’indécision la zone située entre H− et H+ . Cette
zone ne contient aucune observation.
Figure 10.2 – La marge γ d’un hyperplan séparateur (ici en trait plein) est sa distance à l’observation la plus
proche. Quand cette marge est maximale, au moins une observation négative et une observation positive
sont à une distance γ de l’hyperplan séparateur. Les hyperplans (ici en pointillés) parallèles à l’hyperplan
séparateur et passant par ces observations définissent la zone d’indécision. Les observations situées sur ces
hyperplans (cerclées) sont les vecteurs de support.
Les observations positives vérifient donc toutes hw,~ ~xi + b ≥ 1. De même, les points négatifs vérifient
~ ~xi + b ≤ 1. Ainsi, pour chacun des points de notre jeu d’entraînement, y i hw, ~ ~x i i + b ≥ 1.
tous hw,
L’égalité est vérifiée pour les vecteurs de support.
1 i hw, i i + b ≥ 1. Notre problème
Nous cherchons donc ici à maximiser ||w||~ 2 sous les n contraintes y ~ ~
x
peut donc se formaliser comme suit :
Définition 10.5 (Formulation primale de la SVM à marge rigide) On appelle SVM à marge rigide le
problème d’optimisation suivant :
1
~ 22 t.q. y i hw,
~ ~x i i + b ≥ 1, i = 1, . . . , n.
arg min ||w|| (10.1)
w∈R
~ p ,b∈R 2
~ ∗ , ~xi + b∗ .
f (~x) = hw (10.2)
Démonstration. Il s’agit de la formulation duale d’un problème d’optimisation convexe sous contraintes
(voir section A.4). Introduisons n multiplicateurs de Lagrange {αi }i=1,...,n , un pour chaque contrainte. Le
lagrangien est donc la fonction
L : Rp × R × Rn+ → R (10.4)
n
1 X
~ 22 − αi y i hw,
~ ~x i i + b − 1 .
w, ~ 7→
~ b, α ||w||
2
i=1
q : Rn+ → R (10.5)
~ 7→
α inf
p ,b∈R
L(w,
~ b, α
~)
w∈R
~
120 Chapitre 10. Machines à vecteurs de support et méthodes à noyaux
Enfin, le problème dual de celui présenté par l’équation 10.1 est donc
n
1 X
~ 22 − αi y i hw,
~ ~x i i + b − 1
maxn inf ||w|| (10.6)
~ ∈R+ w∈R
α ~ p ,b∈R 2
i=1
De plus, il est affine en b. Son infimum est donc −∞, sauf si son gradient en b est nul (auquel cas la fonction
affine est « plate »), à savoir si
Xn
αi y i = 0. (10.8)
i=1
Pour résoudre le problème primal (équation 10.1), on peut donc commencer par résoudre le problème
Pn α
dual (équation 10.3). Supposons ~ ∗ solution du problème 10.3. L’équation 10.7 nous donne la solution en w
~
~ = i=1 αi∗ y i ~x i .
de l’équation 10.1 : w ∗
Pour trouver b∗ , on peut revenir à la formulation initiale de la SVM : les vecteurs de support positifs
sont situés sur l’hyperplan H+ et vérifient hw ~ ∗ , ~x i i + b∗ = 1.
De plus, étant les observations positives les plus proches de l’hyperplan séparateur H, les vecteurs de
support positifs minimisent hw~ ∗ , ~x i i. Ainsi
b∗ = 1 − min hw
~ ∗ , ~x i i.
i:y i =+1
Encart
Complexité algorithmique
La formulation primale de la SVM est un problème d’optimisation en p + 1 dimensions, tandis que la
formulation duale est un problème d’optimisation en n dimensions. Si l’on a peu de données et beaucoup de
variables, on préférera la formulation duale ; dans le cas inverse, on préférera résoudre le problème primal.
10.2. Le cas linéairement non séparable : SVM à marge souple 121
Figure 10.3 – Aucun classifieur linéaire ne peut séparer parfaitement ces données. Les observations mar-
quées d’un carré sont des erreurs de classification. L’observation marquée d’un triangle est correctement
classifiée mais est située à l’intérieur de la zone d’indécision. Si elle était à sa frontière, autrement dit, si
elle était vecteur de support, la marge serait beaucoup plus étroite.
Remarque
Cette formulation est celle d’une régularisation de la minimisation d’un risque empirique par un terme
de norme `2 . Elle est similaire à la régression ridge (voir le chapitre 6), C étant inversement proportionnel
à λ, mais la fonction d’erreur est différente.
Définition 10.7 (Formulation primale de la SVM à marge souple) En introduisant une variable d’ajus-
i i
tement (ou variable d’écart ; on parlera de slack variable en anglais) ξi = 1 − y f (~x ) + pour chaque obser-
vation du jeu d’entraînement, le problème d’optimisation 10.11 est équivalent à
n
1 X
arg min ~ 22 + C
||w|| ξi (10.12)
w∈R
~ ~ n2
p ,b∈R,ξ∈R
i=1
t. q. y i hw,
~ ~x i i + b ≥ 1 − ξi , i = 1, . . . , n
ξi ≥ 0, i = 1, . . . , n.
10.2. Le cas linéairement non séparable : SVM à marge souple 123
Comme dans le cas de la SVM à marge rigide, le lagrangien est minimal quand son gradient en w~ est
nul, à savoir quand
X n
w~= αi y i ~x i . (10.17)
i=1
Toujours comme précédemment, il est affine en b et son infimum est donc −∞, sauf si son gradient en b
est nul, à savoir si
Xn
αi y i = 0. (10.18)
i=1
De plus, il est affine en ξ~ et son infimum est donc −∞, sauf si son gradient en ξ~ est nul, à savoir si
βi = C − αi , i = 1, . . . , n. (10.19)
La fonction duale q est donc maximisée quand les équations 10.18 et 10.19 sont vérifiés.
En remplaçant w ~ par son expression (équation 10.17) dans l’expression de la fonction duale, l’équa-
tion 10.16 peut donc être reformulée comme
n n n n n n
1 XX X X X X
maxn − αi αl y i y l h~x i , ~x l i + αi + C ξi − (C − αi )ξi − α i ξi
~ ∈R
α 2
i=1 l=1 i=1 i=1 i=1 i=1
n
X
t. q. αi y i = 0; αi ≥ 0, i = 1, . . . , n; C − αi ≥ 0, i = 1, . . . , n.
i=1
Remarque
La seule différence avec la formulation duale de la SVM à marge rigide (équation 10.3) est la contrainte
αi ≤ C, i = 1, . . . , n.
124 Chapitre 10. Machines à vecteurs de support et méthodes à noyaux
(a) Un cercle semble bien mieux indiqué qu’une (b) Après transformation par l’application φ :
droite pour séparer ces données. (x1 , x2 ) 7→ (x21 , x22 ), les données sont linéairement
séparables dans l’espace de redescription.
Figure 10.4 – Transformer les données permet de les séparer linéairement dans un espace de redescription.
10.3. Le cas non linéaire : SVM à noyau 125
linéaire en φ(~x) : f (~x) = φ(~x)1 + φ(~x)2 − R2 . Nous pouvons donc l’apprendre en utilisant une SVM sur
les images des données par l’application φ.
Plus généralement, nous allons maintenant supposer que les observations sont définies sur un espace
quelconque X , qui peut être Rp mais aussi par exemple l’ensemble des chaînes de caractères sur un alpha-
bet donné, l’espace de tous les graphes, ou un espace de fonctions.
Définition 10.8 (Espace de redescription) On appelle espace de redescription l’espace de Hilbert H dans
lequel il est souhaitable de redécrire les données, au moyen d’une application φ : X → H, pour y entraîner
une SVM sur les images des observations du jeu d’entraînement.
La redescription des données dans un espace de Hilbert nous permet d’utiliser un algorithme linéaire,
comme la SVM à marge souple, pour résoudre un problème non linéaire.
Que ce soit pour entraîner la SVM ou pour l’appliquer, nous n’avons pas besoin de connaître φ expli-
citement, mais il nous suffit de connaître le noyau k. Cela signifie que nous n’avons pas besoin de faire de
calcul dans H, qui est généralement de très grande dimension : c’est ce que l’on appelle l’astuce du noyau.
L’astuce du noyau s’applique de manière générale à d’autres algorithmes d’apprentissage linéaires, comme
la régression ridge (cf. section 6.2), l’ACP (cf. section 11.3.1) ou encore la méthode des K-moyennes (cf.
section 12.4).
10.3.4 Noyaux
Caractérisation mathématique
Définition 10.10 (Noyau) Nous appelons noyau toute fonction k de deux variables s’écrivant sous la
forme d’un produit scalaire des images dans un espace de Hilbert de ses variables. Ainsi, un noyau est une
fonction continue, symétrique, et semi-définie positive :
N X
X N
∀ N ∈ N, ∀ (~x 1 , ~x 2 , . . . ~x N ) ∈ X N et (a1 , a2 , . . . aN ) ∈ RN , ai al k(~x i , ~x l ) ≥ 0.
i=1 l=1
Démonstration. On trouvera une preuve de ce résultat dans l’article original de Nachman Aronszajn,
qui l’attribue à E. Hastings Moore (Aronszajn, 1950).
Intuitivement, un noyau peut être interprété comme un produit scalaire sur un espace de Hilbert, au-
trement dit comme une fonction qui mesure la similarité entre deux objets de X . Ainsi, on peut définir des
noyaux en construisant une similarité entre objets, puis en vérifiant qu’elle est semi-définie positive.
Comme pour le noyau quadratique, c ∈ R+ est un paramètre permettant d’inclure des termes de degré
inférieur à d. Ce noyau correspond à un espace de redescription comptant autant de dimensions qu’il existe
de monômes de p variables de degré inférieur ou égal à d, soit p+d
d .
Définition 10.14 (Noyau radial gaussien) On appelle noyau radial gaussien, ou noyau RBF (pour Radial
x0 ||2
0 ||~
x−~
Basis Function), de bande passante σ > 0 le noyau défini par k(~x, ~x ) = exp − 2σ2 .
Formellement, ce noyau nécessite de calculer une somme sur |Ak | = |A|k termes. Cependant, il peut
être calculé de manière bien plus efficace en itérant uniquement sur les (|x| + 1 − k) chaînes de longueur
128 Chapitre 10. Machines à vecteurs de support et méthodes à noyaux
k présentes dans x, les autres termes de la somme valant nécessairement 0. Il s’agit alors d’un calcul en
O(|x| + |x0 |).
Exemple
Dans le cas des protéines humaines, si l’on choisit k = 8, on remplace ainsi un calcul dans un espace
de redescription de dimension supérieure à 37 milliards (218 ) par une somme sur moins de 500 termes (la
longueur moyenne d’une protéine humaine étant de 485 acides aminés.)
Ces idées peuvent aussi être appliquées à la définition de noyaux pour graphes, en remplaçant les sous-
chaînes de caractères par des sous-graphes. Cependant, le problème de l’isomorphisme de sous-graphes
est NP-complet dans le cas général, ce qui limite le type de sous-graphes que l’on peut considérer.
Ici X ∈ Rn×p est la matrice de design potentiellement augmentée d’une colonne de 1 selon la transforma-
tion 5.5.
L’expression 10.25 peut se réécrire, en multipliant à gauche par λIp + X > X , comme
1
β~ ∗ = X > α
~ avec α
~= y − X β~ ∗ .
λ
α = y − XX > α
Ainsi λ~ ~ et donc
−1
~ = λIn + XX >
α y.
Appliquer la régression ridge aux images des observations dans H revient à calculer
où Φ ∈ Rn×d est la matrice dont la i-ème ligne est l’image par φ dans H (supposé ici de dimension d) de
~x i . On peut réécrire cette fonction comme
Il n’est donc pas nécessaire d’utiliser φ et H explicitement pour entraîner une régression ridge dans
l’espace de redescription H défini par un noyau.
Points clefs
— La SVM à marge souple est un algorithme linéaire de classification binaire qui cherche à maximiser
la séparation entre les classes, formalisée par le concept de marge, tout en contrôlant le nombre
d’erreurs de classification sur le jeu d’entraînement.
— L’astuce du noyau permet d’appliquer efficacement cet algorithme, ainsi que d’autres algorithmes
linéaires comme la régression ridge, dans un espace de redescription, sans calculer explicitement
l’image des observations dans cet espace.
— Les noyaux quadratique, polynomial et radial gaussien permettent d’utiliser des espaces de redes-
cription de dimensions de plus en plus grandes.
• La fonction de décision des SVM ne modélise pas une probabilité. Platt (1999) propose d’apprendre
une fonction sigmoïde qui convertit ces prédictions en probabilité.
• Il est possible d’étendre les SVM afin de modéliser des observations appartenant à une seule et même
classe (sans exemples négatifs). Cette méthode permet ensuite de classifier de nouvelles observa-
tions selon qu’elles appartiennent ou non à la classe, et ainsi être utilisées pour détecter des anoma-
lies, autrement dit des observations qui n’appartiennent pas à la classe. Il en existe deux variantes :
celle appelée One-class SVM (Schölkopf et al., 2000), qui sépare les observations de l’origine ; et celle
appelée Support Vector Data Description (Tax et Duin, 2004), qui permet de trouver une frontière sphé-
rique (dans l’espace de redescription, dans le cas de la version à noyau) qui enveloppe de près les
données.
• Pour plus de détails sur les noyaux pour chaînes de caractères et leur utilisation en bioinformatique,
on pourra se référer au chapitre de Saunders et Demco (2007). En ce qui concerne les noyaux pour
graphe, le chapitre 2 de la thèse de Benoît Gaüzère (2013) donne un bon aperçu du domaine.
Bibliographie
Aronszajn, N. (1950). Theory of reproducing kernels. Transactions of the American Mathematical Society,
68(3) :337–404.
Boser, B. E., Guyon, I. M., and Vapnik, V. N. (1992). A training algorithm for optimal margin classifiers.
In Proceedings of the Fifth annual Workshop on Computational Learning Theory, pages 144–152, Pittsburgh,
Pennsylvania, United States. ACM.
Burges, C. J. C. (1998). A tutorial on support vector machines for pattern recognition. Data Mining and
Knowledge Discovery, 2 :121–167.
Chang, C.-C. et Lin, C.-J. (2008). LibSVM : A library for support vector machines. http://www.csie.ntu.
edu.tw/~cjlin/libsvm/.
Cherkassky, V. et Mulier, F. (1998). Learning from Data : Concepts, Theory, and Methods. Wiley, New York.
Gaüzère, B. (2013). Application des méthodes à noyaux sur graphes pour la prédiction des propriétés des molécules.
Thèse de doctorat, Université de Caen.
Gower, J. C. (1971). A general coefficient of similarity and some of its properties. Biometrics, pages 857–871.
Platt, J. C. (1998). Sequential minimal optimization : a fast algorithm for training support vector machines.
Technical Report MSR-TR-98-14, Microsoft Research.
Platt, J. C. (1999). Probabilities for support vector machines. In Advances in Large Margin Classifiers, pages
61–74. MIT Press, Cambridge, MA.
Saunders, C. et Demco, A. (2007). Kernels for strings and graphs. In Perspectives of Neural-Symbolic Integration,
Studies in Computational Intelligence, pages 7–22. Springer, Berlin, Heidelberg.
131
Schölkopf, B., Williamson, R. C., Smola, A. J., Shawe-Taylor, J., et Platt, J. C. (2000). Support vector method
for novelty detection. In Advances in neural information processing systems, pages 582–588.
Schölkopf, B. et Smola, A. J. (2002). Learning with Kernels : Support Vector Machines, Regularization, Optimization,
and Beyond. MIT Press, Cambridge, MA.
Tax, D. M. et Duin, R. P. (2004). Support vector data description. Machine learning, 54(1) :45–66.
Vapnik, V. et Lerner, A. (1963). Pattern recognition using generalized portrait method. Automation and
Remote Control, 24.
Vert, J.-P., Tsuda, K., et Schölkopf, B. (2004). A primer on kernel methods. In Kernel Methods in Computational
Biology, pages 35–70. MIT Press, Cambridge, MA.
Chapitre 11
Réduction de dimension
Dans certaines applications, le nombre de variables p utilisé pour représenter les données est très élevé.
C’est le cas par exemple du traitement d’images haute-résolution, dans lequel chaque pixel peut être re-
présenté par plusieurs variables, ou de l’analyse de données génomiques, où des centaines de milliers de
positions du génome peuvent être caractérisées.
Bien qu’une représentation des données contenant plus de variables soit intuitivement plus riches,
il est plus difficile d’apprendre un modèle performant dans ces circonstances. Dans ce chapitre, nous en
détaillerons les raisons avant d’explorer une série de méthodes, supervisées ou non, pour réduire ce nombre
de variables afin d’obtenir des représentations plus compactes et des modèles plus robustes.
Objectifs
— expliquer quel peut être l’intérêt de réduire la dimension d’un jeu de données ;
— faire la différence entre la sélection de variables et l’extraction de variables ;
— connaître les principales techniques pour ces deux approches ;
— comprendre l’analyse en composantes principales à partir d’une définition de maximisation de la
variance et comme une technique de factorisation de matrice.
11.1 Motivation
Le but de la réduction de dimension est de transformer une représentation X ∈ Rn×p des données
en une représentation X ∗ ∈ Rn×m où m p. Les raisons de cette démarche sont multiples, et nous les
détaillons dans cette section.
132
11.1. Motivation 133
algorithmes. Dans ce but, il est très utile de pouvoir visualiser les données ; mais ce n’est pas tâche aisée avec
p variables. Ainsi, limiter les variables à un faible nombre de dimensions permet de visualiser les données
plus facilement, quitte à perdre un peu d’information lors de la transformation.
Figure 11.1 – En utilisant les deux dimensions, les trois plus proches voisins de l’étoile sont majoritairement
des (x). En utilisant seulement la variable en abscisse, ses trois plus proches voisins sont majoritairement
des (+). Si la variable en ordonnée n’est pas pertinente, elle fausse le résultat de l’algorithme des trois plus
proches voisins.
Enfin, nous faisons face en haute dimension à un phénomène connu sous le nom de fléau de la dimen-
sion, ou curse of dimensionality en anglais. Ce terme qualifie le fait que les intuitions développées en faible
dimension ne s’appliquent pas nécessairement en haute dimension.
134 Chapitre 11. Réduction de dimension
En effet, en haute dimension, les exemples d’apprentissage ont tendance à tous être éloignés les uns
des autres. Pour comprendre cette assertion, plaçons-nous en dimension p et considérons l’hypersphère
S(~x, R) de rayon R ∈ R∗+ centrée sur une observation ~x, ainsi que l’hypercube C(~x, R) circonscrit à cette
p π p/2
hypersphère. Le volume de S(~x) vaut 2R pΓ(p/2) , tandis que celui de C(~
x, R), dont le côté a pour longueur
p p
2R, vaut 2 R . Ainsi
Vol(C(~x, R))
lim = 0.
p→∞ Vol(S(~ x, R))
Cela signifie que la probabilité qu’un exemple situé dans C(~x, R) appartienne à S(~x, R), qui vaut π4 ≈ 0.79
lorsque p = 2 et π6 ≈ 0.52 lorsque p = 3 (cf. figure 11.2), devient très faible quand p est grand : les données
ont tendance à être éloignées les unes des autres.
Cela implique que les algorithmes développés en utilisant une notion de similarité, comme les plus
proches voisins, les arbres de décision ou les SVM, ne fonctionnent pas nécessairement en grande dimen-
sion. Ainsi, réduire la dimension peut être nécessaire à la construction de bons modèles.
Figure 11.2 – Ici en dimension 3, on considère la proportion du volume du cube de côté a = 2R située à
l’intérieur de la sphère de rayon R inscrite dans ce cube.
La corrélation entre la variable j et l’étiquette y se calcule comme celle entre une étiquette prédite et
une étiquette réelle (cf. équation 3.2) :
Pn i− 1
Pn i
i 1 Pn i)
i=1 y n i=1 y x j − n i=1 f (~
x
Rj = q r 2 (11.1)
Pn 1 Pn
2 Pn i 1 Pn l
i i
i=1 y − n i=1 y i=1 xj − n l=1 xj .
Définition 11.1 (Information mutuelle) L’information mutuelle entre deux variables aléatoires Xj et
Y mesure leur dépendance au sens probabiliste ; elle est nulle si et seulement si les variables sont indépen-
dantes, et croît avec leur degré de dépendance. Elle est définie, dans le cas discret, par
X P(Xj = xj , Y = y)
I(Xj , Y ) = P(Xj = xj , Y = y) log ,
xj ,y
P(Xj = xj )P(Y = y)
L’estimateur de Kozachenko-Leonenko est l’un des plus fréquemment utilisés pour estimer l’informa-
tion mutuelle (Kozachenko et Leonenko, 1987).
Les méthodes de filtrage souffrent de traiter les variables individuellement : elles ne peuvent pas prendre
en compte leurs effets combinés. Un exemple classique pour illustrer ce problème est celui du « ou exclu-
sif » (XOR) : prise individuellement, x1 (resp. x2 ) est décorrélée de y = x1 XOR x2 , alors qu’ensemble, ces
deux variables expliqueraient parfaitement l’étiquette y.
1. Initialiser F = ∅
2. Trouver la meilleure variable à ajouter à F :
j ∗ = arg min ED (F ∪ {j})
j∈{1,...,p}\F
Définition 11.3 (Recherche descendante) On appelle recherche descendante, ou backward search en an-
glais, la procédure gloutonne de sélection de variables suivante :
1. Initialiser F = {1, . . . , p}
2. Trouver la meilleure variable à retirer de F :
j ∗ = arg min ED (F \ {j})
j∈F
3. Si ED (F ∪ S) < ED (F) : F ← F ∪ S
4. Trouver les r meilleures variables à retirer de F :
S∗ = arg min ED (F \ S)
S⊆{1,...,p}\F , |S|=r
Maximisation de la variance
L’idée centrale d’une ACP est de représenter les données de sorte à maximiser leur variance selon les
nouvelles dimensions, afin de pouvoir continuer à distinguer les exemples les uns des autres dans leur
nouvelle représentation (cf. figure 11.3).
Figure 11.3 – La variance des données est maximale selon l’axe indiqué par une flèche.
Formellement, une nouvelle représentation de X est définie par une base orthonormée sur laquelle
projeter la matrice de données X.
Définition 11.5 (Analyse en composantes principales) Une analyse en composantes principales, ou ACP,
de la matrice X ∈ Rn×p est une transformation linéaire orthogonale qui permet d’exprimer X dans une
nouvelle base orthonormée, de sorte que la plus grande variance de X par projection s’aligne sur le premier
axe de cette nouvelle base, la seconde plus grande variance sur le deuxième axe, et ainsi de suite.
Les axes de cette nouvelle base sont appelés les composantes principales, abrégées en PC pour Principal
Components.
138 Chapitre 11. Réduction de dimension
Attention
Dans la suite de cette section, nous supposons que les variables ont été standardisées de sorte à toutes
avoir une moyenne de 0 et une variance de 1, pour éviter que les variables qui prennent de grandes valeurs
aient plus d’importance que celles qui prennent de faibles valeurs. C’est un pré-requis de l’application de
l’ACP. Cette standardisation s’effectue en centrant la moyenne et en réduisant la variance de chaque va-
riable :
xij − x¯j
xij ← q P , (11.2)
1 n l − x¯ )2
n (x
l=1 j j
où x¯j = n1 nl=1 xlj . On dira alors que X est centrée : chacune de ses colonnes a pour moyenne 0.
P
Théorème 11.1 Soit X ∈ Rn×p une matrice centrée de covariance Σ = n1 X > X. Les composantes principales
de X sont les vecteurs propres de Σ, ordonnés par valeur propre décroissante.
Démonstration. Commençons par démontrer que, pour tout vecteur w ~ ∈ Rp , la variance de la pro-
~ vaut w> Σw.
jection de X sur w
La projection de X ∈ Rn×p sur w~ ∈ Rp est le vecteur ~z = Xw. Comme X est centrée, la moyenne de
~z vaut
n n p p n
1X 1 XX i 1X X i
zi = x j wj = wj xj = 0.
n n n
i=1 i=1 j=1 j=1 i=1
Sa variance vaut
n
1X 2 1 > >
Var[~z] = zzi = w~ X Xw ~ > Σw.
~ =w ~
n n
i=1
w ~ > Σw
~ 1 = arg max w ~ avec ||w
~ 1 ||2 = 1. (11.3)
w∈R
~ p
Il s’agit d’un problème d’optimisation quadratique sous contrainte d’égalité (voir section A.4), que l’on peut
résoudre en introduisant le multiplicateur de Lagrange α1 > 0 et en écrivant le lagrangien
L(α1 , w) ~ > Σw
~ =w ~ − α1 (||w||
~ 2 − 1) .
~ > Σw
Par dualité forte, le maximum de w ~ sous la contrainte ||w
~ 1 ||2 = 1 est égal à minα1 supw∈R
~ p L(α1 , w).
~
Le supremum du lagrangien est atteint en un point où son gradient s’annule, c’est-à-dire qui vérifie
~ − 2α1 w
2Σw ~ = 0.
Ainsi, Σw~ 1 = α1 w
~ 1 et (α1 , w
~ 1 ) forment un couple (valeur propre, vecteur propre) de Σ.
Parmi tous les vecteurs propres de Σ, w ~ 1> Σw
~ 1 est celui qui maximise la variance w ~ 1 = α1 ||w
~ 1 ||2 = α1 .
>
Ainsi, α1 est la plus grande valeur propre de Σ (rappelons que Σ étant définie par X X est semi-définie
positive et que toutes ses valeurs propres sont positives.)
La deuxième composante principale de X vérifie
w ~ > Σw
~ 2 = arg max w ~ avec ||w ~ >w
~ 2 ||2 = 1 et w ~ 1 = 0. (11.4)
w∈R
~ p
11.3. Extraction de variables 139
Cette dernière contrainte nous permet de garantir que la base des composantes principales est orthonor-
mée.
Nous introduisons donc maintenant deux multiplicateurs de Lagrange α2 > 0 et β2 > 0 et obtenons
le lagrangien
L(α2 , β2 , w) ~ > Σw
~ =w ~ − α2 ||w||~ 22 − 1 − β2 w
~ >w
~ 1.
~ 2 − 2α2 w
2Σw ~ 2 − β2 w
~ 1 = 0.
~ 1> , on obtient
En multipliant à gauche par w
~ 1> Σw
2w ~ 1> w
~ 2 − 2α2 w ~ 1> w
~ 2 − β2 w ~1 = 0
d’où l’on conclut que β2 = 0 et, en remplaçant dans l’équation précédente, que, comme pour w ~2 −
~ 1 , 2Σw
2α1 w~ 2 = 0. Ainsi (α2 , w
~ 2 ) forment un couple (valeur propre, vecteur propre) de Σ et α2 est maximale : il
s’agit donc nécessairement de la deuxième valeur propre de Σ.
Le raisonnement se poursuit de la même manière pour les composantes principales suivantes.
Remarque
Alternativement, on peut prouver le théorème 11.1 en observant que Σ, qui est par construction définie
positive, est diagonalisable par un changement de base orthonormée : Σ = Q> ΛQ, où Λ ∈ Rp×p est une
matrice diagonale dont les valeurs diagonales sont les valeurs propres de Σ. Ainsi,
~ 1> Σw
w ~ 1> Q> ΛQw
~1 = w ~ 1 )> Λ (Qw
~ 1 = (Qw ~ 1) .
P~v = Qw
Si l’on pose ~ 1 , il s’agit donc de trouver ~v de norme 1 (Q étant orthonormée et w ~ 1 de norme 1) qui
maximise pj=1 vj2 λj . Comme Σ est définie positive, λj ≥ 0 ∀j = 1, . . . , p. De plus, ||~v ||2 = 1 implique que
0 ≤ vj1 ≤ 1 ∀j = 1, . . . , p. Ainsi, pj=1 vj2 λj ≤ maxj=1,...,p λj pj=1 vj2 ≤ maxj=1,...,p λj et ce maximum
P P
est atteint quand vj = 1 et vk = 0 ∀k 6= j. On retrouve ainsi que w ~ 1 est le vecteur propre correspondant
à la plus grande valeur propre de Σ, et ainsi de suite.
Démonstration. Si l’on écrit X sous la forme U DV > où U ∈ Rn×n et V ∈ Rp×p sont orthogonales,
et D ∈ Rn×p est diagonale, alors
et les valeurs singulières de X (les entrées de D) sont les racines carrées des valeurs propres de Σ, tandis
que les vecteurs singuliers à droite de X (les colonnes de V ) sont les vecteurs propres de Σ.
En pratique, les implémentations de la décomposition en valeurs singulières (ou SVD) sont numéri-
quement plus stables que celles de décomposition spectrale. On préfèrera donc calculer les composantes
principales de X en calculant la SVD de X plutôt que la décomposition spectrale de X > X.
140 Chapitre 11. Réduction de dimension
(a) Pourcentage de variance expliqué par chacune des (b) Pourcentage cumulé de variance expliquée par cha-
composantes principales. À partir de 6 composantes cune des composantes principales. Si on se fixe une
principales, ajouter de nouvelles composantes n’est plus proportion de variance expliquée de 95%, on peut se
vraiment informatif. contenter de 10 composantes principales.
Figure 11.4 – Pour choisir le nombre de composantes principales, on utilise le pourcentage de variance
expliquée.
H = W > X. (11.5)
La matrice H ∈ Rm×n peut être interprétée comme une représentation latente (ou cachée, hidden en
11.3. Extraction de variables 141
anglais d’où la notation H) des données. C’est cette représentation que l’on a cherché à découvrir grâce à
l’ACP.
Les colonnes de W étant des vecteurs orthonormés (il s’agit de vecteurs propres de XX > ), on peut
multiplier l’équation 11.5 à gauche par W pour obtenir une factorisation de X :
X = W H. (11.6)
Analyse factorielle
Cette factorisation s’inscrit dans le cadre plus général de l’analyse factorielle.
Supposons que les observations {~x 1 , ~x 2 , . . . , ~x n } soient les réalisations d’une variable aléatoire p-
dimensionnelle ~x, générée par le modèle
~x = W ~h + , (11.7)
où ~h est une variable aléatoire m-dimensionnelle qui est la représentation latente de ~x, et un bruit gaus-
sien : ∼ N (0, Ψ).
Supposons les données centrées en 0, et les variables latentes ~h 1 , ~h 2 , . . . , ~h n (qui sont des réalisa-
tions de ~h) indépendantes et gaussiennes de variance unitaire, c’est-à-dire ~h ∼ N (0, Im ) où Im est la
matrice identité de dimensions m × m. Alors W ~h est centrée en 0, et sa covariance est W W > . Alors
~x ∼ N (0, W W > + Ψ).
Si on considère de plus que est isotropique, autrement dit que Ψ = σ 2 Ip , alors ~x ∼ N (0, W W > +
σ 2 Ip ), on obtient ce que l’on appelle ACP probabiliste (Tipping et Bishop, 1999). Les paramètres W et σ de
ce modèle peuvent être obtenus par maximum de vraisemblance.
L’ACP classique est un cas limite de l’ACP probabiliste, obtenu quand la covariance du bruit devient
infiniment petite (σ 2 → 0).
Plus généralement, on peut faire l’hypothèse que les variables observées x1 , x2 , . . . , xp sont condition-
nellement indépendantes étant données les variables latentes h1 , h2 , . . . , hm . Dans ce cas, Ψ est une ma-
trice diagonale, Ψ = diag(ψ1 , ψ2 , . . . , ψp ), où ψj décrit la variance spécifique à la variable xj . Les valeurs
de W , σ et ψ1 , ψ2 , . . . , ψp peuvent encore une fois être obtenues par maximum de vraisemblance. C’est ce
que l’on appelle l’analyse factorielle.
Dans l’analyse factorielle, nous ne faisons plus l’hypothèse que les nouvelles dimensions sont orthogo-
nales. En particulier, il est donc possible d’obtenir des dimensions dégénérées, autrement dit des colonnes
de W dont toutes les coordonnées sont 0.
où ||.||F désigne la norme de Frobenius d’une matrice, autrement dit la racine carrée de la somme des carrés
de ses entrées. Ainsi, ||X − W H||2F compare les matrices X et de W H entrée par entrée.
Le problème 11.8 peut être résolu par un algorithme à directions de descente (voir section A.3.3).
142 Chapitre 11. Réduction de dimension
Exemple
Cette technique peut être appliquée, par exemple, dans l’analyse des notes données par des spectateurs
à différents films. Supposons avoir n spectateurs qui ont donné des notes entre 0 et 5 à p films ; une facto-
risation non négative permet d’interpréter une de ces notes (xij ) comme la combinaison de l’importance
pour le spectateur i des m aspects d’un film (donnée par ~h i ∈ Rm + ), et de la présence de chacun de ces
aspects dans le film (donnée par la j-ème ligne de W ).
Remarque
Cette technique peut aussi être utilisée pour faire de la complétion de matrice, c’est-à-dire dans le cas où
X a des valeurs manquantes (tous les spectateurs n’ont pas noté tous les films). Plutôt que de chercher à
minimiser ||X − W H||2F , on restreint cette somme aux entrées connues de X : le problème 11.8 devient
alors X
arg min (Xij − (W H)ij )2 . (11.9)
W ∈Rp×m
+ ,H∈Rm×n
+ i,jnon manquants
Ce problème se résout aussi par un algorithme à directions de descente (voir section A.3.3), et on peut
alors approcher X par le produit W H. Cela permet de prédire les entrées manquantes de X par les entrées
correspondantes de W H.
Cette technique est utilisée dans le cas du filtrage collaboratif (voir section 8.4), où les colonnes de X
correspondent à des utilisateurs et ses lignes à des produits.
11.3.3 Auto-encodeurs
Nous avons vu à la section 7.2.5 qu’il est possible d’interpréter les réseaux de neurones artificiels comme
un outil pour apprendre une représentation des données (celle issue de la dernière couche intermédiaire)
qui se prête bien à un apprentissage supervisé linéaire. Cette idée a conduit à la notion d’auto-encodeur, qui
permet d’utiliser les réseaux de neurones pour faire de la réduction de dimension non supervisée.
Définition 11.6 (Autoencodeur) On appelle auto-encodeur un réseau de neurones dont la couche de
sortie est identique à la couche d’entrée, en passant par une couche intermédiaire de taille inférieure à
celles-ci. La sortie de cette couche intermédiaire constitue alors une nouvelle représentation plus compacte
des données.
Bien qu’il existe des auto-encodeurs linéaires, on leur préfère généralement les machines de Boltzmann
restreintes, ou RBM pour Restricted Boltzmann Machines. Elles ont été proposées par Paul Smolensky (1986).
Une machine de Boltzmann restreinte contient deux couches de neurones, comme illustré sur la fi-
gure 11.5. La première couche contient p neurones, une par variable xj représentant les données ; la deuxième
en contient m, où m < p. Le vecteur ~z = (z1 , z2 , . . . , zm ) en sortie de cette couche constitue une re-
présentation réduite de ~x. Nous supposerons ces variables binaires, à valeur dans {0, 1} : elles peuvent
correspondre à la couleur d’un pixel sur une image en noir et blanc.
Cette architecture est dite restreinte car il n’y a pas de connexions entre neurones d’une même couche,
contrairement aux machines de Boltzmann proposées précédemment et utilisées dans le cadre de la phy-
sique statistique. Par contre, les connexions entre les deux couches vont dans les deux sens : de la couche
d’entrée vers la couche intermédiaire, et aussi de la couche intermédiaire vers la couche d’entrée. Les poids
de connexion seront choisis de sorte à minimiser la différence entre l’entrée et la sortie, obtenue après un
passage vers l’avant puis un retour vers l’arrière dans le réseau.
11.3. Extraction de variables 143
avant
arrière
Figure 11.5 – Architecture d’une machine de Boltzmann restreinte qui apprend une représentation en m
dimensions de données en dimension p.
La particularité des machines de Boltzmann restreintes est d’utiliser des fonctions d’activation stochas-
tique :
X p
P(zq = 1|~x) = σ bq + wjq xj , (11.10)
j=1
La loi de probabilité jointe de ~x et ~z selon ce modèle peut s’écrire comme celle d’une distribution de
Boltzmann en fonction de cette énergie :
1 −E(~x,~z)
P(~x, ~z) = e (11.13)
Z
où la constante de normalisation Z peut être vue comme une fonction de partition et s’écrit en sommant
P(~x, ~z) sur tous les états possibles :
X
Z= e−E(~u,~v) . (11.14)
u∈{0,1}p ,~v ∈{0,1}m
~
Ainsi, nous pouvons apprendre les coefficients {aj }j=1,...,p , {bq }q=1,...,m , et
{wjq }j=1,...,p,q=1,...,m par maximum de vraisemblance.
144 Chapitre 11. Réduction de dimension
Il nous faut maintenant dériver cette expression par rapport à chacun des paramètres que l’on cherche
à déterminer. En notant θ un de ces paramètres (ainsi θ peut indifféremment représenter aj , bq , ou wjq ), la
dérivée partielle de − log P (~x i ) par rapport à θ est :
et un gradient positif,
∂E(~x i , ~v ) ∂E(~x i , ~v )
X
i
P(~v |~x ) =E . (11.17)
∂θ ∂θ
~v
Pour approcher ces espérances, on utilise une procédure d’échantillonnage de Gibbs, qui consiste à itéra-
tivement tirer une observation ~x i , faire une passe en avant pour obtenir ~z i , faire une passe en arrière pour
0 0
obtenir la sortie ~x i , puis une dernière passe en avant pour obtenir ~z i , et approcher notre gradient par
0 0
∂E(~x i , ~z i ) ∂E(~x i , ~z i )
− . (11.18)
∂θ ∂θ
Les dérivées partielles de l’énergie E définie par l’équation 11.12 sont simples à calculer.
On obtient ainsi l’algorithme dit de divergence contrastive pour entraîner une machine de Boltzmann
restreinte, et proposé initialement par Geoff Hinton (2002).
Définition 11.7 (Divergence contrastive) Étant donnée une machine de Boltzmann restreinte dont
l’énergie est donnée par l’équation 11.12 et une vitesse d’apprentissage η, la procédure de divergence contras-
tive, ou contrastive divergence en anglais, consiste à apprendre les poids aj , bq et wjq en itérant sur les ob-
servations après avoir initialisé ces poids à une valeur aléatoire. Pour une observation ~x i , on effectue les
étapes suivantes :
1. Tirer un vecteur intermédiaire ~z i selon P(~z|~x i ) ;
2. Calculer le gradient positif, qui vaut xij pour θ = aj , zqi pour θ = bq , et xij zqi pour θ = wjq ;
0
3. Tirer une reconstruction ~x i de ~x i selon P(~x|~z i ) ;
0 0
4. Tirer un vecteur intermédiaire ~z i selon P(~z|~x i ) ;
0 0 0 0
5. Calculer le gradient négatif, qui vaut −xji pour θ = aj , −zqi pour θ = bq , et −xji zqi pour θ = wjq ;
6. Mettre les poids à jour selon
0 0
0
0
wjq ← wjq + η xij zqi − xji zqi ; aj ← aj + η xij − xji ; bq ← bq + η zqi − zqi .
11.3. Extraction de variables 145
Remarque
Il est possible d’empiler les RBMs pour obtenir une architecture profonde, appelée deep belief network
(ou DBN). Cette architecture permet d’effectuer une réduction de dimension non supervisée, mais peut
aussi être utilisée dans un cadre supervisé. Il s’agit alors de connecter la dernière couche du DBN à une
couche de sortie ; on obtiendra alors un réseau de neurones supervisé. Les DBN, proposés par Geoff Hinton
et Ruslan Salakhutdinov, figurent parmi les premiers réseaux de neurones profonds réalisés (Hinton et
Salakhutdinov, 2006).
Positionnement multidimensionnel
Le positionnement multidimensionnel, ou multidimensional scaling (MDS) (Cox et Cox, 1994), se base sur une
matrice de dissimilarité D ∈ Rn×n entre les observations : il peut s’agir d’une distance métrique, mais ce
n’est pas nécessaire. Le but de l’algorithme est alors de trouver une représentation des données qui préserve
cette dissimilarité :
X n X n 2
∗ i
X = arg min ~z − ~z l − Dil .
(11.19)
Z∈Rn×m i=1 l=i+1 2
Si l’on utilise la distance euclidienne comme dissimilarité, alors le MDS est équivalent à une ACP.
Le positionnement multidimensionnel peut aussi s’utiliser pour positionner dans un espace de dimen-
sion m des points dont on ne connaît pas les coordonnées. Il s’applique par exemple très bien à reposition-
ner des villes sur une carte à partir uniquement des distances entre ces villes.
Une des limitations de MDS est de ne chercher à conserver la distance entre les observations que globa-
lement. Une façon efficace de construire la matrice de dissimilarité de MDS de sorte à conserver la structure
locale des données est l’algorithme IsoMap (Tenenbaum et al., 2000). Il s’agit de construire un graphe de voi-
sinage entre les observations en reliant chacune d’entre elles à ses k plus proches observations voisines.
Ces arêtes peuvent être pondérée par la distance entre les observations qu’elles relient. Une dissimilarité
entre observations peut ensuite être calculée sur ce graphe de voisinage, par exemple via la longueur du
plus court chemin entre deux points.
t-SNE
Enfin, l’algorithme t-SNE, pour t-Student Neighborhood Embedding, proposé en 2008 par Laurens van der
Maaten and Geoff Hinton, propose d’approcher la distribution des distances entre observations par une loi
de Student (van der Maaten et Hinton, 2008). Pour chaque observation ~x i , on définit Pi comme la loi de
probabilité définie par
~x − ~x i 2
!
1 2
Pi (~x) = √ exp − 2
. (11.20)
2πσ 2 2σ
146 Chapitre 11. Réduction de dimension
où KL dénote la divergence de Kullback-Leibler (voir section 2.4.1) et Q est choisie parmi les distributions
de Student de dimension inférieure à p. Attention, cet algorithme trouve un minimum local et non global,
et on pourra donc obtenir des résultats différents en fonction de son initialisation. De plus, sa complexité
est quadratique en le nombre d’observations.
Points clefs
— Réduire la dimension des données avant d’utiliser un algorithme d’apprentissage supervisé permet
d’améliorer ses besoins en temps et en espace, mais aussi ses performances.
— On distingue la sélection de variables, qui consiste à éliminer des variables redondantes ou peu infor-
matives, de l’extraction de variable, qui consiste à générer une nouvelle représentation des données.
— Projeter les données sur un espace de dimension 2 grâce à, par exemple, une ACP ou t-SNE, permet
de les visualiser.
— De nombreuses méthodes permettent de réduire la dimension des variables.
Bibliographie
Guyon, I. et Elisseeff, A. (2003). An introduction to variable and feature selection. Journal of Machine Learning
Research, 3 :1157–1182.
Hinton, G. E. (2002). Training product of experts by minimizing contrastive divergence. Neural Computation,
14 :1771–1800.
Hinton, G. E. et Salakhutdinov, R. R. (2006). Reducing the dimensionality of data with neural networks.
Science, 313 :504–507.
147
Kozachenko, L. F. et Leonenko, N. N. (1987). A statistical estimate for the entropy of a random vector.
Problemy Peredachi Informatsii, 23 :9–16.
Lee, D. D. et Seung, H. S. (1999). Learning the parts of objects by non-negative matrix factorization. Nature,
401(6755) :788–791.
Shlens, J. (2014). A Tutorial on Principal Component Analysis. arXiv [cs, stat]. arXiv : 1404.1100.
Smolensky, P. (1986). Information processing in dynamical systems : foundations of harmony theory. In Pa-
rallel Distributed Processing : Explorations in the Microstructure of Cognition, volume 1 : Foundations, chapter 6,
pages 194–281. MIT Press, Cambridge, MA.
Tenenbaum, J. B., de Silva, V., et Langford, J. C. (2000). A global geometric framework for nonlinear dimen-
sionality reduction. Science, 290(5500) :2319–2323.
Tipping, M. E. et Bishop, C. M. (1999). Probabilistic principal components analysis. Journal of the Royal
Statistical Society Series B, 61 :611–622.
van der Maaten, L. et Hinton, G. (2008). Visualizing data using t-SNE. Journal of Machine Learning Research,
9 :2579–2605.
Wattenberg, M., Viégas, F., et Johnson, I. (2016). How to use t-SNE effectively. Distill. http://distill.
pub/2016/misread-tsne.
Chapitre 12
Clustering
Comment étudier des données non étiquetées ? La dimension de réduction nous permet de les visuali-
ser ; mais les méthodes dites de partitionnement de données, ou clustering, nous permettent d’aller beaucoup
plus loin. Il s’agit de séparer les données en sous-groupes homogènes, appelés clusters, qui partagent des
caractéristiques communes. Dans ce chapitre, nous détaillerons l’intérêt de ces techniques et verrons trois
types d’approches de clustering : le clustering hiérarchique, le clustering par centroïdes, et le clustering
par densité.
Objectifs
— Expliquer l’intérêt d’un algorithme de clustering
— Évaluer le résultat d’un algorithme de clustering
— Implémenter un clustering hiérarchique, un clustering par la méthode des k moyennes, et un clus-
tering par densité.
148
12.2. Évaluer la qualité d’un algorithme de clustering 149
Exemple
Prenons l’exemple de l’annotation d’un corpus de documents texte. Annoter manuellement chacun de
ces documents par le ou les sujets qu’il couvre est un travail fastidieux. Les personnes qui l’effectuent sont
d’ailleurs susceptibles de commettre involontairement des erreurs d’inattention. Il est ainsi moins coûteux,
voire plus efficace, d’utiliser un algorithme de clustering pour regrouper automatiquement ces documents
par sujet. Il suffira alors d’avoir recours à un intervenant humain pour assigner un sujet à chaque cluster
en lisant uniquement un ou deux des documents qu’il contient.
Le médoïde est le point du cluster le plus proche du centroïde (il peut ne pas être unique, auquel cas il
sera choisi arbitrairement). Il sert de représentant du cluster :
m
~ C = arg min d(~x, µ
~ C ).
x∈C
~
Que des observations proches appartiennent au même cluster peut se traduire par la notion d’homo-
généité, illustrée sur la figure 12.1 :
Définition 12.2 (Homogénéité) On appelle homogénéité du cluster Ck , ou tightness en anglais, la moyenne
des distances des observations de ce cluster à son centroïde :
1 X
Tk = d(~x, µ
~ k ).
|Ck |
x∈Ck
~
150 Chapitre 12. Clustering
~ k est le centroïde de Ck .
Ici µ
L’homogénéité globale d’un clustering de D se calcule comme la moyenne des homogénéités des clusters :
K
1 X
T = Tk .
K
k=1
Figure 12.1 – Les deux clusters représentés sur le panneau de gauche sont homogènes, resserrés sur eux-
mêmes : ils sont composés de points proches les uns des autres. À l’inverse, les deux clusters représentés
sur le panneau de droite sont moins homogènes.
Pour quantifier à quel point les clusters sont distants les uns des autres, nous pouvons utiliser le critère
de séparabilité, illustré sur la figure 12.2.
Définition 12.3 (Séparabilité) On appelle séparabilité des clusters Ck et Cl la distance entre leurs cen-
troïdes :
Skl = d(~µk , µ
~ l ).
La séparabilité globale d’un clustering de D se calcule comme la moyenne des séparabilités des clusters
deux à deux :
K X K
2 X
S= Skl .
K(K − 1)
k=1 k=k+1
Plutôt que de considérer les deux critères de séparabilité (que l’on souhaite élevée) et d’homogénéité
(que l’on souhaite faible) séparément, il est possible de les comparer l’un à l’autre grâce à l’indice de Davies-
Bouldin.
Définition 12.4 (Indice de Davies-Bouldin) On appelle indice de Davies-Bouldin du cluster Ck la valeur
Tk + Tl
Dk = max .
l6=k Skl
12.2. Évaluer la qualité d’un algorithme de clustering 151
Figure 12.2 – Les trois clusters représentés sur le panneau de gauche sont bien séparés, contrairement à
ceux représentés sur le panneau de droite qui sont proches les uns des autres.
L’indice de Davies-Bouldin global d’un clustering de D se calcule comme la moyenne des indices de Davies-
Bouldin des clusters :
K
1 X
D= Dk .
C
k=1
Une autre façon de prendre en compte séparabilité et homogénéité est de calculer le coefficient de sil-
houette, qui permet de quantifier pour chacune des observations si elle appartient ou non au bon cluster.
1 X 1 X
a(~x) = d(~u, ~x); b(~x) = min d(~u, ~x).
|Ck(~x) | − 1 x) |Cl |
l6=k(~
u∈Ck(~x) ,~
~ u6=~
x u∈Cl
~
Le coefficient de silhouette de ~x est d’autant plus proche de 1 que son assignation au cluster Ck(~x) est
satisfaisante.
152 Chapitre 12. Clustering
En bioinformatique, où il est souvent délicat d’étiqueter les objets d’étude par manque de connais-
sances, il est fréquent d’évaluer un clustering en le comparant à une ontologie, c’est-à-dire une classifica-
tion d’objets (par exemple, des gènes) en catégories décrites par un vocabulaire commun et organisées de
manière hiérarchique. On peut évaluer la cohérence d’un clustering avec une ontologie par une analyse
d’enrichissement, qui consiste à évaluer s’il y a plus d’objets d’une catégorie de l’ontologie au sein d’un clus-
ter que ce à quoi on pourrait s’attendre par hasard. Si l’on suppose les données issues d’une distribution
hypergéométrique, il s’agit alors de calculer, pour un cluster Ck , une catégorie G, et un seuil t ∈ N,
|G| n−|G|
t
s |Ck |−s
X
P[|G ∩ Ck | ≥ t] = 1 − n
. (12.1)
s=1 |Ck |
En effet, le terme sous la somme est la probabilité que, lorsqu’on tire |Ck | éléments parmi n, s d’entre eux
appartiennent à G.
Muni de ces différentes façons d’évaluer un algorithme de partitionnement de données, nous pouvons
maintenant découvrir ces algorithmes eux-mêmes. Ces algorithmes cherchent à optimiser les critères d’ho-
mogénéité et de séparabilité que nous venons de définir. Comme il n’est pas possible de le faire de manière
exacte, il s’agit de le faire de manière approchée. Nous nous concentrerons dans ce chapitre sur les trois
principales familles d’algorithmes de clustering : clustering hiérarchique, clustering par centroïdes, et clus-
tering par densité.
12.3. Clustering hiérarchique 153
Le clustering hiérarchique forme des clusters séparés par récurrence : il s’agit de partitionner les données
pour toutes les échelles possibles de taille de partition, dans une hiérarchie à plusieurs niveaux.
12.3.1 Dendrogramme
Le résultat d’un clustering hiérarchique peut se visualiser sous la forme d’un dendrogramme. Il s’agit d’un
arbre dont les n feuilles correspondent chacune à une observation. Chaque nœud de l’arbre correspond à
un cluster :
— la racine est un cluster contenant toutes les observations
— chaque feuille est un cluster contenant une observation
— les clusters ayant le même parent sont agglomérés en un seul cluster au niveau au-dessus
— un cluster est subdivisé en ses enfants au niveau au-dessous.
Ce sont donc les nœuds intermédiaires qui nous intéresseront le plus.
Enfin, la longueur d’une branche de l’arbre est proportionnelle à la distance entre les deux clusters
qu’elle connecte.
La figure 12.3 représente un exemple de dendrogramme. Dans le cas où n est trop grand pour repré-
senter l’intégralité de l’arbre, il est classique de le couper et de n’en représenter que la partie de la racine
à un niveau que l’on choisit.
Cette facilité à représenter visuellement le résultat d’un algorithme de clustering hiérarchique fait qu’il
est très utilisé dans des domaines comme la bioinformatique.
154 Chapitre 12. Clustering
Définition 12.7 (Lien simple) On appelle lien simple, ou single linkage, la distance entre deux clusters
définie par
dsimple (Ck , Cl ) = min d(~u, ~v ).
u,~v )∈Ck ×Cl
(~
On peut aussi choisir d’agglomérer deux clusters si tous leurs éléments sont proches. On utilise alors le
lien complet, qui est la distance maximale entre un élément du premier cluster et un élément du deuxième.
Définition 12.8 (Lien complet) On appelle lien complet, ou complete linkage, la distance entre deux
clusters définie par
dcomplet (Ck , Cl ) = max d(~u, ~v ).
u,~v )∈Ck ×Cl
(~
Une approche intermédiaire consiste à considérer la distance moyenne entre un élément du premier
cluster et un élément du deuxième. C’est le lien moyen.
Définition 12.9 (Lien moyen) On appelle lien moyen, ou average linkage, la distance entre deux clusters
définie par
1 1 X X
dmoyen (Ck , Cl ) = d(~u, ~v ).
|Ck | |Cl |
u∈Ck ~v ∈Cl
~
Cette distance est aussi parfois appelée UPGMA pour Unweighted Paired Group Method with Arithmetic mean.
Une alternative au lien moyen est le lien centroïdal, qui considère la distance entre les centroïdes des
clusters.
12.3. Clustering hiérarchique 155
Définition 12.10 (Lien centroïdal) On appelle lien centroïdal, ou centroid linkage, la distance entre deux
clusters définie par
1 X 1 X
dcentroidal (Ck , Cl ) = d ~u, ~v = d(~
µk , µ
~ l ).
|Ck | |Cl |
u∈Ck
~ ~v ∈Cl
Cette distance est aussi parfois appelée UPGMC pour Unweighted Paired Group Method with Centroid.
Les fonctions de lien ci-dessus s’attachent à garantir la séparabilité des clusters. À l’inverse, il est possible
1 P
de chercher à maximiser leur homogénéité : il s’agit de minimiser Tk = |Ck | ~x∈Ck d(~x, µ ~ k ). Dans le cas où d
1 P
est la distance euclidienne, alors Tk = |Ck | ~x∈Ck ||~x − µ ~ k ||2 . Le clustering de Ward utilise une formulation
similaire : il s’agit d’agglomérer deux clusters de sorte à minimiser la variance intra-cluster du résultat.
1 X
Varin (C) = ~ ||22 .
||~x − µ
|C|
x∈C
~
L’inertie globale d’un clustering de D est alors donnée par la somme des inerties des clusters :
K
X 1 X
V = ~ k ||22 .
||~x − µ
|Ck |
k=1 x∈Ck
~
Cependant, résoudre ce problème de manière exacte n’est pas possible. On utilise donc une heuristique,
l’algorithme de Lloyd, proposé par Stuart Lloyd (1982).
4. Répéter les opérations 2–3 jusqu’à convergence, c’est-à-dire jusqu’à ce que les affectations ne changent
plus.
L’algorithme de Lloyd implémente une stratégie gloutonne, et s’il converge en général très rapidement,
il peut tomber dans un minimum local. Il peut donc être pertinent de le faire tourner plusieurs fois, et de
garder la solution qui a la plus faible variance intra-cluster.
Si l’on doit itérer t fois l’algorithme de Lloyd, sachant que le coût de calculer Kn distances en p dimen-
sions est de l’ordre de O(npK), la complexité algorithmique de l’algorithme de Lloyd est en O(npKt). K
et t sont typiquement négligeables devant n, et cet algorithme est donc linéaire en le nombre d’observa-
tions, par opposition au clustering hiérarchique dont le coût est quadratique en n : nous avons remplacé le
calcul des distances d’une observation ~x i aux n − 1 autres points du jeu de données par un calcul de sa
distance à K centroïdes.
Données aberrantes
L’algorithme du k-means est sensible aux données aberrantes : elles vont en effet tirer un cluster à elle.
Si une observation ~x i est très éloignée des autres observations, alors elle se retrouvera dans son propre
cluster, tandis que le reste des données sera partitionné en K − 1 clusters.
Cette propriété est néanmoins intéressante, car elle permet d’utiliser l’algorithme des k-moyennes jus-
tement pour détecter les observations aberrantes : ce sont celles qui sont seules dans leur cluster.
12.4.3 Variantes
k-means++
L’algorithme du k-means est stochastique : on peut obtenir des résultats différents selon l’initialisation,
et certains de ces résultats peuvent avoir une inertie bien plus grande que la solution optimale.
Pour éviter ce problème, l’algorithme k-means++ commence par initialiser les centroïdes de manière à
les disperser au maximum parmi les données. Plus précisément, la procédure consiste à
1. Choisir un premier centroïde ~u 1 aléatoirement parmi les observations D
2. Pour k = 2, . . . , K :
Choisir le k-ème centroïde ~u k parmi D \ ~u k−1 , en suivant une loi proportionnelle au carré de la
distance à ~u k−1 , c’est-à-dire que ~u k aura de fortes chances d’être éloigné de ~u k−1 .
Cette approche ne rend pas le k-means déterministe, mais permet d’éviter les « pires » solutions.
On peut ainsi réécrire l’étape (2) de l’algorithme de Lloyd sans faire appel à l’application φ, et sans avoir
besoin de recalculer explicitement les centroïdes à l’étape (3).
158 Chapitre 12. Clustering
Remarque
La version à noyau de la méthode des k-moyennes ne permet généralement pas de connaître les cen-
troïdes des clusters, puisqu’ils vivent dans l’espace de redescription H qui n’est pas accessible sans connaître
φ.
(a) Il nous semble naturel de par- (b) Partitionnement en 3 clusters (c) Partitionnement en 3 clusters
titionner ces données en 3 cercles par clustering agglomératif (lien par k-moyennes.
concentriques. moyen).
C’est le problème que le clustering par densité cherche à résoudre, en observant que les points les plus
proches d’un point donné sont sur le même cercle et non sur un autre cercle. Il s’agit de former des clusters
d’observations proches les unes des autres, au sens où si deux éléments ~x i et ~x l d’un même cluster Ck
peuvent être éloignés l’un de l’autre, il existe une séquence d’éléments ~u 1 , ~u 2 , . . . , ~u m ∈ Ck tels que ~u 1
est proche de ~x i , ~u m est proche de ~x l , et pour tout t ∈ {1, . . . , m}, ~u t est proche de ~u t−1 . Cette idée est
illustrée sur la figure 12.5
Pour formaliser cette idée, nous allons avoir besoin de quelques définitions.
Définition 12.13 (-voisinage) Soient D = {~x 1 , ~x 2 , . . . , ~x n } le jeu d’éléments de X à partitionner, d
une distance sur X , et > 0. On appelle -voisinage d’un élément ~x ∈ X l’ensemble des observations de D
dont la distance à ~x est inférieure à :
Définition 12.14 (Point intérieur) Étant donné nmin ∈ N, on dit de ~x ∈ X qu’il est un point intérieur,
ou core point en anglais, si son -voisinage contient au moins nmin éléments : |N (~x)| ≥ nmin .
12.5. Clustering par densité 159
Figure 12.5 – Il existe un chemin entre voisins proches permettant de passer d’un point à un autre du même
cluster.
Définition 12.15 (Connexion par densité) On dit que ~x et ~v ∈ X sont connectés par densité si l’on
peut les « relier » par une suite d’-voisinages contenant chacun au moins nmin éléments. Formellement,
cela signifie qu’il existe m ∈ N, et une séquence ~u 1 , ~u 2 , . . . , ~u m d’éléments de D tels que ~u 1 est un point
intérieur de N (~x), ~u 2 est un point intérieur de N (~u 1 ), . . . , ~u m est un point intérieur de N (~u m−1 ), ~v
est un point intérieur de N (~u m ).
L’algorithme DBSCAN, proposé en 1996 par Martin Ester, Hans-Peter Kriegel, Jörg Sander et Xiaowei
Xu (Ester et al., 1996), partitionne les données en créant des clusters de points atteignables par densité les
uns depuis les autres. C’est un algorithme de partitionnement populaire, qui a obtenu en 2014 une distinc-
tion de contribution scientifique ayant résisté à l’épreuve du temps, le test of time award de la prestigieuse
conférence KDD.
Définition 12.16 (DBSCAN) On appelle DBSCAN, pour Density-Based Spatial Clustering of Applications with
Noise, ou partitionnement dans l’espace par densité pour des applications bruitées, la procédure de parti-
tionnement suivante :
— Initialisation : Un ensemble d’éléments visités V = ∅, une liste de clusters K = ∅, une liste d’obser-
vations aberrantes A = ∅.
— Pour chaque élément ~x ∈ D \ V :
1. Construire N (~x)
2. Si |N (~x)| < nmin : considérer (temporairement) ~x comme une observation aberrante :
A ← A ∪ {~x}
Sinon :
— créer un cluster C ← {~x}
— augmenter ce cluster par la procédure grow_cluster(C, N (~x), , nmin )
3. Ajouter C à la liste des clusters : K ← K ∪ C
160 Chapitre 12. Clustering
Un des avantages de DBSCAN est sa robustesse aux données aberrantes, qui sont identifiées lors de la
formation des clusters.
Le fléau de la dimension (voir section 11.1.3) rend DBSCAN difficile à appliquer en très grande dimen-
sion : les -voisinages auront tendance à ne contenir que leur centre. De plus, la densité étant définie par les
paramètres et nmin , DBSCAN ne pourra pas trouver de clusters de densité différente. Cependant, DBSCAN
ne requiert pas de prédéfinir le nombre de clusters, et est efficace en temps de calcul. Son application aux
données de la figure 12.4a est illustrée sur la figure 12.6.
Points clefs
— Le clustering, ou partitionnement de données, cherche à identifier des classes sans utiliser d’éti-
quettes.
— En l’absence d’étiquette, la qualité d’une partition peut s’évaluer sur des critères de séparabilité et
d’homogénéité
161
— Le clustering hiérarchique partitionne les données de manière itérative. Son résultat peut être vi-
sualisé sur un dendrogramme.
— Le clustering par la méthode des k-moyennes s’effectue grâce à l’algorithme de Lloyd ou une de ses
variantes. Il permet de trouver efficacement K clusters convexes.
— La version à noyau de la méthode des k-moyennes permet de l’appliquer pour découvrir des clusters
non convexes.
— Le clustering par densité permet d’identifier des régions denses du jeu de données, c’est-à-dire
des observations qui peuvent former un ensemble non convexe mais qui sont proches les unes des
autres.
Bibliographie
Ester, M., Kriegel, H.-P., Sander, J., and Xu, X. (1996). A density-based algorithm for discovering clusters
in large spatial databases with noise. In Proceedings of the Second International Conference on Knowledge
Discovery and Data Mining, pages 226–231, Portland (OR). AAAI Press.
Jain, A. K. and Dubes, R. C. (1988). Algorithms for Clustering Data. Prentice Hall, New York.
Lloyd, S. (1982). Least squares quantization in PCM. IEEE Transactions on Information Theory, 28(2) :129–137.
Steinhaus, H. (1957). Sur la division des corps matériels en parties. Bulletin de l’Académie polonaise des Sciences,
4(12) :801–804.
Xu, R. and Wunsch II, D. (2005). Survey of clustering algorithms. IEEE Transactions on Neural Networks, 16 :645–
678.
Appendice A
Dans cet ouvrage, nous formulons de nombreux modèles de machine learning comme la solution d’un
problème d’optimisation. Il s’agit généralement de minimiser un risque empirique, ou de maximiser une
variance, souvent sous certaines contraintes. Ces problèmes sont difficiles à résoudre efficacement dans
le cas général. Cependant, dans le contexte de l’apprentissage automatique, les fonctions considérées sont
souvent convexes, ce qui facilite grandement la tâche. Le but de cet appendice est de présenter les pro-
blèmes d’optimisation dits convexes et quelques techniques permettant de les résoudre.
Objectifs
— Reconnaître un problème d’optimisation convexe ;
— Résoudre un problème d’optimisation convexe exactement, ou par un algorithme à directions de
descente ;
— Formuler le problème dual d’un problème d’optimisation quadratique ;
— Écrire les conditions de Karush-Kuhn-Tucker pour un problème d’optimisation quadratique.
A.1 Convexité
Commençons par définir la notion de convexité, pour un ensemble puis pour une fonction.
La figure A.1 présente quelques exemples d’ensembles convexes et non convexes dans R2 .
162
A.1. Convexité 163
Figure A.1 – Les trois ensembles de R2 présentés sur la rangée du haut sont convexes. Les trois ensembles
sur la rangée du bas ne sont pas convexes, et un exemple de segment reliant deux points de l’ensemble
mais n’étant pas entièrement inclus dans cet ensemble est présenté pour chacun d’entre eux.
c’est-à-dire que, sur [~u, ~v ], f se situe au-dessous du segment [(~u, f (~u)), (~v , f (~v ))].
Si l’inégalité est stricte pour tout ~u 6= ~v inU et t ∈]0, 1[, on parle alors de fonction strictement convexe. Une
fonction strictement convexe a une courbure supérieure à celle d’une fonction affine.
Enfin, dans le cas où il existe k > 0 tel que f − k2 ||~u||22 est strictement convexe, f est dite fortement
convexe.
Exemple
Les fonctions ci-dessous sont convexes
— f : R → R, u 7→ u2a a∈N
— f : R∗+ → R, u 7→ ua a ∈]0,
/ 1[
— f : R → R, u 7→ eau a∈R
— f : R∗+ → R, u 7→ − log(au) a∈R
— f : Rn → R, ~u 7→ ~a > ~u + b ~a ∈ Rn , b ∈ R
— f : Rn → R, ~u 7→ 12 ~u > Q~u + ~a > ~u + b ~a ∈ Rn , b ∈ R, Q 0
1
— f : Rn → R, ~u 7→ ||~u||p = ( ni=1 |ui |p ) p
P
p ≥ 1.
est convexe.
— la minimisation partielle : si f : Rn → R est convexe, et C ⊆ Rn est un ensemble convexe, alors
u1 , u2 , . . . , uk−1 7→ min f (u1 , u2 , . . . , uk−1 , v)
v∈C
est convexe.
Définition 1.5 (Optimisation convexe sous contraintes) Étant donnés m, r deux entiers positifs, des
ensembles U, U1 , . . . , Um , V1 , . . . , Vr ⊆ Rn , une fonction convexe f : U → R, m fonctions gi : Ui → R,
convexes aussi, et r fonctions hj : Vj → R affines, on appelle problème d’optimisation convexe sous contraintes
le problème suivant
minf (~u) sous les contraintes
u∈D
~
gi (~u) ≤ 0 ∀i = 1, . . . , m
hj (~u) = 0 ∀j = 1, . . . , r,
Tm Tr
où D = U ∩ i=1 Ui j=1 Vj est le domaine commun à toutes les fonctions considérées.
f est la fonction objectif. Les m contraintes gi ≤ 0 sont les contraintes d’inégalité. Les r contraintes hj = 0
sont les contraintes d’égalité.
~v ∈ D qui vérifie toutes les contraintes est appelé un point admissible ou point réalisable (feasible point
en anglais), et l’ensemble des points admissibles est appelé la région admissible ou le domaine des contraintes
(feasible domain en anglais). Cet ensemble est convexe.
A.2. Problèmes d’optimisation convexe 165
~u ∗ est un point de maximum global de f sur U s’il est un point de minimum global de −f sur U.
~u ∗ est un point de maximum local de f sur U s’il est un point de minimum local de −f sur U.
La notion de convexité est très importante en optimisation, car elle permet de garantir que les minima
locaux sont des minima globaux.
Théorème 1.1 Soit U ⊆ Rn , f : U → R, et ~u ∗ ∈ U un point de minimum local de f sur U. Alors
— Si f est convexe, alors ~u ∗ est un point de minimum global ;
— Si f est strictement convexe, alors ~u ∗ est l’unique point de minimum global.
Soit ~v ∈ U différent de ~u ∗ . Supposons f convexe. Nous allons montrer que f (~v ) ≥ f (~u ∗ ). Deux cas sont
possibles : soit ~v appartient au voisinage de ~u ∗ , autrement dit ||~v − ~u ∗ ||2 ≤ , auquel cas f (~v ) ≥ f (~u ∗ )
d’après l’équation A.1, soit ~v est à l’extérieur de ce voisinage, auquel cas
Définissons maintenant ~u = (1 − λ)~u ∗ + λ~v , avec λ = 12 ||~v−~u ∗ || . D’après l’équation A.2, 0 < λ < 1.
2
Par convexité de U, ~u ∈ U.
||~u − ~u ∗ ||2 = ||(1 − λ)~u ∗ + λ~v − ~u ∗ ||2 = λ ||~v − ~u ∗ ||2 = 2 < , donc ~u appartient au voisinage de
~u . D’après l’équation A.1, f (~u) ≥ f (~u ∗ ).
∗
Par convexité de f , f (~u) ≤ (1 − λ)f (~u ∗ ) + λf (~v ) = f (~u ∗ ) + λ(f (~v ) − f (~u ∗ )). Comme f (~u ∗ ) ≤ f (~u),
on obtient f (~u ∗ ) ≤ f (~u ∗ ) + λ(f (~v ) − f (~u ∗ )), ce dont on déduit (comme λ > 0) que f (~v ) ≥ f (~u ∗ ).
Ainsi, pour tout ~v ∈ U différent de ~u ∗ , f (~v ) ≥ f (~u ∗ ) et ~u ∗ est donc bien un minimum global de f .
Dans le cas où f est strictement convexe, le même raisonnement tient avec des inégalités strictes et on
obtient alors que ~u ∗ est un unique minimum global de f .
Il découle du théorème 1.2 qu’une fonction f convexe et différentiable est minimale là où son gradient s’annule.
Formellement :
Théorème 1.3 Soit U ⊆ Rn et une fonction f : U → R convexe, de classe C 1 . Soit ~u ∗ ∈ U. Les propositions
suivantes sont équivalentes :
1. ~u ∗ est un point de minimum de f sur U ;
2. ∇f (~u ∗ ) = 0.
A.3. Optimisation convexe sans contrainte 167
Par convexité de φ et le théorème 1.2, φ0 est croissante et donc φ00 ≥ 0. En particulier, φ00 (0) ≥ 0 et donc
~v > ∇2 f (~u) ~v ≥ 0. Comme le raisonnement tient pour tout ~u ∈ U et tout ~v ∈ Rn , ∇2 f (~u) 0.
Réciproquement, supposons ∇2 f (~u) semi-définie positive en tout point ~u ∈ U. Prenons ~u1 , ~u2 ∈ U,
posons ~u = ~u2 et ~v = ~u1 − ~u2 et définissons φ : t 7→ f (~u + t~v ) sur I = {t ∈ R|~u + t~v ∈ U}. Alors,
par l’équation A.8, φ00 est positive sur I et donc φ est convexe sur I. Enfin, I contient les points t1 = 1 et
t2 = 0. Alors, pour tout s ∈]0, 1[, s = s t1 + (1 − s)t2 et
Plus la tolérance est faible, plus le point de minimum sera proche numériquement du point de minimum
global.
Attention
Le pas α est un paramètre très important de l’algorithme du gradient. Si α est très faible, l’algorithme
mettra très longtemps à converger. À l’inverse, si α est très élevé, ~u oscillera autour du minimum global et
l’algorithme peut même diverger.
On utilisera donc souvent un pas adaptatif qui varie à chaque itération et commencera par prendre des
valeurs relativement élevées avant de diminuer progressivement lorsqu’on se rapproche de la solution.
A.3. Optimisation convexe sans contrainte 169
(a) Quand f (u − αf 0 (u)) > f (u) − f 0 (u) α2 f 0 (u), (b) Quand f (u − αf 0 (u)) ≤ f (u) − f 0 (u) α2 f 0 (u), le
le pas α est trop élevé et u − αf 0 (u) va se retrouver pas α est suffisamment petit pour que u − αf 0 (u)
de l’autre côté du point de minimum. Il faut donc le soit entre le point de minimum et u.
réduire.
Figure A.4 – Comparer f (u − αf 0 (u)) à f (u) − f 0 (u) α2 f 0 (u) permet de déterminer si la valeur de α est
trop élevée.
1
g(~v ) = f (~u) + ∇f (~u)> (~v − ~u) + (~v − ~u)> ∇2 f (~u)(~v − ~u) (A.11)
2
L’équation A.14 est un problème de la forme A~x −~b = 0, où A 0 (d’après le théorème 1.4). C’est cette
équation que l’on résout en utilisant la méthode dite du gradient conjugué. Cette méthode a été proposée
dans les années 1950 par Cornelius Lanczos, Eduard Stiefel et Magnus Hestenes (Hestenes et Stiefel, 1952).
L’idée centrale de cette méthode est de construire une base de Rn constituée de vecteurs conjugués par
rapport à A :
{~v1 , ~v2 , . . . , ~vn } tels que ~vi> A~vj = 0 ∀i 6= j. (A.15)
Définition 1.11 (Méthode du gradient conjugué) Étant donnés une matrice semi-définie positive
A ∈ Rn×n et un vecteur b ∈ Rn , la méthode du gradient conjugué, ou conjugate gradient en anglais, est
l’algorithme suivant :
1. Initialisation :
— Choisir aléatoirement ~x (0) ∈ Rn .
— Initialiser ~r0 = ~v0 = ~b − A~x (0) .
2. Pour t = 1, . . . , n :
(a) Actualiser ~x :
> ~
~rt−1 rt−1
~x (t) = ~x (t−1) + >
~vt−1 . (A.16)
~vt−1 A~vt−1
(b) Actualiser le résiduel :
~rt = ~b − A~x (t) . (A.17)
(c) Actualiser ~v :
~rt>~rt
~vt = ~rt + > ~
~vt−1 . (A.18)
~rt−1 rt−1
> ~
~
rt−1 rt−1 rt> ~
~ rt
Démonstration. Posons αt = >
~vt−1 A~vt−1
et βt = ~ > ~
rt−1 rt−1
.
Nous allons commencer par poser quelques réécritures des définitions ci-dessus qui nous serviront
par la suite. En remplaçant ~x (t) par sa définition (équation A.16) dans l’équation A.17, on obtient ~rt =
~b − A~x (t−1) − αt A~vt−1 et donc :
~rt = ~rt−1 − αt A~vt−1 . (A.19)
De manière équivalente,
1
A~vt−1 = (~rt−1 − ~rt ). (A.20)
αt
De plus, d’après l’équation A.18,
~rt = ~vt − βt~vt−1 . (A.21)
172 Appendice A. Notions d’optimisation convexe
> ~rt>~rt
βt~vt−1 A~vt−1 = . (A.22)
αt
Nous allons maintenant montrer par récurrence que pour tout t = 1, . . . , n, pour tout i = 1, . . . , t,
~rt>~rt−i
= 0 et ~vt> A~vt−i = 0.
Commençons par le cas t = 1 (et donc i = 1.) Il s’agit de montrer que ~r1>~r0 = 0 et ~v1> A~v0 = 0. D’après
l’équation A.19,
Par la définition de ~v1 (équation A.18), ~v1> A~v0 = ~r1> A~v0 + β1~v0> A~v0 . D’après l’équation A.20, ~r1> A~v0 =
1 > r1> ~
~ r1 r1> ~
~ r0
α1 ~ − ~r1 ). D’après l’équation A.22, β1~v0> A~v0 =
r1 (~r0 α1 . Ainsi, ~v1> A~v0 = α1 = 0 car nous venons de
montrer que ~r1>~r0 = 0. Ceci conclut le cas t = 1.
Supposons maintenant t > 1, et que pour tout u < t, pour tout i = 1, . . . , u, ~ru>~ru−i = 0 et ~vu> A~vu−i =
0.
Nous allons tout d’abord montrer que ~rt>~rt−i = 0 pour tout i = 1, . . . , t. En utilisant l’équation A.19,
et le fait que A = A> (car A 0,) on obtient
~rt>~rt−i = ~rt−1
> >
~rt−i − αt~vt−1 A~rt−i . (A.23)
~rt>~rt−i = ~rt−1
> >
~rt−i − αt~vt−1 >
A~vt−i − αt βt−i~vt−1 A~vt−i−1 .
Chacun des termes de cette somme est nul d’après nos hypothèses de récurrence, ce qui nous permet
> ~
de conclure que ~rt−1 rt−i = 0.
> ~
— Enfin, si i = t, il s’agit d’étudier ~rt−1 > A~
r0 − αt~vt−1 r0 . Comme ~r0 = ~v0 , les deux termes de cette
somme sont nuls d’après nos hypothèses de récurrence, et ~rt>~r0 = 0.
A.3. Optimisation convexe sans contrainte 173
Nous pouvons maintenant nous intéresser à ~vt> A~vt−i . D’après l’équation A.18,
1
~rt> A~vt−i = ~rt> (~rt−i − ~rt−i+1 ).
αt−i+1
Remarque
Les vecteurs ~vt formant une base de Rn , à partir de la n-ème itération de la méthode du gradient conju-
gué, ~vt = 0.
Pour approcher l’inverse de la hessienne ∇2 f (~u)−1 , on cherche une matrice W (t) qui soit
— symétrique et semi-définie positive ;
— proche de l’approximation précédente, autrement dit telle que ||W (t) − W (t−1) ||F soit minimale
(ici ||.||F désigne la norme de Frobenius d’une matrice, autrement dit la racine carrée de la somme
des carrés de ses entrées) ;
— telle que W (t) ∇f (~u (t) ) − ∇f (~u (t−1) ) = ~u (t) −~u (t−1) , cette dernière condition, appelée équation
Une des méthodes de quasi-Newton les plus utilisées de nos jours, et les plus performantes, est la
méthode BFGS, ainsi nommée d’après Charles George Broyden, Roger Fletcher, Donald Goldfarb et David
Shanno qui l’ont proposée tous les quatre indépendamment en 1970.
Dans cette méthode, l’approximation itérative de l’inverse de la hessienne est donnée par
!
d δ > W (t−1) + W (t−1) δ d> hδ , W (t−1) δ i dt d>
t t t t t t t
W (t) = W (t−1) − + 1+ (A.25)
hδt , dt i hδt , dt i hδt , dt i
Exemple
C’est le cas par exemple lorsque l’on cherche à minimiser une somme de moindres carrés (voir sec-
tion 5.1.2) : cette somme s’écrit
Xn 2
~
f (β) = ~
y i − φ(~x i |β)
i=1
où φ est la fonction de prédiction.
L’algorithme du gradient stochastique permet Palors d’accélérer les calculs en n’utilisant à chaque ité-
ration qu’une seule des fonctions fi : on remplace ni=1 ∇fi (~u) par ∇fk (~u).
Définition 1.13 (Algorithme du gradient stochastique) Soient U ⊆ Rn et f : U → R une fonction
de classe C 1 , décomposable sous la forme
n
X
f (~u) = fi (~u). (A.28)
i=1
Étant donnés un pas α > 0 et une tolérance > 0, on appelle algorithme du gradient stochastique l’algorithme
suivant :
1. Choisir ~u aléatoirement dans U.
2. Tant que ||∇f (~u)||22 > :
— Choisir k aléatoirement parmi {1, 2, . . . , n}.
— Actualiser ~u : ~u ← ~u − α∇fk (~u).
~u est alors une approximation du point de minimum global de f sur U.
A.4.1 Lagrangien
Pour résoudre (P), nous allons introduire son lagrangien.
Définition 1.15 (Lagrangien) Soit (P) un problème de minimisation sous contraintes de la forme A.29.
On appelle lagrangien de (P) la fonction
L : Rn × Rm × Rr → R
n
X r
X
~ , β~ 7→ f (~u) +
~u, α αi gi (~u) + βj hj (~u).
i=1 j=1
Le lagrangien nous permet de définir une fonction, appelée fonction duale de Lagrange, dont le maximum
donne une borne inférieure à la solution de (P).
Définition 1.16 (Fonction duale de Lagrange) Soient (P) un problème de minimisation sous contraintes
de la forme A.29, et L son lagrangien. On appelle fonction duale de Lagrange la fonction
Q : Rm × Rr → R
~ , β~ 7→ inf L(~u, α
α ~
~ , β),
u∈U
~
l’infimum inf ~u∈U L(~u, α ~ de L en ~u étant la plus grande valeur q ∗ ∈ R telle que q ∗ ≤ L(~u, α
~ , β) ~ pour
~ , β)
tout u ∈ U, et pouvant potentiellement valoir −∞.
La fonction duale de Lagrange a l’intérêt d’être une fonction concave, indépendamment de la convexité
de (P).
Théorème 1.6 La fonction duale de Lagrange d’un problème de minimisation sous contraintes de la forme A.29
est concave.
α1 , β~1 ), (~
Démonstration. Soient (~ α2 , β~2 ) et 0 ≤ λ ≤ 1.
Prenons α α1 + (1 − λ)~
~ = λ~ α2 et β ~ = λβ~1 + (1 − λ)β~2 .
Alors
Q(~ ~ = inf f (~u) + α
α, β) ~ >~g + β~ >~h,
u∈U
~
cette dernière égalité venant de ce que f (~u) = λf (~u) + (1 − λ)f (~u). Enfin,
Q(~ ~ ≥ λ inf f (~u) + α
α, β) ~ 2>~g + β~2>~h
~ 1>~g + β~1>~h + (1 − λ) inf f (~u) + α
u∈U
~ u∈U
~
α1 , β~1 ) + (1 − λ)Q(~
≥ λQ(~ α2 , β~2 ),
Q(α, β) ≤ p∗ .
A.4. Optimisation convexe sous contraintes 177
Démonstration. Soit ~u un point admissible. gi (~u) ≤ 0 pour tout i = 1, . . . , m et hj (~u) = 0 pour tout
j = 1, . . . , r.
Ainsi, L(~u, α ~ = f (~u) + Pn αi gi (~u) + Pr βj hj (~u) ≤ f (~u) et donc, pour tout point admissible,
~ , β) i=1 j=1
L(~u, α ~ ≤ f (~u). On en déduit que
~ , β)
Comme Q est concave, le problème dual d’un problème d’optimisation sous contraintes quelconque est
un problème d’optimisation sous contraintes convexe.
Théorème 1.8 (Dualité faible) Soient (P) un problème de minimisation sous contrainte de la forme A.29 et
(Q) son dual de Lagrange. Appelons d∗ une solution de (Q), et p∗ une solution du primal (P). Alors
d∗ ≤ p∗ .
La condition de Slater est une condition suffisante (mais non nécessaire) pour garantir la dualité forte,
que l’on doit à Morton L. Slater (1950).
Théorème 1.9 (Condition de Slater) Soit (P) un problème de minimisation sous contrainte de la forme A.29.
Si (P) est convexe, c’est-à-dire f , g1 , g2 , . . . , gm sont convexes et h1 , h2 , . . . , hr sont convexes, et qu’il existe au
moins un point admissible pour lequel les contraintes d’inégalités gi non affines soient vérifiées strictement, alors la
dualité forte est garantie.
178 Appendice A. Notions d’optimisation convexe
Ainsi, on peut résoudre un grand nombre de problèmes d’optimisation convexe sous contraintes en
passant par le dual, dont les contraintes (αi ≥ 0) sont simples à prendre en compte. On peut en particu-
lier utiliser des méthodes de gradient projeté, qui consistent à « ramener » les itérations successives d’un
algorithme à directions de descente dans le domaine des contraintes en les projetant sur cet ensemble.
Alors ~u ∗ est un point de minimisation du primal (P) et (~ α ∗ , β~ ∗ ) est un point de maximisation du dual (Q).
Démonstration. Soit un triplet (~u ∗ , α ~ ∗ , β~ ∗ ) qui vérifie les conditions de KKT. La condition d’admissi-
bilité primale implique que ~u ∗ est admissible.
La fonction ~
u →
7 L(~
u , α
~ ~ ∗ ) est convexe en ~u. En effet, L(~u, α
∗, β ~ ~ ∗ ) = f (~u) + Pn α∗ gi (~u) +
∗, β
Pr i=1 i
∗ u), les fonctions f et gi sont convexes, les αi∗ sont positifs, et les hj sont affines. La condition
j=1 βj hj (~
de stationnarité implique donc que ~u ∗ minimise L(~u, α ~ ∗ , β~ ∗ ).
Par définition de la fonction duale de Lagrange, Q(~ α ∗ , β~ ∗ ) = L(~u ∗ , α
~ ∗ , β~ ∗ ) = f (~u ∗ ). En effet, la
condition
Pn de complémentarité des contraintes implique
u ∗ ) = 0, et celle d’admissibilité primale implique rj=1 βj∗ hj (~u ∗ ) = 0.
∗ g (~
P
α
i=1 i i
Soient p∗ la solution de (P) et d∗ celle de (Q). Par définition de d∗ , f (~u ∗ ) = Q(~ α ∗ , β~ ∗ ) ≤ d∗ , et par
dualité faible, d∗ ≤ p∗ . Ainsi, f (~u ∗ ) ≤ p∗ et donc f (~u ∗ ) = p∗ : ~u ∗ est un point de minimisation de (P), et
toutes les inégalités précédentes sont donc des égalités et, en particulier, Q(~ ~ ∗ ) = d∗ et (~
α ∗, β ~ ∗ ) est
α ∗, β
un point de maximisation de (Q).
Figure A.5 – Le point de minimisation se trouve à la frontière du domaine des contraintes, en un point
tangent à une ligne de niveau de f . En ce point, les gradients ∇g et ∇f sont parallèles et de directions
opposées.
Dans le deuxième cas, illustré sur la figure A.5, un point de minimisation ~u ∗ se trouve à la bordure du
domaine des contraintes (g(~u ∗ ) = 0), car f étant convexe et minimisée à l’extérieur de ce domaine croît
quand on s’en rapproche. Plus précisément, ~u ∗ se trouve à l’intersection de la bordure du domaine des
contraintes et d’une ligne de niveau de f . En ce point, le gradient de f étant tangent à la ligne de niveau et
celui de g étant tangent à la bordure du domaine, ∇f et ∇g sont parallèles. De plus, f croît en s’éloignant de
~u0 , et g est négative à l’intérieur du domaine des contraintes. ∇f et ∇g sont donc de directions opposées.
Ainsi, il existe α ≥ 0 tel que ∇f (~u ∗ ) = −α∇g(~u ∗ ).
Les deux cas peuvent donc être résumés par
où
— soit α = 0 et g(~u ∗ ) ≤ 0 (cas 1)
— soit g(~u ∗ ) = 0 et α ≥ 0 (cas 2).
On a ainsi retrouvé la condition de stationnarité ∇f (~u ∗ ) + α∇g(~u ∗ ) = 0 et celle de complémentarité des
contraintes αg(~u ∗ ) = 0.
Un cas particulier de problème d’optimisation convexe sous contraintes qui revient souvent en machine
learning est celui de l’optimisation quadratique convexe, ou convex quadratic programming (convex QP) en anglais.
Dans ce cadre, la fonction f à minimiser est quadratique et les contraintes sont affines.
Définition 1.19 Étant donnés n, m, r trois entiers positifs, une matrice semi-définie positive Q ∈
Rn×n , des vecteurs ~a, ~b1 , . . . , ~bm , ~c1 , . . . , ~cr de Rn , et des constantes d, k1 , . . . , km , l1 , . . . , lr ∈ R, on ap-
180 Appendice A. Notions d’optimisation convexe
Il s’agit d’un problème d’optimisation convexe, vérifiant les conditions de Slater, et dont la région ad-
missible est un polyèdre.
Il existe de nombreuses méthodes pour résoudre ce genre de problèmes, comme les méthodes de point
intérieur ou les méthodes d’activation (active set en anglais.) De nombreux logiciels et librairies implé-
mentent ces approches, comme CPLEX, CVXOPT, CGAL et bien d’autres.
Bibliographie
Bertsekas, D. P., Nedi,́ A., et Ozdaglar, A. E. (2003). Convex Analysis and Optimization. Athena Scientific, Bel-
mont, MA.
Bonnans, J., Gilbert, J., Lemaréchal, C., et Sagastizábal, C. (1997). Optimisation numérique : aspects théoriques
et pratiques. Sprinver-Verlag, Berlin Heidelberg.
Kuhn, H. W. et Tucker, A. W. (1951). Nonlinear programming. In Neyman, J., editor, Proceedings of the Second
Berkeley Symposium on Mathematical Statistics and Probability, pages 481–492. University of California Press.
Luenberger, D. G. (1969). Optimization by Vector Space Methods. John Wiley & Sons.
Nocedal, J. et Wright, S. J. (2006). Numerical Optimization. Springer, Berlin, New York, 2nd edition.
Slater, M. (1950). Lagrange multipliers revisited. Cowles Commission Discussion Paper, number 403.