La descente de gradient est utilisée principalement pour la régression linéaire pour des raisons de complexité: il est parfois plus économique en calcul (plus rapide) de trouver la solution en utilisant la descente de gradient dans certains cas.
β=(X′X)−1X′Y
X′XX′XK×K
Ainsi, la descente de gradient permet de gagner beaucoup de temps sur les calculs. De plus, sa façon de procéder permet une parallélisation triviale, c'est-à-dire une répartition des calculs sur plusieurs processeurs ou machines. La solution d'algèbre linéaire peut également être parallélisée, mais elle est plus compliquée et toujours coûteuse.
En outre, il existe des versions de descente de gradient lorsque vous ne conservez qu'une partie de vos données en mémoire, ce qui réduit les besoins en mémoire de l'ordinateur. Globalement, pour les très gros problèmes, il est plus efficace que la solution d’algèbre linéaire.
Cela devient d'autant plus important que la dimensionnalité augmente, lorsque vous avez des milliers de variables, comme dans l'apprentissage automatique.
Remarque . J'ai été surpris par toute l'attention portée à la descente de gradient dans les conférences de Ng. Il passe beaucoup de temps à en parler, peut-être 20% de tout le cours. Pour moi, c'est juste un détail d'implémentation, c'est comment vous trouvez exactement ce qu'il y a de mieux. L’essentiel est de formuler le problème d’optimisation et comment vous le trouvez exactement non essentiel. Je ne m'inquiéterais pas trop à ce sujet. Laissez le soin aux informaticiens et concentrez-vous sur ce qui est important pour vous en tant que statisticien.
Cela dit, je dois nuancer mon propos en affirmant qu’il est en effet important de comprendre la complexité de calcul et la stabilité numérique des algorithmes de résolution. Je ne pense toujours pas que vous deviez connaître les détails de l’implémentation et du code des algorithmes. Ce n'est pas la meilleure utilisation de votre temps en tant que statisticien.
Note 1 . J'ai écrit que vous devez inverser la matrice à des fins didactiques et ce n'est pas comme d'habitude que vous résolvez l'équation. En pratique, les problèmes d’algèbre linéaire sont résolus en utilisant une factorisation telle que QR, dans laquelle vous n’inversez pas directement la matrice, mais vous effectuez d’autres manipulations équivalentes sur le plan mathématique pour obtenir une réponse. Vous faites cela parce que l'inversion de matrice est une opération coûteuse et numériquement instable dans de nombreux cas.
Cela fait apparaître un autre petit avantage de l’algorithme de descente de gradient en tant qu’effet secondaire: il fonctionne même lorsque la matrice de conception présente des problèmes de colinéarité. Le chemin habituel de l'algèbre linéaire exploserait et la descente du gradient continuerait, même pour les prédicteurs colinéaires.