Unitate 3 / 11

Instruire și evaluare a modelelor: metrici precise, benchmarking onest

Câștiguri:

  • Abilitatea de a alege metrica adecvată tipului de problemă și contextului de afaceri (PR-AUC/rechemare în date dezechilibrate, MAE/RMSE în regresie) și recunoașterea supra/învățare insuficientă
  • Abilitatea de a interpreta fiecare măsură în raport cu o linie de bază și de a măsura abaterea și de a separa zgomotul de progres cu validare încrucișată
  • Abilitatea de a raporta rezultate neoptimiste prin reglarea hiperparametrilor cu setul de validare și folosind setul de testare numai la sfârșit

Training model (antrenament: procesul de învățare a modelelor din date) este cel mai vizibil, dar cel mai înșelător pas al ingineriei ML. Apare pentru că produce un număr satisfăcător precum „precizie 95%”. Induce în eroare, deoarece acest număr este adesea răspunsul corect la întrebarea greșită. În această unitate, educația și evaluarea sunt discutate cu disciplina de inginerie; Folosim inteligența artificială ca partener în proiectarea experimentală și bazăm decizia pe măsurare.

Logica ciclului de formare

Un model învață modelul din date reducând la minimum o funcție de pierdere: o funcție care măsoară numeric eroarea modelului. Algoritmul de optimizare (de exemplu, coborârea gradientului) reduce pierderea prin ajustarea parametrilor pas cu pas. Scopul nu este de a memora datele de antrenament, ci de a le generaliza la date fără precedent.

Două pericole principale:

  • Suprafitting: Modelul memorează datele de antrenament și nu reușește la date noi. Succesul antrenamentului este mare, succesul verificării este scăzut.
  • Underfitting: Modelul nu poate surprinde modelul; Atât formarea, cât și succesul de validare sunt scăzute.

Găsirea echilibrului este arta educației. Setul de validare este acolo pentru a monitoriza acest echilibru: dacă succesul de validare începe să scadă în timp ce succesul antrenamentului crește, supraînvățarea a început.

Sfat: Trasează împreună pierderile de antrenament și validare la fiecare pas. Punctul în care cele două curbe încep să se diverge este locul în care începe supraînvățarea și este momentul potrivit pentru „oprirea timpurie”.

Selecția metrică: cea mai critică decizie

Valoarea greșită face ca un model bun să arate rău și un model rău să arate bine. Problema determină metrica:

  • Clasificare dezechilibrată (o clasă este foarte rară, de exemplu fraudă): acuratețea este înșelătoare. Un model care spune „suna totul normal” va obține o acuratețe de 99%, dar nu va prinde o singură fraudă. În schimb, se folosesc precizia (cât din ceea ce am prins este de fapt pozitiv), rechemarea (cât din ceea ce am prins este adevărat pozitiv) și bilanțul lor F1 sau PR-AUC.
  • Clasificare echilibrată: Precizia și ROC-AUC pot fi adecvate.
  • Regresie (estimarea numărului): MAE (eroare absolută medie), RMSE (penalizează erorile mari), MAPE (eroare procentuală).
  • Clasare/recomandare: NDCG, MRR, Recall@K.

Dacă precizia sau amintirea este importantă depinde de contextul afacerii. Rechemarea (să nu lipsească niciun pacient) este o prioritate în screening-ul cancerului; Precizia în filtrul de spam (nu trimiterea de e-mailuri importante către spam) este importantă. Aceasta este o decizie de afaceri, nu una tehnică și este luată împreună de inginer și proprietar.

Prompt slab / Prompt puternic

Prompt slab: „Evaluează performanța modelului meu, precizie 0,97”.

Solicitare puternică: „Am un model de detectare a fraudei; rata de clasă pozitivă este de 1,5%. Acuratețea este raportată ca 0,97. Explicați de ce această măsurătoare ar putea induce în eroare, spuneți-mi ce măsurători (precizie, reamintire, PR-AUC) ar trebui să prefer și de ce. De asemenea, calculați cât de precis ar obține un model de referință „apelați totul negativ” pe baza acestor date, astfel încât să pot vedea valoarea adăugată reală.”

Diferență: promptul puternic oferă raportul de clasă și contextul de afaceri; de asemenea, solicită o comparație a modelului de referință - aceasta este cea mai importantă ancoră pentru a stabili dacă o măsurătoare este semnificativă.

Linia de referință: metrica fără comparație este lipsită de sens

O măsurătoare nu este bună sau rea în sine; Este bine sau rău după un model de bază. Modelul de bază este cea mai simplă soluție care îmi vine în minte: „spune întotdeauna clasei majoritare”, „repetă valoarea de săptămâna trecută”, „ghiciți media”. Dacă modelul tău nu poate trece clar de această soluție simplă, toată complexitatea este în zadar.

Atenție: propoziția „Modelul meu este 85% precis” în sine nu spune nimic. Dacă modelul de bază primește deja 84%, modelul tău este aproape fără valoare; Dacă modelul de bază obține 50%, modelul tău este perfect. Vorbește întotdeauna în ceea ce privește modelul de bază.

Validare încrucișată și încredere

O singură împărțire de antrenament/testare se poate datora întâmplării. Validare încrucișată: împărțirea datelor în k părți și testarea fiecărei părți în mod succesiv arată cât de stabilă este performanța. În validarea încrucișată de 5 ori obțineți cinci scoruri diferite; Media și abaterea lor standard sunt importante. Dacă media este de 80%, dar abaterea este de ±12%, modelul dvs. este instabil - se poate comporta foarte diferit în următorul lot de date.

Acest lucru este, de asemenea, critic pentru „compararea a două modele”. Dacă modelul A a primit 81% și modelul B a primit 82%, este B cu adevărat mai bun? Dacă abaterea este de ±3%, această diferență poate fi zgomot. Luați în considerare dacă diferența este semnificativă înainte de a decide.

Reglaj hiperparametric: cu validare, nu testare

Hiperparametrii (setări determinate manual înainte de antrenament - rata de învățare, adâncimea arborelui etc.) sunt setați cu setul de validare. Setul de testare este folosit doar la sfârșit, o singură dată. Dacă selectați hiperparametri privind setul de testare, setul de testare va fi contaminat și performanța pe care o raportați va fi optimistă, ceea ce nu este cazul în realitate.

Inteligența artificială este un bun ajutor în proiectarea spațiului de căutare hiperparametru și scrierea codului de căutare (căutare în grilă, căutare aleatorie, optimizare bayesiană). Dar încă decizi „ce măsură vom optimiza?”

trei mini cutii

Cazul 1 - Capcană de precizie. O echipă medicală a fost mândră de un model care a detectat o boală rară: acuratețe de 98%. Când s-a făcut comparația modelului de bază, a reieșit adevărul: întrucât rata bolii era de 2%, modelul care spunea „să chemați pe toți sănătoși” a primit și el 98%. Rechemarea modelului a fost de numai 11% - lipsind majoritatea pacienților. Odată ce metrica a fost convertită în PR-AUC, performanța reală a fost măsurată și modelul a fost reproiectat.

Cazul 2 - Zgomot confundat cu progres. O echipă a petrecut luni bune îmbunătățind modelul de la 86,2% la 86,9%. Validarea încrucișată a arătat că părtinirea a fost de ± 1,4% - deci „îmbunătățirea” de 0,7 puncte a fost zgomot statistic. Echipa pierduse trei săptămâni cu câștiguri ireale. Lecție: nu declara victoria fără a verifica dacă îmbunătățirea este mai mare decât abaterea.

Cazul 3 - Contaminarea setului de testare. Un inginer s-a uitat în mod repetat la setul de testare pentru a alege cei mai buni hiperparametri. Cele 91% raportate au scăzut la 83% din producție. De ce: el a ales fără să știe modelul în consecință, uitându-se la setul de testare din nou și din nou (supraînvățare pe setul de testare). Performanța raportată și cea reală s-au suprapus atunci când a fost utilizat un set de validare separat.

Șabloane copiabile

Ajutați-mă să aleg valoarea potrivită pentru această problemă de clasificare. Problemă: [ce este prezis] Distribuția clasei: [rata pozitivă

Evaluați comparația dintre următoarele două modele. Validare încrucișată model A: [lista de scoruri] Validare încrucișată model B: [lista scoruri]Calculați media și abaterea standard. Este diferența semnificativă statistic sau este doar zgomot în cadrul abaterii? Pe care mi-ați recomanda să aleg și de ce?

Verificați acest cod de antrenament pentru următoarele: 1) Sunt hiperparametrii selectați cu setul de testare sau setul de validare? 2) Oprirea timpurie este monitorizată cu setul corect? 3) Există semne de supraînvățare (diferență de formare/pierdere de validare)? Cod: [cod]

Pe care dintre MAE, RMSE și MAPE ar trebui să raportez pentru această problemă de regresie? Scara variabilei țintă: [interval]Erorile mari sunt disproporționat de proaste (RMSE) sau sunt toate egale (MAE)? Există valori apropiate de zero (deformează MAPE)? Sugerați cu o scurtă justificare.

Tabel de selecție a metricii

Tipul problemei

Valoare adecvată

De evitat

De ce

Clasificare dezechilibrată

PR-AUC, F1, rechemare

Precizie

Clasa majoritară umflă valoarea

Clasificare echilibrată

Precizie, ROC-AUC

Fiabil în date echilibrate

Regresie (valoare anormală semnificativă)

RMSE

MAPE (dacă zero)

Pedepsește greșelile majore

Regresie (greutate egală)

MAE

Usor de interpretat

Clasament/recomandare

NDCG, Recall@K

Precizie

Ordinea este importantă

Greșeli comune

  • Utilizarea acurateții pe date neechilibrate. Cea mai frecventă eroare de metrică.
  • Nu face comparații de model de bază. Face ca metrica să-și piardă sensul.
  • Privind setul de teste pentru hiperparametri. Rezultat optimist, nerealist.
  • Bazându-se pe un singur compartiment. Fără validare încrucișată, nu veți vedea părtinirea.
  • Zgomot confundat cu progres. Micile „îmbunătățiri” de la abatere sunt în mare parte noroc.
  • Ignorarea contextului de afaceri. Balanța de precizie/rechemare este o decizie de afaceri.

Pe scurt

Adevărata abilitate în antrenamentul modelului nu este de a produce un număr mare, ci de a ști ce înseamnă acel număr. Problema și contextul de afaceri determină metrica potrivită; interpreta fiecare metrică conform unui model de bază; măsurați părtinirea prin validare încrucișată și nu confundați zgomotul cu progres; Utilizați setul de testare doar la sfârșit, o singură dată. AI este partenerul tău în proiectarea experimentelor, dar decizia „destul de bun” este la latitudinea ta și a ta.

Sarcina de aplicare

Pentru un model de clasificare: (1) scrieți distribuția clasei, (2) construiți un model de bază adecvat și măsurați scorul acestuia, (3) evaluați modelul dvs. cu validare încrucișată de 5 ori și raportați media și abaterea standard, (4) calculați metrica adecvată problemei (de exemplu, PR-AUC) în loc de acuratețe. Notați dacă modelul dvs. depășește modelul de bază cu o marjă mare, fără părtinire.

lista de verificare

  • [ ] Am ales valoarea pe baza tipului de problemă și a contextului de afaceri.
  • [ ] Am construit un model de bază și am comparat cu el.
  • [ ] Am raportat media și abaterea cu validare încrucișată.
  • [ ] Am confirmat că îmbunătățirea este mai mare decât abaterea.
  • [ ] Am selectat hiperparametrii cu setul de validare.
  • [ ] Am folosit setul de testare o singură dată, la sfârșit.