Vylepšení klasifikačních modelů

Dokončeno

V našich cvičeních jsme zjistili, že náš model mohl předpovědět laviny tak trochu, ale stále se mýlil kolem 40 % času. Příčinou této chyby je, že naše funkce – počet slabých vrstev sněhu – není jediná věc, která je zodpovědná za laviny.

Teď se pojďme ponořit do dvou hlavních způsobů, jak zlepšit výkon klasifikačního modelu: poskytování dalších funkcí a selektivních týkajících se toho, co model zadává.

Poskytování dalších funkcí

Stejně jako lineární regrese nemusí být logistická regrese omezena na jeden vstup. Může kombinovat funkce a vytvářet předpovědi. Můžeme se například pokusit předpovědět laviny na základě pádu sněhu a počtu turistů, kteří ruší trasu. Obě tyto funkce můžeme zadat do stejného modelu, abychom vypočítali pravděpodobnost laviny.

Logistická regrese interně kombinuje funkce podobně jako lineární regrese. To znamená, že považuje všechny funkce za nezávislé, což znamená, že předpokládá, že funkce vzájemně neovlivňují. Náš model například předpokládá, že množství zasněžování nemění počet lidí, kteří navštíví trasu. Ve výchozím nastavení také předpokládá, že zasněžení zvyšuje riziko laviny o nastavenou částku – bez ohledu na to, kolik turistů chodí na trasu.

Dobré a špatné strany nezávislých funkcí

Logistickou regresi je možné explicitně říct, aby kombinovaly funkce, aby bylo možné modelovat jejich spolupráci, ale ve výchozím nastavení ne. Logistická regrese se liší od většiny známých algoritmů kategorizace, jako jsou rozhodovací stromy a neurální sítě.

Skutečnost, že logistická regrese považuje funkce ve výchozím nastavení za nezávislé, je síla i omezení, která by měla být zachována. Může například jednoduše vytvořit jasné předpovědi, například zvýšení počtu lidí zvyšuje riziko, což obvykle není možné provádět s jinými modely. Snižuje také možnost přeurčení trénovacích dat. Naproti tomu model nemůže dobře fungovat, pokud funkce skutečně pracují v reálném světě. Například pět turistů, kteří přejíždějí horou, je riskantní, pokud je sníh, ale pět lidí je v bezpečí, pokud není žádný sněhový pád, který by způsobil lavinu. Model logistické regrese je potřeba explicitně říct, aby hledal interakci mezi sněžným pádem a počtem turistických turistů v tomto příkladu, aby si tuto nuance získali.

Zamyslete se nad funkcemi

Dalším způsobem, jak vylepšit modely, je dát skutečné myšlenky na to, které funkce jsou dodávány a proč. Obecně platí, že čím více funkcí do modelu přidáváme, tím lépe model funguje. Tato korelace je pravdivá, ale pokud jsou funkce, které poskytujeme, relevantní a vysvětlují něco, co stávající funkce nemají.

Vyhněte se přetrénování

Pokud poskytneme další funkce, které nejsou užitečné, model může přetrénovat. Dává vzhled práce lépe, ale ve skutečnosti pracuje horší ve skutečném světě.

Představte si například, že bychom měli denní záznamy o amount_of_snow, number_of_hikers, teplotě a number_of_birds_spotted. Počet pozorování ptáků pravděpodobně není relevantní informace. Pokud je však model dodán, skončí modelováním vztahu mezi lavinami a počtem ptáků, které byly zjištěny v daných dnech. Pokud by se ptáci na lavinách viděli více, model naznačuje, že ptáci by mohli být zodpovědní za příčiny lavin. Pak bychom mohli nastavit systematický program sledování ptáků, abychom předpověděli laviny, jen abychom zjistili, že vůbec nefunguje.

Vyhněte se podtrénování

Použití funkcí naively také může vést k podtrénování a nemusí provádět předpovědi co nejpřesněji. Například teplota a number_of_hikers mohou být obě úzce propojeny s lavinami. I když lidé chodí jenom na slunečné dny, model může být obtížné odlišit, jak důležití turisté jsou ve srovnání s teplotou. Podobně můžeme zjistit, že náš model funguje lépe, pokud dodáváme naše number_of_hikers jako přesný počet návštěvníků, nikoli jednoduše high nebo low. Pak nechte naše trénování modelu najít přesnější vztah.