Vad är normalisering på vanlig engelska?

Till skillnad från andra artiklar tyckte jag att posten wikipedia för detta ämne var oläslig för en icke -matt person (som jag).

Jag förstod grundidén, att du gynnar modeller med färre regler. Vad jag inte får är hur man kommer från en uppsättning regler till en ”regularisering poäng” som du kan använda för att sortera modellerna från minst till mest overfit.

Kan du beskriva en enkel regleringsmetod ?

Jag är intresserad av analysen av statistiska handelssystem. Det skulle vara jättebra om du kunde beskriva om / hur jag kan tillämpa regelbundenhet för att analysera följande två prediktiva modeller:

Modell 1 – priset går upp när:

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

Modell 2 – priset stiger när:

  • pris [n] < pris [n-1] 10 gånger i rad
  • exp_moving_avg (pris, period = 200) går upp

Men Jag är mer intresserad av att få en känsla för hur du gör regelbundenhet. Så om du vet bättre modeller för att förklara det, gör det.

Kommentarer

  • Ett exempel är ryggregression, som är OLS med en bunden summa av de kvadrerade koefficienterna. Detta kommer att införa bias i modellen, men kommer att minska variationen i koefficienterna, ibland väsentligt. LASSO är en annan relaterad metod, men sätter en L1 begränsning av koefficiensernas storlek. Det har fördelen att koefficienter släpps. Detta är användbart för p > n situationer Reglering, på ett sätt, betyder ” krympande ” modellen för att undvika överpassning (och för att minska koefficientvariansen), vilket vanligtvis förbättrar modellens ’ prediktiva prestanda.
  • @HairyBeast Du bör sätt din fina kommentar som svar. Om möjligt, försök att lägga till ett illustrativt exempel så att OP kan ta reda på hur det översätts till det aktuella problemet.
  • @HairyBeast, så kan jag säga att regularisering bara är en metod för att genomföra idén om bias-varance tradeoff ?
  • Jag tyckte att den här videon var till stor hjälp, särskilt när jag visualiserade de olika formerna av Lp-regularisering: youtube. com / watch? v = sO4ZirJh9ds
  • Regularisering är för att ta itu med överfit i modellen som lärs in. Försökte förklara på vanlig engelska och visuellt. Följande är länken till artikeln medium.com/@vamsi149/…

Svar

I enkla termer är reglering justering eller val av önskad nivå av modellkomplexitet så att dina modeller är bättre på att förutsäga (generalisera). Om du inte gör det kan dina modeller vara för komplexa och överklädda eller för enkla och underklädda, vilket gör att du får dåliga förutsägelser.

Om du har minsta rutor passar en komplex modell till en liten uppsättning träningsdata du kommer antagligen att överträffa, detta är den vanligaste situationen. Den optimala komplexiteten hos modellen beror på vilken typ av process du modellerar och kvaliteten på data, så det finns ingen a-priori korrekt komplexitet av en modell.

För att reglera behöver du två saker:

  1. Ett sätt att testa hur bra dina modeller är för att förutsäga, till exempel med korsvalidering eller en uppsättning valideringsdata (du kan inte använda anpassningsfel för detta).
  2. En inställningsparameter som låter dig ändra modellens komplexitet eller jämnhet, eller ett urval av modeller med olika komplexitet / jämnhet.

I grund och botten justerar du komplexitetsparametern (eller ändrar modellen) och hittar det värde som ger de bästa modellförutsägelserna.

Observera att det optimerade normaliseringsfelet inte kommer att vara en exakt uppskattning av den totala förutsägelsen fel så efter reglering måste du äntligen använda en extra valideringsdataset eller utföra ytterligare statistisk analys för att få ett opartiskt prediktionsfel.

Ett alternativ till att använda (kors-) valideringstest är att använda Bayesian Priors eller andra metoder för att bestraffa komplexitet eller ojämnhet, men dessa kräver mer statistisk förfining och kunskap om problemet och modellfunktionerna.

Kommentarer

  • +1 från mig. Jag gillar att det här svaret börjar i början och är så lätt att förstå …
  • Används regelbundenhet någonsin för att minska underutrustning? Enligt min erfarenhet tillämpas regulering på en komplex / känslig modell för att minska komplexitet / känslighet, men aldrig på en enkel / okänslig modell för att öka komplexitet / känslighet.
  • Detta svar är nu ganska gammalt, men jag antar att det Toby hänvisade till är att reglering är ett principiellt sätt att passa en modell av lämplig komplexitet med tanke på datamängden; Det är ett alternativ både att välja en priori en modell med för få parametrar (eller fel) och att välja en modell som är för komplex och överanpassar.

Svar

Antag att du utför inlärning via empirisk riskminimering.

Mer exakt:

  • du har din icke-negativa förlustfunktion $ L (\ text {faktiskt värde}, \ text {förutsagt värde}) $ som karakteriserar hur dåligt är dina förutsägelser
  • du vill passa din modell på ett sådant sätt att dess förutsägelser minimerar medelvärdet av förlustfunktionen, endast beräknat på träningsdata (de enda uppgifterna du har)

Då är syftet med inlärningsprocessen att hitta $ \ text {Model} = \ text {argmin} \ sum L (\ text {actual}, \ text {predicted} (\ text {Model})) $ (detta metod kallas empirisk riskminimering).

Men om du inte har tillräckligt med data och det finns en enorm mängd variabler i din modell är det mycket troligt att du hittar en sådan modell som inte bara förklarar mönster men förklarar också slumpmässigt brus i dina data. Denna effekt kallas för överanpassning och det leder till försämring av generaliseringsförmågan för din modell.

För att undvika överanpassning införs en regleringsperiod i målfunktionen: $ \ text {Model} = \ text {argmin} \ sum L (\ text {actua l}, \ text {predicted} (\ text {Model})) + \ lambda R (\ text {Model}) $

Vanligtvis inför denna term $ R (\ text {Model}) $ ett särskilt straff för komplexa modeller. Till exempel på modeller med stora koefficienter (L2-normalisering, $ R $ = summan av kvadraterna av koefficienter) eller med mycket om icke-nollkoefficienter (L1-reglering, $ R $ = summan av de absoluta värdena på koefficienter). Om vi tränar beslutsträd kan $ R $ vara dess djup.

En annan synvinkel är att $ R $ introducerar vår tidigare kunskap om en form av den bästa modellen (”den har inte för stora koefficienter ”,” det är nästan ortogonalt till $ \ bar a $ ”)

Svar

Enkelt uttryckt, regularisering handlar om att dra nytta av de lösningar du förväntar dig att få. Som du nämner kan du till exempel dra nytta av ”enkla” lösningar, för en viss definition av enkelhet. Om ditt problem har regler kan en definition vara färre regler. Men detta är problemberoende.

Du ställer dock rätt fråga. Till exempel i Support Vector Machines kommer denna ”enkelhet” från att bryta band i riktning mot ”maximal marginal”. Denna marginal är något som kan definieras tydligt i termer av problemet. Det finns en mycket bra geometrisk härledning i SVM-artikeln i Wikipedia . Det visar sig att ordningen för normalisering är , förmodligen åtminstone, den ”hemliga såsen” av SVM: er.

Hur gör du regularisering? I allmänhet kommer det med den metod du använder, om du använder SVM: er gör du L2-regularisering, om du använder LASSO du gör L1-reglering (se vad hairybeast säger). Men om du utvecklar din egen metod måste du veta hur du kan säga önskvärt lösningar från icke önskvärda, och har en funktion som kvantifierar detta. I slutändan kommer du att ha en kostnadsperiod och en regelbunden term, och du vill optimera summan av båda.

Svar

Regulariseringstekniker är tekniker som tillämpas på maskininlärningsmodeller som gör beslutsgränsen / monterad modell mjukare. Dessa tekniker hjälper till att förhindra överanpassning.

Exempel: L1, L2, bortfall, viktnedgång i neurala nätverk. Parameter $ C $ i SVM: er.

Svar

I enkel ordning är Regularization en teknik för att undvika överpassning vid träning av maskininlärning Om du har en algoritm med tillräckligt många lediga parametrar kan du interpolera noggrant ditt prov, men exempel som kommer utanför provet följer kanske inte denna detaljinterpolering eftersom det bara fångade brus eller slumpmässiga oegentligheter i provet istället för den sanna trenden. / p>

Överpassning undviks genom att begränsa det absoluta värdet av parametrarna i modellen. Detta kan göras genom att lägga till en term i kostnadsfunktion som ålägger ett straff baserat på storleken på modellparametrarna. Om storleken mäts i L1-norm kallas detta ”L1-regularisering” (och resulterar vanligtvis i glesa modeller), om det mäts i L2-norm kallas detta ”L2-regularisering” och så vidare.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *