Minimalizace chyb modelu s využitím nákladových funkcí

Dokončeno

Proces učení opakovaně mění model, dokud nemůže provádět vysoce kvalitní odhady. K určení, jak dobře model funguje, používá proces učení matematiku ve formě nákladové funkce. Nákladová funkce se také označuje jako cílová funkce. Abychom pochopili, co je nákladová funkce, pojďme si ji trochu rozdělit.

Chyba, náklady a ztráta

Při učení pod dohledem, chybách, nákladech a ztrátě se všechny týkají počtu chyb, které model dělá při předpovídání jednoho nebo více popisků.

Tyto tři termíny se v strojovém učení používají poněkud volně, což může způsobit nejasnosti. Kvůli jednoduchosti je zde použijeme zaměnitelně. Náklady se počítají prostřednictvím matematiky; nejedná se o kvalitativní úsudek. Pokud například model předpovídá, že denní teplota bude 40°F, ale skutečná hodnota je 35°F, můžeme říci, že má chybu 5°F.

Minimalizace nákladů je naším cílem.

Vzhledem k tomu, že náklady označují, jak špatně model funguje, naším cílem je mít nulové náklady. Jinými slovy, chceme model vytrénovat tak, aby vůbec neudělal chyby. Tato myšlenka je ale často nemožné, takže místo toho nastavíme trochu vícebulózní cíl trénování modelu tak, aby měly nejnižší možné náklady.

Vzhledem k tomuto cíli určuje způsob výpočtu nákladů to, co se model snaží naučit. V předchozím příkladu jsme definovali náklady jako chybu při odhadu teploty.

Co je nákladová funkce?

Při učení pod dohledem je nákladová funkce malou částí kódu, která vypočítá náklady z predikce modelu a očekávaného popisku: správnou odpověď. V našem předchozím cvičení jsme například vypočítali náklady tím, že jsme vypočítali chyby předpovědi, srovnali je a sečteme je.

Po výpočtu nákladů funkce víme, jestli model funguje dobře, nebo ne. Pokud to funguje dobře, můžeme se rozhodnout zastavit trénování. Pokud ne, můžeme optimalizátoru předat informace o nákladech, které tyto informace používají k výběru nových parametrů modelu.

Diagram of the machine-learning lifecycle with labels, but without features.

Během trénování můžou různé nákladové funkce měnit dobu trénování nebo jak dobře funguje. Pokud například nákladová funkce vždy uvádí, že chyby jsou malé, optimalizátor provede pouze malé změny modelu. Jako další příklad, pokud funkce nákladů vrátí velmi velké hodnoty, když dojde k určitým chybám, optimalizátor provede změny modelu tak, aby tyto druhy chyb neprovádí.

Není k dispozici nákladová funkce s jednou velikostí. Která z nich je nejlepší, závisí na tom, čeho se snažíme dosáhnout. Často potřebujeme experimentovat s nákladovými funkcemi, abychom získali výsledek, se kterým jsme spokojení. V dalším cvičení provedeme tento experiment.