Wat is regularisatie in gewoon Engels?

In tegenstelling tot andere artikelen vond ik het wikipedia -item voor dit onderwerp onleesbaar voor een niet -math person (zoals ik).

Ik begreep het basisidee, dat je de voorkeur geeft aan modellen met minder regels. Wat ik niet begrijp, is hoe je van een set regels naar een “regularisatiescore” komt die je kunt gebruiken om de modellen te sorteren van minst naar meest overfit.

Kun je een eenvoudige regularisatiemethode beschrijven? ?

Ik ben geïnteresseerd in de context van het analyseren van statistische handelssystemen. Het zou geweldig zijn als je zou kunnen beschrijven of / hoe ik regularisatie kan toepassen om de volgende twee voorspellende modellen te analyseren:

Model 1 – prijs stijgt wanneer:

  • exp_moving_avg ( price, period = 50)> exp_moving_avg (price, period = 200)

Model 2 – prijs stijgt wanneer:

  • prijs [n] < price [n-1] 10 keer op rij
  • exp_moving_avg (price, period = 200) stijgend

Maar Ik “ben meer geïnteresseerd in het krijgen van een idee van hoe je regularisatie doet. Dus als je betere modellen kent om het uit te leggen, doe dat dan.

Opmerkingen

  • Een voorbeeld is nokregressie, wat OLS is met een grens aan de som van de gekwadrateerde coëfficiënten. Dit introduceert bias in het model, maar vermindert de variantie van de coëfficiënten, soms aanzienlijk. LASSO is een andere verwante methode, maar zet een L1 beperking van de grootte van de coëfficiënten. Dit heeft het voordeel dat coëfficiënten dalen. Dit is handig voor p > n situaties Regulariseren betekent in zekere zin ” verkleinen ” het model om over-aanpassing te voorkomen (en om coëfficiëntvariantie te verminderen), wat gewoonlijk de voorspellende prestatie van het model ‘ verbetert.
  • @HairyBeast Dat zou je moeten doen zet je leuke opmerking als antwoord. Probeer indien mogelijk een illustratief voorbeeld toe te voegen, zodat het OP kan achterhalen hoe het zich vertaalt naar het huidige probleem.
  • @HairyBeast, dus kan ik zeggen dat regularisatie slechts een methode is om het idee van afweging tussen bias en variantie ?
  • Ik vond deze video erg nuttig, vooral bij het visualiseren van de verschillende vormen van Lp-regularisatie: youtube. com / watch? v = sO4ZirJh9ds
  • Regularisatie is bedoeld om de overfit aan te pakken in het model dat wordt aangeleerd. Ik probeerde het in gewoon Engels en visueel uit te leggen. Hieronder volgt de link naar het artikel medium.com/@vamsi149/…

Antwoord

In eenvoudige bewoordingen is regularisatie het afstemmen of selecteren van het gewenste niveau van modelcomplexiteit, zodat uw modellen beter zijn in het voorspellen (generaliseren). Als je dit niet doet, zijn je modellen mogelijk te complex en overfit of te simpel en ondermaats, waardoor je in beide gevallen slechte voorspellingen kunt doen.

Als je de kleinste kwadraten hebt, passen een complex model bij een kleine set trainingsgegevens je zult waarschijnlijk overfit zijn, dit is de meest voorkomende situatie. De optimale complexiteit van het model hangt af van het soort proces dat je aan het modelleren bent en de kwaliteit van de gegevens, dus er is geen a-priori correcte complexiteit van een model.

Om te regulariseren heb je twee dingen nodig:

  1. Een manier om te testen hoe goed je modellen voorspellen, bijvoorbeeld door middel van kruisvalidatie of een set validatiegegevens (je kan hiervoor de aanpassingsfout niet gebruiken).
  2. Een afstemmingsparameter waarmee u de complexiteit of vloeiendheid van het model kunt wijzigen, of een selectie van modellen met verschillende complexiteit / vloeiendheid.

In principe pas je de complexiteitsparameter aan (of verander je het model) en zoek je de waarde die de beste modelvoorspellingen geeft.

Merk op dat de geoptimaliseerde regularisatiefout geen nauwkeurige schatting zal zijn van de algehele voorspelling fout, dus na regularisatie zul je eindelijk een aanvullende validatiedataset moeten gebruiken of wat aanvullende statistische analyse moeten uitvoeren om een onbevooroordeelde voorspellingsfout te krijgen.

Een alternatief voor het gebruik van (kruis) validatietests is het gebruik van Bayesian Priors of andere methoden om complexiteit of niet-gladheid te bestraffen, maar deze vereisen meer statistische verfijning en kennis van het probleem en modeleigenschappen.

Opmerkingen

  • +1 van mij. Ik vind het leuk dat dit antwoord bij het begin begint en zo gemakkelijk te begrijpen is …
  • Wordt regularisatie echt ooit gebruikt om onderfitting te verminderen? In mijn ervaring wordt regularisatie toegepast op een complex / gevoelig model om complexiteit / gevoeligheid te verminderen, maar nooit op een eenvoudig / ongevoelig model om complexiteit / gevoeligheid te vergroten.
  • Dit antwoord is nu vrij oud, maar ik neem aan waar Toby naar verwees, dat regularisatie een principiële manier is om te passen in een model van gepaste complexiteit gezien de hoeveelheid gegevens; het is een alternatief voor zowel het a priori selecteren van een model met te weinig parameters (of de verkeerde) als voor het selecteren van een model dat te complex is en te goed past.

Antwoord

Stel dat u leert via empirische risicominimalisatie.

Meer precies:

  • je hebt je niet-negatieve verliesfunctie $ L (\ text {werkelijke waarde}, \ text {voorspelde waarde}) $ die kenmerkt hoe slecht uw voorspellingen zijn
  • u wilt uw model zo aanpassen dat de voorspellingen de gemiddelde verliesfunctie minimaliseren, alleen berekend op basis van trainingsgegevens (de enige gegevens die u heeft)

Het doel van het leerproces is dan om $ \ text {Model} = \ text {argmin} \ som L (\ text {actual}, \ text {predicted} (\ text {Model})) $ (this methode wordt empirische risicominimalisatie genoemd).

Maar als u “niet genoeg gegevens hebt en er is een enorme hoeveelheid variabelen in uw model, is het zeer waarschijnlijk dat u een dergelijk model zult vinden dat niet alleen patronen verklaart maar verklaart ook willekeurige ruis in uw gegevens. Dit effect wordt overfitting genoemd en leidt tot een verslechtering van het generalisatievermogen van uw model.

Om overfitting te voorkomen, wordt een regularisatieterm geïntroduceerd in de doelfunctie: $ \ tekst {Model} = \ text {argmin} \ som L (\ text {actua l}, \ text {predicted} (\ text {Model})) + \ lambda R (\ text {Model}) $

Gewoonlijk legt deze term $ R (\ text {Model}) $ op een speciale straf op complexe modellen. Bijvoorbeeld op modellen met grote coëfficiënten (L2-regularisatie, $ R $ = som van kwadraten van coëfficiënten) of met coëfficiënten veel als niet-nul (L1-regularisatie, $ R $ = som van absolute waarden van coëfficiënten). Als we de beslissingsboom trainen, kan $ R $ de diepte zijn.

Een ander standpunt is dat $ R $ onze voorkennis introduceert over een vorm van het beste model (“het heeft ook niet” grote coëfficiënten “,” het is bijna orthogonaal op $ \ bar a $ “)

Antwoord

Simpel gezegd, regularisatie gaat over het profiteren van de oplossingen die u zou verwachten te krijgen. Zoals u al zei, kunt u bijvoorbeeld profiteren van “eenvoudige” oplossingen, voor een definitie van eenvoud. Als uw probleem regels heeft, kan één definitie minder regels zijn. Maar dit is probleemafhankelijk.

U stelt echter de juiste vraag. Bijvoorbeeld in Support Vector Machines komt deze “eenvoud” voort uit het verbreken van banden in de richting van “maximale marge”. Deze marge is iets dat duidelijk kan worden gedefinieerd in termen van het probleem. Er is een zeer goede geometrische afleiding in het SVM-artikel op Wikipedia . Het blijkt dat de regularisatieterm is , misschien wel de “geheime saus” van SVMs.

Hoe doe je regularisatie? In het algemeen hoort dat bij de methode die je gebruikt, als je SVMs gebruikt, doe je L2-regularisatie, als je LASSO je “doet L1 regularisatie (kijk wat hairybeast zegt). Als je echter je eigen methode ontwikkelt, moet je weten hoe je wenselijk oplossingen van niet-wenselijke oplossingen, en hebben een functie die dit kwantificeert. Uiteindelijk heb je “een kostenterm en een regularisatieterm, en wil je de som van beide optimaliseren.

Antwoord

Regularisatietechnieken zijn technieken die worden toegepast op machine learning-modellen die het beslissingsgrens / aangepast model soepeler maken. Deze technieken helpen overfitting te voorkomen.

Voorbeelden: L1, L2, Dropout, Weight Decay in Neural Networks. Parameter $ C $ in SVMs.

Answer

Kort gezegd is regularisatie een techniek om te veel passen te voorkomen bij het trainen van machine learning algoritmen. Als u een algoritme heeft met voldoende vrije parameters, kunt u uw steekproef zeer gedetailleerd interpoleren, maar voorbeelden die buiten de steekproef vallen, volgen deze gedetailleerde interpolatie mogelijk niet, omdat het alleen ruis of willekeurige onregelmatigheden in de steekproef vastlegde in plaats van de echte trend.

Overaanpassing wordt voorkomen door de absolute waarde van de parameters in het model te beperken. Dit kan door een term toe te voegen aan de kostenfunctie die een boete oplegt op basis van de grootte van de modelparameters. Als de grootte wordt gemeten in de L1-norm, wordt dit “L1-regularisatie” genoemd (en resulteert meestal in schaarse modellen), als het wordt gemeten in de L2-norm wordt dit “L2-regularisatie” genoemd, enzovoort.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *