Video: Week 10, continued 2024
Uneori, învățarea automată presupune că va trebui să recurgeți la validarea încrucișată. O problemă vizibilă cu divizarea setului de trenuri / seturi este că introduceți de fapt o părtinire în testarea dvs. pentru că reduceți mărimea datelor de antrenament din eșantion. Când vă împărțiți datele, este posibil să păstrați câteva exemple utile în afara formării. Mai mult decât atât, uneori datele dvs. sunt atât de complexe încât un set de test, deși aparent similar cu setul de antrenament, nu este cu adevărat similar, deoarece combinațiile de valori sunt diferite (ceea ce este tipic pentru seturi de date foarte dimensionale).
Aceste probleme adaugă instabilității rezultatelor de eșantionare atunci când nu aveți multe exemple. Riscul de împărțire a datelor într-un mod nefavorabil explică și motivul pentru care împărțirea trenului / testului nu este soluția favorizată de către practicienii de învățare a mașinilor atunci când trebuie să evaluați și să ajustați o soluție de învățare a mașinilor.
Validarea încrucișată bazată pe k-folds este de fapt răspunsul. Se bazează pe împărțirea aleatorie, dar de data aceasta vă împărți datele într-un număr k de pliuri (porțiuni de date) de dimensiune egală. Apoi, fiecare pliu este susținut la rândul său ca un set de testare, iar celelalte sunt folosite pentru antrenament. Fiecare iterație folosește un test diferit, care produce o estimare a erorii.
De fapt, după ce testul a fost efectuat într-o singură treaptă față de celelalte folosite ca antrenament, se reține o plianță succesivă, diferită de cea anterioară, iar procedura se repetă pentru a produce o altă estimare de eroare. Procesul continuă până când toate k-fold-urile sunt folosite o dată ca set de test și aveți un număr k de estimări de erori pe care le puteți calcula într-o estimare medie de eroare (scorul de validare încrucișată) și o eroare standard a estimărilor.
Această procedură oferă următoarele avantaje:
- Funcționează bine, indiferent de numărul de exemple, deoarece, prin creșterea numărului de pliuri utilizate, creșteți de fapt dimensiunea setului dvs. de antrenament (k mai mare, reducerea părtinitoare) și diminuarea dimensiunii setului de testare.
- Diferențele de distribuție pentru pliurile individuale nu contează atât de mult. Când un fold are o distribuție diferită față de ceilalți, acesta este utilizat doar o dată ca set de test și este amestecat cu alții ca parte a setului de antrenament în timpul testelor rămase.
- Încercați de fapt toate observațiile, așa că testați pe deplin ipoteza dvs. de învățare a mașinilor utilizând toate datele pe care le aveți.
- Prin luarea în considerare a rezultatelor, vă puteți aștepta la o performanță predictivă. În plus, abaterea standard a rezultatelor vă poate spune cât de multă variație vă puteți aștepta în date reale din eșantion. Variații mai mari în performanțele validate încrucișat vă informează despre date extrem de variate că algoritmul nu este capabil să prindă în mod corespunzător.
Utilizarea k-fold validarea încrucișată este întotdeauna alegerea optimă, cu excepția cazului în care datele pe care le utilizați au un fel de ordine care contează. De exemplu, ar putea implica o serie de timp, cum ar fi vânzările. În acest caz, nu trebuie să utilizați o metodă de eșantionare aleatorie, ci să vă bazați în schimb pe o divizare a trenului / testului bazată pe secvența originală, astfel încât ordinul să fie păstrat și puteți testa ultimele exemple ale seriei comandate.