Back
Close

Descente de gradient (fonction de deux variables)

guillitte
11.3K views

Bonjour!

Gradient descent

Ce programme python illustre l'algorithme de descente de gradient pour rechercher un minimum local d'une fonction f de deux variables réelles.
Son principe est simple : pour trouver le minimum, il suffit d'effectuer des petits pas dans le sens de la descente, juqu'au momment où la pente s'annule.
Nous rechercherons un minimum de la fonction f telle que f(x,y) = (x-2)²+(y-3)². On peut aisément deviner ce minimum car f(x,y) est une somme de carrés.
Pour une fonction de deux variables, le gradient est un vecteur dont les composantes sont les dérivées partielles :

  • df/dx = 2(x-2)
  • df/dy = 2(y-3)

Sa direction donne la ligne de pente et sa norme donne l'inclinaison.

Ce programme comporte deux versions de l'algorithme :

  • La première utilise le gradient analytique de f, qui doit lui être fournie.
  • La seconde utilise une approximation numérique de ce gradient.

Exercice

Déterminer unn minimum local de la fonction f définie par f(x,y) = x² + 2 y² - xy + 5x - 4y - 5

Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io