Ce este Underfitting în Machine Learning?
Publicat: 2024-10-16Underfitting este o problemă comună întâlnită în timpul dezvoltării modelelor de învățare automată (ML). Apare atunci când un model nu poate învăța în mod eficient din datele de antrenament, ceea ce duce la o performanță inferioară. În acest articol, vom explora ce este underfitting, cum se întâmplă și strategiile pentru a o evita.
Cuprins
- Ce este underfitting?
- Cum apare subadaptarea
- Underfitting vs. supraadaptare
- Cauze comune ale subajustării
- Cum să detectați subadaptarea
- Tehnici de prevenire a montajului insuficient
- Exemple practice de underfitting
Ce este underfitting?
Underfitting este atunci când un model de învățare automată nu reușește să capteze modelele de bază din datele de antrenament, ceea ce duce la o performanță slabă atât a datelor de antrenament, cât și a datelor de testare. Când se întâmplă acest lucru înseamnă că modelul este prea simplu și nu face o treabă bună de a reprezenta cele mai importante relații ale datelor. Drept urmare, modelul se străduiește să facă predicții precise pentru toate datele, atât datele văzute în timpul antrenamentului, cât și orice date noi, nevăzute.
Cum se întâmplă underfitting?
Underfitting apare atunci când un algoritm de învățare automată produce un model care nu reușește să capteze cele mai importante proprietăți ale datelor de antrenament; modelele care eșuează în acest fel sunt considerate a fi prea simple. De exemplu, imaginați-vă că utilizați regresia liniară pentru a estima vânzările pe baza cheltuielilor de marketing, a datelor demografice ale clienților și a sezonului. Regresia liniară presupune că relația dintre acești factori și vânzări poate fi reprezentată ca un amestec de linii drepte.
Deși relația reală dintre cheltuielile de marketing și vânzări poate fi curbată sau poate include interacțiuni multiple (de exemplu, vânzările crescând rapid la început, apoi în plateau), modelul liniar se va simplifica excesiv prin trasarea unei linii drepte. Această simplificare ratează nuanțe importante, ceea ce duce la previziuni slabe și la performanță generală.
Această problemă este obișnuită în multe modele ML, unde prejudecățile mari (ipotezele rigide) împiedică modelul să învețe modele esențiale, determinându-l să funcționeze slab atât pe datele de instruire, cât și pe cele de testare. Încălcarea este de obicei observată atunci când modelul este prea simplu pentru a reprezenta adevărata complexitate a datelor.
Underfitting vs. supraadaptare
În ML, subadaptarea și supraadaptarea sunt probleme comune care pot afecta negativ capacitatea unui model de a face predicții precise. Înțelegerea diferenței dintre cele două este crucială pentru construirea de modele care se generalizează bine la date noi.
- Subfittingapare atunci când un model este prea simplu și nu reușește să capteze modelele cheie din date. Acest lucru duce la predicții inexacte atât pentru datele de antrenament, cât și pentru datele noi.
- Supraadaptareaare loc atunci când un model devine excesiv de complex, potrivindu-se nu numai cu modelele adevărate, ci și cu zgomotul din datele de antrenament. Acest lucru face ca modelul să funcționeze bine pe setul de antrenament, dar slab pe date noi, nevăzute.
Pentru a ilustra mai bine aceste concepte, luați în considerare un model care prezice performanța atletică pe baza nivelului de stres. Punctele albastre din diagramă reprezintă punctele de date din setul de antrenament, în timp ce liniile arată predicțiile modelului după ce a fost antrenat pe acele date.
1 Underfitting:În acest caz, modelul folosește o linie dreaptă simplă pentru a prezice performanța, chiar dacă relația reală este curbă. Deoarece linia nu se potrivește bine cu datele, modelul este prea simplu și nu reușește să capteze modele importante, ceea ce duce la predicții slabe. Acest lucru este insuficient, în cazul în care modelul nu reușește să învețe cele mai utile proprietăți ale datelor.
2 Potrivire optimă:aici, modelul se potrivește suficient de adecvat curbei datelor. Captează tendința de bază fără a fi prea sensibil la anumite puncte de date sau zgomot. Acesta este scenariul dorit, în care modelul se generalizează rezonabil de bine și poate face predicții precise pe date similare, noi. Cu toate acestea, generalizarea poate fi încă o provocare atunci când se confruntă cu seturi de date mult diferite sau mai complexe.
3 Supraadaptare:În scenariul supraadaptarii, modelul urmărește îndeaproape aproape fiecare punct de date, inclusiv zgomotul și fluctuațiile aleatorii ale datelor de antrenament. În timp ce modelul funcționează extrem de bine pe setul de antrenament, este prea specific pentru datele de antrenament și, prin urmare, va fi mai puțin eficient atunci când prezice date noi. Se străduiește să generalizeze și probabil va face predicții inexacte atunci când este aplicat unor scenarii nevăzute.
Cauze comune ale subajustării
Există multe cauze potențiale ale subajustării. Cele mai frecvente patru sunt:
- Arhitectura modelului este prea simplă.
- Selectare slabă a caracteristicilor
- Date insuficiente de antrenament
- Nu este suficient antrenament
Să cercetăm un pic în acestea pentru a le înțelege.
Arhitectura modelului este prea simplă
Arhitectura modelului se referă la combinația dintre algoritmul utilizat pentru a antrena modelul și structura modelului. Dacă arhitectura este prea simplă, ar putea avea probleme la captarea proprietăților de nivel înalt ale datelor de antrenament, ceea ce duce la predicții inexacte.
De exemplu, dacă un model încearcă să folosească o singură linie dreaptă pentru a modela date care urmează un model curbat, acesta se va adapta în mod constant. Acest lucru se datorează faptului că o linie dreaptă nu poate reprezenta cu exactitate relația de nivel înalt în datele curbe, ceea ce face ca arhitectura modelului să fie inadecvată pentru sarcină.
Selectare slabă a caracteristicilor
Selectarea caracteristicilor implică alegerea variabilelor potrivite pentru modelul ML în timpul antrenamentului. De exemplu, ați putea cere unui algoritm ML să se uite la anul nașterii, culoarea ochilor, vârsta sau toate trei ale unei persoane atunci când preziceți dacă o persoană va apăsa butonul de cumpărare de pe un site de comerț electronic.
Dacă există prea multe caracteristici sau caracteristicile selectate nu se corelează puternic cu variabila țintă, modelul nu va avea suficiente informații relevante pentru a face predicții precise. Culoarea ochilor ar putea fi irelevantă pentru conversie, iar vârsta captează o mare parte din aceleași informații ca și anul nașterii.
Date insuficiente de antrenament
Când există prea puține puncte de date, modelul poate să nu se potrivească deoarece datele nu surprind cele mai importante proprietăți ale problemei. Acest lucru se poate întâmpla fie din cauza lipsei de date, fie din cauza părtinirii eșantionării, în care anumite surse de date sunt excluse sau subreprezentate, împiedicând modelul să învețe modele importante.
Nu este suficient antrenament
Antrenarea unui model ML implică ajustarea parametrilor interni (ponderi) pe baza diferenței dintre predicțiile sale și rezultatele reale. Cu cât modelul este supus mai multor iterații de antrenament, cu atât se poate ajusta mai bine pentru a se potrivi cu datele. Dacă modelul este antrenat cu prea puține iterații, este posibil să nu aibă suficiente oportunități de a învăța din date, ceea ce duce la o adaptare insuficientă.
Cum să detectați subadaptarea
O modalitate de a detecta subadaptarea este prin analiza curbelor de învățare, care grafică performanța modelului (de obicei, pierderea sau eroarea) în funcție de numărul de iterații de antrenament. O curbă de învățare arată modul în care modelul se îmbunătățește (sau nu reușește să se îmbunătățească) în timp atât pe seturile de date de instruire, cât și pe cele de validare.
Pierderea este mărimea erorii modelului pentru un anumit set de date. Pierderea antrenamentului măsoară acest lucru pentru datele de antrenament și pierderea de validare pentru datele de validare. Datele de validare sunt un set de date separat utilizat pentru a testa performanța modelului. De obicei, este produs prin împărțirea aleatorie a unui set de date mai mare în date de instruire și validare.
În cazul subajustării, veți observa următoarele modele cheie:
- Pierdere de antrenament mare:dacă pierderea de antrenament a modelului rămâne mare și este netedă la începutul procesului, sugerează că modelul nu învață din datele de antrenament. Acesta este un semn clar de subadaptare, deoarece modelul este prea simplu pentru a se adapta la complexitatea datelor.
- Pierderea de formare și validare similară:dacă atât pierderea de instruire, cât și pierderea de validare sunt mari și rămân aproape una de alta pe tot parcursul procesului de instruire, înseamnă că modelul are performanțe slabe pe ambele seturi de date. Acest lucru indică faptul că modelul nu captează suficiente informații din date pentru a face predicții precise, ceea ce indică o subadaptare.
Mai jos este un exemplu de diagramă care arată curbele de învățare într-un scenariu nepotrivit:
În această reprezentare vizuală, underfitting este ușor de observat:
- Într-un model care se potrivește bine, pierderea de antrenament scade semnificativ, în timp ce pierderea de validare urmează un model similar, stabilizându-se în cele din urmă.
- Într-un model insuficient echipat, atât pierderile de formare, cât și de validare încep la nivel ridicat și rămân ridicate, fără nicio îmbunătățire semnificativă.
Prin respectarea acestor tendințe, puteți identifica rapid dacă modelul este prea simplist și necesită ajustări pentru a crește complexitatea acestuia.
Tehnici de prevenire a montajului insuficient
Dacă întâmpinați o adaptare insuficientă, există mai multe strategii pe care le puteți folosi pentru a îmbunătăți performanța modelului:
- Mai multe date de antrenament:dacă este posibil, obțineți date de antrenament suplimentare. Mai multe date oferă modelului oportunități suplimentare de a învăța modele, cu condiția ca datele să fie de înaltă calitate și relevante pentru problema în cauză.
- Extindeți selecția caracteristicilor:adăugați la model caracteristici care sunt mai relevante. Alegeți caracteristici care au o relație puternică cu variabila țintă, oferind modelului o șansă mai bună de a surprinde modele importante care au fost omise anterior.
- Creșteți puterea arhitecturală:în modelele bazate pe rețele neuronale, puteți ajusta structura arhitecturală prin modificarea numărului de greutăți, straturi sau alți hiperparametri. Acest lucru poate permite modelului să fie mai flexibil și să găsească mai ușor modelele de nivel înalt în date.
- Alegeți un model diferit:Uneori, chiar și după reglarea hiperparametrilor, este posibil ca un anumit model să nu fie potrivit sarcinii. Testarea mai multor algoritmi de model poate ajuta la găsirea unui model mai adecvat și la îmbunătățirea performanței.
Exemple practice de underfitting
Pentru a ilustra efectele subajustării, să ne uităm la exemple din lumea reală în diferite domenii în care modelele nu reușesc să capteze complexitatea datelor, ceea ce duce la predicții inexacte.
Previziunea prețurilor caselor
Pentru a prezice cu exactitate prețul unei case, trebuie să luați în considerare mulți factori, inclusiv locația, dimensiunea, tipul casei, starea și numărul de dormitoare.
Dacă utilizați prea puține caracteristici, cum ar fi doar dimensiunea și tipul casei, modelul nu va avea acces la informații critice. De exemplu, modelul ar putea presupune că o garsonieră mică este ieftină, fără să știe că este situată în Mayfair, Londra, o zonă cu prețuri ridicate la proprietăți. Acest lucru duce la previziuni slabe.
Pentru a rezolva acest lucru, oamenii de știință de date trebuie să asigure selecția adecvată a caracteristicilor. Aceasta implică includerea tuturor funcțiilor relevante, excluderea celor irelevante și utilizarea datelor de antrenament precise.
Recunoașterea vorbirii
Tehnologia de recunoaștere a vocii a devenit din ce în ce mai comună în viața de zi cu zi. De exemplu, asistenții pentru smartphone-uri, liniile de asistență pentru clienți și tehnologia de asistență pentru dizabilități folosesc toate recunoașterea vorbirii. La antrenamentul acestor modele, sunt folosite date din mostrele de vorbire și interpretările corecte ale acestora.
Pentru a recunoaște vorbirea, modelul transformă undele sonore capturate de un microfon în date. Dacă simplificăm acest lucru furnizând doar frecvența dominantă și volumul vocii la intervale specifice, reducem cantitatea de date pe care modelul trebuie să le proceseze.
Cu toate acestea, această abordare elimină informațiile esențiale necesare pentru a înțelege pe deplin discursul. Datele devin prea simpliste pentru a surprinde complexitatea vorbirii umane, cum ar fi variațiile de ton, înălțime și accent.
Ca urmare, modelul se va adapta insuficient, luptându-se să recunoască chiar și comenzile de bază ale cuvintelor, cu atât mai puțin propoziții complete. Chiar dacă modelul este suficient de complex, lipsa datelor cuprinzătoare duce la subadaptare.
Clasificarea imaginilor
Un clasificator de imagini este proiectat să ia o imagine ca intrare și să iasă un cuvânt pentru a o descrie. Să presupunem că construiți un model pentru a detecta dacă o imagine conține sau nu o minge. Antrenați modelul folosind imagini etichetate cu mingi și alte obiecte.
Dacă utilizați din greșeală o rețea neuronală simplă cu două straturi în loc de un model mai potrivit, cum ar fi o rețea neuronală convoluțională (CNN), modelul va avea probleme. Rețeaua cu două straturi aplatizează imaginea într-un singur strat, pierzând informații spațiale importante. În plus, cu doar două straturi, modelului îi lipsește capacitatea de a identifica caracteristici complexe.
Acest lucru duce la subadaptare, deoarece modelul nu va reuși să facă predicții precise, chiar și pe baza datelor de antrenament. CNN-urile rezolvă această problemă păstrând structura spațială a imaginilor și utilizând straturi convoluționale cu filtre care învață automat să detecteze caracteristici importante, cum ar fi marginile și formele în straturile incipiente și obiecte mai complexe în straturile ulterioare.