Výběr vlastností ve strojovém učení

Strojové učení

Shaurya Lalwani

Sledovat

10. července, 2020 – 7 minut čtení

Foto: Louis Hansel @shotsoflouis na Unsplash

V reálném světě, nejsou data tak čistá, jak se často předpokládá. Proto přichází na řadu dolování a zpracovávání dat; vytváření poznatků z dat, která byla strukturována pomocí dotazů a nyní pravděpodobně obsahují určité chybějící hodnoty a vykazují možné vzory, které jsou pouhým okem neviditelné. Zde přichází na řadu strojové učení:

Pro pochopení hloubky algoritmu je třeba pročíst proměnné v datech a co tyto proměnné představují. Pochopení této skutečnosti je důležité, protože na základě pochopení dat musíte dokázat své výsledky. Pokud vaše data obsahují pět nebo dokonce padesát proměnných, řekněme, že jste schopni je všechny projít. Ale co když obsahují 200 proměnných? Nemáte čas procházet každou proměnnou. Navíc různé algoritmy nebudou pracovat s kategoriálními daty, takže musíte všechny kategoriální sloupce převést na kvantitativní proměnné (vypadají jako kvantitativní, ale metrika zdůvodní, že jsou kategoriální), abyste je mohli protlačit do modelu. Tím se zvýší počet proměnných v datech a nyní se potloukáte s 500 proměnnými. Jak s nimi naložíte? Možná vás napadne, že řešením je hned redukce dimenzionality. Algoritmy pro redukci dimenzionality sníží dimenze, ale interpretovatelnost není tak dobrá. Co když vám řeknu, že existují i jiné techniky, které mohou eliminovat rysy, a přesto bude snadné zachované rysy pochopit a interpretovat?

V závislosti na tom, zda je analýza založena na regresi nebo klasifikaci, se techniky výběru rysů mohou lišit/různit, ale obecná myšlenka, jak je realizovat, zůstává stejná.

Níže uvádíme několik technik výběru funkcí, které tento problém řeší:

Proměnné, které jsou vzájemně vysoce korelované, poskytují modelu stejnou informaci, a proto je zbytečné zahrnovat je všechny do naší analýzy. Např: Pokud soubor dat obsahuje funkci “Doba prohlížení” a další s názvem “Data použitá při prohlížení”, pak si lze představit, že tyto dvě proměnné budou do jisté míry korelované, a tuto vysokou korelaci bychom viděli, i kdybychom vybrali nezkreslený vzorek dat. V takovém případě bychom požadovali, aby v modelu byla jako prediktor přítomna pouze jedna z těchto proměnných, protože pokud bychom použili obě, pak by se model nadměrně přizpůsobil a byl by zkreslený vůči této konkrétní vlastnosti (vlastnostem).

Foto: Akin Cakiner on Unsplash

P-Values

V algoritmech, jako je lineární regrese, je výchozí statistický model vždy dobrý nápad, protože pomáhá při vizualizaci důležitosti prvků pomocí jejich P-hodnot, které byly získány pomocí tohoto modelu. Při nastavení hladiny významnosti zkontrolujeme získané P-hodnoty, a pokud je tato hodnota menší než hladina významnosti, ukazuje to, že rys je významný, tj. změna této hodnoty se pravděpodobně projeví změnou hodnoty cíle.

Foto: Joshua Eckstein on Unsplash

Forward Selection

Forward Selection je technika, která zahrnuje použití postupné regrese. Model se tedy začíná budovat od nuly, tj. od prázdného modelu, a poté se v každé iteraci přidává taková proměnná, aby došlo ke zlepšení budovaného modelu. Proměnná, která má být v každé iteraci přidána, se určuje pomocí její významnosti, kterou lze vypočítat pomocí různých metrik, přičemž běžnou metrikou je P-hodnota získaná z počátečního statistického modelu sestaveného s použitím všech proměnných. Někdy může Forward Selection způsobit nadměrnou shodu, protože může do modelu přidat vysoce korelované proměnné, i když poskytují modelu stejné údaje (ale model vykazuje zlepšení).

Foto: Edu Grande on Unsplash

Zpětná eliminace

Zpětná eliminace také zahrnuje postupný výběr prvků, a to způsobem, který je opačný než u Forward Selection. V tomto případě počáteční model začíná se všemi nezávislými proměnnými a tyto proměnné jsou jedna po druhé vyřazovány (jedna za iteraci), pokud v každé iteraci neposkytují hodnotu nově vytvořenému regresnímu modelu. Opět se tak děje na základě P-hodnot získaných pomocí počátečního statistického modelu a na základě těchto P-hodnot jsou prvky z modelu vyřazeny. I při použití této metody existuje nejistota při odstraňování vysoce korelovaných proměnných.

Foto: Markus Spiske on Unsplash

Recursive Feature Elimination (RFE)

RFE je široce používaná technika/algoritmus pro výběr přesného počtu významných rysů, někdy k vysvětlení konkrétního počtu “nejdůležitějších” funkcí ovlivňujících podnikání a někdy jako metoda k redukci velmi vysokého počtu funkcí (řekněme kolem 200-400) pouze na ty, které vytvářejí alespoň malý dopad na model, a k eliminaci ostatních. RFE používá systém založený na hodnostech, který zobrazuje hodnosti rysů v souboru dat, a tyto hodnosti se používají k vyřazování rysů v rekurzivní smyčce na základě kolinearity, která je mezi nimi přítomna, a samozřejmě významu těchto rysů v modelu. Kromě pořadí rysů může RFE ukázat, zda jsou tyto rysy důležité, či nikoli, a to i pro zvolený počet rysů (je totiž velmi pravděpodobné, že zvolený počet, který jsme zvolili, nemusí představovat optimální počet důležitých rysů a že optimální počet rysů může být větší nebo menší než tento počet zvolený uživatelem).

Foto: Andrew Seaman on Unsplash

Významnost funkce na grafu

Když mluvíme o interpretovatelnosti algoritmů strojového učení, obvykle diskutujeme o lineární regresi (protože můžeme analyzovat důležitost funkce pomocí P-hodnot) a rozhodovacím stromu (který prakticky zobrazuje důležitost funkce ve formě stromu, který zobrazuje i hierarchii důležitosti), ale na druhou stranu často používáme graf důležitosti proměnných, který vykresluje proměnné a “velikost jejich důležitosti”, v algoritmech, jako je klasifikátor Random Forest, Light Gradient Boosting Machine a XG Boost. To je užitečné zejména tehdy, když je třeba analyzovanému podniku předložit dobře strukturovanou důležitost rysů.

Foto: Robert Anasch on Unsplash

Regularizace

Regularizace se provádí za účelem sledování kompromisu mezi odchylkou a rozptylem. Zkreslení vypovídá o tom, jak moc se model nadměrně přizpůsobil trénovacímu souboru dat. Rozptyl nám říká, jak rozdílné byly předpovědi provedené na trénovací a testovací sadě dat. V ideálním případě je třeba snížit jak bias, tak rozptyl. Zde přichází na řadu regularizace! Existují především dva typy regularizačních technik:

L1 Regularizace – Lasso: Lasso penalizuje beta koeficienty modelu, aby se změnila jejich důležitost v modelu, a může je dokonce uzemnit (změnit na nuly, tj. v podstatě tyto proměnné z konečného modelu odstranit). Obecně se Lasso používá, když zjistíte, že váš soubor dat obsahuje velké množství proměnných a vy potřebujete některé z nich odstranit, abyste lépe pochopili, jak důležité rysy ovlivňují váš model (tj. rysy, které jsou nakonec vybrány pomocí Lasso, a je jim přiřazena důležitost).

L2 Regularizace – Ridge: Úkolem funkce Ridge je zachovat všechny proměnné, tj. použít všechny proměnné k sestavení modelu, a zároveň jim přiřadit takovou důležitost, aby došlo ke zlepšení výkonnosti modelu. Ridge je skvělou volbou, pokud je počet proměnných v souboru dat nízký, a tudíž jsou všechny tyto proměnné potřebné k interpretaci získaných poznatků a předpovězených cílových výsledků.

Protože Ridge zachovává všechny proměnné a Lasso lépe přiřazuje proměnným důležitost, byla vyvinuta kombinace obou, známá jako Elastic-Net, jako způsob vývoje algoritmu, kombinací nejlepších vlastností Ridge a Lasso. Elastic-Net se tak stává ideální volbou.

Foto: Hunter Harritt on Unsplash

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.