Dérivation de la fonction de coût de régression linéaire régularisée par cours d'apprentissage automatique Coursera

12

J'ai suivi le cours "Machine Learning" d'Andrew Ng via Coursera il y a quelques mois, sans prêter attention à la plupart des mathématiques / dérivations et plutôt me concentrer sur la mise en œuvre et l'aspect pratique. Depuis lors, j'ai recommencé à étudier certaines des théories sous-jacentes et j'ai revu certaines des conférences du professeur Ng. Je lisais sa conférence sur la "régression linéaire régularisée" et j'ai vu qu'il donnait la fonction de coût suivante:

J(θ)=12m[i=1m(hθ(x(i))y(i))2+λj=1nθj2]

Ensuite, il donne le gradient suivant pour cette fonction de coût:

θjJ(θ)=1m[i=1m(hθ(x(i))y(i))xj(i)λθj]

Je suis un peu confus quant à la façon dont il passe de l'un à l'autre. Quand j'ai essayé de faire ma propre dérivation, j'ai eu le résultat suivant:

θjJ(θ)=1m[i=1m(hθ(x(i))+y(i))xj(i)+λθj]

La différence est le signe «plus» entre la fonction de coût d'origine et le paramètre de régularisation dans la formule du professeur Ng se transformant en signe «moins» dans sa fonction de gradient, alors que cela ne se produit pas dans mon résultat.

Intuitivement, je comprends pourquoi il est négatif: nous réduisons le paramètre thêta par le chiffre du gradient, et nous voulons que le paramètre de régularisation réduise la quantité que nous modifions pour éviter le sur-ajustement. Je suis juste un peu coincé sur le calcul qui soutient cette intuition.

Pour info, vous pouvez trouver le deck ici , sur les diapositives 15 et 16.

Wellington
la source
1
Dans votre résultat, vous avez un " + " précédant le y ^ (i) - est-ce une faute de frappe?
Steve S

Réponses:

12

J(θ)=12m[i=1m(hθ(x(i))y(i))2+λj=1nθj2]

Maintenant

θj(hθ(x(i))y(i))2=2[(hθ(x(i))y(i))θj{hθ(x(i))}]

Notez que dans un modèle linéaire (discuté dans les pages que vous mentionnez),θj(hθ(x(i))=[x(i)]j

θjλj=1nθ2=2λθj

Donc, pour le cas linéaire

θjJ(θ)=1m[i=1m(hθ(x(i))y(i))xj(i)+λθj]

On dirait que vous et Andrew pourriez avoir des fautes de frappe. Eh bien, au moins deux d'entre nous semblent le faire.

Glen_b -Reinstate Monica
la source
c'est confirmé, juste une faute de frappe sur la note d'Andrew, ce devrait être un signe +. Et Prof explique correctement tout correctement, y compris l'intuition θ (1-α (λ / m)), ce qui signifie à chaque fois que ce rétrécissement θ diminue la partie habituelle avant l'introduction de la régularisation.
Gob00st
4

En fait, si vous vérifiez les notes de cours juste après la vidéo, la formule s'affiche correctement. Les diapositives que vous avez alignées ici montrent la diapositive exacte de la vidéo.

entrez la description de l'image ici

Piyush
la source
coursera.org/learn/machine-learning/supplement/pKAsc/… voici son lien vers les notes juste après la vidéo montrant la bonne formule.
Gob00st
1

En fait, je pense que ce n'est qu'une faute de frappe.

Sur la diapositive # 16, il écrit la dérivée de la fonction de coût (avec le terme de régularisation) par rapport à thêta, mais c'est dans le contexte de l' algorithme de descente de gradient . Par conséquent, il multiplie également cette dérivée par . Remarque: sur la deuxième ligne (de la diapositive 16), il a (comme vous l'avez écrit), multiplié par . Cependant, à la troisième ligne, le terme multiplié est toujours négatif même si - si la deuxième ligne était correcte - les signes négatifs se seraient annulés.- λ θ - ααλθα

Ça a du sens?

Steve S
la source