Regularisering
Også kendt som: regularization
Enhver regel under læringen, der holder en model tilbage fra at passe for tæt til sine eksempler, så den klarer nye tilfælde bedre.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
En ændring af modeltræningen, der ofrer lidt pasform på træningsdata for bedre resultater på usete data, oftest ved at lægge en straf for store modelvægte til tabsfunktionen eller ved tilfældigt at slå dele af et neuralt netværk fra, mens det lærer.
Forklaret enkelt
Som et ordloft på en stil. Skribenten kan ikke hælde alle de detaljer ind, de husker, og beholder derfor kun de pointer, der virkelig betyder noget.
I praksis
Et hospitalsteams model til at finde patienter med risiko for genindlæggelse passer perfekt til de gamle journaler, men overser nye tilfælde; en straf på vægtene, justeret på et valideringssæt, lukker det meste af hullet.
Hvorfor det betyder noget
Uden den har fleksible modeller en tendens til at lære eksemplerne udenad og se langt bedre ud i test, end de er i virkeligheden.
Teknisk uddybning
Eksplicitte strafmetoder lægger et led til træningsmålet. L2-regularisering lægger lambda gange summen af de kvadrerede vægte til; i lineær regression er det ridge-regression (Hoerl og Kennard, 1970), et specialtilfælde af Tikhonov-regularisering, som skrumper alle koefficienter jævnt mod nul. L1-regularisering lægger lambda gange summen af de absolutte vægte til; i lineær regression er det lasso (Tibshirani, 1996), som sætter nogle koefficienter til præcis nul og dermed udvælger features. Elastic net blander de to. I scikit-learn er styrken argumentet alpha i Ridge og Lasso, og den vælges normalt ved krydsvalidering (RidgeCV, LassoCV). Set bayesiansk svarer L2 til en normalfordelt prior på vægtene og L1 til en Laplace-prior, så den straffede løsning er et maksimum a posteriori-estimat.
Weight decay ganger vægtene med en faktor lidt under et ved hver opdatering. For almindelig stokastisk gradientnedstigning svarer det til en L2-straf, men Loshchilov og Hutter (2019) viste, at det ikke gælder for adaptive optimeringsalgoritmer som Adam, hvor L2-gradienten skaleres om for hver parameter. Deres afkoblede variant, AdamW, trækker vægtene direkte ned og er i dag standardvalget til træning af transformere; PyTorch udstiller den som torch.optim.AdamW med argumentet weight_decay.
Deep learning tilføjer implicitte og strukturelle regularisatorer. Dropout (Srivastava m.fl., 2014) sætter tilfældigt enheder til nul under træningen, hvilket tilnærmer et gennemsnit over et ensemble af udtyndede netværk; ved test bruges alle enheder med omskalerede aktiveringer. Early stopping standser træningen, når valideringstabet holder op med at falde, og virker for kvadratiske tabsfunktioner meget som en L2-straf. Dataaugmentering, label smoothing, støj fra batchnormalisering, delte parametre i foldningsnetværk og stokastisk gradientnedstignings implicitte tilbøjelighed til flade løsninger eller løsninger med lav norm regulariserer også. Styrken af enhver regularisator er selv en hyperparameter og flytter modellen langs bias-varians-afvejningen: For lidt efterlader overtilpasning, for meget giver undertilpasning.
Hvad du bør lære først
Alt det, dette bygger på - grundlaget først.
- Træningsdata
- →Maskinlæring
- →Tabsfunktion (loss function)
- →Regularisering
Relationer
- Forudsætter
- Tabsfunktion (loss function)
- Afbøder
- Overtilpasning (overfitting)
- Bruges sammen med
- Bias-varians-afvejningHyperparameter
Kilder og videre læsning
Officiel dokumentation
- scikit-learn User Guide, Linear Models (Ridge, Lasso) · scikit-learn
Opslagsværker
- Srivastava et al. (2014), Dropout, A Simple Way to Prevent Neural Networks from Overfitting · Journal of Machine Learning Research
- Loshchilov & Hutter (2019), Decoupled Weight Decay Regularization · ICLR 2019
Lærebøger
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Test dig selv
Indlæser…