Trouver les valeurs idéales en itérant au sens du gradient
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Trouver les valeurs idéales en itérant au sens du gradient



  1. #1
    mohamine1989

    Trouver les valeurs idéales en itérant au sens du gradient


    ------

    Bonjour tous le monde,
    J'essaye de développer un algorithme pour résoudre un problème que j'ai rencontré.
    On a la variable d qui est en fonction de deux variables x1 et x2 initialisées a zéro, et je aboutir, a l'aide d'un calcul au sens du gradient, a un algorithme itératif qui minimise a chaque fois l'erreur quadratique pour aboutir a la fin a une valeur négative du d :
    Sans titre.jpg(équation du deuxième degré avec deux variables)
    J'ai raisonné de la manière suivante :
    Sans titre1.jpg
    Sans titre2.jpg
    Sans titre3.jpg
    Avec :
    Sans titre4.jpg
    J'ai aussi pris le facteur d'apprentissage alpha = 1.
    Mais j'ai remarqué qu'il n'y avait dépassement de capacité de calcul pour l’implémentation, j'ai aussi essayé avec un apprentissage sur des xi indépendants, même résultat.
    J'ai aussi pensé a mettre la dérivée de l'erreur = 0, pour résoudre par la suite une équation du troisième ordre, mais je l'ai pas encore essayé.
    Je voudrai savoir quelle est la bonne approche et le bon raisonnement pour résoudre un problème pareil.
    Je veux aussi connaitre le critère qui assurerait la convergence d'une tel méthode.
    Cordialement, Mohamed Amine

    -----

  2. #2
    GrisBleu

    Re : Trouver les valeurs idéales en itérant au sens du gradient

    Bonjour

    Ton but n'est il pas d'aboutir a une erreur aussi faible que possible ?
    Tu décris la methode de "descente de gradient". Celle ci fonctionne mais elle est très lente. Il y a des méthodes (même du 1er degré) plus rapide
    voir http://en.wikipedia.org/wiki/Mathema...ion_algorithms
    ++

  3. #3
    mohamine1989

    Re : Trouver les valeurs idéales en itérant au sens du gradient

    Je te remercie beaucoup pour tas réponse
    GrisBleu
    , bon, j'ai pas essayé avec d'autre méthodes, néanmoins, j'ai consulté le document suivant : http://www.google.fr/url?sa=t&rct=j&...91427555,d.bGQ, et j'ai appris au moins deux chose, c'est que le facteur d'apprentissage que j'ai choisi était top grand, et que la valeur initiale doit être minutieusement choisi afin d'avoir une convergence vers un minima global.
    Je veux si possible, savoir, quel est le bon critère a choisir pour spécifier la valeur a atteindre, et la formule d'erreur qu'il lui est associée (une alternative a l'erreur quadratique), car j'ai remarqué, qu'on dérivant directement ma formule : Nom : Sans titre.jpg
Affichages : 47
Taille : 2,4 Ko, la convergence vers le minima était toujours garanti.
    Merci d'avance pour vos suggestions.

  4. #4
    GrisBleu

    Re : Trouver les valeurs idéales en itérant au sens du gradient

    Bonjour

    Pour le pas (alpha), il existe des méthodes qui l'adaptent automatiquement pour ne pas aller trop vite ni trop lentement, regarde le lien wiki
    Une méthode de descente de gradient ne pourra jamais, à elle seule, éviter un minimum local si tu commences à côté. Il n'y a pas de miracle sauf à avoir un critère de minimisation convexe
    Finalement, il existe des tas d'autres critères que les moindres carrés, surtout avec beaucoup de dimension, comme les moindres carrés régularisés
    Cdlt

  5. A voir en vidéo sur Futura
  6. #5
    mohamine1989

    Thumbs up Re : Trouver les valeurs idéales en itérant au sens du gradient

    Bon, j'ai fini par trouver la solution, j’étais confronté a une équation a plusieurs variables, c’était donc un problème de programmation non-linéaire, qui peut être résout par plusieurs méthodes. J'ai choisi l'une d'elle décrite théoriquement sur un ouvrage; celle-ci était a base de descente du gradient, c'est la raison pour laquelle j’étais focalisée sur cette méthode.
    Pour le pas d'adaptation, j'ai trouvé un moins pour le calculer a chaque itération, pour atteindre la valeur optimale avec le nombre le plus réduit des itérations.
    Par contre, pour la valeur initiale, c'est plus difficile pour trouver celle qui convient.
    L'essentiel c'est que pratiquement, ça donne a chaque fois de bon résultat.
    Un grand Merci a
    GrisBleu
    , je t'en suis éternellement redevable.
    Amicalement, mohamed Amine

Discussions similaires

  1. Trouver une fonction basée sur plusieurs valeurs
    Par Mindiell dans le forum Mathématiques du supérieur
    Réponses: 25
    Dernier message: 28/07/2013, 23h00
  2. coefficient de frottement où trouver des valeurs
    Par invite0914d5b3 dans le forum Physique
    Réponses: 12
    Dernier message: 25/05/2012, 19h51
  3. [Biologie Cellulaire] Transport actif dans le sens du gradient
    Par invite1ff3d4cb dans le forum Biologie
    Réponses: 12
    Dernier message: 01/06/2010, 23h17
  4. trouver les valeurs d'un transistor
    Par jeronimox dans le forum Électronique
    Réponses: 0
    Dernier message: 01/04/2009, 13h44
  5. Trouver les valeurs réelles de x
    Par invite234d9cdb dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 22/01/2006, 14h25