Ce este Overfitting (supraînvățare)?

Situația în care un model memorează datele de antrenare, cu tot cu zgomot, și apoi greșește pe date noi.

Denumire completă

Overfitting – supraînvățare (supraadaptare la datele de antrenare)

Ce înseamnă Overfitting (supraînvățare)

Overfitting (în română „supraînvățare” sau „supraadaptare”) apare când un model învață prea bine exemplele de antrenare, inclusiv detaliile întâmplătoare și erorile din ele, în loc să învețe regula generală. Rezultatul: pe datele cunoscute pare excelent, dar pe date noi se descurcă mult mai prost.

Este una dintre cele mai frecvente probleme din machine learning și motivul pentru care un model nu se evaluează niciodată doar pe datele pe care a fost antrenat.

Cum funcționează

Cauzele obișnuite sunt: prea puține date, un model prea complex pentru problemă (prea mulți parametri) și antrenare prea lungă. Semnul clasic: pierderea pe datele de antrenare continuă să scadă, dar pierderea pe setul de validare se oprește din scădere și începe să crească.

Remediile: mai multe date (sau augmentarea lor), un model mai simplu, regularizare, dropout și oprirea timpurie a antrenării (early stopping).

Pe înțelesul tuturor

Un elev învață pe de rost răspunsurile de la testele din anii trecuți. La aceleași întrebări ia 10, dar când profesorul schimbă puțin cifrele, nu mai știe ce să facă. A memorat răspunsuri, nu a înțeles metoda.

Exemplu

Un model care recunoaște boli ale frunzelor de viță-de-vie are 99% acuratețe pe pozele de antrenare, dar doar 70% pe poze noi. Analiza arată că aproape toate pozele cu frunze bolnave fuseseră făcute pe aceeași masă albă, iar modelul învățase, de fapt, să recunoască masa. Diferența mare dintre 99% și 70% este semnalul de overfitting.

De reținut

  • Overfitting = rezultate foarte bune pe datele de antrenare, slabe pe date noi.
  • Se depistează comparând performanța pe antrenare cu cea pe setul de validare.
  • Mai multe date variate sunt de obicei cel mai bun remediu.

Nu confunda

  • Overfitting vs. underfitting: overfitting înseamnă că modelul a învățat prea mult din detalii; underfitting înseamnă că n-a învățat destul nici măcar din datele de antrenare.

Termeni înrudiți

  • Underfitting: Situația în care un model este prea simplu sau prea puțin antrenat și nu prinde tiparele din date, greșind și pe datele cunoscute.
  • Regularizare: Familie de tehnici care împiedică un model să devină prea complicat, ca să nu memoreze datele de antrenare (overfitting).
  • Dropout: Tehnică de regularizare care oprește la întâmplare o parte din neuroni la fiecare pas de antrenare, ca rețeaua să nu depindă de câțiva dintre ei.
  • Set de validare și set de test: Părți din date păstrate deoparte: setul de validare ajută la reglarea modelului, iar setul de test dă verdictul final pe date nevăzute.
  • Augmentarea datelor: Tehnica de a crea variante noi ale exemplelor existente (rotiri, decupări, zgomot) ca modelul să învețe din mai multe date.