0% ont trouvé ce document utile (0 vote)
53 vues7 pages

Introduction 1

L'algorithme du gradient est un algorithme d'optimisation différentiable destiné à minimiser une fonction réelle différentiable définie sur un espace euclidien. Il procède de manière itérative en effectuant à chaque étape un déplacement dans la direction opposée au gradient afin de faire décroître la fonction. L'algorithme appartient à la famille des algorithmes à directions de descente.

Transféré par

Naruto Ozomaki yay
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)
53 vues7 pages

Introduction 1

L'algorithme du gradient est un algorithme d'optimisation différentiable destiné à minimiser une fonction réelle différentiable définie sur un espace euclidien. Il procède de manière itérative en effectuant à chaque étape un déplacement dans la direction opposée au gradient afin de faire décroître la fonction. L'algorithme appartient à la famille des algorithmes à directions de descente.

Transféré par

Naruto Ozomaki yay
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

Le gradient

Introduction
L'algorithme du gradient, aussi appelé algorithme de descente de gradient, désigne
un algorithme d'optimisation différentiable. Il est par conséquent destiné à minimiser une
fonction réelle différentiable définie sur un espace euclidien (par exemple, Rn, l'espace des n-
uplets de nombres réels, muni d'un produit scalaire) ou, plus généralement, sur un espace
hilbertien. L'algorithme est itératif et procède donc par améliorations successives. Au point
courant, un déplacement est effectué dans la direction opposée au gradient, de manière à faire
décroître la fonction. Le déplacement le long de cette direction est déterminé par la technique
numérique connue sous le nom de recherche linéaire. Cette description montre que
l'algorithme fait partie de la famille des algorithmes à directions de descente.

Les algorithmes d'optimisation sont généralement écrits pour minimiser une fonction. Si l'on
désire maximiser une fonction, il suffira de minimiser son opposée.

Dans sa version la plus simple, l'algorithme ne permet de trouver ou d'approcher qu'un point
stationnaire (i.e., un point en lequel le gradient de la fonction à minimiser est nul) d'un
problème d'optimisation sans contrainte. De tels points sont des minima globaux, si la fonction
est convexe. Des extensions sont connues pour les problèmes avec contraintes simples, par
exemple des contraintes de borne. Malgré des résultats de convergence théoriques
satisfaisants, cet algorithme est généralement lent si le produit scalaire définissant le gradient
ne varie pas avec le point courant de manière convenable, c'est-à-dire si l'espace vectoriel n'est
pas muni d'une structure riemannienne appropriée, d'ailleurs difficilement spécifiable a priori. Il
est donc franchement à déconseiller, même pour minimiser une fonction quadratique
strictement convexe de deux variables. Toutefois, ses qualités théoriques font que l'algorithme
sert de modèle à la famille des algorithmes à directions de descente ou de sauvegarde dans
les algorithmes à régions de confiance.
Le principe de cet algorithme remonte au moins à Cauchy

Méthode du gradient

Dans la méthode du gradient, on choisit

dk = −∇f (xk )

comme direction de descente car

f (xk+1) = f (xk− ρk∇f (xk))

= f (xk)− ρk(∇f (xk), ∇f (xk)) + 1/2ρ2k(H ∇f (xk), ∇f (xk)))

= f (xk)− ρkǁ∇f(xk)ǁ2 ≤ f (xk)

Algorithme du gradient:

 x0∈Rn donné
 xk+1 = xk− ρk∇f (xk)où ρk>0.

Si ρk= ρ, l’algorithme est dit à pas constant.

Critère d’arrêt

On peut utiliser un (ou une combinaison) des critères suivants pour arrêter les itérations d’un
algorithme de descente.

 Etant donné que ∇f (xk)→ ∇f (x¯) = 0, on pose

ǁ∇f(xk)ǁ< ϵ1.

 On a xk→ x¯, on peut aussi prendre

ǁxk+1− xkǁ < ϵ2.


 Finalement, on a f (xk)→ f (x¯), on peut prendre

ǁf(xk+1) − f (xk)ǁ< ϵ3.

Etude de la convergence

Voici un résultat de convergence de la méthode du gradient.

Théorème: Soit f : Rn R une fonction convexe et coécrive de classe C 2admettant un seul


minimum. De plus, on suppose qu’il existe une constante M >0 telle que

(Hf(x )v, v ) ≤ M ǁvǁ2 ∀x, v ∈Rn.

Si on choisit les ρk dans l’intervalle

0 <β1<ρk<β2<2/M,

Alors l’algorithme du gradient converge.

Méthode du gradient à pas optimaux

Dans la pratique, la méthode du gradient à pas constant converge très lentement. Pour
améliorer la convergence il est préférable de choisir les ρkde manière optimale

 x0∈Rn donné
 xk+1 = xk ρk∇ f (xk)

oùρk>0 est choisi de sorte que

min f (xk− ρ∇f (xk))

ρ
Note: la condition d’optimalité de ce problème de minimisation s’écrit

0 =d/dρf (xk— ρ∇f (xk))|ρ=ρk= (∇f (xk+1), ∇f (xk)

C’est-à-dire

∇f (xk+1) ⊥∇f (xk)

Calcul du pas optimal

En général, il n’est pas facile de calculer exactement la valeur ρqui minimise

Min f (xk− ρ∇f (xk)). Par contre, pour la fonction

f (x ) = 1/2(Ax, x ) − (b, x ) + c

avec A >0, la situation est plus facile.

Résidu: il est défini par r = −∇f (x ) = b − A x.

La méthode du gradient s’écrit:

xk+1 = xk− ρk∇f (xk) = xk+ ρkrk

=⇒ Axk+1− b = Axk− b + ρkArk

=⇒ rk+1 = rk− ρkArk

La condition d’optimalité pour ρk est

∇f (xk+1) ⊥∇f (xk)⇐⇒(rk+1, rk) = 0 ⇐⇒(rk− ρkArk , rk) = 0


Ce qui fournit la valeur ρk =ǁrkǁ2 /ρk= (Ark, rk).

On prend notre exemple

F(x,y)= x2+y2+2x+4

Point de départ : (x0,y0) = (2,1)

1- Calculer le minimum
𝜕𝑓
= 2𝑥 + 2 = 2(2) + 2 = 6
𝜕𝑥

𝜕𝑓
= 2𝑦 = 2(1) = 2
𝜕𝑦

∇𝑓 = 6𝑖 + 2𝑗

F(x0,y0)= f(2,1) =13

Donc
𝜕𝑓 𝜕𝑓
F(x0+𝜕𝑥 . ℎ + y0+𝜕𝑦 . ℎ)

=f(2+6h, 1+2h)

=(2+6h)2+(1+2h)2+2(2+6h)+4

G(h)= 40h2+40h+13

Après on va calculer la valeur de h:

g’(h) =80h+40=0

h=-0.5

On remplace h dans l’équation

f(2+6.-0.5 , 1+2(-0.5)) = f(-1,0) =3

on remplace f(-1 ,0) dans l’équation

𝜕𝑓
= 2𝑥 + 2 = 2(−1) + 2 = 0
𝜕𝑥
𝜕𝑓
= 2𝑦 = 2(0) = 0
𝜕𝑦
Donc (x,y)=(-1,0) la solution

F(x,y)=x2y2

𝜕2 𝑓 𝜕2 𝑓
𝜕𝑥 2 𝜕𝑥.𝜕𝑦

Hesse =

𝜕2 𝑓 𝜕2 𝑓
𝜕𝑦𝜕𝑥 𝜕𝑦 2

𝜕2 𝑓
Si │h│> 0 ; > 0 (mini)
𝜕𝑥 2

Si │h│< 0 (point de selle)

𝜕2 𝑓
Si │h│> 0 ; < 0 (max)
𝜕𝑥 2

Point de départ (2,1)

𝜕𝑓
= 2𝑥𝑦 2
𝜕𝑥

𝜕 2𝑓
= 2𝑦 2
𝜕𝑥 2
𝜕𝑓
= 2𝑦𝑥 2
𝜕𝑦
𝜕2 𝑓
= 2𝑥 2
𝜕𝑦 2

𝜕 2𝑓
= 4𝑥𝑦
𝜕𝑥. 𝜕𝑦

Vous aimerez peut-être aussi