Spre deosebire de alte articole, am găsit intrarea wikipedia pentru acest subiect nelegibilă pentru un non -math person (ca mine).
Am înțeles ideea de bază, că favoriți modelele cu mai puține reguli. Ceea ce nu primesc este cum ajungeți de la un set de reguli la un „scor de regularizare” pe care îl puteți folosi pentru a sorta modelele de la cel mai puțin la cel mai mult costum.
Puteți descrie o metodă simplă de regularizare ?
Mă interesează contextul analizei sistemelor statistice de tranzacționare. Ar fi minunat dacă ați putea descrie dacă / cum pot aplica regularizarea pentru a analiza următoarele două modele predictive:
Model 1 – prețul crește când:
- exp_moving_avg ( price, period = 50)> exp_moving_avg (price, period = 200)
Modelul 2 – prețul crește când:
- preț [n] < preț [n-1] de 10 ori la rând
- exp_moving_avg (preț, perioadă = 200) în creștere
Dar „Mă interesează mai mult să vă dau seama de modul în care faceți regularizarea. Deci, dacă cunoașteți modele mai bune de explicare, vă rugăm să faceți acest lucru.
Comentarii
- Un exemplu este regresia crestei, care este OLS cu o legătură pe suma coeficienților pătrati. Aceasta va introduce părtinire în model, dar va reduce varianța coeficienților, uneori în mod substanțial. LASSO este o altă metodă legată, dar pune un L1 constrângere asupra mărimii coeficienților. Are avantajul căderii coeficienților. Acest lucru este util pentru p > n situații Regularizarea, într-un fel, înseamnă ” micșorare ” modelul pentru a evita supraadaptarea (și pentru a reduce varianța coeficientului), ceea ce îmbunătățește de obicei performanța predictivă a modelului ‘.
- @HairyBeast pune comentariul tău frumos ca răspuns. Dacă este posibil, încercați să adăugați un exemplu ilustrativ, astfel încât OP să poată afla cum se traduce prin problema la îndemână.
- @HairyBeast, așa că pot spune că regularizarea este doar o metodă de implementare a ideii de bias-variance tradeoff ?
- Am găsit acest videoclip foarte util, în special în vizualizarea diferitelor forme de regularizare Lp: youtube. com / watch? v = sO4ZirJh9ds
- Regularizarea este pentru abordarea costumului din modelul care este învățat. Am încercat să explic în engleză simplă și vizual. Urmează linkul către articolul medium.com/@vamsi149/…
Răspuns
În termeni simpli, regularizarea este reglarea sau selectarea nivelului preferat de complexitate a modelului, astfel încât modelele dvs. să predică (generalizeze) mai bine. Dacă nu faceți acest lucru, modelele dvs. pot fi prea complexe și excesive sau prea simple și insuficiente, oferind predicții slabe.
Dacă cele mai mici pătrate se potrivesc unui model complex unui set mic de date de antrenament probabil că vă veți îmbrăca, aceasta este cea mai frecventă situație. Complexitatea optimă a modelului depinde de tipul de proces pe care îl modelați și de calitatea datelor, deci nu există o complexitate a priori a unui model.
Pentru a regulariza aveți nevoie de 2 lucruri:
- O modalitate de a testa cât de bune sunt modelele dvs. la predicție, de exemplu folosind validarea încrucișată sau un set de date de validare (dvs. nu puteți folosi eroarea de potrivire pentru aceasta).
- Un parametru de reglare care vă permite să modificați complexitatea sau netezimea modelului sau o selecție de modele de complexitate / netezime diferite.
Practic, ajustați parametrul de complexitate (sau modificați modelul) și găsiți valoarea care oferă cele mai bune predicții ale modelului.
Rețineți că eroarea de regularizare optimizată nu va fi o estimare exactă a predicției generale. eroare, așa că, după regularizare, va trebui în cele din urmă să utilizați un set de date de validare suplimentar sau să efectuați o analiză statistică suplimentară pentru a obține o eroare de predicție imparțială.
O alternativă la utilizarea testelor de validare (încrucișată) este utilizarea Priorilor Bayesieni sau alte metode pentru a penaliza complexitatea sau non-netezimea, dar acestea necesită mai multă sofisticare statistică și cunoaștere a problemei și a caracteristicilor modelului.
Comentarii
- +1 de la mine. Îmi place că acest răspuns începe de la început și este atât de ușor de înțeles …
- Este regularizată cu adevărat vreodată vreodată pentru a reduce deficitul? Din experiența mea, regularizarea se aplică pe un model complex / sensibil pentru a reduce complexitatea / sensibilitatea, dar niciodată pe un model simplu / insensibil pentru a crește complexitatea / sensibilitatea.
- Acest răspuns este acum destul de vechi, dar presupun că la ce se referea Toby este că regularizarea este un mod principial de a se potrivi unui model de complexitate adecvată, având în vedere cantitatea de date; este o alternativă atât la selectarea a priori a unui model cu prea puțini parametri (sau a celor greși), cât și la selectarea unui model care este prea complex și se potrivește.
Răspuns
Să presupunem că efectuați învățarea prin minimizarea riscului empiric.
Mai precis:
- ați obținut funcția de pierdere non-negativă $ L (\ text {valoare actuală}, \ text {valoare estimată}) $ care caracterizează modul în care rău predicțiile dvs. sunt
- doriți să vă potriviți modelul în așa fel încât predicțiile acestuia să reducă la minim funcția de pierdere, calculată numai pe datele de antrenament (singurele date pe care le aveți)
Apoi, scopul procesului de învățare este de a găsi $ \ text {Model} = \ text {argmin} \ sum L (\ text {actual}, \ text {predicted} (\ text {Model})) $ (acest metoda se numește minimizarea riscului empiric).
Dar dacă nu aveți suficiente date și există o cantitate imensă de variabile în modelul dvs., este foarte probabil să găsiți un astfel de model care să nu explice doar modelele dar explică, de asemenea, zgomot aleatoriu în datele dvs. Acest efect se numește supradaptare și duce la degradarea capacității de generalizare a modelului dvs.
Pentru a evita supradaptarea, un termen de regularizare este introdus în funcția țintă: $ \ text {Model} = \ text {argmin} \ sum L (\ text {actua l}, \ text {predicted} (\ text {Model})) + \ lambda R (\ text {Model}) $
De obicei, acest termen $ R (\ text {Model}) $ impune o penalizare specială la modelele complexe. De exemplu, pe modele cu coeficienți mari (regularizare L2, $ R $ = suma pătratelor coeficienților) sau cu un lot dacă coeficienți diferiți de zero (regularizare L1, $ R $ = suma valorilor absolute ale coeficienților). Dacă pregătim arborele deciziei, $ R $ poate fi profunzimea sa.
Un alt punct de vedere este că $ R $ introduce cunoștințele noastre anterioare despre o formă a celui mai bun model („nu are prea” coeficienți mari „,” este aproape ortogonală la $ \ bar a $ „)
Răspuns
Puneți în termeni simpli, regularizare este despre a beneficia de soluțiile pe care te-ai aștepta să le obții. După cum menționați, de exemplu, puteți beneficia de soluții „simple”, pentru o anumită definiție a simplității. Dacă problema dvs. are reguli, o definiție poate fi mai puține reguli. Dar acest lucru depinde de problemă.
Cu toate acestea, puneți întrebarea corectă. De exemplu, în suportul mașinilor vectoriale, această „simplitate” vine din ruperea legăturilor în direcția „marjei maxime”. Această marjă este ceva care poate fi clar definit în termeni de problemă. Există o derivare geometrică foarte bună în articolul SVM din Wikipedia . Se pare că termenul de regularizare este , cel puțin, probabil, „sosul secret” al SVM-urilor.
Cum faceți regularizarea? În general, aceasta vine cu metoda pe care o utilizați, dacă utilizați SVM-urile, faceți regularizarea L2, dacă utilizați LASSO faci regularizarea L1 (vezi ce spune hairybeast). Cu toate acestea, dacă îți dezvolți propria metodă, trebuie să știi cum să spui că este de dorit soluții din cele nedorite și au o funcție care cuantifică acest lucru. În final, veți avea un termen de cost și un termen de regularizare și doriți să optimizați suma ambelor.
Răspuns
Tehnicile de regularizare sunt tehnici aplicate modelelor de învățare automată care fac ca decizia / modelul să fie mai ușor. Aceste tehnici ajută la prevenirea supraadaptării.
Exemple: L1, L2, abandon, decădere a greutății în rețelele neuronale. Parametru $ C $ în SVM-uri.
Răspuns
Într-un termen simplu, Regularizarea este o tehnică pentru a evita supra-potrivirea atunci când instruiți învățarea automată algoritmi. Dacă aveți un algoritm cu suficienți parametri liberi, puteți interpola cu detaliu eșantionul, dar exemplele care ies în afara eșantionului s-ar putea să nu urmeze această interpolare de detaliu, deoarece a captat doar zgomot sau nereguli aleatorii în eșantion în loc de adevărata tendință. / p>
Suprapunerea este evitată prin limitarea valorii absolute a parametrilor din model. Acest lucru se poate face prin adăugarea unui termen la funcția de cost care impune o penalizare pe baza magnitudinii parametrilor modelului. Dacă magnitudinea este măsurată în norma L1, aceasta se numește „regularizare L1” (și de obicei rezultă în modele rare), dacă este măsurată în norma L2, aceasta se numește „regularizare L2” și așa mai departe.