Accueil / Factory / Algos ML / Optimisation bayésienne — factory / algos ML / réglage des hyperparamètres

OPTIMISATION BAYÉSIENNE.

Une méthode pour trouver les meilleurs réglages d'un modèle en un minimum d'essais. Après chaque essai, elle met à jour une carte approximative des scores possibles, puis choisit le prochain essai là où le gain espéré est le plus fort. Indispensable quand chaque entraînement prend des minutes ou des heures.

RéglageHyperparamètresProcessus gaussienOptimisation coûteuseNiveau : intermédiaire

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceAtteint de bons réglages avec bien moins d'essais qu'une grille
InterprétabilitéHistorique des essais lisible, logique de choix plus abstraite
VitesseÉconome en entraînements, léger surcoût de calcul par essai
Facilité de réglageSeuls les plages et le budget d'essais sont à fixer
Tolérance aux données brutesTolérance héritée du modèle réglé, rien de plus à préparer
EN 30 SECONDES

Un chercheur de pétrole ne fore pas au hasard ni en quadrillage. Après chaque forage, il met à jour sa carte géologique et fore là où la chance de trouver est la plus forte, en gardant un peu de place pour explorer les zones inconnues.

1. Quelques essais pour démarrer

On évalue une poignée de combinaisons de réglages tirées au hasard, chacune notée en validation croisée.

2. Un modèle de substitution

Un modèle statistique rapide (processus gaussien, ou estimateur TPE dans Optuna) apprend la relation entre réglages et score, avec son incertitude.

3. Un critère pour choisir le prochain essai

La fonction d'acquisition, par exemple le gain espéré (Expected Improvement), arbitre entre exploiter les zones prometteuses et explorer les zones incertaines.

4. On boucle

Le nouvel essai est évalué, le modèle de substitution est mis à jour, et ainsi de suite jusqu'au budget fixé.

LE CAS MÉTIER

réglage de modèle · churn télécom / énergie
EN ENTRÉE

Un modèle de churn à régler

3 000 clients, cinq variables, un gradient boosting avec quatre réglages sensibles : taux d'apprentissage, profondeur des arbres, nombre d'arbres, part des lignes tirées par arbre. Une grille complète demanderait des centaines d'entraînements.

EN SORTIE

Les meilleurs réglages en 30 essais

L'étude renvoie les réglages retenus, leur score et l'historique de tous les essais. On voit les essais se concentrer peu à peu sur la zone qui marche.

CE QU'ON MESURE

L'AUC, et le bon sens du gain

L'AUC en validation croisée note chaque essai. Sur ce jeu simple, la régression logistique atteint déjà environ 0,77 avec les mêmes blocs : si le gradient boosting réglé ne fait pas mieux, le réglage n'aura servi qu'à le confirmer.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Entraînement coûteux : deep learning, gros boosting, pipeline complet
  • 3 à 20 réglages à ajuster conjointement
  • Budget d'essais limité, fixé en nombre ou en heures de calcul
  • Expériences physiques ou marketing coûteuses : dosage, prix, formulation

NON

  • Modèle qui s'entraîne en une seconde : un random search fait aussi bien, plus simplement
  • Des centaines de réglages ou des milliers d'essais parallèles : les stratégies évolutionnaires passent mieux
  • Fonction très bruitée et budget minuscule : aucune méthode ne fera de miracle
  • Chercher le dernier millième d'AUC : le gain disparaît souvent sur le jeu de test
LES 4 RÉGLAGES QUI COMPTENT

Noms donnés pour R (ParBayesianOptimization) et Python (Optuna).

Espace de recherche : bounds / suggest_*

Des plages réalistes, en échelle log pour les taux et les pénalités (log=True dans Optuna). Un espace trop large gaspille des essais.

Essais initiaux : initPoints / n_startup_trials

Les premiers essais sont tirés au hasard pour donner une première carte. Compter au moins deux fois le nombre de réglages.

Budget : iters.n / n_trials

20 à 100 essais selon le coût d'un entraînement. Optuna permet aussi un budget en temps avec timeout.

Fonction d'acquisition : acq

Le gain espéré (« ei ») est un bon défaut. La borne supérieure de confiance (« ucb ») pousse plus à explorer. Dans Optuna, l'échantillonneur TPE joue ce rôle.

LE CODE MINIMAL

jeu d'exemple : clients_churn.csv ↓
# Score de churn : optimisation bayésienne des réglages en R
library(xgboost)
library(ParBayesianOptimization)

clients <- read.csv("clients_churn.csv")
X <- model.matrix(~ anciennete + appels_support + montant + contrat + incidents_3m, data = clients)[, -1]
dclients <- xgb.DMatrix(X, label = clients$churn)

# Fonction coûteuse à optimiser : l'AUC en validation croisée pour un jeu de réglages
objectif <- function(eta, max_depth, subsample) {
  params <- list(objective = "binary:logistic", eval_metric = "auc",
                 eta = eta, max_depth = max_depth, subsample = subsample)
  cv <- xgb.cv(params = params, data = dclients, nrounds = 400, nfold = 5,
               early_stopping_rounds = 20, verbose = FALSE)
  list(Score = max(cv$evaluation_log$test_auc_mean))
}

# Processus gaussien sur les essais passés + critère « gain espéré » pour choisir le suivant
set.seed(42)
res <- bayesOpt(FUN = objectif, bounds = list(eta = c(0.01, 0.3), max_depth = c(2L, 6L), subsample = c(0.5, 1)),
                initPoints = 6, iters.n = 24, acq = "ei", verbose = 0)
print(getBestPars(res))
essais <- as.data.frame(res$scoreSummary)
print(head(essais[order(-essais$Score), c("Iteration", "eta", "max_depth", "subsample", "Score")], 5))

QUESTIONS FRÉQUENTES

Qu'est-ce que l'optimisation bayésienne des hyperparamètres ?

C'est une méthode de réglage qui construit, au fil des essais, un modèle statistique du score en fonction des réglages. Elle s'en sert pour choisir le prochain essai le plus prometteur, au lieu de tester une grille complète ou des combinaisons au hasard. Elle atteint en général un bon réglage en beaucoup moins d'essais.

Optuna fait-il de l'optimisation bayésienne ?

Oui, au sens large. Son échantillonneur par défaut, TPE (Tree-structured Parzen Estimator), est une méthode d'optimisation séquentielle fondée sur un modèle probabiliste des bons et des mauvais essais. Optuna propose aussi un échantillonneur à processus gaussien, et l'arrêt précoce des essais peu prometteurs (pruning).

Optimisation bayésienne ou grid search ?

Le grid search est simple et parallèle, mais son coût explose avec le nombre de réglages. L'optimisation bayésienne est séquentielle et plus économe : elle vaut le coup dès que chaque entraînement prend plus de quelques minutes ou que l'on règle plus de trois paramètres.

LES ALGOS VOISINS

à comparer avant de choisir
la base à battre

Grid search / random search

Essais fixés d'avance ou au hasard, sans apprendre des précédents. Plus simple, plus gourmand.

Voir la fiche →
le moteur

Processus gaussiens

Le modèle de substitution classique : il prévoit le score d'un réglage et son incertitude.

Voir la fiche →
l'étape d'après

AutoML

Automatise aussi le choix de l'algorithme. Beaucoup d'outils AutoML utilisent l'optimisation bayésienne en interne.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →