Data Science en pratique Optimisation de mod` eles
Maxime Jumelle ESLSCA Big Data - MBA 2
2019 - 2020
Ce cours fait suite au module de Machine Learning du premier semestre.
Il s’inscrit dans la continuit´e, et aborde notamment des aspects plus pratiques que l’on rencontre en entreprise. En particulier, nous aborderons trois phrases chronologiques d’un projet Data Science, survenant pendant et apr`es la partie de mod´elisation.
I Optimisation de mod`ele: nous verrons quelles m´ethodes utiliser pour d´eterminer les hyper-param`etres optimaux des mod`eles.
I Validation de mod`ele: nous appliquerons des m´ethodes
d’´echantillonnage pour v´erifier le bon comportement des mod`eles.
I Interpr´etabilit´e: une derni`ere partie sera consacr´ee `a
l’interpr´etabilit´e et `a la transparence des algorithmes pour expliquer le comportement des mod`eles.
Hyper-param` etres
Dans un mod`ele, nous devons diff´erencier deux types de param`etres.
I En statistique param´etrique, le mod`ele est une fonction de param`etreθ∈Θ: les composantes deθ repr´esentent doncles param`etres du mod`ele. Ils sont estim´es par des algorithmes d’optimisation num´erique.
I Les hyper-param`etres sont des valeurs d’ajustement du mod`ele qui sont fixes et qui ne sont pas estim´es par les algorithmes
d’optimisation, mais utilis´es par ces derniers.
Le choix des hyper-param`etres aura donc une influence sur la fa¸con dont le mod`ele est entraˆın´e et automatiquement sur ses performances.
Hyper-param` etres
La difficult´e des hyper-param`etres, c’est que contrairement aux
param`etres du mod`ele estim´es, il n’y a aucun moyen de savoir si un jeu d’hyper-param`etres est optimal ou non.
Pour cela, une solution consiste `a tester plusieurs jeux
d’hyper-param`etres et de choisir celui qui maximise, `a ensemble d’entraˆınement et de test ´egaux, les performances.
Il y a autant d’entraˆınement de mod`ele `a effectuer qu’il y a de jeux d’hyper-param`etres. Ainsi, une question se pose : comment d´eterminer le jeu d’hyper-param`etre optimal le plus rapidement ?
Sommaire
Recherche par grille Grid Search Random Search Hypercube Latin
Optimisation bay´esienne
Approche par processus Gaussien Tree-structured Parzen Estimator
Grid Search
Les m´ethodes Grid Search (ou recherche par grille) vont construire un espace des hyper-param`etres possibles `a partir du produit cart´esien des contraintes des hyper-param`etres. PourLhyper-param`etres dont les valeurs possibles sontClpour lel-`eme param`etres alors la grille de recherche exhaustive est
L
Y
l−1
Cl
Par exemple, dans un arbre de d´ecision, en d´efinissant les hyper-param`etresT ∈ {4,8,12}la profondeur de l’arbre,
min leaf∈ {2,4,6}le nombre d’observations minimum dans une feuille etcriterion∈ {gini,entropy} le crit`ere d’impuret´e, il y a
3×3×2 = 18mod`eles `a entrainer.
Grid Search
La proc´edure d’un Grid Search est enti`erement d´eterministe et ne repose que sur deux ´etapes `a chaque it´erationt.
1. Entraˆınement d’un mod`elefˆavec le jeu d’hyper-param`etres du t-`eme point de la grille.
2. Calcul d’une m´etrique d’´evaluation (score, perte, ...) surfˆ. Dans les faits, l’´etape d’entraˆınement doit ˆetre r´ealis´e sur plusieurs sous-´echantillons de la base d’entraˆınement et de fournir une ´evaluation moyenne avec l’´ecart-type associ´e (voir techniques d’´echantillonnage du chapitre 2).
Attention
Pendant l’optimisation, il ne faut pas changer les bases d’entraˆınement et de test, sauf cas tr`es particuliers.
Grid Search
Le principal d´efaut de cette m´ethode est letemps de calcul extrˆemement coˆuteux. Plus il y a d’hyper-param`etres et de valeurs possibles, plus le nombre d’it´erations accroit exponentiellement. En pratique, il est donc impensable d’optimiser 10 hyper-param`etres ayant chacun 4 valeurs diff´erents (410 it´erations, `a raison d’une seconde d’entraˆınement par mod`ele n´ecessiterait12jours et3h27de calculs).
En revanche, il est possible deparall´eliser le calculpuisque chaque
´el´ement de la grille est ind´ependant des autres.
Figure–Recherche par grille `a 2 hyper-param`etres.
Figure–Recherche par grille `a 3 hyper-param`etres. Une autre composante importante `a prendre en compte est ´egalement le temps de calcul d’une pr´ediction.
Random Search
Dans la recherche al´eatoire, la grille n’est plus d´efinie `a l’avance puisque les points sont choisiesselon une distribution jointe.
Le jeu d’hyper-param`etres optimalSOpt est donc celui qui maximise le score parmi une collection de tirages al´eatoires d’une loi jointe S= (S1, . . . ,SL).
Random Search
La proc´edure Random Search est tr`es similaire `a Grid Search, mais disposant d’une ´etape suppl´ementaire pour le choix des
hyper-param`etres.
1. Tirage al´eatoire des hyper-param`etresS∼ S.
2. Entraˆınement d’un mod`elefˆavec le jeu d’hyper-param`etresS tir´e al´eatoirement.
3. Calcul d’une m´etrique d’´evaluation (score, perte, ...) surfˆ.
Figure–Source : Qualcomm Developer Network.
Hypercube Latin Sampling (HLS)
Cette approche se base sur l’´echantillonnage par hypercube latin, qui est une m´ethode pseudo-al´eatoire. Contrairement `a Grid Search et Random Search, la m´ethode HLS utilise les observations pr´ec´edemment tir´ees pour en obtenir une nouvelle.
Dans un cas purement al´eatoire, il est possible que certaines zones de l’espace de probabilit´e deS ne soit pasrecouvertespar certains tirages al´eatoires. Dans ce cas, la m´ethode HLS permet de subdiviser cet espace en quadrillage de sorte `a pouvoir convenablement couvrir toutes les zones de cet espace de probabilit´e.
Figure–Source : SAS Institute.
Sommaire
Recherche par grille Grid Search Random Search Hypercube Latin
Optimisation bay´esienne
Approche par processus Gaussien Tree-structured Parzen Estimator
Approche bay´ esienne
Dans l’approche bay´esienne, nous allonscapitalisersur les r´esultats obtenus aux pr´ec´edents jeux d’hyper-param`etres. Autrement dit, `a chaque jeu d’hyper-param`etres, on cherche `a calculer le prochain score `a partir des hyper-param`etres.
τ(Hyper-param`etres)=∆P(Score|Hyper-param`etres)
En pratique, nous ne pouvons pas calculer cette loi bay´esienne. Pour cela, nous introduisons une fonction moins complexe mais suffisamment similaire que l’on cherchera `a optimiser. Cette fonction est appel´ee substitut(ousurrogate).
Figure–Estimation du maximum de la distribution log-normale par SMBO GP `a deux points initiaux.
Figure–Avec 4 points, on remarque que la m´ethode SMBO GP ne permet pas encore d’estimer efficacement le maximum global.
Figure–En seulement 7 points, la m´ethode SMBO GP permet de trouver rapidement un maximum global.
Le fait de rajouter un substitut fait que les calculs pour trouver le prochainSOpt(t) (jeu d’hyper-param`etres) `a tester sur un mod`elesont assez importants. Mais ces temps de calculs sont compens´es par une recherche d’un jeu d’hyper-param`etres optimal en un nombre d’it´erations inf´erieurs que pour les m´ethodes de recherche par grille.
L’optimisation bay´esienne prend tout son sens dans la recherche des hyper-param`etres optimaux, puisque les temps de calcul deτ(SOpt(t))sont d´ej`a consid´erables. En revanche, cette m´ethode n’aurait aucun int´erˆet dans un cadre classique d’optimisation num´erique ou de nombreuses it´erations sont n´ecessaires pour s’approcher d’un ´eventuel extremum global.
Sequential Model-Based Optimization (SMBO)
Il existe plusieurs algorithmes bay´esiens qui permettent d’estimer un jeu d’hyper-param`etres optimal. L’algorithme SMBO [1] pour Sequential Model-Based Optimization est un des plus utilis´es en Machine Learning.
Algorithme SMBO
Tout d’abord, la base de connaissanceHdes hyper-param`etres pour le substitutτ est initialis´e `a l’ensemble vide. Il est ´egalement n´ecessaire de fournir un nombre d’it´erations maximaleT ainsi qu’un mod`ele initialM0
pour le substitut. La m´ethode SMBO s’ex´ecute ensuite de la fa¸con suivante `a chaque it´erationt.
1. Estimer SOpt(t) = argminSτ(S, Mt−1)
2. Calculer le score Rd’un mod`elefˆentraˆın´e avec le jeu d’hyper-param`etresSOpt(t)
3. Mettre `a jour la base de connaissances :H=H ∪(SOpt(t), R) 4. Estimer un nouveau mod`eleMtpour le substitut `a partir de H.
Fonction de s´ election
La fonction de s´election (ou d’acquisition) fournit un crit`ere quantitatif dans l’algorithme SMBO : c’est elle qui permet de choisir le prochain jeu d’hyper-param`etres `a tester (´etape 1). Une fonction de s´election
particuli`erement utilis´ee est l’Expected Improvement : EIy∗(u) =
Z y∗
−∞
(y∗−y)p(y|u)dy
o`uy∗est un seuil maximal etp(y|u)ladensit´e du mod`ele substitut
´evalu´e eny sachantu. L’objectif est donc de maximiser EIy∗ sachantu, qui dans SMBO repr´esenteraS(t)Opt.
Fonction de s´ election
Intuitivement, sip(y|u) = 0pour touty < y∗, alors le jeu
d’hyper-param`etresu:=SOpt(t) est consid´er´e comme optimal puisque aucune am´elioration sur le score ne peut ˆetre apport´e.
A l’inverse, si EI` y∗(u)>0, c’est qu’il existe un meilleur jeu
d’hyper-param`etresupouvant amener `a une augmentation du score par rapport au jeu actuel. Sans une introduction d’un nombre d’it´erations maximale, les temps de calcul pourraient ˆetre bien trop ´elev´es, non seulement parce qu’il est rare d’obtenir une valeur exacte en optimisation, mais ´egalement parce que l’entraˆınement du mod`elefˆpeut lui aussi d´ependre de variations al´eatoires (propre `a ce dernier) et toujours engendrer des variations de scores pour un mˆemeu.
Approche par processus Gaussien
Cette approche consiste `a utiliser unprocessus Gaussiencomme fonction substitut `a la fonction de score.
Un processus Gaussien [2] est une collection de variables al´eatoires dont la loi jointe est une gaussienne. Dans ce contexte, pour un processus f(x), nous d´efinissons la fonction moyennemet la fonction de covariancekpar
m(x) = E[f(x)]
k(x,x0) = E[(f(x)−m(x))(f(x0)−m(x0))]
En chaque pointxdu processus, une distribution gaussienne permet d’obtenir la pr´ediction ainsi que l’intervalle de confiance associ´e. Le processusf(x)s’´ecrit
f(x)∼ GP(m(x), k(x,x0))
Le processus gaussien peut ˆetre vu comme un conditionnement en un pointxdu processusf (ce qui n’est pas une marginale).
Figure–Source : 10.23915/distill.00017
Figure–M´ethode SMBO GP avec fonction d’utilit´e en dimension1.
Approche par TPE
L’approche par Tree-structure Parzen Estimator (TPE) utilise la r`egle de Bayes plutˆot que de chercher `a mod´eliser directement l’a posteriori p(y|u).
p(y|u) = p(u|y)p(y) p(u) Cette approche pose la loia priori suivante :
p(u|y) =l(u)1{y<y∗}+g(u)1{y≥y∗}
A chaque it´` eration, l’algorithme va construireletg en fonction deH(la base de connaissances).
Expected Improvement dans l’approche TPE
EIy∗(u) = Z y∗
−∞
(y∗−y)p(u|y)p(y) p(u) dy
= l(u) p(u)
Z y∗
−∞
(y∗−y)p(y)dy
= l(u)
p(u) γy∗− Z y∗
−∞
yp(y)dy
!
orp(u) =R
p(u|y)p(y)dy=γl(u) + (1−γ)g(u)donc
EIy∗(u) = γy∗l(u)−l(u)Ry∗
−∞yp(y)dy γl(u) + (1−γ)g(u)
∝
g(u)
− −1
Expected Improvement dans l’approche TPE
Pour maximiser l’EI, nous aurions int´erˆet `a trouver des pointsuavec un forte probabilit´e sousl(u)et une faible probabilit´e sousg(u), puisque le terme de droite nous indique que l’EI est proportionnel au ratio g(u)l(u) et que c’est ce dernier qui doit ˆetre maximis´e.
R´ ef´ erences I
James S. Bergstra, R´emi Bardenet, Yoshua Bengio, and Bal´azs K´egl.
Algorithms for hyper-parameter optimization.
In J. Shawe-Taylor, R. S. Zemel, P. L. Bartlett, F. Pereira, and K. Q.
Weinberger, editors,Advances in Neural Information Processing Systems 24, pages 2546–2554. Curran Associates, Inc., 2011.
Carl Edward Rasmussen and Christopher K. I. Williams.
Gaussian Processes for Machine Learning (Adaptive Computation and Machine Learning).
The MIT Press, 2005.