Povežite se s nama

AI 101

Što je overfitting?

mm

Što je overfitting?

Kada trenirate neuronsku mrežu, morate izbjegavati prekomjerno opremanje. Pretjerano opremanje je problem unutar strojnog učenja i statistike gdje model predobro uči obrasce skupa podataka za obuku, savršeno objašnjavajući skup podataka za obuku, ali ne uspijevajući generalizirati svoju moć predviđanja na druge skupove podataka.

Drugim riječima, u slučaju pretjerano opremljenog modela često će pokazivati ​​iznimno visoku točnost na skupu podataka za obuku, ali nisku točnost podataka koji se prikupljaju i provlače kroz model u budućnosti. To je brza definicija prekomjernog opremanja, ali prođimo detaljnije o konceptu prekomjernog opremanja. Pogledajmo kako nastaje overfitting i kako se to može izbjeći.

Razumijevanje "fit" i underfitting

Korisno je pogledati koncept nedovoljne opremljenosti i "pristajati” općenito kada se govori o prekomjernom opremanju. Kada obučavamo model, pokušavamo razviti okvir koji je sposoban predvidjeti prirodu ili klasu stavki unutar skupa podataka, na temelju značajki koje opisuju te stavke. Model bi trebao moći objasniti uzorak unutar skupa podataka i predvidjeti klase budućih podatkovnih točaka na temelju ovog uzorka. Što bolje model objašnjava odnos između značajki skupa za vježbanje, to je naš model više "fit".

Plava linija predstavlja predviđanja modela koji ne odgovara dovoljno, dok zelena linija predstavlja model koji bolje odgovara. Fotografija: Pep Roca putem Wikimedia Commons, CC BY SA 3.0, (https://commons.wikimedia.org/wiki/File:Reg_ls_curvil%C3%ADnia.svg)

Model koji loše objašnjava odnos između značajki podataka o obuci i stoga ne uspijeva točno klasificirati buduće primjere podataka nedovoljno odgovara podacima o obuci. Ako biste nacrtali predviđeni odnos nedostatnog modela u odnosu na stvarni presjek značajki i oznaka, predviđanja bi skrenula s cilja. Kad bismo imali graf s označenim stvarnim vrijednostima skupa za vježbanje, izrazito neprikladni model drastično bi propustio većinu podatkovnih točaka. Model s boljim pristajanjem mogao bi presjeći put kroz središte podatkovnih točaka, pri čemu pojedinačne podatkovne točke samo malo odstupaju od predviđenih vrijednosti.

Nedovoljno prilagođavanje često se može dogoditi kada nema dovoljno podataka za izradu točnog modela ili kada se pokušava dizajnirati linearni model s nelinearnim podacima. Više podataka o vježbanju ili više značajki često će pomoći u smanjenju nedovoljne opremljenosti.

Pa zašto jednostavno ne bismo stvorili model koji savršeno objašnjava svaku točku u podacima o obuci? Sigurno je savršena točnost poželjna? Stvaranje modela koji je predobro naučio obrasce podataka o obuci je ono što uzrokuje prekomjerno opremanje. Skup podataka za obuku i drugi, budući skupovi podataka koje pokrećete kroz model neće biti potpuno isti. Vjerojatno će biti vrlo slični u mnogim aspektima, ali će se također razlikovati na ključne načine. Stoga, dizajniranje modela koji savršeno objašnjava skup podataka za obuku znači da ćete završiti s teorijom o odnosu između značajki koja se ne generalizira dobro na druge skupove podataka.

Razumijevanje prekomjernog opremanja

Prekomjerno opremanje se događa kada model predobro nauči pojedinosti unutar skupa podataka za obuku, zbog čega model trpi kada se predviđanja rade na vanjskim podacima. To se može dogoditi kada model ne samo da uči značajke skupa podataka, već također uči nasumične fluktuacije ili buka unutar skupa podataka, dajući važnost tim slučajnim/nevažnim pojavama.

Veća je vjerojatnost da će doći do prekomjernog opremanja kada se koriste nelinearni modeli, budući da su oni fleksibilniji pri učenju značajki podataka. Neparametarski algoritmi strojnog učenja često imaju različite parametre i tehnike koje se mogu primijeniti za ograničavanje osjetljivosti modela na podatke i time smanjiti prekomjerno prilagođavanje. Kao primjer, modeli stabla odlučivanja vrlo su osjetljivi na pretjerano opremanje, ali tehnika koja se naziva podrezivanje može se koristiti za nasumično uklanjanje nekih detalja koje je model naučio.

Ako biste nacrtali predviđanja modela na X i Y osi, imali biste liniju predviđanja koja se kreće cik-cak naprijed-natrag, što odražava činjenicu da se model previše trudio smjestiti sve točke u skupu podataka u njegovo objašnjenje.

Kontrola prekomjernog opremanja

Kada treniramo model, idealno želimo da model ne pravi greške. Kada se izvedba modela približi izradi točnih predviđanja na svim podatkovnim točkama u skupu podataka za obuku, prilagodba postaje bolja. Model s dobrim uklapanjem može objasniti gotovo sav skup podataka za obuku bez pretjeranog prilagođavanja.

Kako model trenira, njegova se izvedba s vremenom poboljšava. Stopa pogreške modela će se smanjivati ​​kako vrijeme obuke bude prolazilo, ali se smanjuje samo do određene točke. Točka u kojoj performanse modela na ispitnom skupu ponovno počinju rasti obično je točka u kojoj dolazi do prekomjernog opremanja. Kako bismo dobili najbolju prilagodbu za model, želimo zaustaviti uvježbavanje modela na točki najmanjeg gubitka na setu za uvježbavanje, prije nego što pogreška ponovno počne rasti. Optimalna točka zaustavljanja može se utvrditi grafičkim prikazom performansi modela tijekom cijelog vremena vježbanja i zaustavljanjem treninga kada je gubitak najmanji. Međutim, jedan rizik s ovom metodom kontrole pretjeranog opremanja je taj da određivanje krajnje točke za obuku na temelju izvedbe testa znači da testni podaci postaju donekle uključeni u proceduru obuke i gube svoj status kao čisto "nedirnuti" podaci.

Postoji nekoliko različitih načina na koje se možete boriti protiv prekomjernog opremanja. Jedna metoda smanjenja prekomjernog opremanja je korištenje taktike ponovnog uzorkovanja, koja djeluje procjenom točnosti modela. Također možete koristiti a potvrđivanje skup podataka uz testni skup i nacrtajte točnost obuke u odnosu na validacijski skup umjesto testnog skupa podataka. Time vaš testni skup podataka ostaje nevidljiv. Popularna metoda ponovnog uzorkovanja je K-folds cross-validacija. Ova tehnika vam omogućuje da svoje podatke podijelite u podskupove na kojima se model trenira, a zatim se analizira izvedba modela na podskupovima kako bi se procijenilo kako će model funkcionirati na vanjskim podacima.

Korištenje unakrsne provjere jedan je od najboljih načina za procjenu točnosti modela na nevidljivim podacima, a u kombinaciji s validacijskim skupom podataka prekomjerno prilagođavanje često se može svesti na minimum.

Bloger i programer sa specijalnošću u Strojno učenje i Duboko učenje temama. Daniel se nada pomoći drugima da iskoriste snagu umjetne inteligencije za društveno dobro.