Validarea încrucișată în învățarea automată: 4 tipuri de validare încrucișată

Publicat: 2020-11-30

Cuprins

Introducere

Dezvoltarea modelului este un pas crucial într-un ciclu de viață al unui proiect de știință a datelor, în care vom încerca să ne antrenăm setul de date cu diferite tipuri de modele de învățare automată, fie algoritmi supravegheați, fie nesupravegheați, bazați pe problema afacerii.

Deoarece suntem conștienți că avem o mulțime de modele care pot fi folosite pentru a rezolva o problemă de afaceri, trebuie să ne asigurăm că orice model pe care îl alegem la sfârșitul acestei faze ar trebui să funcționeze bine pe datele nevăzute. Așadar, nu putem merge doar cu valorile de evaluare pentru a selecta modelul nostru cel mai performant.

Avem nevoie de ceva mai mult în afară de metrica care ne poate ajuta să decidem asupra modelului nostru final de învățare automată pe care îl putem implementa în producție.

Procesul de a determina dacă rezultatele matematice care calculează relațiile dintre variabile sunt acceptabile ca descrieri ale datelor este cunoscut sub numele de validare . De obicei, o estimare a erorii pentru model se face după antrenamentul modelului pe setul de date ale trenului, mai bine cunoscut sub numele de evaluarea reziduurilor.

În acest proces, măsurăm eroarea de antrenament calculând diferența dintre răspunsul prezis și răspunsul original. Dar această măsurătoare nu poate fi de încredere, deoarece funcționează bine doar cu datele de antrenament. Este posibil ca modelul să fie Underfitting sau Overfitting datele.

Deci, problema cu această tehnică de evaluare sau cu orice altă măsurătoare de evaluare este că nu oferă o indicație despre cât de bine va funcționa modelul la un set de date nevăzut. Tehnica care ajută la cunoașterea acestui lucru despre modelul nostru este cunoscută sub numele de validare încrucișată .

În acest articol, vom afla mai multe despre diferitele tipuri de tehnici de validare încrucișată, avantajele și dezavantajele fiecărei tehnici. Să începem cu definiția Cross-Validation.

Validare încrucișată

Validarea încrucișată este o tehnică de reeșantionare care ajută la asigurarea modelului nostru cu privire la eficiența și acuratețea datelor nevăzute. Este o metodă de evaluare a modelelor de învățare automată prin antrenarea altor câteva modele de învățare automată pe subseturi ale setului de date de intrare disponibil și evaluându-le pe subsetul setului de date.

Avem diferite tipuri de tehnici de validare încrucișată, dar să vedem funcționalitatea de bază a validării încrucișate: primul pas este împărțirea setului de date curățat în K partiții de dimensiune egală.

  1. Apoi, trebuie să tratăm Fold-1 ca o pliere de testare, în timp ce celălalt K-1 ca o pliere a trenului și să calculăm scorul de pliere a testului.
  2. Trebuie să repetăm ​​pasul 2 pentru toate pliurile, luând o altă pliare ca test în timp ce rămânem ca tren.
  3. Ultimul pas ar fi să luăm media scorurilor tuturor pliurilor.

Citiți: Proiecte de învățare automată pentru începători

Tipuri de validare încrucișată

1. Metoda de reținere

Această tehnică funcționează cu eliminarea unei părți a setului de date de antrenament și trimiterea acesteia către un model care a fost antrenat pe restul setului de date pentru a obține predicțiile. Apoi calculăm estimarea erorii care arată cum se descurcă modelul nostru pe seturi de date nevăzute. Aceasta este cunoscută sub numele de Metoda Holdout.

Pro

  1. Această metodă este complet independentă de date.
  2. Această metodă trebuie rulată o singură dată, deci are costuri de calcul mai mici.

Contra

  1. Performanța este supusă unei variații mai mari, având în vedere dimensiunea mai mică a datelor.

2. Validare încrucișată K-Fold

Într-o lume bazată pe date, nu există niciodată suficiente date pentru a vă antrena modelul, în plus, eliminarea unei părți a acestuia pentru validare pune o problemă mai mare de Underfitting și riscăm să pierdem modele și tendințe importante în setul nostru de date, care la rândul său crește Bias. Deci, în mod ideal, avem nevoie de o metodă care oferă cantități mari de date pentru antrenarea modelului și lasă cantități mari de date pentru seturi de validare.

În validarea încrucișată K-Fold, datele sunt împărțite în k subseturi sau le putem lua ca o metodă de reținere repetată de k ori, astfel încât de fiecare dată, unul dintre k subseturi este folosit ca set de validare, iar celălalt k-1 subseturile ca setul de antrenament. Eroarea este mediată pe toate k încercări pentru a obține eficiența totală a modelului nostru.

Putem vedea că fiecare punct de date va fi într-un set de validare exact o dată și va fi într-un set de antrenament k-1 timp. Acest lucru ne ajută să reducem părtinirea, deoarece folosim majoritatea datelor pentru potrivire și reduce varianța, deoarece majoritatea datelor sunt, de asemenea, utilizate în setul de validare.

Pro

  1. Acest lucru va ajuta la depășirea problemei puterii de calcul.
  2. Este posibil ca modelele să nu fie afectate prea mult dacă în date este prezent o valoare anormală.
  3. Ne ajută să depășim problema variabilității.

Contra

  1. Seturile de date dezechilibrate vor avea impact asupra modelului nostru.

3. Validare încrucișată stratificată în K-Fold

Tehnica de validare încrucișată K Fold nu va funcționa conform așteptărilor pentru un set de date dezechilibrate. Când avem un set de date dezechilibrat, avem nevoie de o ușoară modificare a tehnicii de validare încrucișată K Fold, astfel încât fiecare pliu să conțină aproximativ aceleași straturi de eșantioane din fiecare clasă de ieșire ca și cea completă. Această variație a utilizării unui strat în validarea încrucișată K Fold este cunoscută sub denumirea de Validare încrucișată stratificată K Fold.

Pro

  1. Poate îmbunătăți diferite modele folosind reglarea hiper-parametrică.
  2. Ne ajută să comparăm modele.
  3. Ajută la reducerea atât a părtinirii, cât și a variației.

4. L eave-P-Out Cross-Validation

În această abordare, lăsăm p puncte de date în afara datelor de antrenament dintr-un total de n puncte de date, apoi eșantioane np sunt utilizate pentru a antrena modelul și p puncte sunt utilizate ca set de validare. Acest lucru se repetă pentru toate combinațiile și apoi se face media erorii.

Pro

  1. Are zero aleatoriu
  2. Prejudecata va fi mai mică

Contra

  1. Această metodă este exhaustivă și nu este posibilă din punct de vedere computațional.

Citește și: Carieră în Machine Learning

Concluzie

În acest articol, am aflat despre importanța validării unui model de învățare automată în ciclul de viață al proiectului Data Science, am cunoscut ce este validarea și validarea încrucișată, am explorat diferitele tipuri de tehnici de validare încrucișată, am cunoscut câteva avantajele și dezavantajele acestor tehnici.

Dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, IIIT- B Statut de absolvenți, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Care este nevoia de validare încrucișată în învățarea automată?

Validarea încrucișată este o tehnică de învățare automată în care datele de antrenament sunt împărțite în două părți: un set de antrenament și un set de testare. Setul de antrenament este folosit pentru a construi modelul, iar setul de testare este folosit pentru a evalua cât de bine funcționează modelul în timpul producției. Motivul pentru care faceți acest lucru este că există riscul ca modelul pe care l-ați construit să nu funcționeze bine în lumea reală. Dacă nu vă validați încrucișat modelul, există riscul să fi construit un model care funcționează excelent pe datele de antrenament, dar nu funcționează bine pe datele din lumea reală.

Ce este validarea încrucișată k-fold?

În învățarea automată și extragerea datelor, validarea încrucișată în k-fold, uneori numită validare încrucișată cu o singură parte, este o formă de validare încrucișată în care datele de antrenament sunt împărțite în k subseturi aproximativ egale, fiecare dintre k- 1 subseturi utilizate ca date de testare la rândul lor, iar subsetul rămas folosit ca date de antrenament. K este adesea 10 sau 5. Validarea încrucișată K-fold este deosebit de utilă în selecția modelului, deoarece reduce varianța estimărilor erorii de generalizare.

Care sunt avantajele validării încrucișate?

Validarea încrucișată este o formă de validare în care setul de date este împărțit într-un set de antrenament și un set de testare (sau un set de validare încrucișată). Acest set este apoi folosit pentru a testa acuratețea modelului dvs. Cu alte cuvinte, vă oferă o metodologie pentru a măsura cât de bun este modelul dvs. pe baza unui eșantion de date. De exemplu, este folosit pentru a estima eroarea modelului care este indusă de discrepanța dintre intrarea de antrenament și intrarea de testare.