Skip to content

Suivre un entraînement : courbes train/test

Pourquoi suivre les deux courbes, pas une seule

Section titled “Pourquoi suivre les deux courbes, pas une seule”

Le module 1 a posé la règle : évaluer uniquement sur le train ne détecte jamais le sur-apprentissage. Le réflexe pratique qui en découle : enregistrer perte et exactitude sur le train et le test à intervalles réguliers pendant l’entraînement, pas seulement à la fin.

def fit(self, X, y, X_test, y_test, learning_rate=0.1, n_iterations=500):
m = len(y)
for i in range(n_iterations):
A = self._forward(X)
dW = (1 / m) * X.T @ (A - y)
db = (1 / m) * np.sum(A - y)
self.W -= learning_rate * dW
self.b -= learning_rate * db
if i % 20 == 0:
A_test = self._forward(X_test)
self.train_loss.append(self._log_loss(A, y))
self.test_loss.append(self._log_loss(A_test, y_test))
self.train_acc.append(np.mean((A >= 0.5) == y))
self.test_acc.append(np.mean((A_test >= 0.5) == y_test))

L’échantillonnage toutes les 20 itérations (plutôt qu’à chaque itération) allège le calcul tout en gardant une courbe suffisamment lisse à observer.

print("train loss debut/fin:", neuron.train_loss[0], neuron.train_loss[-1])
print("test loss debut/fin:", neuron.test_loss[0], neuron.test_loss[-1])
print("train acc fin:", neuron.train_acc[-1], "test acc fin:", neuron.test_acc[-1])
train loss debut/fin: 1.0670604742905478 0.014397636637195623
test loss debut/fin: 0.7995728922767263 0.010212745555115643
train acc fin: 1.0 test acc fin: 1.0

Les deux courbes de perte décroissent ensemble, sans jamais diverger — la perte de test reste même légèrement inférieure à celle du train sur cet exemple (un effet d’échantillon, sans signification particulière ici). C’est le signe d’un entraînement sain : aucun sur-apprentissage détectable, ce qui est cohérent avec un problème linéairement séparable, largement à la portée d’un seul neurone.

Une divergence entre les deux courbes serait le signal à surveiller : une perte de train qui continue de baisser pendant qu’une perte de test se remet à monter est la signature classique du sur-apprentissage — le modèle mémorise le bruit spécifique du jeu d’entraînement plutôt que d’apprendre une règle générale. Ce diagnostic par les courbes est plus informatif qu’un score unique en fin d’entraînement, car il révèle à quel moment un modèle commencerait à sur-apprendre s’il continuait.

👉 Le piège de l’échelle : pourquoi normaliser


Junior TSAFACK – 12/09/2026