Care este diferența dintre validare și validare încrucișată?


Răspunsul 1:

Validare:

Validarea este ca și cum ai împărți un set de date în două subseturi complementare diferite. Apoi, utilizați un subset pentru antrenament și un alt subset pentru testare. Subsetul de testare nu este niciodată instruit aici.

Validare încrucișată:

Este ca și cum ai împărți un set de date în k număr de subseturi. Într-o epocă, folosiți subseturi de date k-1 pentru instruire și folosiți setul de date rămas pentru testare. Astfel, pentru fiecare set de date de testare a epocii va fi diferit, dar va fi din acele subseturi de date. Aceasta este, de asemenea, numită k-fold validare încrucișată.

avantaje

În general, pentru construirea modelelor de învățare a mașinilor, datele sunt combustibilul. Este foarte puțin probabil să găsim un set de date foarte mare pentru a construi un model eficient. În cazul deficienței de date (care este situația normală), dacă continuăm validarea normală, aproape că reducem dimensiunea setului de date cu aproape 20-30%. În cazul validării încrucișate de k, nu va exista o astfel de reducere a dimensiunii setului de date. Și mai mult, făcând k-fold cv, se poate preveni montarea.


Răspunsul 2:

Fundal: Validare și Validare încrucișată este utilizat pentru a găsi hiperparametrii optimi și, astfel, într-o oarecare măsură, împiedicați supraîncadrarea.

Validare:

Setul de date împărțit în 3 seturi de instruire, testare și validare. Formăm mai multe modele cu diferite hiperparametre cu ajutorul setului de antrenament și apoi testăm modelul cu setul de validare. Sunt alese acele hiperparametre care oferă performanțe bune la setul de validare. Apoi folosim setul de testare pentru testarea performanței modelului și obținem eroarea de generalizare.

Cross-Validare:

Setul de date împărțit în 2 părți. Unul este „Test”, iar celălalt, de dragul numirii, îl numim X. Acest set X este apoi repartizat la întâmplare în seturi complementare. Avem multe modele cu hipermetri diferiți și fiecare model este instruit împotriva combinațiilor diferite ale acestor subseturi și validat cu părțile rămase. Hiperparametrele care dau cele mai bune rezultate sunt utilizate în continuare. Modelul final este instruit folosind aceste hiperparametre pe setul complet de antrenament (X), iar eroarea generalizată este măsurată pe setul „Test”.

Atunci când setul X este împărțit la întâmplare în subseturi K și diferit (K-1) utilizat pentru modele de antrenament cu hiperparamele diferite și remaniere este utilizat pentru validaiton se numește K-Fold Cross Validation.

Avantajul utilizării cross-validation este că vedem că nu pierdem date. În Validare, datele care sunt utilizate pentru validare sunt vase și nu sunt folosite niciodată pentru antrenament, dar în CV folosim setul de validare și pentru antrenament, datorită manipulării inteligente utilizate de noi. Datele sunt cu adevărat importante pentru modelul nostru și, prin urmare, el trebuie să le utilizeze în mod prudent.


Răspunsul 3:

Validarea încrucișată testează fiecare strat, sau k-fold, a datelor împotriva ei înșiși, astfel încât acestea sunt mai precise și reduc șansa de supra-montare. Un lucru mă întreb însă dacă validarea încrucișată este mai „costisitoare din punct de vedere al calculului”. Seturile de date mai mari necesită mai mult timp pentru procesare, dar reduc riscul de supraîncărcare, așa că, dacă o simplă validare divizată poate economisi timp de procesare, nu ar fi aceasta o alegere mai bună?