Augmentation de gradient pour la régression linéaire - pourquoi cela ne fonctionne-t-il pas?


35

Lors de l'apprentissage de Gradient Boosting, je n'ai jamais entendu parler de contraintes concernant les propriétés d'un "classificateur faible" que la méthode utilise pour construire et modéliser un modèle. Cependant, je ne pouvais pas imaginer une application de Go utilisant une régression linéaire, et en fait, après avoir effectué certains tests, cela ne fonctionne pas. Je testais l'approche la plus standard avec un gradient de somme des résidus au carré et en additionnant les modèles ultérieurs.

Le problème évident est que les résidus du premier modèle sont remplis de manière à ce qu'il n'y ait plus de ligne de régression à ajuster. Mon autre observation est qu’une somme de modèles de régression linéaire ultérieurs peut également être représentée sous la forme d’un modèle de régression unique (en ajoutant tous les interceptions et les coefficients correspondants). Je ne peux donc pas imaginer comment cela pourrait améliorer le modèle. La dernière observation est qu'une régression linéaire (l'approche la plus typique) utilise la somme des résidus au carré en tant que fonction de perte - la même que celle utilisée par GB.

J'ai également envisagé de réduire le taux d'apprentissage ou de n'utiliser qu'un sous-ensemble de prédicteurs pour chaque itération, mais cela pourrait toujours se résumer à une représentation modèle unique, donc je suppose que cela n'apporterait aucune amélioration.

Qu'est-ce que j'oublie ici? La régression linéaire est-elle en quelque sorte inappropriée avec Gradient Boosting? Est-ce parce que la régression linéaire utilise la somme des résidus au carré comme fonction de perte? Existe-t-il des contraintes particulières sur les prédicteurs faibles afin qu’ils puissent être appliqués au renforcement du gradient?


Intuitivement, j'ai tendance à penser que vous ne devriez pas utiliser de classificateurs car leur somme correspond au même type de classificateur. par exemple, la somme des fonctions linéaires est une fonction linéaire.
user18764

Je sais que cela est ancien, mais ma compréhension est que l'étape d'accélération minimise la fonction de perte entre les résidus actuels et l'apprenant de base (qui dans votre cas est une régression linéaire) multipliée par le taux d'apprentissage. Ainsi, alors que l'apprenant de base minimise mse, la fonction de perte utilisée par le rappel pourrait être identique à MAPE?
David Waterworth

Réponses:


35

Qu'est-ce que j'oublie ici?

Je ne pense pas que vous manque vraiment quelque chose!

Une autre observation est qu'une somme de modèles de régression linéaire ultérieurs peut également être représentée sous la forme d'un modèle de régression unique (en ajoutant tous les interceptions et les coefficients correspondants). Je ne peux donc pas imaginer comment cela pourrait améliorer le modèle. La dernière observation est qu'une régression linéaire (l'approche la plus typique) utilise la somme des résidus au carré en tant que fonction de perte - la même que celle utilisée par GB.

Il me semble que vous en êtes arrivé là et que vous avez donné un bref aperçu de la preuve que la régression linéaire ne fait que battre les régressions linéaires supérieures dans ce contexte.

Pour être pédant, les deux méthodes tentent de résoudre le problème d'optimisation suivant

β^=argminβ(yXβ)t(yXβ)

La régression linéaire observe simplement que vous pouvez le résoudre directement, en trouvant la solution à l'équation linéaire

XtXβ=Xty

β

Le boosting, que votre classificateur faible soit une régression à une ou plusieurs variables, vous donne une séquence de vecteurs de coefficients β1,β2,

Xβ1+Xβ2++Xβn=X(β1+β2++βn)

Chacune de ces étapes est choisie pour réduire davantage la somme des erreurs au carré. Mais nous aurions pu trouver la somme minimale possible d'erreurs au carré dans cette forme fonctionnelle en effectuant simplement une régression linéaire complète.

Une possible défense de relance dans cette situation pourrait être la régularisation implicite qu'elle fournit. Peut-être (je n'ai pas joué à cela), vous pouvez utiliser la fonctionnalité d'arrêt précoce d'un booster de gradient, avec une validation croisée, pour vous arrêter avant la régression linéaire complète. Cela fournirait une régularisation à votre régression, et éventuellement une aide à la suralimentation. Ceci n’est pas particulièrement pratique, car on dispose d’options très efficaces et bien comprises comme la régression de crête et le filet élastique dans ce cadre.

Le boosting brille quand il n’ya pas de forme fonctionnelle laconique autour. En renforçant les arbres de décision, la forme fonctionnelle du régresseur / classificateur évolue lentement pour s’ajuster aux données, ce qui aboutit souvent à des formes complexes que l’on n’aurait pas pu imaginer à la main. Quand une forme fonctionnelle simple est désirée, le renforcement ne va pas vous aider à la trouver (ou du moins, c'est probablement un moyen plutôt inefficace de la trouver).


2
β

C'est une très bonne et claire réponse. Merci pour la confirmation / explication Matthew!
Matek

"Le boosting brille quand il n'y a pas de forme fonctionnelle laconique autour." C'est la réponse que je cherche. Donc, je veux juste confirmer, voulez - vous dire ma réponse question est oui, mais pas un seul usage apprenant linéaire modèle en tant que base ?, stats.stackexchange.com/questions/231286/...
Haitao Du

5

La matrice de projection des moindres carrés est donnée par

X(XTX)1XT

y^

y^=X(XTX)1XTy

Supposons que vous tenez une régression et que vous calculiez ensuite vos résidus

e=yy^=yX(XTX)1XTy

y^2

y^2=X(XTX)1XTe=X(XTX)1XT(yX(XTX)1XTy)=X(XTX)1XTyX(XTX)1XTX(XTX)1XTy=X(XTX)1XTyX(XTX)1XTy=0

A reason for this is that by construction the residual vector e from the initial regression is orthogonal to the X Space i. e. y^ is a orthogonal projection from y onto the X space (you'll find nice pictures visualizing this in the literature).

This means the simple approach of fitting a regression and then fitting a new regression on the residuals from the first regression will not result in anything senseful because X is entirely uncorrelated with e.

I write this because you said there is not really a new line to fit which corresponds to the derivations above.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.