Descente de gradient (fonction de deux variables)

guillitte
218 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

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

Open Source Your Knowledge: become a Contributor and help others learn. Create New Content