Data Science Ou V Rage
Data Science Ou V Rage
Abstract
La data science, ou science des données, est la discipline qui traite de la collecte, de la préparation,
de la gestion, de l’analyse, de l’interprétation et de la visualisation de grands ensembles de données com-
plexes. Elle n’est pas seulement concernée par les outils et les méthodes pour obtenir, gérer et analyser
les données ; elle consiste aussi à en extraire de la valeur et de la connaissance.
Cet ouvrage présente les fondements scientifiques et les composantes essentielles de la science des données,
à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Notre souci a été de proposer
un exposé cohérent reliant la théorie aux algorithmes développés dans ces domaines. Il s’adresse aux
chercheurs et ingénieurs qui abordent les problématiques liées à la science des données, aux data scien-
tists de PME qui utilisent en profondeur les outils d’apprentissage, mais aussi aux étudiants de master,
doctorants ou encore futurs ingénieurs qui souhaitent un ouvrage de référence en data science.
À qui s’adresse ce livre ?
• Aux développeurs, statisticiens, étudiants et chefs de projets ayant à résoudre des problèmes de data
science.
• Aux data scientists, mais aussi à toute personne curieuse d’avoir une vue d’ensemble de l’état de
l’art du machine learning.
1
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page I
☛✟ ☛✟
✡✠ ✡✠
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page II
☛✟ ☛✟
✡✠ ✡✠
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page III
Chapitre 1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
☛✟ ☛✟
✡✠ Chapitre 2 ✡✠
Prétraitement des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Prétraitement des données
textuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Normalisation et filtrage . . . . . . . . . . . . . . . . . . . 7
2.1.3 Filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Prétraitement des données image
ou vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Représentations globales . . . . . . . . . . . . . . . . . . . 12
2.2.2 Représentations locales . . . . . . . . . . . . . . . . . . . . 16
2.2.3 Agrégation de représentations locales . . . . . . . . . . . . . 17
2.2.4 Représentations apprises . . . . . . . . . . . . . . . . . . . 19
2.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Chapitre 3
Gestion de données large-échelle et systèmes distribués . . . . . . 21
3.1 Les limites des systèmes
traditionnels de gestion de données . . . . . . . . . . . 21
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page IV
IV – DATA SCIENCE
Chapitre 4
Calcul haute performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.2 Hiérarchies du parallélisme . . . . . . . . . . . . . . . . . . 44
4.1.3 Classification des plateformes . . . . . . . . . . . . . . . . . 47
4.1.4 Coûts de communication . . . . . . . . . . . . . . . . . . . 48
4.2 Principes de conception
des algorithmes . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.1 Techniques de décomposition . . . . . . . . . . . . . . . . . 51
4.2.2 Caractéristiques des tâches
et des interactions . . . . . . . . . . . . . . . . . . . . . . . 53
4.2.3 Équilibrage des ressources . . . . . . . . . . . . . . . . . . . 54
4.2.4 Modèles d’algorithmes parallèles . . . . . . . . . . . . . . . 56
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page V
Chapitre 5
Optimisation pour l’analyse de données . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1 Apprentissage et optimisation . . . . . . . . . . . . . . 66
5.2 Introduction à l’optimisation . . . . . . . . . . . . . . . 72
5.2.1 Problèmes d’optimisation . . . . . . . . . . . . . . . . . . . 72
5.2.2 Analyse convexe pour impatients . . . . . . . . . . . . . . . 74
5.2.3 Algorithmes d’optimisation . . . . . . . . . . . . . . . . . . 77
5.3 Algorithmes en science des données . . . . . . . . . . . 82
☛✟ ☛✟
5.3.1 Algorithmes incrémentaux . . . . . . . . . . . . . . . . . . 83
✡✠ ✡✠
5.3.2 Algorithmes distribués . . . . . . . . . . . . . . . . . . . . 87
5.3.3 Au-delà de ce chapitre . . . . . . . . . . . . . . . . . . . . 91
5.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Chapitre 6
Décomposition matricielle/tensorielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.2 La SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.2.1 Quelques rappels d’algèbre linéaire . . . . . . .. . . . . . . 96
6.2.2 Approximation de rang faible . . . . . . . . . . . . . . . . . 97
6.2.3 SVD et analyse en composantes principales . . . . . . . . . . 99
6.2.4 Algorithme pour déterminer la SVD d’une matrice . . . . . . 100
6.3 Décomposition en matrices
non négatives . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3.1 Algorithme de Seung et Lee . . . . . . . . . . . . . . . . . . 105
6.3.2 Algorithme des moindres carrés alternés . . . . . . . . . . . 107
6.3.3 Comparaison de la SVD et de la NMF . . . . . . . . . . . . 107
6.4 Décomposition tensorielle . . . . . . . . . . . . . . . . . 108
6.4.1 Décomposition canonique polyadique . . . . . . . . . . . . . 109
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page VI
VI – DATA SCIENCE
Chapitre 7
Modèles génératifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.1.1 Modèles graphiques . . . . . . . . . . . . . . . . . . . . . . 117
7.1.2 Modèles à variables latentes . . . . . . . . . . . . . . . . . . 117
7.2 Introduction à la statistique
bayésienne . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.2.2 Algorithmes génériques pour l’inférence bayésienne . . . . . . 123
7.3 Inférence dans les modèles
à variables latentes . . . . . . . . . . . . . . . . . . . . . 127
7.3.1 Modèles probabilistes graphiques . . . . . . . . . . . . . . . 127
☛✟ ☛✟
7.3.2 Mélanges . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
✡✠ ✡✠
7.3.3 Analyse en composantes principales
probabiliste . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3.4 Chaînes de Markov cachées . . . . . . . . . . . . . . . . . . 134
7.3.5 Modèles hiérarchiques à variables latentes . . . . . . . . . . 136
7.4 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
7.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Chapitre 8
Modèles discriminants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
8.1 Approches supervisées . . . . . . . . . . . . . . . . . . . 146
8.1.1 Modèles binaires . . . . . . . . . . . . . . . . . . . . . . . 147
8.1.2 Modèles multi-classes . . . . . . . . . . . . . . . . . . . . . 161
8.2 Approches semi-supervisées . . . . . . . . . . . . . . . . 164
8.2.1 Modèles graphiques . . . . . . . . . . . . . . . . . . . . . . 165
8.2.2 Modèles de mélange . . . . . . . . . . . . . . . . . . . . . . 171
8.2.3 Modèles discriminants . . . . . . . . . . . . . . . . . . . . . 171
8.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page VII
Chapitre 9
Deep learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
9.1 Neurone formel . . . . . . . . . . . . . . . . . . . . . . . . 178
9.2 Réseaux simples . . . . . . . . . . . . . . . . . . . . . . . 179
9.2.1 Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . 180
9.2.2 ADALINE . . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.2.3 Perceptrons multicouches (PMC) . . . . . . . . . . . . . . . 185
9.3 Réseaux à propagation avant . . . . . . . . . . . . . . . 186
9.3.1 Composition de fonctions . . . . . . . . . . . . . . . . . . . 186
9.3.2 Fonction-objectif et descente de gradient stochastique par
mini-lots . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
9.3.3 Calcul des gradients par rétro-propagation de l’erreur . . . . 188
9.3.4 Architecture modulaire . . . . . . . . . . . . . . . . . . . . 190
9.3.5 Réseaux quelconques . . . . . . . . . . . . . . . . . . . . . 195
9.3.6 Différentiation automatique . . . . . . . . . . . . . . . . . . 196
9.4 Réseaux convolutifs . . . . . . . . . . . . . . . . . . . . .
☛✟ ☛✟
197
✡✠ ✡✠
9.4.1 Couche de convolution . . . . . . . . . . . . . . . . . . . . 197
9.4.2 Changements de résolution . . . . . . . . . . . . . . . . . . 199
9.4.3 Passage à des couches complètement connectées . . . . . . . 200
9.4.4 Un exemple : AlexNet . . . . . . . . . . . . . . . . . . . . . 200
9.5 Optimisations supplémentaires . . . . . . . . . . . . . . 202
9.5.1 Traitement par mini-lots . . . . . . . . . . . . . . . . . . . 202
9.5.2 Moment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
9.5.3 Fonctions d’activation . . . . . . . . . . . . . . . . . . . . . 203
9.5.4 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
9.5.5 Normalisation de lots . . . . . . . . . . . . . . . . . . . . . 204
9.5.6 Augmentation de données . . . . . . . . . . . . . . . . . . . 205
9.6 Réseaux pour la catégorisation d’images . . . . . . . . 206
9.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Chapitre 10
Visualisation interactive d’information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10.2 Des données au graphique . . . . . . . . . . . . . . . . . 214
10.2.1 Les données . . . . . . . . . . . . . . . . . . . . . . . . . . 214
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page VIII
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
☛✟ ☛✟
✡✠ ✡✠
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page IX
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page X
X – DATA SCIENCE
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XI
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XII
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XIII
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XIV
☛✟ ☛✟
✡✠ ✡✠
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XV
Bibliographie
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XVI
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XVII
BIBLIOGRAPHIE – XVII
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XVIII
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XIX
BIBLIOGRAPHIE – XIX
R.-E. Fan, K.-W. Chang, C.-J. Hsieh, X.-R. Wang et C.-J. Lin : Li-
blinear : a library for large linear classification. Journal of Machine
Learning Research, 9 :1871–1874, 2008.
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XX
XX – DATA SCIENCE
☛✟ ☛✟
R.L. Gregory : The intelligent eye. Weidenfeld and Nicolson, 1970.
✡✠ ✡✠
J. Hahnfeld, T. Cramer, M. Klemm, C. Terboven et M.S. Mül-
ler : A pattern for overlapping communication and computation with
OpenMP target directives. In Scaling OpenMP for Exascale Perfor-
mance and Portability, 2017.
R.W. Hamming : Error detecting and error correcting codes. Bell System
Technical Journal, 29(2) :147–160, 1950.
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXI
BIBLIOGRAPHIE – XXI
☛✟ ☛✟
Michael J.M. et J.-M. Robert : Quantifying the space-efficiency of
✡✠ ✡✠
2D graphical representations of trees. Information Visualization, 9
(2) :115–140, 2010.
T. Joachims : Making large-scale SVM learning practical. In B. Schöl-
kopf, C. Burges et A. Smola, éditeurs : Advances in kernel methods -
support vector learning, chapitre 11. MIT Press, Cambridge, MA, 1999.
S. Johnson : The Ghost Map : the Story of London’s Most Terrifying
Epidemic and How it Changed Science, Cities and the Modern World.
Riverhead, 2006.
Y.-M. Kim, M.-R. Amini, C. Goutte et P. Gallinari : Multi-view
clustering of multilingual documents. In Proceedings of the 33rd In-
ternational ACM SIGIR Conference on Research and Development in
Information Retrieval, SIGIR ’10, pages 821–822, 2010.
Y.M. Kim, J.F. Pessiot, M.R. Amini et P. Gallinari : An extension
of PLSA for document clustering. In Proceedings of the 17th ACM
Conference on Information and Knowledge Management, CIKM 2008,
pages 1345–1346, 2008.
T.G. Kolda et B.W. Bader : Tensor decompositions and applications.
SIAM Rev., 51(3) :455–500, 2009.
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXII
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXIII
BIBLIOGRAPHIE – XXIII
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXIV
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXV
BIBLIOGRAPHIE – XXV
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXVI
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXVII
BIBLIOGRAPHIE – XXVII
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXVIII
☛✟ ☛✟
✡✠ ✡✠
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXIX
Index
accélération, 58 apprentissage
activation non-supervisé, 66
Heaviside, 178 profond, 177, 205
linéaire, 180 semi-supervisé, 66, 146, 164, 167,
adaptive boosting, voir algorithme 171
☛✟ Adaboost modèles de mélange, 171 ☛✟
✡✠ ✡✠
Adaptive Linear Neuron, voir modèles discriminants, 171
algorithme ADALINE modèles graphiques, 165
ADMM, 81, 90 supervisé, 67, 145, 164
algorithme attributs des données
Adaboost, 148, 149, 172 agrégation, 215
ADALINE, 179, 183 attribut des données, 214
aléatoire, 84 comparaison, 215
CEM, 171 nominaux, 215, 224
de Gibbs, 126 ordonnés, 215, 224
de gradient proximal, 80 quantitatifs, 216, 224
des moindres carrés alternés, 107, échelle d’intervalle, 216
110 échelle de ratio, 216
du gradient, 77
du gradient stochastique, 83 base
EM, 171 d’entraînement, 145, 147, 151,
EM Monte Carlo, 127 155–157, 159, 160, 162, 163, 183
LDA, 138 BIC, 132, 139
Metropolis Hastings, 125 boosting, 148
NMF, 105
perceptron, 209 chaînes de Markov cachées, 119, 134
PESGASOS, 174 classe de fonctions, 145
SAG, 86 classification, 68
SAGA, 86 EM, voir algotithme CEM
analyse en composantes principales multi-classe
probabiliste, 118, 132 mono-label, 161, 162
multi-label, 161, 162
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXX
✡✠ ✡✠
fonction
DAG, 127 d’activation, 199
decision boundary, voir frontière de d’erreur, 145
décision de décision, 154
deep learning, voir apprentissage de projection, 155
profond de prédiction, 145, 164
densité de probabilité, 171 objectif, 152, 154, 157, 159, 180
descente, voir gradient forme logistique, 147
desired output, voir sortie désirée fortement convexe, 175
différentiation automatique, 196 frontière de décision, 151
directed acyclic graphs, voir DAG
direction de descente, voir gradient gradient, 71
discrimination logistique, voir descente, voir algorithme du
régression logistique gradient
distance de Hamming, 161, 163 stochastique, 183, 187, 190, 202
données redondantes, 84 granularité, 51
dual de Wolfe, 154 graphe moral, 128
décomposition
canonique de tenseur, 109 hard margin, voir marge dure
de données, 52 hessienne, 152, 154, 166, 207, 208
exploratoire, 52 symétrique positive définie, 154,
récursive, 51 207
spéculative, 52 hyperplan
déduction, 146 marginal, 153–155, 159
développement de Taylor, 207, 208 séparateur, 151, 180, 183, 184
hypersphère, 176
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXXI
– XXXI
hypothèse mode
de continuité, 166 batch, 181
de partition, 172 modèle
de variété, 166 graphique, 117, 127
hiérarchique, 136
i.i.d., 131, 161 linéaire mixte gaussien, 143
identiquement et indépendamment maître-esclave, 57
distribué, voir i.i.d. probabiliste graphique, 117, 127
induction, 146 mot de code, 163
iso-efficacité, 62 multi-layer perceptron, voir
isotrope, 119 perceptron multicouche
multistabilité, 218
label spreading, voir propagation des mélange de lois, 117, 129
étiquettes méthode
lagrangien, 152, 153, 158 d’ensemble, 148
latent dirichlet allocation, voir LDA de Newton, 79
LDA, 136 linéaire paramétrique, 147
learning rate, voir pas de descente, à base de votes, 148
voir pas de descente
lemmatisation, 9 namenode, 30
☛✟ ☛✟
ligne de niveau, 208 normalisation textuelle, 7
✡✠ ✡✠
linéairement séparable, 151, 153, 155, noyau
157, 160, 183, 184 gaussien, 156
localité, 55 polynomial, 156
logistic regression, voir régression
loi objectif, 67
a posteriori, 121 optimisation
a priori, 121 distribuée, 88
d’Amdahl, 59 duale, 154, 159
d’émission, 129 sous contraintes, 152, 159
opérateur proximal, 80–82, 87–90, 92,
maintenabilité, 42 93
map-reduce, 88 soft-thresholding, 92
marche aléatoire, 169 outlier, voir point aberrant
marge, 151, 155 overfitting, voir surapprentissage
d’un exemple, 180
dure, 151 parallélisme
souple, 156 d’instructions, 46
matrice de bits, 45
de Gram, 154 de données, 56
jacobienne, 152 de tâches, 46, 56
laplacienne, 166 explicite, 46
par blocs, 166 implicite, 46
stochastique, 168 parcimonie, 71
max-pooling, 200 pas d’apprentissage, voir pas de
minimisation du risque descente, 181, 184
empirique, 146, 162 pas de descente, 77
☛✟
✡✠
☛✟
✡✠
DataScienceOuvrage 22 janvier 2019 20:08 Page XXXII
☛✟
✡✠