pourquoi gradient de descente, où nous pouvons résoudre la régression linéaire analytiquement
quel est l'avantage de l'utilisation de la Descente de Gradient dans la régression linéaire de l'espace? ressemble à de la nous pouvons résoudre le problème (trouver theta0-n minimum le coût func) avec la méthode analytique, alors pourquoi nous voulons encore l'utilisation de descente de gradient pour faire la même chose? grâce
- C'est une grande question. Son très commun pour les professeurs d'aller directement dans la descente de gradient pour trouver la solution, qui est source de confusion lorsqu'un étudiant se souvient de la méthode des moindres carrés ordinaires solution ne nécessite pas un algorithme d'optimisation; la confusion qui pourrait rapidement être écartée en reconnaissant ce que @jabaldonedo a fourni ici.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez le normal équations pour la résolution de la fonction de coût analytiquement vous devez calculer:
Où X est votre matrice de saisie des observations et y votre vecteur de sortie. Le problème avec cette opération est la complexité du temps de calcul de l'inverse d'une matrice nxn qui est O(n^3) et que n augmente, cela peut prendre un temps très long à terminer.
Lorsque n est faible (n < 1000 ou n < 10000) vous pouvez penser à des équations normales comme la meilleure option pour le calcul de thêta, cependant, pour des valeurs supérieures, Descente de Gradient est beaucoup plus rapide, de sorte que la seule raison est le temps 🙂
Vous devez fournir plus de détails au sujet de votre problème - qu'est-ce exactement vous posez sur - parlons-nous de la régression linéaire dans une ou plusieurs dimensions? Simple ou généralisé?
En général, pourquoi les gens utilisent-ils la GD?
Ainsi que sur des solutions analytiques? Eh bien, nous ne utilisation, votre affirmation est tout simplement fausse ici (si nous parlons en général), par exemple le LO méthode est une forme fermée, la solution analytique, qui est largement utilisé. Si vous pouvez utiliser la solution analytique, il est abordable computationaly (comme parfois GD est tout simplement cheapier ou plus rapide), alors vous pouvez, et même devrait - il utiliser.
Neverlethles c'est toujours une question de quelques avantages et inconvénients - les solutions analytiques sont fortement liées à la le modèle, de sorte que leur mise en œuvre peut s'avérer inefficace si vous prévoyez de généraliser/modifier vos modèles à l'avenir. Ils sont parfois moins efficaces que leurs approximations numériques, et parfois il y a de plus difficile à mettre en œuvre. Si aucun des ci-dessus est vrai - vous devrait utilisation de la solution analytique, et les gens le faire, vraiment.
Pour résumer, vous utilisez plutôt GD plus de solution analytique si:
J'ai vu une très bonne réponse à partir de https://stats.stackexchange.com/questions/23128/solving-for-regression-parameters-in-closed-form-vs-gradient-descent
En gros, les raisons sont:
1.Pour la plupart des problèmes de régression non linéaire il n'y a pas de fermeture de la solution de la forme.
2.Même dans la régression linéaire (l'un des rares cas où une forme fermée solution est disponible), il peut être difficile d'utiliser la formule. L'exemple suivant montre une façon qui peut arriver.
Autre raison est que la descente de gradient est immédiatement utile lorsque vous généralisez de régression linéaire, surtout si le problème n'a pas de forme fermée solution, comme par exemple dans Lasso (qui ajoute un terme de régularisation composé de la somme des valeurs absolues de poids vecteur).