Ultima actualizare la 6 august 2019

O curbă de învățare este un complot al performanței de învățare model pe parcursul experienței sau al timpului.

Curbele de învățare sunt un instrument de diagnostic utilizat pe scară largă în învățarea automată pentru algoritmi care învață în mod incremental dintr-un set de date de antrenament. Modelul poate fi evaluat pe setul de date de antrenament și pe un set de date de validare extindere după fiecare actualizare în timpul antrenamentului și graficele de performanță măsurate pot fi create pentru a arăta curbele de învățare.

Revizuirea curbelor de învățare a modelelor în timpul antrenamentului poate fi utilizată pentru a diagnostica problemele legate de învățare, cum ar fi un model de îmbrăcăminte sau de îmbrăcăminte, precum și dacă seturile de date de formare și validare sunt reprezentative în mod corespunzător.

În această postare, veți descoperi curbele de învățare și cum pot fi utilizate pentru a diagnostica comportamentul de învățare și generalizare a modelelor de învățare automată, cu exemple de comploturi care arată probleme comune de învățare.

După ce citiți această postare, veți ști:

  • Curbele de învățare sunt comploturi care arată schimbări ale performanței învățării în timp în ceea ce privește experiența.
  • Curbele de învățare ale performanței modelului pe tren și seturile de date de validare pot fi folosite pentru a diagnostica un model subconjurat, overfit sau potrivit.
  • Curbele de învățare ale modelului de performanță pot fi utilizate pentru a diagnostica dacă trenul sau seturile de date de validare nu sunt relativ reprezentative pentru domeniul problemei.

Lansați proiectul cu noua mea carte Better Deep Learning, inclusiv tutoriale pas cu pas și fișierele de cod sursă Python pentru toate exemplele.

Să începem.

învățare

O introducere ușoară a curbelor de învățare pentru diagnosticarea performanței modelului de învățare profundă
Fotografie de Mike Sutherland, unele drepturi rezervate.

Prezentare generală

Acest tutorial este împărțit în trei părți; sunt:

  1. Curbele de învățare
  2. Diagnosticarea comportamentului modelului
  3. Diagnosticarea seturilor de date nereprezentative

Curbele de învățare în învățarea automată

În general, o curbă de învățare este un grafic care arată timpul sau experiența pe axa x și învățarea sau îmbunătățirea pe axa y.

Curbele de învățare (LC) sunt considerate instrumente eficiente pentru monitorizarea performanței lucrătorilor expuși unei noi sarcini. LC-urile oferă o reprezentare matematică a procesului de învățare care are loc pe măsură ce se repetă sarcina.

De exemplu, dacă învățați un instrument muzical, abilitatea dvs. pe instrument ar putea fi evaluată și i se va atribui un scor numeric în fiecare săptămână timp de un an. Un grafic al scorurilor pe parcursul celor 52 de săptămâni este o curbă de învățare și ar arăta cum s-a schimbat învățarea instrumentului în timp.

  • Curbă de învățare: Linie de învățare (axa y) peste experiență (axa x).

Curbele de învățare sunt utilizate pe scară largă în învățarea automată pentru algoritmi care învață (își optimizează parametrii interni) în mod incremental în timp, cum ar fi rețelele neuronale de învățare profundă.

Metrica utilizată pentru a evalua învățarea ar putea fi maximizată, ceea ce înseamnă că scoruri mai bune (numere mai mari) indică mai multă învățare. Un exemplu ar fi acuratețea clasificării.

Este mai frecvent să folosiți un scor minimizant, cum ar fi pierderea sau eroarea, prin care scoruri mai bune (numere mai mici) indică mai multă învățare și o valoare de 0,0 indică faptul că setul de date de antrenament a fost învățat perfect și nu au fost făcute greșeli.

În timpul instruirii unui model de învățare automată, starea actuală a modelului la fiecare etapă a algoritmului de instruire poate fi evaluată. Poate fi evaluat pe setul de date de instruire pentru a da o idee despre cât de bine „învață” modelul. De asemenea, poate fi evaluat pe un set de date de validare care nu face parte din setul de date de instruire. Evaluarea setului de date de validare oferă o idee despre cât de bine „generalizează” modelul.

  • Curba de învățare a trenului: Curba de învățare calculată din setul de date de antrenament care oferă o idee despre cât de bine învață modelul.
  • Curba de învățare prin validare: Curba de învățare calculată dintr-un set de date de validare de rezistență care oferă o idee despre cât de bine se generalizează modelul.

Este obișnuit să se creeze curbe de învățare duale pentru un model de învățare automată în timpul antrenamentului atât pentru seturile de date de formare, cât și de validare.

În unele cazuri, este, de asemenea, obișnuit să se creeze curbe de învățare pentru metrici multiple, cum ar fi în cazul problemelor de modelare predictivă a clasificării, în care modelul poate fi optimizat în funcție de pierderea de entropie încrucișată și performanța modelului este evaluată folosind precizia clasificării. În acest caz, sunt create două grafice, una pentru curbele de învățare ale fiecărei valori și fiecare diagramă poate afișa două curbe de învățare, una pentru fiecare dintre tren și seturi de date de validare.

  • Curbele de învățare de optimizare: Curbele de învățare calculate pe metrica prin care parametrii modelului sunt optimizați, de ex. pierderi.
  • Curbele de învățare a performanței: Curbele de învățare calculate pe metrica prin care modelul va fi evaluat și selectat, de ex. precizie.

Acum, că suntem familiarizați cu utilizarea curbelor de învățare în învățarea automată, să analizăm câteva forme comune observate în diagramele curbelor de învățare.

Vrei rezultate mai bune cu Deep Learning?

Urmează acum cursul meu gratuit de 7 zile pentru e-mail (cu un exemplu de cod).

Faceți clic pentru a vă înscrie și pentru a obține, de asemenea, o versiune PDF Ebook gratuită a cursului.

Diagnosticarea comportamentului modelului

Forma și dinamica unei curbe de învățare pot fi utilizate pentru a diagnostica comportamentul unui model de învățare automată și, la rândul său, poate sugera la tipul de configurație modificări care pot fi făcute pentru a îmbunătăți învățarea și/sau performanța.

Există trei dinamici comune pe care este probabil să le observați în curbele de învățare; sunt:

  • Underfit.
  • Supraviețuire.
  • Potrivit.

Ne vom uita mai atent la fiecare cu exemple. Exemplele vor presupune că ne uităm la o valoare minimă, ceea ce înseamnă că scoruri relative mai mici pe axa y indică o învățare mai bună sau mai bună.

Curbele de învățare pentru underfit

Underfitting se referă la un model care nu poate învăța setul de date de antrenament.

Montarea insuficientă apare atunci când modelul nu este capabil să obțină o valoare de eroare suficient de mică pe setul de antrenament.

Un model de underfit poate fi identificat numai din curba de învățare a pierderii de antrenament.

Poate arăta o linie plană sau valori zgomotoase ale pierderilor relativ mari, indicând faptul că modelul nu a reușit să învețe deloc setul de date de antrenament.

Un exemplu în acest sens este furnizat mai jos și este comun atunci când modelul nu are o capacitate adecvată pentru complexitatea setului de date.

Exemplu de curbă de învățare a antrenamentului, care arată un model de îmbrăcăminte care nu are o capacitate suficientă

Un model de underfit poate fi, de asemenea, identificat printr-o pierdere de antrenament care scade și continuă să scadă la sfârșitul parcelei.

Acest lucru indică faptul că modelul este capabil să învețe în continuare și posibilele îmbunătățiri suplimentare și că procesul de instruire a fost oprit prematur.

Exemplu de curbă de învățare a antrenamentului care prezintă un model de îmbrăcăminte care necesită instruire suplimentară

Un complot de curbe de învățare arată o inadecvare dacă:

  • Pierderea de antrenament rămâne netă, indiferent de antrenament.
  • Pierderea antrenamentului continuă să scadă până la sfârșitul antrenamentului.

Curbele de învățare pentru overfit

Suprapunerea se referă la un model care a învățat prea bine setul de date de antrenament, inclusiv zgomotul statistic sau fluctuațiile aleatorii din setul de date de antrenament.

… Montarea unui model mai flexibil necesită estimarea unui număr mai mare de parametri. Aceste modele mai complexe pot duce la un fenomen cunoscut sub denumirea de supradaptare a datelor, ceea ce înseamnă în esență că urmăresc prea atent erorile sau zgomotul.

Problema cu supraadaptarea este că, cu cât modelul devine mai specializat în datele de instruire, cu atât este mai puțin capabil să generalizeze datele noi, rezultând o creștere a erorii de generalizare. Această creștere a erorii de generalizare poate fi măsurată prin performanța modelului pe setul de date de validare.

Acesta este un exemplu de supradaptare a datelor, [[]. Este o situație nedorită, deoarece potrivirea obținută nu va produce estimări exacte ale răspunsului la observațiile noi care nu au făcut parte din setul de date de antrenament original.

Acest lucru se întâmplă adesea dacă modelul are o capacitate mai mare decât este necesară pentru problemă și, la rândul său, o flexibilitate prea mare. Poate apărea și dacă modelul este antrenat prea mult timp.

Un complot de curbe de învățare arată supradaptarea dacă:

  • Complotul pierderii antrenamentului continuă să scadă odată cu experiența.
  • Graficul pierderii de validare scade până la un punct și începe să crească din nou.

Punctul de inflexiune în pierderea validării poate fi punctul în care antrenamentul ar putea fi oprit, deoarece experiența după acel punct arată dinamica supra-montării.

Exemplul de complot de mai jos demonstrează un caz de supra-dotare.

Exemplu de curbe de învățare cu trenul și validare care prezintă un model de overfit

Curbele de învățare potrivite

O potrivire bună este scopul algoritmului de învățare și există între un model de overfit și underfit.

O potrivire bună este identificată printr-o pierdere de antrenament și validare care scade până la un punct de stabilitate, cu un decalaj minim între cele două valori finale ale pierderii.

Pierderea modelului va fi aproape întotdeauna mai mică în setul de date de antrenament decât setul de date de validare. Aceasta înseamnă că ar trebui să ne așteptăm la o anumită diferență între trenul și curbele de învățare ale pierderii prin validare. Acest decalaj este denumit „decalaj de generalizare”.

Un complot de curbe de învățare arată o potrivire bună dacă:

  • Parcela pierderii antrenamentului scade până la un punct de stabilitate.
  • Graficul pierderii prin validare scade până la un punct de stabilitate și are un mic decalaj cu pierderea antrenamentului.

Antrenamentul continuu al unei potriviri bune va duce probabil la un overfit.

Exemplul de complot de mai jos demonstrează un caz de potrivire bună.

Exemplu de curbe de învățare cu tren și validare care arată o potrivire bună

Diagnosticarea seturilor de date nereprezentative

Curbele de învățare pot fi, de asemenea, utilizate pentru a diagnostica proprietățile unui set de date și dacă acesta este relativ reprezentativ.

Un set de date nereprezentativ înseamnă un set de date care nu poate captura caracteristicile statistice în raport cu alt set de date extrase din același domeniu, cum ar fi între un tren și un set de date de validare. Acest lucru se poate întâmpla în mod obișnuit dacă numărul eșantioanelor dintr-un set de date este prea mic, în raport cu un alt set de date.

Există două cazuri comune care ar putea fi observate; sunt:

  • Setul de date de instruire este relativ nereprezentativ.
  • Setul de date de validare este relativ nereprezentativ.

Set de date de tren nereprezentativ

Un set de date de antrenament nereprezentativ înseamnă că setul de date de antrenament nu oferă suficiente informații pentru a afla problema, în raport cu setul de date de validare utilizat pentru evaluarea acestuia.

Acest lucru se poate întâmpla dacă setul de date de instruire are prea puține exemple în comparație cu setul de date de validare.

Această situație poate fi identificată printr-o curbă de învățare pentru pierderea antrenamentului care arată o îmbunătățire și în mod similar o curbă de învățare pentru pierderea de validare care arată o îmbunătățire, dar rămâne un decalaj mare între ambele curbe.

Exemplu de curbe de învățare cu trenul și validarea care arată un set de date de antrenament care poate fi prea mic în raport cu setul de date de validare

Set de date de validare nereprezentativă

Un set de date de validare nereprezentativ înseamnă că setul de date de validare nu oferă suficiente informații pentru a evalua capacitatea modelului de a generaliza.

Acest lucru se poate întâmpla dacă setul de date de validare are prea puține exemple în comparație cu setul de date de antrenament.

Acest caz poate fi identificat printr-o curbă de învățare pentru pierderea antrenamentului care arată ca o potrivire bună (sau alte crize) și o curbă de învățare pentru pierderea de validare care arată mișcări zgomotoase în jurul pierderii de antrenament.

Exemplu de curbe de învățare pentru tren și validare care arată un set de date de validare care poate fi prea mic în raport cu setul de date de instruire

De asemenea, poate fi identificat printr-o pierdere de validare care este mai mică decât pierderea de antrenament. În acest caz, indică faptul că setul de date de validare poate fi mai ușor de prezis pentru model decât setul de date de antrenament.

Exemplu de curbe de învățare pentru tren și validare care arată un set de date de validare care este mai ușor de prezis decât setul de date de instruire

Lecturi suplimentare

Această secțiune oferă mai multe resurse pe această temă dacă doriți să aprofundați.

Cărți

Hârtii

Postări

Articole

rezumat

În această postare, ați descoperit curbele de învățare și cum pot fi utilizate pentru a diagnostica comportamentul de învățare și generalizare a modelelor de învățare automată.

Mai exact, ați învățat:

  • Curbele de învățare sunt comploturi care arată schimbări ale performanței învățării în timp în ceea ce privește experiența.
  • Curbele de învățare ale performanței modelului pe tren și seturile de date de validare pot fi folosite pentru a diagnostica un model subconjurat, overfit sau potrivit.
  • Curbele de învățare ale modelului de performanță pot fi utilizate pentru a diagnostica dacă trenul sau seturile de date de validare nu sunt relativ reprezentative pentru domeniul problemei.

Aveti vreo intrebare?
Puneți întrebările dvs. în comentariile de mai jos și voi face tot posibilul pentru a răspunde.

Dezvoltați astăzi modele de învățare profundă mai bune!

Antrenați-vă mai repede, reduceți supratensiunea și ansamblurile

. cu doar câteva linii de cod python

Descoperiți cum în noua mea carte electronică:
O mai bună învățare profundă

Oferă tutoriale de auto-studiu pe subiecte precum:
descompunerea greutății, normalizarea lotului, abandonul, stivuirea modelelor și multe altele.