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.
Réponses:
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:
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.
la source
Supposons que vous réalisiez un apprentissage via une minimisation empirique du risque.
Plus précisément:
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.
la source
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.
la source
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.
la source
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.
la source