What is a training data set?

Seturi de Date: Fundamentul Antrenamentului AI

04/04/2022

Rating: 4.18 (13692 votes)

În era digitală, inteligența artificială (AI) transformă rapid modul în care interacționăm cu tehnologia, de la asistenți vocali la mașini autonome. Însă, pentru ca aceste sisteme să devină "inteligente", ele au nevoie de un ingredient fundamental: datele. La fel cum un atlet are nevoie de antrenament constant și bine structurat pentru a-și îmbunătăți performanța, un model de inteligență artificială necesită seturi de date specifice pentru a "învăța" și a funcționa corect. Aceste seturi de date nu sunt doar o colecție aleatorie de informații, ci sunt împărțite strategic în categorii distincte, fiecare având un rol crucial în procesul complex de dezvoltare și evaluare a unui model AI. De la învățarea inițială până la rafinarea fină și testarea finală, înțelegerea modului în care aceste seturi de date interacționează este esențială pentru a construi sisteme AI robuste și fiabile.

What are the prerequisites for a data analytics degree?
Prerequisite: This program is designed to follow the foundational Data Analytics Certificate or similar experience. Developed by the University of Illinois’ Gies College of Business and hosted on Coursera, this fully online program provides the skills you need to find entry-level jobs in careers involving financial analysis.
Cuprins

Ce Este un Set de Date de Antrenament?

Un set de date de antrenament este piatra de temelie a oricărui proces de învățare automată. Acesta este un set de exemple utilizate în timpul procesului de învățare, având rolul de a ajusta parametrii (cum ar fi ponderile) unui model, de exemplu, al unui clasificator. Gândiți-vă la el ca la manualul complet de studiu pe care un elev îl folosește pentru a învăța o materie. În cazul sarcinilor de clasificare, un algoritm de învățare supervizată examinează setul de date de antrenament pentru a determina, sau a învăța, combinațiile optime de variabile care vor genera un model predictiv bun. Scopul principal este de a produce un model antrenat (ajustat) care să generalizeze bine la date noi, necunoscute, adică să poată face predicții precise pe informații pe care nu le-a mai văzut înainte. Dacă modelul învață prea bine detaliile specifice setului de antrenament, inclusiv "zgomotul" sau particularitățile irelevante, acesta poate suferi de supra-antrenare (overfitting), un fenomen în care performanța sa pe date noi scade drastic. Pentru a reduce riscul de supra-antrenare, exemplele din seturile de validare și test nu ar trebui folosite niciodată pentru a antrena modelul. Când un set de antrenament este extins continuu cu date noi, vorbim despre învățare incrementală, permițând modelului să se adapteze și să-și îmbunătățească performanța în timp real.

Exemplu Simplificat: Detectarea Obiectelor

Pentru a înțelege mai bine cum funcționează antrenamentul, să luăm un exemplu simplificat din detectarea obiectelor. Imaginați-vă că antrenați o rețea neuronală să identifice stele de mare și arici de mare în imagini. Rețeaua este antrenată cu multiple imagini care, se știe, conțin stele de mare și arici de mare. Aceste imagini sunt corelate cu "noduri" care reprezintă caracteristici vizuale. De exemplu, stelele de mare s-ar potrivi cu o textură inelară și un contur de stea, în timp ce majoritatea aricilor de mare s-ar potrivi cu o textură dungată și o formă ovală.

Totuși, să presupunem că există o imagine rară a unui arici de mare cu o textură inelară. Această instanță creează o asociere slab ponderată între textura inelară și ariciul de mare. Atunci când rețeaua este rulată ulterior pe o imagine de intrare (să spunem, o imagine nouă cu o stea de mare), ea detectează corect steaua de mare. Însă, din cauza asocierii slab ponderate dintre textura inelară și ariciul de mare, se conferă un semnal slab și către ariciul de mare, printr-unul dintre nodurile intermediare. În plus, dacă în imaginea nouă apare o scoică care nu a fost inclusă în antrenament, aceasta ar putea da un semnal slab pentru forma ovală, rezultând, de asemenea, un semnal slab pentru ieșirea "arici de mare". Aceste semnale slabe pot duce la un rezultat fals pozitiv pentru ariciul de mare, chiar dacă nu există unul în imagine.

În realitate, texturile și contururile nu ar fi reprezentate de noduri unice, ci de modele de ponderi asociate ale mai multor noduri, ceea ce face procesul mult mai complex și robust. Acest exemplu subliniază importanța unui set de antrenament diversificat și reprezentativ, care să includă cât mai multe variații și excepții posibile, pentru a minimiza erorile și semnalele false.

Setul de Date de Validare: Rafinarea Modelului

Un set de date de validare este un set de exemple utilizat pentru a regla hiperparametrii (adică arhitectura) unui model. Este uneori numit și set de dezvoltare sau "dev set". Un exemplu de hiperparametru pentru rețelele neuronale artificiale include numărul de unități ascunse în fiecare strat. Spre deosebire de setul de antrenament care ajustează ponderile interne ale modelului, setul de validare ajută la "acordarea fină" a structurii generale a modelului. Atât setul de validare, cât și setul de test (menționat mai jos) ar trebui să urmeze aceeași distribuție de probabilitate ca și setul de date de antrenament pentru a asigura relevanța. Pentru a evita supra-antrenarea și pentru a selecta cel mai potrivit clasificator pentru o problemă dată, este necesar să avem un set de date de validare, pe lângă seturile de antrenament și test. De exemplu, setul de antrenament este folosit pentru a antrena diferiți clasificatori candidați, setul de date de validare este utilizat pentru a compara performanțele acestora și a decide care dintre ei este cel mai bun, iar, în final, setul de date de test este utilizat pentru a obține caracteristicile de performanță finale, cum ar fi precizia, sensibilitatea, specificitatea, scorul F, etc.

Setul de date de validare funcționează ca un hibrid: este un set de date de antrenament folosit pentru testare, dar nici ca parte a antrenamentului de nivel scăzut, nici ca parte a testării finale. Procesul de bază de utilizare a unui set de date de validare pentru selecția modelului implică antrenarea diferitelor rețele prin minimizarea unei funcții de eroare adecvate definită în raport cu un set de date de antrenament. Performanța rețelelor este apoi comparată prin evaluarea funcției de eroare utilizând un set de validare independent, iar rețeaua cu cea mai mică eroare în raport cu setul de validare este selectată. Această abordare este denumită metoda de "hold-out". O aplicație practică a acestui proces este "oprirea timpurie" (early stopping), unde modelele candidate sunt iterații succesive ale aceleiași rețele, iar antrenamentul se oprește atunci când eroarea pe setul de validare începe să crească, alegând modelul anterior (cel cu eroarea minimă).

Setul de Date de Test: Evaluarea Finală

Un set de date de test este un set de date care este independent de setul de date de antrenament și de validare, dar care urmează aceeași distribuție de probabilitate ca și acestea. Dacă un model ajustat la setul de date de antrenament se potrivește bine și setului de date de test, înseamnă că a avut loc o supra-antrenare minimă. O potrivire semnificativ mai bună a setului de date de antrenament, comparativ cu setul de date de test, indică de obicei supra-antrenare severă. Prin urmare, un set de test este un set de exemple utilizat exclusiv pentru a evalua performanța (adică generalizarea) unui clasificator complet specificat. Pentru a face acest lucru, modelul final este utilizat pentru a prezice clasificările exemplelor din setul de test. Aceste predicții sunt apoi comparate cu clasificările reale ale exemplelor pentru a evalua precizia modelului.

Într-un scenariu în care sunt utilizate atât seturi de date de validare, cât și de test, setul de date de test este utilizat de obicei pentru a evalua modelul final care a fost selectat în timpul procesului de validare. În cazul în care setul de date original este împărțit în doar două subseturi (seturi de antrenament și test), setul de date de test ar putea evalua modelul o singură dată (de exemplu, în metoda hold-out). Este crucial ca setul de test să rămână complet neexplorat de model până la faza finală de evaluare, pentru a asigura o măsurare imparțială a performanței modelului în lumea reală. Când se utilizează metode precum validarea încrucișată, două partiții pot fi suficiente și eficiente, deoarece rezultatele sunt mediate după runde repetate de antrenament și testare a modelului, contribuind la reducerea biasului și a variabilității.

Tabel Comparativ: Rolurile Seturilor de Date

Tip de Set de DateScop PrincipalUtilizareRisc de Supra-antrenare
AntrenamentAjustarea parametrilor interni ai modelului (ponderi)Modelul învață din aceste exempleFoarte ridicat (dacă nu este gestionat corespunzător)
ValidareReglarea hiperparametrilor, selecția modeluluiCompară performanța diferitelor modele candidate, oprire timpurieMediu (poate duce la supra-antrenare la setul de validare dacă este folosit excesiv)
TestEvaluarea finală a performanței de generalizare a modeluluiEvaluează performanța modelului pe date nevăzute, o singură datăScăzut (dacă este folosit corect, o singură dată, pentru evaluare finală)

Confuzia Terminologică și Importanța Independenței

Există o anumită confuzie în literatura de specialitate și în practică privind termenii "set de validare" și "set de test". Uneori, aceștia sunt utilizați interschimbabil, în special în industrie, unde "testarea" poate însemna procesul intern de îmbunătățire a diferitelor modele, iar "validarea" se referă la confirmarea modelului final înainte de utilizarea reală cu date necunoscute. Chiar dacă literatura despre învățarea automată adesea inversează semnificația seturilor de "validare" și "test", ceea ce este considerat un exemplu flagrant de confuzie terminologică în cercetarea inteligenței artificiale, conceptul important care trebuie reținut este că setul final, indiferent dacă este numit test sau validare, ar trebui folosit numai în experimentul final. Această claritate în utilizarea seturilor este esențială pentru a obține o evaluare imparțială și realistă a performanței modelului. Fără o separare strictă, există riscul ca modelul să se "memoreze" datele de evaluare, oferind o imagine nerealistă a capacității sale de a gestiona situații noi.

Validarea Încrucișată (Cross-Validation)

Pentru a obține rezultate mai stabile și a utiliza toate datele valoroase pentru antrenament, un set de date poate fi împărțit în mod repetat în mai multe seturi de antrenament și validare. Această tehnică este cunoscută sub numele de validare încrucișată. În loc să împarți datele o singură dată (de exemplu, 80% antrenament, 20% test), validarea încrucișată împarte datele în "pliuri" (folds). De exemplu, în validarea încrucișată K-fold, setul de date este împărțit în K subseturi egale. Modelul este apoi antrenat de K ori; de fiecare dată, un subset diferit este utilizat ca set de validare, iar celelalte K-1 subseturi sunt utilizate pentru antrenament. Performanța modelului este apoi media performanțelor obținute în fiecare dintre cele K iterații. Această metodă reduce variabilitatea și oferă o estimare mai robustă a performanței modelului.

Pentru a confirma performanța modelului selectat prin validare încrucișată, un set de date de test suplimentar, păstrat în afara procesului de validare încrucișată, este utilizat în mod normal. Este chiar posibil să se utilizeze validarea încrucișată pe seturile de antrenament și validare, și, în cadrul fiecărui set de antrenament, să se efectueze o altă validare încrucișată pentru un set de test, pentru reglarea hiperparametrilor. Aceasta este cunoscută sub numele de validare încrucișată imbricată (nested cross-validation), o tehnică mai avansată care oferă o estimare și mai precisă a capacității de stabilitate și generalizare a modelului, în special atunci când se experimentează cu o gamă largă de hiperparametri.

Cauze Comune ale Erorilor în Modelele Antrenate

Chiar și cu cele mai bune practici de antrenament și validare, modelele AI pot produce rezultate eronate. Omiterea anumitor informații în antrenarea algoritmilor este o cauză majoră a ieșirilor eronate. Tipurile de astfel de omisiuni includ:

  • Circumstanțe sau variații particulare care nu au fost incluse: Un exemplu clasic este cazul în care un copil a reușit să deblocheze telefonul mamei sale, deoarece aceasta și-a înregistrat fața în condiții de iluminare interioară, nocturnă, o condiție care nu a fost inclusă în mod adecvat în antrenarea sistemului de recunoaștere facială. Modelele sunt la fel de bune ca datele pe care sunt antrenate; dacă datele nu acoperă toate scenariile posibile din lumea reală, modelul va eșua în acele scenarii.
  • Date învechite: Dacă un model este antrenat pe date care nu mai sunt relevante sau actuale, performanța sa va degrada în timp. De exemplu, un model antrenat pe tendințe de piață de acum un deceniu nu va fi eficient în predicția pieței actuale.
  • Informații de intrare ambigue: Dacă datele de antrenament conțin etichete sau caracteristici inconsistente sau neclare, modelul va învăța asocieri greșite.
  • Incapacitatea de a se adapta la medii noi: Modelele pot fi supra-specializate pentru mediul în care au fost antrenate și nu pot transfera cunoștințele în noi contexte.
  • Incapacitatea de a solicita ajutor de la un om sau un alt sistem AI atunci când este necesar: Un model ideal ar trebui să știe când nu știe, adică să poată identifica incertitudinea și să ceară intervenție umană sau a unui alt sistem specializat.

Utilizarea unor intrări relativ irelevante poate include situații în care algoritmii folosesc fundalul, mai degrabă decât obiectul de interes, pentru detectarea obiectelor. De exemplu, un model antrenat cu imagini de oi pe pajiști verzi ar putea ajunge să asocieze "oaie" cu "pajiște verde". Acest lucru ar putea duce la riscul ca un obiect diferit să fie interpretat ca o oaie dacă este localizat pe o pajiște, chiar dacă vizual nu seamănă deloc cu o oaie. Aceste erori subliniază importanța unei curățări riguroase a datelor, a unei etichetări precise și a unei înțelegeri profunde a domeniului problemei pentru a construi modele AI de succes.

Întrebări Frecvente

De ce este importantă separarea datelor în seturi de antrenament, validare și test?

Separarea datelor este crucială pentru a evalua obiectiv performanța unui model AI. Setul de antrenament învață modelul, setul de validare ajută la reglarea fină a hiperparametrilor și la prevenirea supra-antrenării, iar setul de test oferă o estimare imparțială a modului în care modelul va funcționa pe date noi, nevăzute în lumea reală. Fără această separare, am risca să construim modele care "memorează" datele de antrenament și care eșuează lamentabil în aplicații practice.

Ce înseamnă supra-antrenarea (overfitting) și cum o pot evita?

Supra-antrenarea apare atunci când un model învață prea bine detaliile și zgomotul specific din setul de antrenament, în loc să învețe generalizări. Ca rezultat, performează excelent pe datele de antrenament, dar slab pe date noi. Poate fi evitată prin utilizarea unui set de validare pentru reglarea hiperparametrilor, prin tehnici de regularizare (care penalizează complexitatea modelului), prin oprire timpurie (early stopping) și prin asigurarea unui set de date de antrenament suficient de mare și diversificat.

Cât de mari ar trebui să fie seturile de date? Există o proporție ideală?

Nu există o regulă fixă, deoarece dimensiunea ideală depinde de complexitatea problemei, de volumul total de date disponibil și de tipul modelului. Proporțiile comune sunt 70/15/15 sau 80/10/10 pentru antrenament/validare/test. Pentru seturi de date foarte mari, proporțiile pentru validare și test pot fi mai mici (de exemplu, 98/1/1), deoarece chiar și un procent mic poate însemna un număr mare de exemple. Esențial este ca fiecare set să fie reprezentativ pentru distribuția generală a datelor.

Pot folosi doar un set de antrenament și unul de test?

Tehnic, da, dar acest lucru nu este recomandat pentru majoritatea aplicațiilor complexe. Fără un set de validare separat, riscați să folosiți setul de test pentru a regla hiperparametrii, ceea ce ar compromite integritatea evaluării finale a modelului. Setul de validare acționează ca un "tampon" între antrenament și testarea finală, permițându-vă să experimentați și să optimizați modelul fără a "polua" setul de test.

Ce este validarea încrucișată și când ar trebui să o folosesc?

Validarea încrucișată este o tehnică de re-eșantionare care împarte datele în mai multe subseturi (pliuri) și antrenează modelul de mai multe ori, utilizând un subset diferit ca set de validare de fiecare dată. Ar trebui să o folosiți atunci când doriți o estimare mai robustă a performanței modelului și când aveți un set de date de dimensiuni moderate. Este deosebit de utilă pentru a evalua performanța modelului în condiții de disponibilitate limitată a datelor, deoarece maximizează utilizarea tuturor datelor pentru antrenament și evaluare.

Dacă vrei să descoperi și alte articole similare cu Seturi de Date: Fundamentul Antrenamentului AI, poți vizita categoria Fitness.

Go up