Testovací a trénovací datové sady

Dokončeno

Data, která používáme k trénování modelu, se často označují jako trénovací datová sada. Už jsme to viděli v akci. Frustrující, když model používáme ve skutečném světě, po trénování nevíme, jak dobře bude model fungovat. Tato nejistota spočívá v tom, že naše trénovací datová sada se liší od dat v reálném světě.

Co je přeurčení?

Model je přeučený, pokud funguje lépe na trénovacích datech než na jiných datech. Název odkazuje na skutečnost, že model byl tak dobře vyladěn, že si pamatuje podrobnosti trénovací sady, namísto aby hledal obecná pravidla použitelná na další data. Overfitting je běžné, ale není žádoucí. Na konci dne se staráme jen o to, jak dobře náš model funguje na datech z reálného světa.

Jak se můžeme vyhnout přeurčení?

Můžeme se vyhnout overfittingu několika způsoby. Nejjednodušším způsobem je mít jednodušší model nebo použít datovou sadu, která je lepší reprezentací toho, co je vidět ve skutečném světě. Pokud chcete porozumět těmto metodám, zvažte scénář, ve kterém data z reálného světa vypadají takto:

Graf znázorňující náčrt výšky psů a jejich záchran

Řekněme ale, že shromažďujeme informace o pouhých pěti psech a používáme je jako trénovací datovou sadu tak, aby vyhovovala složité lince. Pokud to můžeme udělat, můžeme ho velmi dobře přizpůsobit:

diagram znázorňující komplexní spojnicový graf, který používá pouze pět informací o výšce a záchraně psů

Když se ale použije ve skutečném světě, zjistíme, že předpovědi se ukáží jako nesprávné.

diagram znázorňující data z reálného světa a tréninková data v grafu výšky psů a záchranných akcí

Pokud máme reprezentativnější datovou sadu a jednodušší model, ukáže se, že přímka, kterou zvolíme, poskytuje lepší (i když ne dokonalé) předpovědi:

diagram znázorňující reprezentativní graf výšky a záchrany psa pomocí skutečných dat a trénovacích dat

Alternativní způsob, jak se vyhnout přeurčení, je zastavit trénink poté, co se model naučil obecná pravidla, ale před přeurčením modelu. To ale vyžaduje zjištění, kdy začneme model přetěžovat. Můžeme to udělat pomocí testovací datové sady.

Co je testovací datová sada?

Testovací datová sada, označovaná také jako ověřovací datová sada, je sada dat podobná trénovací datové sadě. Testovací datové sady se ve skutečnosti obvykle vytvářejí tak, že přebírají velkou datovou sadu a rozdělí ji. Jedna část se nazývá trénovací datová sada a druhá se nazývá testovací datová sada.

Úlohou trénovací datové sady je trénování modelu; Už jsme viděli školení. Úkolem testovací datové sady je zkontrolovat, jak dobře model funguje; nepřispívá přímo k trénování.

Dobře, ale jaký má smysl?

Bod testovací datové sady je dvojí.

Za prvé, pokud se testovací výkon během trénování přestane zlepšovat, můžeme se zastavit; nemá smysl pokračovat. Pokud budeme pokračovat, můžeme model povzbuzovat, aby se učil podrobnosti o trénovací datové sadě, které nejsou v testovací datové sadě, což je přefitování.

Za druhé můžeme po trénování použít testovací datovou sadu. To nám dává přehled o tom, jak dobře bude konečný model fungovat, když uvidí data z reálného světa, která ještě neviděla.

Co to znamená pro nákladové funkce?

Při použití trénovacích i testovacích datových sad nakonec vypočítáme dvě nákladové funkce.

První nákladová funkce používá trénovací datovou sadu stejně jako předtím. Tato nákladová funkce se předá optimalizátoru a použije se k trénování modelu.

Druhá nákladová funkce se vypočítá pomocí testovací datové sady. Používáme to ke kontrole, jak dobře model může fungovat ve skutečném světě. Výsledek nákladové funkce se nepoužívá k trénování modelu. Abychom to vypočítali, pozastavíme trénování, podíváme se, jak dobře model funguje s testovací datovou sadou, a pak pokračujeme v trénování.