
1.6 Descente de gradient
19
© Dunod – Toute reproduction non autorisée est un délit.
Équation 1.9 – Un pas de descente de gradient
= – MSE
Voyons une implémentation rapide de cet algorithme:
eta = 0.1 # taux d’apprentissage
n_iterations = 1000
m = 100
theta = np.random.randn(2,1) # initialisation aléatoire
for iteration in range(n_iterations):
gradients = 2/m * X_b.T.dot(X_b.dot(theta) - y)
theta = theta - eta * gradients
Facile ! Voyons maintenant le theta qui en résulte:
>>> theta
array([[4.21509616],
[2.77011339]])
C’est exactement ce que nous avions obtenu avec l’équation normale! La des-
cente de gradient a parfaitement fonctionné. ...