Qu'est-ce que la régularisation en anglais simplifié?

74

Contrairement à d'autres articles, j'ai trouvé l' entrée de Wikipédia sur ce sujet illisible pour une personne non mathématique (comme moi).

J'ai compris l'idée de base, à savoir que vous favorisiez les modèles avec moins de règles. Ce que je ne comprends pas, c'est comment passer d'un ensemble de règles à un «score de régularisation» que vous pouvez utiliser pour trier les modèles du moins au plus overfit.

Pouvez-vous décrire une méthode de régularisation simple?

Je m'intéresse au contexte de l'analyse des systèmes de trading statistiques. Ce serait formidable si vous pouviez décrire si / comment je peux appliquer une régularisation pour analyser les deux modèles prédictifs suivants:

Modèle 1 - prix en hausse quand:

  • exp_moving_avg (prix, période = 50)> exp_moving_avg (prix, période = 200)

Modèle 2 - prix en hausse quand:

  • price [n] <price [n-1] 10 fois de suite
  • exp_moving_avg (prix, période = 200) en hausse

Mais je suis plus intéressé à comprendre comment vous réglez. Donc, si vous connaissez de meilleurs modèles pour l'expliquer, faites-le.

Meh
la source
7
Un exemple est la régression de crête, qui est OLS avec une borne sur la somme des coefficients au carré. Cela introduira un biais dans le modèle, mais réduira la variance des coefficients, parfois de manière substantielle. LASSO est une autre méthode associée, mais impose une contrainte L1 sur la taille des coefficients. Il a l'avantage de laisser tomber les coefficients. Ceci est utile dans certaines situations. Régulariser signifie en quelque sorte "rétrécir" le modèle pour éviter les surajustements (et réduire la variance des coefficients), ce qui améliore généralement les performances prédictives du modèle.
HairyBeast
2
@HairyBeast Vous devriez mettre votre gentil commentaire comme réponse. Si possible, essayez d’ajouter un exemple illustratif afin que le PO puisse comprendre comment il se traduit par le problème à résoudre.
chl
1
@HairyBeast, puis-je dire que la régularisation est simplement une méthode pour mettre en œuvre l'idée du compromis biais-variance ?
avocat
J'ai trouvé cette vidéo très utile, notamment pour visualiser les différentes formes de régularisation de Lp: youtube.com/watch?v=sO4ZirJh9ds
Anm
La régularisation sert à remédier à la sur-adaptation dans le modèle appris. Essayé d'expliquer en anglais clair et visuellement. Vous trouverez ci
dessous

Réponses:

57

En termes simples, la régularisation consiste à ajuster ou à sélectionner le niveau préféré de complexité du modèle afin que vos modèles puissent mieux prédire (généraliser). Si vous ne le faites pas, vos modèles seront peut-être trop complexes et sur-ajustés ou trop simples et sous-ajustés, ce qui donnera de mauvaises prévisions.

Si vos moindres carrés correspondent à un modèle complexe à un petit ensemble de données d’entraînement que vous sur-adapterez probablement, c’est la situation la plus courante. La complexité optimale du modèle dépend du type de processus que vous modélisez et de la qualité des données. Il n’existe donc pas de complexité a priori correcte du modèle.

Pour régulariser vous avez besoin de 2 choses:

  1. Une façon de tester la qualité de vos modèles en matière de prédiction, par exemple à l'aide de la validation croisée ou d'un ensemble de données de validation (vous ne pouvez pas utiliser l' erreur d'ajustement pour cela).
  2. Un paramètre de réglage qui vous permet de modifier la complexité ou le lissage du modèle, ou une sélection de modèles de complexité / lissage différente.
Fondamentalement, vous ajustez le paramètre de complexité (ou modifiez le modèle) et recherchez la valeur qui donne les meilleures prédictions de modèle.

Notez que l'erreur de régularisation optimisée ne constituera pas une estimation précise de l'erreur de prédiction globale. Après la régularisation, vous devrez donc utiliser un jeu de données de validation supplémentaire ou effectuer une analyse statistique supplémentaire pour obtenir une erreur de prédiction non biaisée.

Une alternative à l'utilisation de tests de validation (croisée) consiste à utiliser des méthodes Bayesian Priors ou d'autres méthodes pour pénaliser la complexité ou le manque de fluidité, mais elles requièrent une sophistication statistique accrue et une meilleure connaissance du problème et des caractéristiques du modèle.

Toby Kelsey
la source
2
+1 de moi. J'aime que cette réponse commence au début et soit si facile à comprendre ...
Andrew
2
La régularisation est-elle vraiment utilisée pour réduire le sous-ameublement? D'après mon expérience, la régularisation est appliquée à un modèle complexe / sensible pour réduire la complexité / sensibilité, mais jamais à un modèle simple / insensible pour augmenter la complexité / sensibilité.
Richard Hardy
Cette réponse est maintenant assez ancienne, mais je suppose que ce à quoi Toby faisait référence, c'est que la régularisation est une manière fondée sur des principes permettant d'adapter un modèle de complexité appropriée, compte tenu de la quantité de données. c'est une alternative à la fois pour sélectionner à priori un modèle avec trop peu de paramètres (ou les mauvais), mais aussi pour sélectionner un modèle trop complexe et trop surprenant.
Bryan Krause
26

Supposons que vous réalisiez un apprentissage via une minimisation empirique du risque.

Plus précisément:

  • L(valeur actuelle, valeur prédite)
  • vous souhaitez adapter votre modèle de telle sorte que ses prévisions minimisent la fonction de perte moyenne, calculée uniquement sur les données d'apprentissage (les seules données dont vous disposez)

Modèle=argminΣL(réel,prédit(Modèle))

Mais si vous ne disposez pas de suffisamment de données et que votre modèle contient une grande quantité de variables, il est très probable que vous trouviez un modèle qui explique non seulement les modèles, mais également le bruit aléatoire dans vos données. Cet effet est appelé surapprentissage et conduit à une dégradation de la capacité de généralisation de votre modèle.

Modèle=argminΣL(réel,prédit(Modèle))+λR(Modèle)

R(Modèle)RRR

Rune¯

bijey
la source
12

En termes simples, la régularisation consiste à bénéficier des solutions que vous espériez obtenir. Comme vous le mentionnez, par exemple, vous pouvez bénéficier de solutions "simples", pour certaines définitions de la simplicité. Si votre problème a des règles, une définition peut être moins de règles. Mais cela dépend du problème.

Vous posez la bonne question, cependant. Par exemple, dans les machines à vecteurs de support, cette "simplicité" découle de la rupture des liens dans le sens de "marge maximale". Cette marge est quelque chose qui peut être clairement défini en termes de problème. Il existe une très bonne dérivation géométrique dans l' article de SVM dans Wikipedia . Il se trouve que le terme de régularisation est, du moins sans doute, la "sauce secrète" des SVM.

Comment faites-vous la régularisation? En général, cela vient avec la méthode que vous utilisez, si vous utilisez des SVM, vous réglez la L2, si vous utilisez LASSO, vous réglez la L1 (voyez ce que dit la bête velue). Toutefois, si vous développez votre propre méthode, vous devez savoir comment distinguer les solutions souhaitables des solutions non souhaitables et disposer d'une fonction qui le quantifie. Au final, vous aurez un terme de coût et un terme de régularisation, et vous souhaitez optimiser la somme des deux.

Carlos
la source
1

Les techniques de régularisation sont des techniques appliquées aux modèles d’apprentissage automatique qui lissent la limite de décision / le modèle ajusté. Ces techniques aident à prévenir la suralimentation.

C

Martin Thoma
la source
0

En termes simples, la régularisation est une technique permettant d’éviter les sur-ajustements lors de la formation d’algorithmes d’apprentissage automatique. Si vous avez un algorithme avec suffisamment de paramètres libres, vous pouvez interpoler votre échantillon de manière très détaillée, mais les exemples hors échantillon risquent de ne pas suivre cette interpolation de détail car ils capturent uniquement du bruit ou des irrégularités aléatoires dans l'échantillon au lieu de la tendance réelle.

Le sur-ajustement est évité en limitant la valeur absolue des paramètres dans le modèle. Pour ce faire, vous pouvez ajouter un terme à la fonction de coût qui impose une pénalité en fonction de la magnitude des paramètres du modèle. Si la magnitude est mesurée dans la norme L1, elle est appelée "régularisation de L1" (et donne généralement lieu à des modèles clairsemés). Si elle est mesurée dans la norme L2, elle est appelée "régularisation de L2", etc.

sandip44
la source