Mnohokrát sme povedali, že pred aplikáciou algoritmu strojového učenia sa údaje rozdelia na trénovaciu množinu a testovaciu množinu (validačnú množinu zahrnieme, keď ju potrebujeme). Spomenuli sme tiež, že proces delenia je náhodný. Možno ste sa pýtali, či by niektoré odlišné rozdelenia v porovnaní s tými, ktoré sme vybrali, viedli k odlišným výsledkom práce modelu. Možno práve pre konkrétne rozdelenie súboru údajov dostaneme optimistickejšie výsledky alebo drasticky horšie. A je to druh úpravy.

Vždy, keď to veľkosti množín údajov a vybrané algoritmy umožňujú, je žiaduce skutočne vykonať viacnásobné rozdelenie počiatočného súboru údajov na trénovaciu množinu a testovaciu množinu tak, aby každá inštancia v množine údajov dostala príležitosť nájsť sa v oboch množinách. Jeden z takýchto postupov, ktorý popíšeme, sa nazýva krížová validácia. V príklade použijeme lineárny regresný algoritmus, ale príbeh je všeobecný a vzťahuje sa na všetky algoritmy.

Rozdeľme súbor údajov na 10 častí ako na obrázku nižšie. V prvom kroku extrahujeme prvú časť testovacej sady a zvyšných deväť častí si necháme na tréning. Aby sme vám uľahčili sledovanie, testovacia sada je na obrázku zafarbená žltou farbou a tréningové sady sú zafarbené modrou farbou. Teraz trénujme prvý lineárny regresný model na trénovacom súbore a vypočítajme hodnotu jeho strednej štvorcovej chyby na testovacej množine. Výslednú hodnotu je možné označiť MSE1 . V druhom kroku oddelíme druhú časť testovacieho súboru a zvyšných deväť častí tréningového súboru. Teraz je na obrázku druhá časť natretá žltou farbou a zvyšné časti sú natreté modrou farbou. Pretrénujme lineárny regresný model na trénovacom súbore (to je teraz druhý model) a vypočítajme hodnotu jeho strednej štvorcovej chyby na testovacej množine. Teraz označme túto hodnotu pomocou MSE2 . Pokračujme v tomto procese, kým sa nedostaneme k poslednej, desiatej časti: teraz si ju ponecháme ako testovaciu sadu a zvyšné časti použijeme na trénovanie modelu. Natrénujeme na ňom desiaty lineárny regresný model a potom vypočítame strednú štvorcovú chybu MSE10 na testovacej sade.

Krížová validácia s 10 vrstvami

Keďže máme 10 rôznych delení súboru údajov, máme tiež 10 rôznych hodnôt strednej štvorcovej chyby. Priemer získaných hodnôt (MSE1 + MSE2 + ... + MSE10 )/10 vlastne najlepšie vyjadruje, ako sa náš model správa a pomáha nám riešiť dilemy, ktoré sme mali na začiatku ohľadom vplyvu delenia na úspešnosť modelu. Nie je veľmi jasné, ktorý z 10 rôznych modelov, ktoré máme k dispozícii, by sme si mali vybrať. Najmenšia chyba alebo nejaká iná? V skutočnosti by sme teraz mali trénovať nový model na celom súbore údajov a pokračovať v jeho používaní, aproximovať jeho správanie a hodnotiť ho správaním každého z 10 trénovaných modelov.

 Tento proces sa nazýva 10-vrstvová krížová validácia10-násobná krížová validácia. V praxi sa používajú aj 3- a 5-vrstvové delenie a výber závisí od veľkosti súboru údajov a typu použitých algoritmov. Existuje tiež rozdelenie, v ktorom počet vrstiev zodpovedá počtu inštancií v množine údajov, nazývané krížové overovanie typu leave-one-out.

 

Last modified: Sunday, 13 April 2025, 9:57 AM