Pourquoi des poids plus petits donnent-ils des modèles de régularisation plus simples?

27

J'ai terminé le cours d'apprentissage automatique d'Andrew Ng il y a environ un an et j'écris maintenant mon exploration des mathématiques au lycée sur le fonctionnement de la régression logistique et des techniques pour optimiser les performances. Une de ces techniques est bien sûr la régularisation.

L'objectif de la régularisation est d'empêcher le sur-ajustement en étendant la fonction de coût pour inclure l'objectif de simplicité du modèle. Nous pouvons y parvenir en pénalisant la taille des poids en ajoutant à la fonction de coût chacun des poids au carré, multiplié par un paramètre de régularisation.

Désormais, l'algorithme d'apprentissage automatique visera à réduire la taille des poids tout en conservant la précision sur l'ensemble d'entraînement. L'idée est que nous atteindrons un point au milieu où nous pouvons produire un modèle qui généralise sur les données et n'essaye pas de s'adapter à tout le bruit stochastique en étant moins complexe.

Ma confusion est pourquoi nous pénalisons la taille des poids? Pourquoi des poids plus grands créent-ils des modèles plus complexes et des poids plus petits créent-ils des modèles plus simples / plus lisses? Andrew Ng affirme dans sa conférence que l'explication est difficile à enseigner, mais je suppose que je cherche cette explication maintenant.

Le professeur Ng a en effet donné un exemple de la façon dont la nouvelle fonction de coût peut amener les poids des caractéristiques (c'est-à-dire x ^ 3 et x ^ 4) à tendre vers zéro de sorte que le degré du modèle est réduit, mais cela ne crée pas un explication.

Mon intuition est que les poids plus petits auront tendance à être plus "acceptables" sur les entités avec de plus grands exposants que celles avec de plus petits exposants (parce que les entités avec de petits poids sont comme la base de la fonction). Des poids plus petits impliquent des "contributions" plus petites aux caractéristiques d'ordre élevé. Mais cette intuition n'est pas très concrète.

MCKapur
la source
2
cela ressemble à une question qui a besoin d'une réponse «pour que ma grand-mère le comprenne».
EngrStudent
2
@EngrStudent Parce que c'est exactement comme ça que je dois le présenter dans mon IA mathématique pour que mon professeur de mathématiques du secondaire et mes examinateurs de mathématiques du secondaire lisent.
MCKapur

Réponses:

4

Si vous utilisez la régularisation, vous réduisez non seulement l'erreur dans l'échantillon, mais aussi .OutOfSampleErrorInSampleError+ModelComplexityPenalty

Plus précisément, pour une hypothèse , où est un paramètre, généralement , est le nombre d'exemples dans votre jeu de données et est une pénalité qui dépend des poids , . C'est ce qu'on appelle l' erreur augmentée . Maintenant, vous ne pouvez minimiser la fonction ci-dessus que si les poids sont plutôt petits.Jaug(h(x),y,λ,Ω)=J(h(x),y)+λ2mΩhHλλ(0,1)mΩwΩ=wTw

Voici un code R pour jouer avec

w <- c(0.1,0.2,0.3)
out <- t(w) %*% w
print(out)

Ainsi, au lieu de pénaliser tout l'espace d'hypothèse , nous pénalisons chaque hypothèse individuellement. On se réfère parfois à l'hypothèse par son vecteur poids .Hhhw

Quant à savoir pourquoi les petits poids vont de pair avec une complexité du modèle faible, examinons l'hypothèse suivante: . Au total, nous avons obtenu trois paramètres de poids actifs . Maintenant, définissons sur une très très petite valeur, . Cela réduit la complexité du modèle à: . Au lieu de trois paramètres de poids actifs, nous n'en avons plus que deux.w 1 , , w 3 w 3 w 3 = 0h1(x)=x1×w1+x2×w2+x3×w3w1,,w3w3w3=0h1(x)=x1×w1+x2×w2

JimBoy
la source
1
Évidemment, si un poids est réduit à zéro, la complexité du modèle est réduite, car vous pouvez supprimer un terme et donc une opération de calcul. Mais cela n'aide pas à expliquer pourquoi la complexité du modèle est réduite lorsque la valeur du poids approche de zéro. Quelqu'un peut-il expliquer cela avec des mots et non des formules?
greg7gkb
6

Je ne sais pas si je sais vraiment de quoi je parle, mais je vais essayer. Ce n'est pas tellement d'avoir de petits poids qui empêche le sur-ajustement (je pense), c'est plus le fait que la régularisation réduit plus fortement l'espace du modèle. En fait, vous pouvez régulariser autour de 10000000 si vous le souhaitez en prenant la norme L2 de vos valeurs X moins un vecteur de 10000000. Cela réduirait également le surajustement (bien sûr, vous devriez également avoir une raison de le faire (c'est-à-dire que vos valeurs Y sont 10000000 fois plus grandes que la somme de vos valeurs X, mais personne ne le fait vraiment parce que vous pouvez simplement redimensionner les données).

Le biais et la variance sont tous deux fonction de la complexité du modèle. Ceci est lié à la théorie VC alors regardez-le. Plus l'espace des modèles possibles est grand (c'est-à-dire les valeurs que tous vos paramètres peuvent prendre en gros), plus le modèle est susceptible de s'adapter. Si votre modèle peut tout faire, qu'il s'agisse d'une ligne droite ou d'un mouvement dans toutes les directions, comme une onde sinusoïdale qui peut également monter et descendre, il est beaucoup plus probable qu'il détecte et modélise des perturbations aléatoires dans vos données qui ne résultent pas de la signal sous-jacent, mais le résultat d'une chance chanceuse dans cet ensemble de données (c'est pourquoi obtenir plus de données aide à sur-adapter mais pas à sous-adapter).

Lorsque vous régularisez, vous réduisez essentiellement l'espace objet. Cela ne signifie pas nécessairement que les fonctions plus lisses / plus plates ont un biais plus élevé et moins de variance. Pensez à un modèle linéaire qui est recouvert d'une onde sinusoïdale qui est limitée à avoir une très petite oscillations d'amplitude qui ne fait essentiellement rien (c'est fondamentalement une ligne floue). Cette fonction est super ondulante dans un sens, mais ne convient que légèrement plus qu'une régression linéaire. La raison pour laquelle les fonctions plus lisses / plus plates ont tendance à avoir un biais plus élevé et moins de variance est parce que nous, en tant que scientifique des données, supposons que si nous avons un espace d'échantillonnage réduit, nous préférerions de beaucoup, par le rasoir d'Occam, les modèles plus lisses et plus simples et jeter les modèles. qui sont ondulés et oscillent partout. Il est logique de jeter d'abord les modèles ondulés,

La régularisation, comme la régression des crêtes, réduit l'espace du modèle, car il est plus coûteux d'être plus éloigné de zéro (ou de n'importe quel nombre). Ainsi, lorsque le modèle est confronté à un choix de prendre en compte une petite perturbation dans vos données, il sera plus susceptible de se tromper du côté de non, car cela augmentera (généralement) la valeur de votre paramètre. Si cette perturbation est due au hasard (c.-à-d. Que l'une de vos variables x avait juste une légère corrélation aléatoire avec vos variables y), le modèle n'en tiendra pas compte par rapport à une régression non régularisée car la régression non régularisée n'a aucun coût associé à augmentation des tailles bêta. Cependant, si cette perturbation est due à un signal réel, votre régression régularisée la manquera plus probablement, c'est pourquoi elle a un biais plus élevé (et pourquoi il y a un compromis de biais de variance).

www3
la source
Merci pour votre réponse réfléchie! Alors oui, dans le quatrième paragraphe, vous dites "Ainsi, lorsque le modèle est confronté à un choix de prendre en compte une petite perturbation dans vos données, il est plus probable qu'il se trompe du côté de non, car cela augmentera (généralement) votre paramètre valeur.". C'est ce que je demande en particulier pourquoi c'est le cas? Merci!
MCKapur
En ajoutant un facteur de pénalité, vous réduisez la probabilité que le modèle ait des bêtas plus élevés, donc votre espace modèle est plus petit. L'autre chose à retenir est que si votre modèle est tout bruit, il aura probablement une pente nulle car il n'y a pas de corrélation (c'était une chose à laquelle je n'ai pas pensé lorsque je faisais mon argument ondulé / plat mais je pense que l'argument est toujours Généralement vrai). Ainsi, s'il existe une relation / perterbation, elle est susceptible d'augmenter la bêta. Ainsi, la régularisation pénalise ce fait et empêche la régression d'ajuster ces perturbations, qu'elles soient de signal ou de bruit.
www3
@ ww3 je comprends. Mais pourquoi des bêtas plus grands entraînent-ils un espace modèle plus élevé?
MCKapur
Je ne sais pas si vous en avez besoin mais j'ai pensé que je répondrais. Ce ne sont pas les gros bêtas qui importent. Par exemple, vous pouvez effectuer une régression avec Y ou 1000 * Y chacun aura la même complexité mais les bêtas seront 1000 plus élevés dans le second cas. La régularisation typique rend plus difficile l'obtention de certaines combinaisons bêta, comme avoir un coefficient égal à 1000 et un autre -1000, et d'autres plus plates / plus simples comme tous les 0. Cela signifie que si votre modèle présente certaines bizarreries bruyantes à partir des données, le modèle régularisé est moins susceptible de les détecter.
www3
Pour continuer, le modèle n'ignorera pas toutes les bizarreries bruyantes, il ignorera uniquement les bizarreries qui augmentent les valeurs absolues des bêtas. Cela signifie que les bizarreries qui réduisent les valeurs des bêtas seront plus accentuées. C'est bien parce qu'il y a beaucoup plus de lignes ondulées que vous pouvez dessiner que de lignes droites (c'est-à-dire comparer une équation quadratique à une équation linéaire ou constante). Ainsi, s'il y a des bizarreries bruyantes qui affectent les données, elles sont beaucoup plus susceptibles de faire en sorte qu'un modèle s'adapte à un modèle plus ondulé (et donc plus complexe) qu'un modèle plus plat / plus droit.
www3
3

Histoire:
Ma grand-mère marche, mais ne grimpe pas. Certaines mamies le font. Une grand-mère était célèbre pour avoir escaladé le Kilimandjaro .

Ce volcan dormant est grand. Il est à 16 000 pieds au-dessus de sa base. (Ne détestez pas mes unités impériales.) Il y a aussi parfois des glaciers au sommet.

Si vous montez une année où il n'y a pas de glacier et que vous arrivez au sommet, est-ce le même sommet que s'il y avait un glacier? L'altitude est différente. Le chemin que vous devez emprunter est différent. Et si vous montez au sommet lorsque l'épaisseur du glacier est plus grande? Cela en fait-il davantage un accomplissement? Environ 35 000 personnes tentent de l'escalader chaque année, mais seulement 16 000 y parviennent.

Application:
Je voudrais donc expliquer le contrôle des poids (alias minimiser la complexité du modèle) à ma grand-mère, comme suit:

Grand-mère, votre cerveau est un penseur incroyable, que vous le sachiez ou non. Si je vous demande combien des 16 000 personnes qui pensent avoir atteint le sommet l'ont fait, vous diriez «toutes».

Si je mettais des capteurs dans la peau de tous les 30 000 grimpeurs et mesurais la hauteur au-dessus du niveau de la mer, alors certaines de ces personnes n'étaient pas aussi hautes que d'autres et pourraient ne pas être qualifiées. Quand je fais cela, je vais sur un modèle constant - je dis que si la hauteur n'est pas égale à un centile des hauteurs maximales mesurées, ce n'est pas le sommet. Certaines personnes sautent au sommet. Certaines personnes franchissent la ligne et s'assoient.

Je pourrais ajouter la latitude et la longitude au capteur, et ajuster des équations d'ordre supérieur et peut-être pourrais-je obtenir un meilleur ajustement, et avoir plus de gens dedans, peut-être même exactement 45% du total des gens qui essaient.

Alors disons que l'année prochaine est une année "grand glacier" ou "pas de glacier" car un volcan transforme vraiment l' albédo de la terre. Si je prends mon modèle complexe et exigeant de cette année et que je l'applique aux gens qui grimpent l'année prochaine, le modèle va avoir des résultats étranges. Peut-être que tout le monde "passera" ou même sera trop haut pour passer. Peut-être que personne ne passera du tout, et il pensera que personne n'a réellement terminé la montée. Surtout lorsque le modèle est complexe, il aura tendance à ne pas se généraliser correctement. Il peut correspondre exactement aux données de «formation» de cette année, mais lorsque de nouvelles données arrivent, elles se comportent mal.

Discussion:
Lorsque vous limitez la complexité du modèle, vous pouvez généralement avoir une meilleure généralisation sans sur-ajustement. L'utilisation de modèles plus simples, plus construits pour s'adapter aux variations du monde réel, tend à donner de meilleurs résultats, toutes choses étant égales par ailleurs.

Vous avez maintenant une topologie de réseau fixe, vous dites donc "mon nombre de paramètres est fixe" - je ne peux pas avoir de variation dans la complexité du modèle. Absurdité. Mesurez l'entropie dans les poids. Lorsque l'entropie est plus élevée, cela signifie que certains coefficients sont beaucoup plus «informatifs» que d'autres. Si vous avez une entropie très faible, cela signifie qu'en général, les coefficients portent des niveaux similaires d '"informativité". L'informativité n'est pas nécessairement une bonne chose. Dans une démocratie, vous voulez que tous les gens soient égaux, et des choses comme George Orwell «plus égales que les autres» sont une mesure des défaillances du système. Si vous n'avez pas une bonne raison à cela, vous voulez que les poids soient assez similaires les uns aux autres.

Sur une note personnelle: au lieu d'utiliser le vaudou ou l'heuristique, je préfère des choses comme les "critères d'information" car ils me permettent d'obtenir des résultats fiables et cohérents. AIC , AICc et BIC sont des points de départ communs et utiles. La répétition de l'analyse pour déterminer la stabilité de la solution ou la gamme des résultats des critères d'information est une approche courante. On pourrait envisager de mettre un plafond sur l'entropie dans les poids.

EngrStudent - Réintégrer Monica
la source
2
Intéressant différent. Coin du pédant: vous avez écrit "Orson Wells". l'orthographe est Welles. Je suppose que vous avez toujours voulu parler de George Orwell ( Animal Farm ).
Nick Cox
@NickCox - J'ai été très malade. Mon cerveau ne fonctionne pas aussi bien que je le souhaitais. Ou bien ça l'était.
EngrStudent
Je veux comprendre pourquoi la complexité du modèle peut varier avec un nombre fixe de paramètres (l'idée de votre avant-dernier paragraphe), et je n'ai pas de chance à googler "entropie de paramètres" ou "entropie de paramètres ols". Avez-vous utilisé le concept d'entropie parce qu'il convient parfaitement ou s'agit-il du nom réel et largement connu d'une propriété de paramètres de modèle? Merci d'avance.
Alvaro Fuentes
1
@AlvaroFuentes - L'entropie, en ce sens, vient de la théorie de l'information. Voici l'article wikipedia. Considérez les poids comme une liste, et vous pouvez calculer l'entropie du système de tous les poids, en utilisant une méthode du noyau pour approximer la densité de probabilité. Vous pouvez examiner l'entropie moyenne par neurone pour comparer les neurones à une échelle plus élevée.
EngrStudent
0

Une simple intuition est la suivante. N'oubliez pas que pour la régularisation, les fonctionnalités doivent être standardisées afin d'avoir env. la même échelle.

Disons que la fonction de minimisation n'est que la somme des erreurs quadratiques:

SSE

L'ajout de fonctionnalités réduira probablement cette , surtout si la fonctionnalité est sélectionnée dans un pool bruyant. Cette fonctionnalité réduit par hasard le , ce qui conduit à un sur-ajustement.S S ESSESSE

Considérons maintenant la régularisation, LASSO dans ce cas. Les fonctions à minimiser sont alors

SSE+λΣ|β|

L'ajout d'une fonctionnalité supplémentaire entraîne désormais une pénalité supplémentaire: la somme des coefficients absolus augmente! La réduction de l'ESS devrait l'emporter sur la pénalité supplémentaire ajoutée. Il n'est plus possible d'ajouter des fonctionnalités supplémentaires sans frais.

La combinaison de la standardisation des fonctionnalités et de la pénalisation de la somme des coefficients absolus restreint l'espace de recherche, ce qui réduit le sur-ajustement.

Maintenant LASSO:

SSE+λΣ|β|

tend à mettre les coefficients à zéro, tandis que la régression de crête:

SSE+λΣβ2

tend à rétrécir les coefficients proportionnellement. Cela peut être considéré comme un effet secondaire du type de fonction pénalisante. L'image ci-dessous aide à cela:

entrez la description de l'image ici

La fonction de pénalisation de régularisation donne en pratique un «budget» pour les paramètres, comme illustré ci-dessus par la zone cyan.

Voyez qu'à gauche, LASSO, la fonction est susceptible de frapper l'espace sur un axe; mettre l'un des coefficients à zéro, et en fonction du budget réduire l'autre. A droite, la fonction peut frapper les axes, répartissant plus ou moins le budget sur les paramètres: conduisant à un rétrécissement des deux paramètres.SSE

Photo prise à partir de https://onlinecourses.science.psu.edu/stat857/node/158

En résumé: la régularisation pénalise l'ajout de paramètres supplémentaires et, selon le type de régularisation, réduira tous les coefficients (crête) ou mettra un certain nombre de coefficients à 0 tout en conservant les autres coefficients dans la mesure où le budget le permet (lasso)

spdrnl
la source
1
Vous expliquez simplement la différence entre le lasso et la régression de crête, mais la question est de savoir pourquoi la régularisation entraîne une complexité moindre.
Sobi
Veuillez lire cette section: "L'ajout d'une fonctionnalité supplémentaire entraîne désormais une pénalité supplémentaire: la somme des coefficients absolus augmente! La réduction de SSE devrait l'emporter sur la pénalité supplémentaire ajoutée. Il n'est plus possible d'ajouter des fonctionnalités supplémentaires sans frais."
spdrnl
Cette explication ne fonctionne que pour le régularisateur et il doit y avoir plus que de la rareté. Par exemple, pour lequel toutes les valeurs des paramètres dans le modèle appris ne sont pas nulles. Mais contrôle toujours la complexité du modèle dans ce régime également. Comment expliquez-vous cela? De même, pour la régularisation . λ λ L 2L1λλL2
Sobi
L'essentiel est que le type de pénalité pour l'ajout de paramètres va affecter les paramètres de différentes manières. En pratique, vous obtenez un modèle avec des paramètres qui correspondent aux données d'entraînement moins précis: c'était en quelque sorte l'objectif.
spdrnl
0

En ajoutant du bruit guassien à l'entrée, le modèle d'apprentissage se comportera comme un régularisateur de pénalité L2.

Pour voir pourquoi, envisagez une régression linéaire où du bruit iid est ajouté aux entités. La perte sera désormais fonction des erreurs + contribution de la norme des poids.

voir dérivation: https://www.youtube.com/watch?v=qw4vtBYhLp0

Hanan Shteingart
la source
0

Je me souviens que dans une classe universitaire, mon professeur a dit que pénaliser de grands paramètres peut réduire le sur-ajustement, car cela empêche le modèle de mettre trop de poids sur des caractéristiques spécifiques des données, ce qui provoque un sur-ajustement, car le modèle se souvient simplement de certaines caractéristiques spécifiques des données et les relie à l'étiquette au lieu d'essayer d'apprendre les règles générales.

rongzzz
la source