Dans les notes de cours de la semaine 3 du cours Coursera Machine Learning d' Andrew Ng , un terme est ajouté à la fonction de coût pour implémenter la régularisation:
Les notes de cours disent:
Nous pourrions également régulariser tous nos paramètres thêta en une seule sommation:
est appliqué plus tard au terme de régularisation des réseaux de neurones :
Rappelons que la fonction de coût pour la régression logistique régularisée était:
Pour les réseaux de neurones, ça va être un peu plus compliqué:
- Pourquoi la moitié constante est-elle utilisée ici? Pour qu'il s'annule dans la dérivée ?
- Pourquoi les exemples de formation division par ? Comment la quantité d'exemples de formation affecte-t-elle les choses?
regularization
Tom Hale
la source
la source
Réponses:
Supposons que vous ayez 10 exemples et que vous ne divisez pas un coût de régularisation L2 par le nombre d'exemples m . Ensuite, une "dominance" du coût de régularisation L2 par rapport à un coût d'entropie croisée sera comme 10: 1, car chaque exemple de formation peut contribuer au coût global proportionnellement à 1 / m = 1/10.
Si vous avez plus d'exemples, disons 100, alors la "dominance" du coût de régularisation L2 sera quelque chose comme 100: 1, vous devez donc diminuer un λ en conséquence, ce qui n'est pas pratique. Il vaut mieux avoir une constante λ quelle que soit la taille d'un lot.
Mise à jour: Pour renforcer cet argument, j'ai créé un cahier jupyter .
la source
la source
Je me demandais exactement la même chose en suivant ce cours, et j'ai fini par faire des recherches un peu. Je vais donner une réponse courte ici, mais vous pouvez lire un aperçu plus détaillé dans un article de blog que j'ai écrit à ce sujet .
Je crois qu'au moins une partie de la raison de ces coefficients de mise à l'échelle est que la régularisation L² est probablement entrée dans le domaine de l'apprentissage profond par l'introduction du concept connexe, mais pas identique, de la décroissance du poids.
Le facteur 0,5 est alors là pour obtenir un joli coefficient λ uniquement pour la décroissance du poids dans le gradient, et la mise à l'échelle par m ... eh bien, il y a au moins 5 motivations différentes que j'ai trouvées ou trouvées:
grez
démontre que cela améliore les performances dans la pratique.la source
J'étais également confus à ce sujet, mais dans une conférence pour deeplearning.ai Andrew suggère que ce n'est qu'une constante de mise à l'échelle:
http://www.youtube.com/watch?v=6g0t3Phly2M&t=2m50s
Il y a peut-être une raison plus profonde d'utiliser 1 / 2m, mais je soupçonne qu'il s'agit simplement d'un hyperparamètre.
la source