0% ont trouvé ce document utile (0 vote)
5 vues14 pages

TP1 Optimization

La descente de gradient est un algorithme d'optimisation essentiel en machine learning, utilisé pour minimiser la fonction de perte en ajustant les paramètres d'un modèle. Ce document présente son application dans divers modèles tels que la régression linéaire, la régression logistique, et les réseaux de neurones, avec des exemples de code. En conclusion, la descente de gradient est fondamentale pour l'apprentissage des poids optimaux dans des domaines variés comme la régression, la classification et les systèmes de recommandation.

Transféré par

kevinjp733
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues14 pages

TP1 Optimization

La descente de gradient est un algorithme d'optimisation essentiel en machine learning, utilisé pour minimiser la fonction de perte en ajustant les paramètres d'un modèle. Ce document présente son application dans divers modèles tels que la régression linéaire, la régression logistique, et les réseaux de neurones, avec des exemples de code. En conclusion, la descente de gradient est fondamentale pour l'apprentissage des poids optimaux dans des domaines variés comme la régression, la classification et les systèmes de recommandation.

Transféré par

kevinjp733
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP1 : Descente de Gradient

Optimisation en Machine Learning – Niveau Master

Mohamed Dhleima

Faculté des Sciences et TechniquesMaster Intelligence Artificielle


Parcours MLDS NLPCV

2 mars 2026

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 1 / 14
Introduction

La descente de gradient est un algorithme d’optimisation utilisé pour minimiser la


fonction de perte d’un modèle en ajustant progressivement ses paramètres.

Principe : Se déplacer dans la direction du gradient négatif (direction de la plus


forte diminution de la fonction de perte).

Applications essentielles :
La régression linéaire
La régression logistique
Les réseaux de neurones
Les SVM
La factorisation matricielle

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 2 / 14
Régression Linéaire

Modèle :
ŷ = wx + b
Fonction de perte (MSE) :
n
1 X
L= (ŷi − yi )2
2n
i=1

Rôle de la descente de gradient :


Calcul des gradients dw et db
Mise à jour des paramètres :

w = w − η · dw , b = b − η · db

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 3 / 14
Régression Linéaire - Code

import numpy as np
import [Link] as plt
[Link](0)

n = 200
X = [Link](-3, 3, n).reshape(-1, 1)
y = 2 * [Link]() - 0.3 + 0.7 * [Link](n)

w, b = 0.0, 0.0
lr = 0.05
epochs = 200
losses = []

for _ in range(epochs):
preds = w * [Link]() + b
err = preds - y
loss = (err**2).mean() / 2
[Link](loss)
dw = ([Link]() * err).mean()
db = [Link]()
w -= lr * dw
b -= lr * db

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 4 / 14
Régression Logistique (Classification Binaire)

Fonction Sigmoïde :
1
σ(z) =
1 + e −z
Fonction de perte (Cross-Entropy) :
n
1X
L=− [yi log(ŷi ) + (1 − yi ) log(1 − ŷi )]
n
i=1

Rôle de la descente de gradient :


Calcul des gradients de la cross-entropy
Mise à jour des poids pour améliorer la classification

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 5 / 14
Régression Logistique - Code

import numpy as np
import [Link] as plt
from [Link] import make_blobs
[Link](1)

X, y = make_blobs(n_samples=300, centers=2, cluster_std=1.2)


w = [Link]([Link][1])
b = 0.0
lr = 0.2
losses = []

def sigmoid(z): return 1 / (1 + [Link](-z))

for _ in range(300):
z = [Link](w) + b
p = sigmoid(z)
loss = -(y * [Link](p + 1e-12) +
(1 - y) * [Link](1 - p + 1e-12)).mean()
[Link](loss)
dw = [Link](p - y) / len(X)
db = (p - y).mean()
w -= lr * dw
b -= lr * db

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 6 / 14
Softmax Regression (Classification Multiclasse)

Fonction Softmax :
exp(zi,k )
Pi,k = PK
j=1 exp(zi,j )

Fonction de perte (Cross-Entropy Multiclasse) :


K
X
L=− yj log(ŷj )
j=1

Mise à jour :
∂L ∂L
W ←W −η· , b ←b−η·
∂W ∂b

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 7 / 14
Softmax Regression - Code

import numpy as np
import [Link] as plt
from [Link] import make_blobs
[Link](2)

X, y = make_blobs(n_samples=450, centers=3, cluster_std=1.5)


K = 3

W = [Link](([Link][1], K))
b = [Link](K)
lr = 0.2
epochs = 300
losses = []

def softmax(z):
z -= [Link](axis=1, keepdims=True)
expz = [Link](z)
return expz / [Link](axis=1, keepdims=True)

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 8 / 14
Réseau de Neurones (1 couche cachée)

Architecture :
Entrée x ∈ RD
Couche cachée (H neurones) : activation ReLU
Couche de sortie (K neurones) : activation Softmax
Propagation avant :

z(1) = xW(1) + b(1)


a(1) = ReLU(z(1) ) = max(0, z(1) )
z(2) = a(1) W(2) + b(2)
ŷ = Softmax(z(2) )

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 9 / 14
Réseau de Neurones - Rétropropagation

Gradient de la sortie :
∂L 1
= (Ŷ − Y)
∂z(2) m
Mise à jour couche de sortie :
∂L ∂L
= a(1)T · (2)
∂W(2) ∂z
m  
∂L X ∂L
=
∂b(2) i=1
∂z(2) i,:

Rétropropagation vers couche cachée :


∂L ∂L
(1)
= (2) · W(2)T
∂a ∂z
∂L ∂L
(1)
= (1) ⊙ 1{z(1) >0}
∂z ∂a

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 10 / 14
Réseau de Neurones - Initialisation

import numpy as np
import [Link] as plt
from [Link] import make_blobs
[Link](3)

X, y = make_blobs(n_samples=450, centers=3, cluster_std=1.5)


K = 3
D = [Link][1]
H = 32

W1 = [Link](D, H) * [Link](2 / D)
b1 = [Link](H)
W2 = [Link](H, K) * [Link](2 / H)
b2 = [Link](K)

lr = 0.05
epochs = 200
batch = 64
losses = []

relu = lambda z: [Link](0, z)

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 11 / 14
Réseau de Neurones - Entraînement (Partie 1)

for _ in range(epochs):
idx = [Link](len(X))
Xs, Ys = X[idx], y[idx]
for i in range(0, len(Xs), batch):
xb = Xs[i:i + batch]
yb = Ys[i:i + batch]
z1 = [Link](W1) + b1
a1 = relu(z1)
logits = [Link](W2) + b2
probs = softmax(logits)
Yb = np.zeros_like(probs)
Yb[[Link](len(yb)), yb] = 1

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 12 / 14
Réseau de Neurones - Entraînement (Partie 2)

dlog = (probs - Yb) / len(yb)


dW2 = [Link](dlog)
db2 = [Link](axis=0)
da1 = [Link](W2.T)
dz1 = da1 * (z1 > 0)
dW1 = [Link](dz1)
db1 = [Link](axis=0)
W2 -= lr * dW2
b2 -= lr * db2
W1 -= lr * dW1
b1 -= lr * db1

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 13 / 14
Conclusion

Points clés :
La descente de gradient réduit progressivement la fonction de perte
Elle permet d’apprendre les poids optimaux
Elle est au cœur du Deep Learning moderne

Applications :
Régression
Classification
Réseaux de neurones
SVM
Systèmes de recommandation

Mohamed Dhleima (Faculté des Sciences et TechniquesMaster


TP1 : Descente
Intelligence
de Gradient
Artificielle Parcours MLDS 2NLPCV)
mars 2026 14 / 14

Vous aimerez peut-être aussi