Čo je to nadmerné vybavenie v strojovom učení a ako sa tomu vyhnúť?



Tento článok sa venuje nadmernému vybaveniu v strojovom učení s príkladmi a niekoľkými technikami, ktorým sa treba vyhnúť, ako zistiť nadmerné vybavenie v modeli strojového učenia.

Budovanie modelu strojového učenia nie je len o vkladaní údajov, existuje veľa nedostatkov, ktoré ovplyvňujú presnosť každého modelu. Overfitting in je jeden taký nedostatok v strojovom učení, ktorý bráni presnosti aj výkonnosti modelu. V tomto článku sa venujeme týmto témam:

Čo je to nadmerné vybavenie v strojovom učení?

Štatistický model je považovaný za nadbytočný, keď doň vložíme oveľa viac údajov, ako je potrebné. Aby to bolo relatívne dobre, predstavte si, že sa snažíte zapadnúť do nadrozmerných odevov.





Keď model pojme viac údajov, ako skutočne potrebuje, začne zachytávať hlučné údaje a nepresné hodnoty. Vďaka tomu klesá účinnosť a presnosť modelu. Pozrime sa na niekoľko príkladov nadmerného vybavenia, aby sme pochopili, ako sa to v skutočnosti deje.



Príklady nadmerného vybavenia

Príklad 1

Ak si vezmeme príklad jednoduchého lineárna regresia , školenie údajov je predovšetkým o zisťovaní minimálnych nákladov medzi čiarou najlepšieho prispôsobenia a údajovými bodmi. To prejde niekoľkými iteráciami, aby sa zistilo, čo najlepšie vyhovuje, minimalizujúce náklady. To je miesto, kde prichádza na pretras vybavenie.



Čiara videná na obrázku vyššie môže poskytnúť veľmi efektívny výsledok pre nový údajový bod. V prípade nadmerného vybavenia, keď spustíme tréningový algoritmus na množine údajov, umožníme zníženie nákladov s každým počtom iterácií.

Spustenie tohto príliš dlho bude znamenať zníženie nákladov, ale zmestí sa doň aj hlučné údaje z množiny údajov. Výsledok by vyzeral asi ako v nasledujúcom grafe.

Môže to vyzerať efektívne, ale nie je to tak. Hlavným cieľom algoritmu ako napr lineárna regresia je nájsť dominantný trend a zodpovedajúcim spôsobom prispôsobiť dátové body. Ale v tomto prípade sa čiara hodí na všetky dátové body, čo je irelevantné pre efektívnosť modelu pri predpovedaní optimálnych výsledkov pre nové vstupné dátové body.

Teraz uvažujme o deskriptívnejšom príklade pomocou vyhlásenia o probléme.

Príklad 2

Vyhlásenie o probléme: Uvažujme, že chceme predpovedať, či futbalista dostane priestor vo futbalovom klube 1. úrovne na základe jeho aktuálneho výkonu v lige 2. úrovne.

Teraz si predstavte, že trénujeme a prispôsobíme model 10 000 takýmto hráčom s výsledkami. Keď sa pokúsime predpovedať výsledok na pôvodnom súbore údajov, povedzme, že máme 99% presnosť. Ale presnosť na inej sade údajov je okolo 50 percent. To znamená, že model dobre nezovšeobecňuje naše tréningové údaje a neviditeľné údaje.

Takto vyzerá overfitting. Je to veľmi častý problém v oblasti strojového učenia a dokonca aj v oblasti dátovej vedy. Teraz pochopme signál a šum.

Signál vs šum

Pri prediktívnom modelovaní sa signál vzťahuje na skutočný základný vzor, ​​ktorý pomáha modelu učiť sa údaje. Na druhej strane je hluk irelevantné a náhodné údaje v súbore údajov. Aby sme pochopili pojem šum a signál, vezmime si príklad z reálneho života.

Predpokladajme, že chceme modelovať vek vs. gramotnosť dospelých. Ak vyberieme vzorku veľmi veľkej časti populácie, nájdeme jasný vzťah. Toto je signál, zatiaľ čo šum ruší signál. Ak urobíme to isté s miestnym obyvateľstvom, vzťah sa stane blatistým. Ovplyvnilo by to mimoriadne hodnoty a náhodnosť, pretože napríklad jeden dospelý chodil do školy skôr alebo si nejaký dospelý nemohol dovoliť vzdelávanie atď.

Pokiaľ ide o šum a signál v zmysle strojového učenia, dobrý algoritmus strojového učenia automaticky oddelí signály od šumu. Ak je algoritmus príliš zložitý alebo neefektívny, môže sa naučiť aj šum. Preto nadštandardná výbava modelu. Rozumieme tiež nedostatočnému vybaveniu v strojovom učení.

Čo je nedostatočné vybavenie?

Aby sme sa vyhli nadmernému vybaveniu, mohli by sme tréning zastaviť v skoršej fáze. Môže to však tiež viesť k tomu, že sa model nebude môcť dostatočne naučiť z údajov o tréningu, takže bude pre neho ťažké zachytiť dominantný trend. Toto je známe ako nedostatočné vybavenie. Výsledok je rovnaký ako nadmerná vybavenosť a neefektívnosť predpovedania výsledkov.

Teraz, keď sme pochopili, čo je vlastne nedostatočné vybavenie a nadmerné vybavenie v strojovom učení, skúsme pochopiť, ako môžeme zistiť nadmerné vybavenie v strojovom učení.

Ako zistiť nadmerné vybavenie?

Hlavnou výzvou pri nadmernom vybavení je odhadnúť presnosť výkonu nášho modelu s novými údajmi. Presnosť by sme nedokázali odhadnúť, kým ju skutočne nevyskúšame.

Aby sme tento problém vyriešili, môžeme úvodnú množinu údajov rozdeliť do samostatných množín údajov o tréningoch a testoch. Pomocou tejto techniky môžeme v skutočnosti odhadnúť, aký dobrý bude náš model s novými údajmi.

Pochopme to na príklade, predstavme si, že dostaneme 90+-percentnú presnosť tréningovej sady a 50-percentnú presnosť testovacej sady. Potom by to pre model automaticky bolo červené.

rozdiel medzi bábkou a kuchárom

Ďalším spôsobom, ako zistiť nadmerné vybavenie je začať so zjednodušujúcim modelom, ktorý bude slúžiť ako meradlo.

Ak s týmto prístupom vyskúšate zložitejšie algoritmy, budete schopní pochopiť, či je dodatočná zložitosť pre daný model vôbec užitočná alebo nie. Je tiež známy ako Occamov test žiletky , v prípade dvoch modelov v zásade zvolí zjednodušujúci model pre porovnateľný výkon. Aj keď je zisťovanie nadmerného vybavenia dobrým zvykom,ale existuje niekoľko techník, ako zabrániť nadmernému vybaveniu. Poďme sa pozrieť na to, ako môžeme zabrániť nadmernému vybaveniu v strojovom učení.

Ako zabrániť nadmernému vybavovaniu v strojovom učení?

Existuje niekoľko techník, ktoré sú uvedené nižšie, aby sa predišlo nadmernému vybaveniu v rámci strojového učenia.

  1. Krížová validácia

  2. Školenie s ďalšími údajmi

  3. Odstraňujú sa funkcie

  4. Skoré zastavenie

  5. Regularizácia

  6. Zostavenie

1. Krížová validácia

Jednou z najsilnejších funkcií, ako sa vyhnúť / zabrániť nadmernému vybaveniu, je krížová validácia. Myšlienkou je použitie počiatočných tréningových údajov na vygenerovanie rozdelení mini test-vlak a potom použitie týchto rozdelení na vyladenie vášho modelu.

Pri štandardnej validácii k-násobku sú údaje rozdelené do k-podmnožín známych tiež ako záhyby. Potom sa algoritmus iteratívne trénuje na záhyby k-1, zatiaľ čo zostávajúce záhyby sa používajú ako testovacia súprava, známa aj ako zádržná záhyb.

Krížová validácia nám pomáha vyladiť hyperparametre iba s pôvodnou tréningovou sadou. V zásade uchováva testovaciu sadu osobitne ako skutočnú nevídanú množinu údajov na výber finálneho modelu. Preto sa úplne vyhýbajte nadmernému vybavovaniu.

2. Školenie s ďalšími údajmi

Táto technika nemusí fungovať zakaždým, ako sme už diskutovali v príklade vyššie, kde modelu pomáha tréning s významným počtom obyvateľov. V zásade pomáha modelu pri lepšej identifikácii signálu.

V niektorých prípadoch však zvýšené údaje môžu znamenať aj dodanie väčšieho šumu do modelu. Keď trénujeme model s väčším počtom údajov, musíme sa ubezpečiť, že údaje sú čisté a neobsahujú náhodnosť a nezrovnalosti.

3. Odstránenie funkcií

Aj keď niektoré algoritmy majú automatický výber funkcií. Pre značný počet tých, ktorí nemajú výber zabudovaných funkcií, môžeme zo vstupných funkcií odstrániť niekoľko nepodstatných funkcií, aby sme zlepšili zovšeobecnenie.

Jedným zo spôsobov, ako to urobiť, je odvodiť záver, ako sa daná funkcia hodí do modelu. Je to celkom podobné ako ladenie kódu po riadkoch.

V prípade, že vlastnosť nedokáže vysvetliť relevantnosť modelu, môžeme tieto vlastnosti jednoducho identifikovať. Pre dobrý východiskový bod môžeme dokonca použiť niekoľko heuristík výberu funkcií.

4. Včasné zastavenie

Keď model trénuje, môžete na základe každej iterácie skutočne zmerať jeho výkonnosť. Dokážeme to až do okamihu, keď iterácie zlepšia výkon modelu. Potom model nadradí údaje o tréningu, pretože generalizácia slabne po každej iterácii.

Takže v zásade znamená predčasné zastavenie zastavenie tréningového procesu skôr, ako model prejde bodom, v ktorom model začne preťažovať tréningové dáta. Táto technika sa väčšinou používa v hlboké učenie .

5. Regularizácia

V podstate to znamená, umelo prinútiť váš model, aby bol jednoduchší, pomocou širšej škály techník. Úplne to závisí od typu učiaceho sa, ktorý používame. Napríklad môžeme orezať a , použite výpadok na a neurónová sieť alebo pridať regresný parameter pokuty k nákladovej funkcii.

Regularizácia je tiež často hyperparametrom. To znamená, že sa dá vyladiť aj krížovou validáciou.

6. Zostavenie

Táto technika v podstate kombinuje predpovede z rôznych modelov strojového učenia. Ďalej sú uvedené dve z najbežnejších metód zostavovania súborov:

  • Pytliactvo sa pokúša znížiť pravdepodobnosť preťaženia modelov

  • Podpora pokusov o zlepšenie prediktívnej flexibility jednoduchších modelov

Aj keď sú to obidve súborové metódy, prístup úplne začína z opačných smerov. Bagging využíva zložité základné modely a snaží sa vyhladiť ich predpovede, zatiaľ čo vylepšenie využíva jednoduché základné modely a snaží sa zvýšiť svoju agregovanú zložitosť.

Čo je Goodness Of Fit?

V štatistickom modelovaní sa hodnota zhody vzťahuje na to, ako veľmi sa výsledky alebo predpovedané hodnoty zhodujú s pozorovanými alebo skutočnými hodnotami.Model, ktorý sa namiesto signálu naučil šum, je nadmerne vybavený, pretože sa zmestí do súboru tréningových údajov, ale bude mať horšiu účinnosť s novým súborom údajov.

Kompromis medzi zaujatosťou a odchýlkou

Rozptyl aj skreslenie sú formami chyby predikcie v . Kompromis medzi vysokou odchýlkou ​​a vysokou odchýlkou ​​je veľmi dôležitý pojem v štatistike a strojovom učení. Toto je jeden koncept, ktorý ovplyvňuje všetky kontrolované algoritmy strojového učenia.

Kompenzácia odchýlky odchýlky má veľmi významný vplyv na určenie zložitosti, nedostatočného vybavenia a nadmerného vybavenia pre akýkoľvek model strojového učenia.

Zaujatosť

Nie je to nič iné ako rozdiel medzi predpovedanými hodnotami a skutočnými alebo skutočnými hodnotami v modeli. Pre model nie je vždy ľahké poučiť sa z pomerne zložitých signálov.

Poďme si predstaviť, že by sme namontovali a lineárna regresia k modelu s nelineárnymi údajmi. Bez ohľadu na to, ako efektívne sa model naučí pozorovania, nebude efektívne modelovať krivky. Je známy ako nedostatočné vybavenie.

Rozptyl

Vzťahuje sa na citlivosť modelu na konkrétne množiny údajov o tréningu. Algoritmus vysokej odchýlky vytvorí bizarný model, ktorý sa drasticky líši od cvičnej súpravy.

Predstavte si algoritmus, ktorý vyhovuje neobmedzenému a superflexibilnému modelu, poučí sa tiež z hluku v tréningovej sade spôsobujúceho nadmerné vybavenie.

Bias-Variance kompromis

Algoritmus strojového učenia nemožno vnímať ako jednorazovú metódu na trénovanie modelu, je to opakujúci sa proces.

Algoritmy nízkeho rozptylu a vysokého skreslenia sú menej zložité a majú jednoduchú a rigidnú štruktúru.

  • Budú trénovať modely, ktoré sú konzistentné, ale v priemere nepresné.

  • Patria sem lineárne alebo parametrické algoritmy, ako napríklad regresia, , atď.

Algoritmy s vysokou odchýlkou ​​a nízkym skreslením bývajú zložitejšie a majú flexibilnejšiu štruktúru.

  • Precvičia nekonzistentné, ale v priemere presné modely.

  • Patria sem nelineárne alebo neparametrické algoritmy ako napr , , atď.

Týmto sa dostávame na koniec tohto článku, kde sme sa naučili Precvičovanie v strojovom učení a rôzne techniky, ako sa tomu vyhnúť. Dúfam, že máte prehľad o všetkom, čo bolo s vami zdieľané v tomto tutoriále.

Ak sa vám tento článok o „Overfitting In Machine Learning“ zdá byť relevantný, pozrite si dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Sme tu, aby sme vám pomohli na každom kroku na vašej ceste a prišli s učebným plánom, ktorý je určený pre študentov a profesionálov, ktorí chcú byť . Kurz je navrhnutý tak, aby vám dal úvod do programovania v Pythone a naučil vás základné aj pokročilé koncepty Pythonu spolu s rôznymi Páči sa mi to , , atď.

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov v časti „Overfitting In Machine Learning“ a náš tím na ne rád odpovie.