Back
Close

Descente de gradient (fonction de deux variables)

guillitte
363 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
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants