Hva er regularisering på engelsk?

I motsetning til andre artikler fant jeg wikipedia -oppføringen for dette emnet uleselig for en ikke -mat person (som meg).

Jeg forsto grunnideen, at du favoriserer modeller med færre regler. Det jeg ikke får, er hvordan kommer du fra et sett med regler til en «regulariseringspoeng» som du kan bruke til å sortere modellene fra minst til mest overfit.

Kan du beskrive en enkel reguleringsmetode ?

Jeg er interessert i sammenhengen med å analysere statistiske handelssystemer. Det ville være flott om du kunne beskrive om / hvordan jeg kan bruke regulering for å analysere følgende to prediktive modeller:

Model 1 – prisen går opp når:

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

Modell 2 – prisen går opp når:

  • pris [n] < pris [n-1] 10 ganger på rad
  • exp_moving_avg (pris, periode = 200) går opp

Men Jeg er mer interessert i å få en følelse av hvordan du gjør regularisering. Så hvis du vet bedre modeller for å forklare det, vennligst gjør det.

Kommentarer

  • Et eksempel er ryggregresjon, som er OLS med en bundet på summen av de kvadratiske koeffisientene. Dette vil introdusere skjevhet i modellen, men vil redusere variasjonen av koeffisientene, noen ganger vesentlig. begrensning på størrelsen på koeffisientene. Den har fordelen av å slippe koeffisienter. Dette er nyttig for p > n situasjoner Regulering, på en måte, betyr » krymping » modellen for å unngå overmontering (og for å redusere koeffisientvariansen), noe som vanligvis forbedrer modellens ‘ prediktive ytelse.
  • @HairyBeast Du bør legg din fine kommentar som svar. Hvis mulig, prøv å legge til et illustrerende eksempel slik at OP kan finne ut hvordan det oversettes til det aktuelle problemet.
  • @HairyBeast, så kan jeg si at regulering bare er en metode for å implementere ideen om bias-varians tradeoff ?
  • Jeg syntes denne videoen var veldig nyttig, spesielt når det gjaldt å visualisere de forskjellige formene for Lp-regulering: youtube. com / watch? v = sO4ZirJh9ds
  • Regularisering er for å adressere overfit i modellen som læres. Prøvde å forklare på engelsk og visuelt. Følgende er lenken til artikkelen medium.com/@vamsi149/…

Svar

Enkelt sagt er regulering justering eller valg av foretrukket nivå av modellkompleksitet, slik at modellene dine er bedre til å forutsi (generalisere). Hvis du ikke gjør dette, kan det hende at modellene dine er for komplekse og overdrakt eller for enkle og underdrakt, uansett gir dårlige spådommer.

Hvis du har minste kvadrat, passer en kompleks modell til et lite sett med treningsdata du vil sannsynligvis overdrive, dette er den vanligste situasjonen. Den optimale kompleksiteten i modellen avhenger av hvilken prosess du modellerer og kvaliteten på dataene, så det er ingen a-priori korrekt kompleksitet av en modell.

For å normalisere trenger du to ting:

  1. En måte å teste hvor gode modellene dine er til å forutsi, for eksempel ved hjelp av kryssvalidering eller et sett med valideringsdata (du kan ikke bruke tilpasningsfeilen for dette).
  2. En innstillingsparameter som lar deg endre kompleksiteten eller glattheten til modellen, eller et utvalg modeller med forskjellig kompleksitet / glatthet.

I utgangspunktet justerer du kompleksitetsparameteren (eller endrer modellen) og finner verdien som gir de beste modellforutsigelsene.

Merk at den optimaliserte reguleringsfeilen ikke vil være et nøyaktig estimat av den totale prediksjonen feil så etter regulering må du endelig bruke et ekstra valideringsdatasett eller utføre noen ekstra statistiske analyser for å få en upartisk prediksjonsfeil.

Et alternativ til å bruke (kryss-) valideringstesting er å bruke Bayesian Priors eller andre metoder for å straffe kompleksitet eller ikke-glatthet, men disse krever mer statistisk raffinement og kunnskap om problemet og modellfunksjonene.

Kommentarer

  • +1 fra meg. Jeg liker at dette svaret begynner i begynnelsen og er så lett å forstå …
  • Er det virkelig noen gang brukt regularisering for å redusere underinnredning? Etter min erfaring brukes regulering på en kompleks / sensitiv modell for å redusere kompleksitet / sensitivitet, men aldri på en enkel / ufølsom modell for å øke kompleksitet / sensitivitet.
  • Dette svaret er nå ganske gammelt, men jeg antar det Toby refererte til er at regulering er en prinsipiell måte å passe en modell med passende kompleksitet gitt datamengden; det er et alternativ både til å velge en modell på forhånd med for få parametere (eller feil), og også å velge en modell som er for kompleks og overpasser.

Svar

Anta at du utfører læring via empirisk risikominimering.

Mer presist:

  • du har din ikke-negative tapfunksjon $ L (\ text {faktisk verdi}, \ tekst {forutsagt verdi}) $ som karakteriserer hvordan dårlig dine spådommer er
  • du vil passe modellen din på en slik måte at dets spådommer minimerer gjennomsnittet av tapsfunksjon, bare beregnet på treningsdata (de eneste dataene du har)

Da er målet med læringsprosessen å finne $ \ text {Model} = \ text {argmin} \ sum L (\ text {actual}, \ text {predicted} (\ text {Model})) $ (dette metoden kalles empirisk risikominimering).

Men hvis du ikke har nok data og det er en enorm mengde variabler i modellen din, er det veldig sannsynlig å finne en slik modell som ikke bare forklarer mønstre men forklarer også tilfeldig støy i dataene dine. Denne effekten kalles overmontering og det fører til nedbrytning av generaliseringsevnen til modellen din.

For å unngå overmontering introduseres en reguleringsperiode i målfunksjonen: $ \ tekst {Model} = \ text {argmin} \ sum L (\ text {actua l}, \ text {predicted} (\ text {Model})) + \ lambda R (\ text {Model}) $

Vanligvis pålegger dette begrepet $ R (\ text {Model}) $ en spesiell straff på komplekse modeller. For eksempel på modeller med store koeffisienter (L2-regulering, $ R $ = sum av kvadrater av koeffisienter) eller med mye hvis koeffisienter som ikke er null (L1-regulering, $ R $ = summen av absolutte koeffisientverdier). Hvis vi trener beslutningstreet, kan $ R $ være dens dybde.

Et annet synspunkt er at $ R $ introduserer vår forkunnskap om en form for den beste modellen («den har ikke også store koeffisienter «,» det er nesten ortogonalt til $ \ bar a $ «)

Svar

Sett i enkle termer, regularisering handler om å dra nytte av løsningene du forventer å få. Som du nevner, kan du for eksempel dra nytte av «enkle» løsninger, for noen definisjon av enkelhet. Hvis problemet ditt har regler, kan en definisjon være færre regler. Men dette er problemavhengig.

Du stiller imidlertid det riktige spørsmålet. For eksempel i Support Vector Machines kommer denne «enkelheten» fra å bryte bånd i retning av «maksimal margin». Denne marginen er noe som kan defineres tydelig med tanke på problemet. Det er en veldig god geometrisk avledning i SVM-artikkelen i Wikipedia . Det viser seg at reguleringsbetegnelsen er , uten tvil i det minste, den «hemmelige sausen» til SVM-er.

Hvordan gjør du normalisering? Generelt følger det metoden du bruker, hvis du bruker SVM-er, gjør du L2-regulering, hvis du bruker LASSO du gjør L1-regulering (se hva hairybeast sier). Men hvis du utvikler din egen metode, må du vite hvordan du kan fortelle ønskelig løsninger fra ikke-ønskelige, og har en funksjon som kvantifiserer dette. Til slutt vil du ha en kostnadsperiode og en reguleringsperiode, og du vil optimalisere summen av begge.

Svar

Regulariseringsteknikker er teknikker som brukes på maskinlæringsmodeller som gjør beslutningens grense / tilpasset modell jevnere. Disse teknikkene bidrar til å forhindre overmontering.

Eksempler: L1, L2, Dropout, Weight Decay in Neural Networks. Parameter $ C $ i SVM-er.

Svar

I enkle termer er regulering en teknikk for å unngå overmontering når du trener maskinlæring algoritmer. Hvis du har en algoritme med nok ledige parametere, kan du interpolere detaljene dine, men eksempler som kommer utenfor prøven, følger kanskje ikke denne detaljinterpoleringen, da det bare fanget støy eller tilfeldige uregelmessigheter i prøven i stedet for den sanne trenden. / p>

Overtilpasning unngås ved å begrense den absolutte verdien av parametrene i modellen. Dette kan gjøres ved å legge til et begrep i kostnadsfunksjon som pålegger en straff basert på størrelsen på modellparametrene. Hvis størrelsen måles i L1-normen, kalles dette «L1-regulering» (og resulterer vanligvis i sparsomme modeller), hvis den måles i L2-norm kalles dette «L2-regulering», og så videre.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *