Descente de gradient

guillitte
13.5K 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!

Ce programme python illustre l'algorithme de descente de gradient pour rechercher un minimum local d'une fonction f d'une variable réelle.
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) = (x-1)²+(1/x-2)².
Pour une fonction d'une variable, le gradient est simplement la dérivée : f'(x) = 2(x-1)+2(1/x-2)(-1/x²)
Ce programme comporte deux versions de l'algorithme :

  • La première utilise la dérivée analytique de f, qui doit lui être fournie
  • La seconde utilise une approximation numérique de cette dérivée

Exercice

Comment transformer cette decente de gradient en montée, pour rechercher un maximum local ?

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