J'essaie de comprendre l'optimisation de la descente de gradient dans les algorithmes ML (machine learning). Je comprends qu'il ya une fonction où le coût l'objectif est de minimiser l'erreur y - y . Dans un scénario où les poids w 1 , w 2 sont optimisés pour donner l'erreur minimale et des dérivées partielles sont utilisées, cela change-t-il à la fois w 1 et w 2 à chaque étape ou s'agit-il d'une combinaison (par exemple, en quelques itérations seulement w 1 est modifié et lorsque w 1 ne réduit plus l'erreur, la dérivée commence par w 2)? L'application pourrait être un modèle de régression linéaire, un modèle de régression logistique ou des algorithmes de stimulation.
9
w1
, la diminution enw2
fonction de la direction de la dérivée partielle pour atteindre les minima locaux et juste pour confirmer que l'algorithme ne donnera pas nécessairement toujours les minima globaux?w1
et /w2
ou cela se fait par apprentissage du taux / du rétrécissement alors que la dérivée partielle fournit uniquement la direction de la descente?À chaque itération, l'algorithme changera tous les poids en même temps en fonction du vecteur de gradient. En fait, le gradient est un vecteur. La longueur du gradient est la même que le nombre de poids dans le modèle.
D'un autre côté, la modification d'un paramètre à la fois existait et il est appelé algorithme décent de coordonnées , qui est un type d' algorithme d'optimisation sans gradient . En pratique, il peut ne pas fonctionner aussi bien qu'un algorithme basé sur un gradient.
Voici une réponse intéressante sur l'algorithme sans gradient
Est-il possible de former un réseau neuronal sans rétropropagation?
la source
Le but de la descente de gradient est de minimiser la fonction de coût. Cette minimisation est obtenue en ajustant les poids, pour votre cas w1 et w2. En général, il pourrait y avoir n de tels poids.
La descente en pente se fait de la manière suivante:
tandis que la mise à jour des poids dont le poids (W1 ou W2) est modifié est entièrement décidée par gradient. Tous les poids sont mis à jour (certains poids peuvent ne pas changer en fonction du gradient).
la source
sklearn
) ou les packages R tels quecaret
? Il peut être spécifié par l'utilisateur uniquement dans une fonction de descente de gradient créée manuellement?Un gradient décent est appliqué à la fois
w1
etw2
pour chaque itération. A chaque itération, les paramètres sont mis à jour en fonction des gradients. Ils auraient probablement une dérivée partielle différente.Vérifiez ici .
la source