Ce este „Overfitting” și „Underfitting” în Machine Learning?

– S1E14

Din moment ce sarcina dvs. principală este de a selecta un algoritm de învățare și de a-l antrena pe anumite date, cele două lucruri care pot merge prost sunt „algoritmul prost” și „datele proaste”

Acestea sunt exemple de algoritm prost-

Overfitting-

Overfitting este o eroare de modelare care apare atunci când o funcție se potrivește prea bine la un set limitat de puncte de date. Aceasta înseamnă că modelul funcționează bine pe datele de instruire, dar nu se generalizează bine.

Ex- Să spunem că vizitați o țară străină și șoferul de taxi vă jefuiește. Ați putea fi tentat să spuneți că toți șoferii de taxi din acea țară sunt hoți

Supraadaptarea datelor de instruire

Modelele complexe, cum ar fi rețelele neuronale profunde, pot detecta modele subtile în date, dar dacă setul de antrenament este zgomotos sau dacă este prea mic (ceea ce introduce zgomot de eșantionare), atunci este probabil ca modelul să detecteze tipare în zgomotul însuși.

De exemplu- să zicem că adăugați atributul nume de țară la modelul dvs. de satisfacție a vieții-

În acest caz, un model complex poate detecta tipare precum faptul că toate țările din datele de instruire cu un „w” în nume au o satisfacție a vieții mai mare de 7: Noua Zeelandă (7.3), Norvegia (7,4), Suedia (7,2) și Elveția (7,5).

Dar această regulă a satisfacției cu w nu se generalizează la Rwanda, Zimbabwe etc.

Evident, acest tipar a apărut în datele de antrenament din pură întâmplare, dar modelul nu are cum să spună dacă un tipar este real sau pur și simplu rezultatul zgomotului din date.

Supraadaptarea are loc atunci când modelul este prea complex în raport cu cantitatea și zgomotul din datele de instruire.

Iată care sunt soluțiile posibile:

  • Simplificați modelul prin selectarea unuia cu mai puțini parametri (de ex, un model liniar mai degrabă decât un model polinomial de grad înalt),
  • Reducând numărul de atribute din datele de instruire sau constrângând* modelul.
  • Colectați mai multe date de instruire.
  • Reduceți zgomotul din datele de instruire (de ex, corectați erorile datelor și eliminați valorile aberante).

Constrângerea unui model pentru a-l face mai simplu și a reduce riscul de supraadaptare se numește regularizare.

De exemplu, modelul liniar pe care l-am definit mai devreme are doi parametri, θ0 și θ1 .

Acest lucru oferă algoritmului de învățare două grade de libertate pentru a adapta modelul la datele de instruire: acesta poate modifica atât înălțimea (θ0 ), cât și panta (θ1 ) liniei.

Dacă am forța θ1 = 0, algoritmul ar avea doar un singur grad de libertate și i-ar fi mult mai greu să se adapteze corect la date: tot ce ar putea face ar fi să mute linia în sus sau în jos pentru a se apropia cât mai mult posibil de instanțele de instruire, astfel încât ar sfârși în jurul mediei.

Dacă permitem algoritmului să modifice θ1, dar îl forțăm să o mențină mică, atunci algoritmul de învățare va avea efectiv undeva între unul și două grade de libertate.

Vreți să găsiți echilibrul potrivit între adaptarea perfectă la datele de instruire și menținerea modelului suficient de simplu pentru a vă asigura că acesta se va generaliza bine.

Regularizarea reduce riscul de supraadaptare
  • Linia punctată- antrenată doar pe cercuri,
  • Linia punctată- antrenată atât pe cercuri cât și pe pătrate
  • Linia continuă- este un model antrenat doar pe cercuri

Vezi că regularizarea a forțat modelul să aibă o pantă mai mică: acest model nu se potrivește datelor de instruire (cercuri) la fel de bine ca primul model, dar, de fapt, generalizează mai bine la noile exemple pe care nu le-a văzut în timpul instruirii (pătrate).

Cantitatea de regularizare care trebuie aplicată în timpul învățării poate fi controlată de un hiperparametru.

Un hiperparametru este un parametru al unui algoritm de învățare (nu al modelului). Acesta trebuie să fie setat înainte de învățare și rămâne constant în timpul învățării.

Dacă setați hiperparametrul de regularizare la-

  • O valoare foarte mare- veți obține un model aproape plat (o pantă apropiată de zero), algoritmul de învățare aproape sigur nu va supraajusta datele de învățare, dar va fi mai puțin probabil să găsească o soluție bună.

Acordarea hiperparametrilor este o parte importantă a construirii unui sistem de învățare automată (veți vedea un exemplu detaliat în episoadele următoare).

Subadaptarea apare atunci când modelul dvs. este prea simplu pentru a învăța structura subiacentă a datelor.

Un model liniar de satisfacție a vieții este predispus la subadaptare, realitatea este pur și simplu mai complexă decât modelul, astfel încât predicțiile sale vor fi cu siguranță inexacte.

Iată principalele opțiuni pentru rezolvarea acestei probleme-

  • Selectați un model mai puternic, cu mai mulți parametri.
  • Alimentați cu caracteristici mai bune algoritmul de învățare (inginerie a caracteristicilor).
  • Reduceți constrângerile asupra modelului (de ex, reduceți hiperparametrul de regularizare).

Citește în continuare- Testarea și validarea unui model învățat

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.