Co je to přeplňování ve strojovém učení a jak tomu zabránit?



Tento článek popisuje Přetížení ve strojovém učení s příklady a několika technikami, kterým je třeba se vyhnout, zjistit Přetížení ve strojovém učení.

Sestavování modelu strojového učení není jen o vkládání dat, existuje mnoho nedostatků, které ovlivňují přesnost jakéhokoli modelu. Overfitting dovnitř je jeden takový nedostatek ve strojovém učení, který brání přesnosti i výkonu modelu. V tomto článku jsou popsána následující témata:

Co je to overfitting ve strojovém učení?

Statistický model se říká, že je přeplněný, když do něj vkládáme mnohem více dat, než je nutné. Aby to bylo relatable, představte si, že se snažíte zapadnout do nadrozměrného oblečení.





Když se do modelu vejde více dat, než ve skutečnosti potřebuje, začne chytat hlučná data a nepřesné hodnoty v datech. Výsledkem je snížení účinnosti a přesnosti modelu. Podívejme se na několik příkladů overfittingu, abychom pochopili, jak k tomu vlastně dochází.



Příklady overfittingu

Příklad 1

Vezmeme-li příklad jednoduchého lineární regrese , trénink dat je především o zjištění minimálních nákladů mezi nejvhodnější linií a datovými body. Prochází řadou iterací, aby zjistil optimální přizpůsobení, minimalizoval náklady. To je místo, kde do hry vstupuje overfitting.



Čára na obrázku výše může poskytnout velmi efektivní výsledek pro nový datový bod. V případě overfittingu, když spustíme tréninkový algoritmus na datové sadě, umožníme snížit náklady s každým počtem iterací.

Spuštění tohoto příliš dlouho bude znamenat sníženou cenu, ale hodí se také na hlučná data z datové sady. Výsledek by vypadal podobně jako v níže uvedeném grafu.

Může to vypadat efektivně, ale není to tak. Hlavním cílem algoritmu, jako je lineární regrese je najít dominantní trend a odpovídajícím způsobem přizpůsobit datové body. V tomto případě se však čára hodí ke všem datovým bodům, což je pro účinnost modelu při předpovídání optimálních výsledků pro nové vstupní datové body irelevantní.

Uvažujme nyní popisnější příklad pomocí prohlášení o problému.

Příklad 2

Problémové prohlášení: Uvažujme, že chceme předpovědět, zda fotbalista přistane ve fotbalovém klubu 1. úrovně na základě jeho aktuálního výkonu v lize 2. úrovně.

Nyní si představte, že model trénujeme a vybavíme 10 000 takových hráčů s výsledky. Když se pokusíme předpovědět výsledek na původní sadě dat, řekněme, že máme 99% přesnost. Ale přesnost u jiné datové sady se pohybuje kolem 50 procent. To znamená, že model zobecnění z našich tréninkových dat a neviditelných dat nefunguje dobře.

Takto vypadá overfitting. Je to velmi častý problém ve strojovém učení a dokonce i ve vědě o datech. Nyní pochopíme signál a šum.

Signál vs šum

V prediktivním modelování se signál týká skutečného základního vzoru, který pomáhá modelu naučit se data. Na druhé straně je hluk irelevantní a náhodná data v datové sadě. Abychom porozuměli pojmu šum a signál, vezměme si příklad z reálného života.

Předpokládejme, že chceme modelovat věk vs. gramotnost dospělých. Pokud vzorkujeme velmi velkou část populace, najdeme jasný vztah. Toto je signál, zatímco šum ruší signál. Pokud uděláme totéž na místním obyvatelstvu, vztah bude blátivý. Ovlivnilo by to odlehlé hodnoty a náhodnost, protože například jeden dospělý chodil do školy předčasně nebo si nějaký dospělý nemohl dovolit vzdělání atd.

Když už mluvíme o šumu a signálu, pokud jde o strojové učení, dobrý algoritmus strojového učení automaticky oddělí signály od šumu. Pokud je algoritmus příliš složitý nebo neefektivní, může se také naučit šum. Z tohoto důvodu nadměrné vybavení modelu. Rozumíme také nedostatečnému vybavení ve strojovém učení.

Co je Underfitting?

Abychom zabránili nadměrnému vybavení, mohli bychom trénink zastavit v dřívější fázi. Může to ale také vést k tomu, že se model nebude moci dostatečně naučit z tréninkových dat, takže může být obtížné zachytit dominantní trend. Toto je známé jako nedostatečné vybavení. Výsledek je stejný jako nadměrná vybavenost a neefektivita při předpovídání výsledků.

Nyní, když jsme pochopili, co ve strojovém učení skutečně je nedostatečné a nadměrné vybavení, pokusme se pochopit, jak můžeme detekovat nadměrné vybavení ve strojovém učení.

Jak detekovat přeplnění?

Hlavní výzvou při overfittingu je odhadnout přesnost výkonu našeho modelu s novými daty. Dokud ji skutečně nevyzkoušíme, nebyli bychom schopni odhadnout přesnost.

Abychom tento problém vyřešili, můžeme rozdělit počáteční datovou sadu do samostatných tréninkových a testovacích datových sad. S touto technikou můžeme skutečně aproximovat, jak dobře bude náš model fungovat s novými daty.

Pochopme to na příkladu, představme si, že získáme 90+ procentní přesnost tréninkové sady a 50 procentní přesnost testovací sady. Potom by to pro model bylo automaticky červenou vlajkou.

co je podřetězec v Javě

Další způsob, jak zjistit přeplnění je začít se zjednodušujícím modelem, který bude sloužit jako měřítko.

S tímto přístupem, pokud vyzkoušíte složitější algoritmy, budete schopni pochopit, zda je další složitost pro model dokonce užitečná nebo ne. Je také známý jako Occamův test žiletky , v zásadě zvolí zjednodušující model v případě srovnatelného výkonu v případě dvou modelů. Ačkoli je detekce overfittingu dobrým postupem,ale existuje několik technik, které zabraňují také nadměrnému vybavení. Pojďme se podívat na to, jak můžeme zabránit nadměrnému vybavení ve strojovém učení.

Jak se vyhnout přetížení ve strojovém učení?

Níže je uvedeno několik technik, jak se vyhnout nadměrnému vybavení ve strojovém učení.

  1. Křížová validace

  2. Školení s více daty

  3. Odebírání funkcí

  4. Včasné zastavení

  5. Regulace

  6. Montáž

1. Křížová validace

Jednou z nejvýkonnějších funkcí, jak se vyhnout / zabránit nadměrnému vybavení, je křížové ověřování. Myšlenkou toho je použití počátečních tréninkových dat k vygenerování mini rozdělování vlaků a testů a pak tyto rozdělení použijte k vyladění vašeho modelu.

Při standardní validaci k-fold jsou data rozdělena do k-podmnožin známých také jako folds. Poté se algoritmus iterativně trénuje na k-1 záhybech, zatímco zbývající záhyby se použijí jako testovací sada, známá také jako zádržný záhyb.

Křížová validace nám pomáhá vyladit hyperparametry pouze s původní tréninkovou sadou. V zásadě udržuje testovací sadu samostatně jako skutečnou neviditelnou datovou sadu pro výběr finálního modelu. Proto se vyhněte úplnému vybavení.

2. Školení s více daty

Tato technika nemusí fungovat pokaždé, jak jsme také diskutovali ve výše uvedeném příkladu, kde modelu pomáhá výcvik s významným počtem obyvatel. V zásadě pomáhá modelu při lepší identifikaci signálu.

V některých případech však zvýšená data mohou také znamenat, že model bude napájen více šumem. Když trénujeme model s více daty, musíme se ujistit, že data jsou čistá a bez náhodnosti a nekonzistencí.

3. Odebrání funkcí

Ačkoli některé algoritmy mají automatický výběr funkcí. U významného počtu těch, kteří nemají předdefinovaný výběr funkcí, můžeme ze vstupních funkcí ručně odebrat několik irelevantních funkcí, abychom vylepšili zobecnění.

Jedním ze způsobů, jak to udělat, je odvození závěru o tom, jak prvek zapadá do modelu. Je to docela podobné ladění kódu řádek po řádku.

V případě, že prvek nedokáže vysvětlit relevanci modelu, můžeme tyto prvky jednoduše identifikovat. Pro dobrý výchozí bod můžeme dokonce použít několik heuristik výběru funkcí.

4. Včasné zastavení

Když se model trénuje, můžete skutečně měřit, jak dobře model funguje na základě každé iterace. Můžeme to udělat až do okamžiku, kdy iterace zlepší výkon modelu. Poté model převýší tréninková data, protože generalizace po každé iteraci slabne.

V zásadě tedy včasné zastavení znamená zastavení tréninkového procesu dříve, než model projde bodem, kdy model začne převyšovat tréninková data. Tato technika se většinou používá v hluboké učení .

5. Regularizace

V zásadě to znamená, že musíte přinutit model k jednoduššímu použití širší škály technik. To zcela závisí na typu žáka, kterého používáme. Například můžeme ořezat a , použijte výpadek na a nervová síť nebo přidejte parametr penalizace k nákladové funkci v regresi.

Často je regularizace také hyperparametr. To znamená, že jej lze vyladit také křížovou validací.

6. Sestavování

Tato technika v podstatě kombinuje předpovědi z různých modelů Machine Learning. Níže jsou uvedeny dvě nejběžnější metody kompletace:

  • Pytlích se pokouší snížit šanci, že budou modely nadhozené

  • Posílení pokusů o zlepšení prediktivní flexibility jednodušších modelů

I když jsou obě souborovými metodami, přístup zcela začíná z opačných směrů. Bagging používá složité základní modely a snaží se vyhladit jejich předpovědi, zatímco boosting používá jednoduché základní modely a snaží se posílit jeho agregovanou složitost.

Co je to Goodness Of Fit?

Ve statistickém modelování se dobrá shoda týká toho, jak blízko se výsledky nebo předpokládané hodnoty shodují s pozorovanými nebo skutečnými hodnotami.Model, který se místo signálu naučil šum, je nadměrně vybaven, protože se vejde do tréninkové datové sady, ale bude mít horší účinnost s novou datovou sadou.

Kompromis mezi zkreslením a odchylkou

Varianta i zkreslení jsou formy chyby predikce . Kompromis mezi vysokou odchylkou a vysokým zkreslením je velmi důležitým konceptem ve statistice a strojovém učení. Toto je jeden koncept, který ovlivňuje všechny supervizované algoritmy strojového učení.

Kompenzace odchylky odchylky má velmi významný dopad na určení složitosti, nedostatečného vybavení a nadměrného vybavení jakéhokoli modelu strojového učení.

Zaujatost

Není to nic jiného než rozdíl mezi predikovanými hodnotami a skutečnými nebo skutečnými hodnotami v modelu. Pro model není vždy snadné se poučit z poměrně složitých signálů.

Představme si montáž a lineární regrese k modelu s nelineárními daty. Bez ohledu na to, jak efektivně se model učí pozorování, nebude efektivně modelovat křivky. To je známé jako nedostatečné vybavení.

Rozptyl

Odkazuje na citlivost modelu na konkrétní sady v tréninkových datech. Algoritmus s vysokou variací vytvoří bizarní model, který se drasticky liší od tréninkové sady.

Představte si algoritmus, který vyhovuje neomezenému a superflexibilnímu modelu, bude se také učit z hluku v tréninkové sadě, který způsobí přetížení.

Bias-Variance Trade-off

Algoritmus strojového učení nelze vnímat jako jednorázovou metodu pro trénování modelu, místo toho se jedná o opakující se proces.

Algoritmy s nízkou odchylkou a vysokým zkreslením jsou méně složité a mají jednoduchou a rigidní strukturu.

  • Budou trénovat modely, které jsou konzistentní, ale v průměru nepřesné.

  • Patří mezi ně lineární nebo parametrické algoritmy, jako je regrese, , atd.

Algoritmy s vysokou odchylkou a nízkou odchylkou bývají složitější a mají flexibilní strukturu.

  • Procvičí nekonzistentní, ale průměrně přesné modely.

  • Patří mezi ně nelineární nebo neparametrické algoritmy jako např , , atd.

Tím se dostáváme na konec tohoto článku, kde jsme se naučili Overfitting ve strojovém učení a o různých technikách, jak se tomu vyhnout. Doufám, že máte jasno se vším, co bylo s vámi v tomto tutoriálu sdíleno.

Pokud se vám tento článek o „Přeplňování ve strojovém učení“ zdá být relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Jsme tu, abychom vám pomohli s každým krokem na vaší cestě a vytvořili osnovy určené pro studenty a profesionály, kteří chtějí být . Kurz je navržen tak, aby vám poskytl náskok v programování v Pythonu a naučil vás základní i pokročilé koncepty Pythonu spolu s různými jako , , atd.

Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů v části „Přizpůsobení strojovému učení“ a náš tým vám rád odpoví.