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

Čau Habr!

My v Reksoftu jsme přeložili článek do ruštiny Výběr funkcí ve strojovém učení. Doufáme, že bude užitečný pro každého, koho toto téma zajímá.

V reálném světě nejsou data vždy tak čistá, jak si firemní zákazníci někdy myslí. To je důvod, proč jsou data mining a data wrangling žádaný. Pomáhá identifikovat chybějící hodnoty a vzory v datech strukturovaných dotazem, které lidé nemohou identifikovat. Aby bylo možné tyto vzorce najít a použít k předpovědi výsledků pomocí objevených vztahů v datech, přijde vhod strojové učení.

Abyste porozuměli jakémukoli algoritmu, musíte se podívat na všechny proměnné v datech a zjistit, co tyto proměnné představují. To je zásadní, protože zdůvodnění výsledků je založeno na pochopení dat. Pokud data obsahují 5 nebo dokonce 50 proměnných, můžete je prozkoumat všechny. Co když jich bude 200? Pak prostě nebude dost času na studium každé jednotlivé proměnné. Některé algoritmy navíc nefungují pro kategorická data a pak budete muset převést všechny kategorické sloupce na kvantitativní proměnné (mohou vypadat kvantitativní, ale metriky ukážou, že jsou kategorické), abyste je přidali do modelu. Tím se zvyšuje počet proměnných a je jich asi 500. Co teď dělat? Někdo by si mohl myslet, že odpovědí by bylo snížení dimenzionality. Algoritmy redukce rozměrů snižují počet parametrů, ale mají negativní dopad na interpretovatelnost. Co když existují jiné techniky, které eliminují funkce, zatímco zbývající jsou snadno pochopitelné a interpretovatelné?

V závislosti na tom, zda je analýza založena na regresi nebo klasifikaci, se mohou algoritmy výběru funkcí lišit, ale hlavní myšlenka jejich implementace zůstává stejná.

Vysoce korelované proměnné

Proměnné, které spolu vysoce korelují, poskytují modelu stejné informace, takže není nutné je všechny používat pro analýzu. Pokud například datová sada obsahuje funkce „Online Time“ a „Traffic Used“, můžeme předpokládat, že budou do určité míry korelovat, a uvidíme silnou korelaci, i když vybereme nezaujatý vzorek dat. V tomto případě je v modelu potřeba pouze jedna z těchto proměnných. Pokud použijete obojí, model bude přepastovaný a zaujatý směrem k jednomu konkrétnímu prvku.

P-hodnoty

V algoritmech, jako je lineární regrese, je počáteční statistický model vždy dobrý nápad. Pomáhá ukázat důležitost vlastností prostřednictvím jejich p-hodnot, které tento model získal. Po nastavení hladiny významnosti zkontrolujeme výsledné p-hodnoty, a pokud je nějaká hodnota pod zadanou hladinou významnosti, pak je tato vlastnost prohlášena za významnou, to znamená, že změna její hodnoty pravděpodobně povede ke změně hodnoty cíl.

Přímý výběr

Dopředný výběr je technika, která zahrnuje aplikaci postupné regrese. Sestavení modelu začíná úplnou nulou, tedy prázdným modelem, a poté každá iterace přidává proměnnou, která vylepšuje budovaný model. Která proměnná se do modelu přidá, je určena její významností. To lze vypočítat pomocí různých metrik. Nejběžnějším způsobem je použití p-hodnot získaných v původním statistickém modelu pomocí všech proměnných. Někdy může přímý výběr vést k přepasování modelu, protože v modelu mohou být vysoce korelované proměnné, i když poskytují modelu stejné informace (ale model stále vykazuje zlepšení).

Opačný výběr

Zpětný výběr také zahrnuje postupnou eliminaci vlastností, ale v opačném směru ve srovnání s dopředným výběrem. V tomto případě počáteční model zahrnuje všechny nezávislé proměnné. Proměnné jsou pak eliminovány (jedna na iteraci), pokud nepřispívají hodnotou k novému regresnímu modelu v každé iteraci. Vyloučení funkce je založeno na p-hodnotách výchozího modelu. Tato metoda má také nejistotu při odstraňování vysoce korelovaných proměnných.

Eliminace rekurzivní funkce

RFE je široce používaná technika/algoritmus pro výběr přesného počtu významných znaků. Někdy se metoda používá k vysvětlení řady „nejdůležitějších“ vlastností, které ovlivňují výsledky; a někdy ke snížení velmi velkého počtu proměnných (asi 200-400) a pouze ty, které alespoň nějakým způsobem přispívají k modelu, jsou zachovány a všechny ostatní jsou vyloučeny. RFE používá systém hodnocení. Prvky v sadě dat mají přiřazené úrovně. Tyto úrovně se pak používají k rekurzivní eliminaci prvků na základě kolinearity mezi nimi a důležitosti těchto prvků v modelu. Kromě hodnocení funkcí může RFE ukázat, zda jsou tyto vlastnosti důležité nebo dokonce pro daný počet funkcí (protože je velmi pravděpodobné, že zvolený počet funkcí nemusí být optimální a optimální počet funkcí může být buď více nebo menší než zvolené číslo).

Diagram důležitosti funkce

Když mluvíme o interpretovatelnosti algoritmů strojového učení, obvykle mluvíme o lineárních regresích (které umožňují analyzovat důležitost funkcí pomocí p-hodnot) a rozhodovacích stromech (doslova ukazují důležitost funkcí ve formě stromu a zároveň jejich hierarchie). Na druhou stranu algoritmy jako Random Forest, LightGBM a XG Boost často používají diagram důležitosti funkce, tedy diagram proměnných a vykreslují se „čísla jejich důležitosti“. To je zvláště užitečné, když potřebujete poskytnout strukturované zdůvodnění důležitosti atributů z hlediska jejich dopadu na podnikání.

Regulace

Regularizace se provádí za účelem kontroly rovnováhy mezi zkreslením a rozptylem. Zkreslení ukazuje, jak moc se model přehodil na tréninkovou datovou sadu. Odchylka ukazuje, jak rozdílné byly předpovědi mezi trénovacími a testovacími datovými sadami. V ideálním případě by zkreslení i rozptyl měly být malé. Tady přichází na pomoc regularizace! Existují dvě hlavní techniky:

L1 Regularizace - Lasso: Lasso penalizuje váhy modelu, aby změnil jejich důležitost pro model, a může je dokonce vynulovat (tj. odstranit tyto proměnné z konečného modelu). Lasso se obvykle používá, když datová sada obsahuje velké množství proměnných a chcete některé z nich vyloučit, abyste lépe pochopili, jak důležité funkce ovlivňují model (tj. ty funkce, které byly vybrány Lasso a kterým byla přiřazena důležitost).

L2 Regularizace - Ridgeova metoda: Úkolem Ridge je ukládat všechny proměnné a zároveň jim přiřazovat důležitost na základě jejich příspěvku k výkonu modelu. Ridge bude dobrou volbou, pokud soubor dat obsahuje malý počet proměnných a všechny jsou nezbytné pro interpretaci zjištění a získaných výsledků.

Protože Ridge uchovává všechny proměnné a Lasso odvádí lepší práci při stanovení jejich důležitosti, byl vyvinut algoritmus, který kombinuje nejlepší vlastnosti obou regularizací, známý jako Elastic-Net.

Existuje mnohem více způsobů, jak vybrat funkce pro strojové učení, ale hlavní myšlenka je vždy stejná: demonstrovat důležitost proměnných a poté některé z nich eliminovat na základě výsledné důležitosti. Důležitost je velmi subjektivní pojem, protože se nejedná pouze o jednu, ale o celou sadu metrik a grafů, které lze použít k nalezení klíčových atributů.

Děkuji za přečtení! Šťastné učení!

Zdroj: www.habr.com

Přidat komentář