Régularisation: pourquoi multiplier par 1 / 2m?

10

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:

J+(θ)=J(θ)+λ2mj=1nθj2

Les notes de cours disent:

Nous pourrions également régulariser tous nos paramètres thêta en une seule sommation:

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

12m 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:

J(θ)=1mi=1m[y(i) log(hθ(x(i)))+(1y(i)) log(1hθ(x(i)))]+λ2mj=1nθj2

Pour les réseaux de neurones, ça va être un peu plus compliqué:

J(Θ)=1mi=1mk=1K[yk(i)log((hΘ(x(i)))k)+(1yk(i))log(1(hΘ(x(i)))k)]+λ2ml=1L1i=1slj=1sl+1(Θj,i(l))2
  • Pourquoi la moitié constante est-elle utilisée ici? Pour qu'il s'annule dans la dérivée ?J
  • Pourquoi les exemples de formation division par ? Comment la quantité d'exemples de formation affecte-t-elle les choses?m
Tom Hale
la source
êtes-vous sûr que le 1 / m est sur la régularisation et non sur le J (thêta) AFAIK @DikranMarsupial la réponse fait cette hypothèse ...... ou J (thêta) lui-même a-t-il un terme de 1 / m?
seanv507
Cette hypothèse est incorrecte - est appliqué à la fois à la fonction de coût non régularisé et au terme de régularisation. J'ai mis à jour la question pour donner les formules complètes. 12m
Tom Hale

Réponses:

5

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 .

grez
la source
1
Hmm, mais le but du facteur 1 / m avant la fonction de coût n'est-il pas que chaque exemple de formation contribue également au coût? Donc, comme nous faisons déjà la moyenne des coûts individuels, cela ne devrait pas être la cause de la dominance du terme L2. Cependant, je vois de votre grande simulation que le facteur 1 / m également avant le terme L2 aide. Je n'ai pas (encore) l'intuition derrière.
Milania
Pourquoi est-ce gênant ?? il est simple de diviser le coût L2 par le nombre d'échantillons. Je pense que vous l'avez peut-être mal formulé. Je pense que vous vouliez dire qu'il n'est pas pratique de faire évoluer manuellement le coût L2 à chaque fois, il est préférable de le diviser par le nombre d'échantillons dans le cadre de la formule pour le mettre à l'échelle automatiquement.
SpaceMonkey
6

J(θ)mλmJ(θ)mθ

Dikran Marsupial
la source
mmλmmnm
La fonction de perte dans la question est une moyenne sur tous les exemples (c'est-à-dire qu'elle est divisée par m), pas une somme, donc je ne vois pas vraiment comment cette réponse fonctionne.
Denziloe
@Denziloe, il s'applique également au terme de régularisation.
Dikran Marsupial
2

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:

  1. Un effet secondaire de la descente de gradient par lots: lorsqu'une seule itération de descente de gradient est formalisée à la place sur l'ensemble de la formation, ce qui entraîne l'algorithme parfois appelé descente de gradient par lots, le facteur d'échelle de 1 / m, introduit pour rendre la fonction de coût comparable sur différents jeux de données de taille, est automatiquement appliqué au terme de décroissance de poids.
  2. Redimensionner au poids d'un seul exemple: Voir l'intuition intéressante de grez.
  3. Représentativité de l'ensemble de formation: il est logique de réduire la régularisation à mesure que la taille de l'ensemble de formation augmente, car statistiquement, sa représentativité de la distribution globale augmente également. Fondamentalement, plus nous avons de données, moins la régularisation est nécessaire.
  4. Rendre λ comparable: en atténuant, espérons-le, le besoin de changer λ lorsque m change, cette mise à l'échelle rend λ lui-même comparable dans différents ensembles de données de taille. Cela fait de λ un estimateur plus représentatif du degré réel de régularisation requis par un modèle spécifique sur un problème d'apprentissage spécifique.
  5. Valeur empirique: le grand cahier de grezdémontre que cela améliore les performances dans la pratique.
ShayPal5
la source
0

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.

Keyan P
la source
Cela ne répond pas à la question.
Michael R. Chernick