Výber znakov v strojovom učení

Ahoj, Habr!

V spoločnosti «Rexoft» sme preložili článok do ruštiny Výber funkcií v strojovom učení. Dúfame, že to bude užitočné pre všetkých, ktorí majú záujem o túto tému.

V reálnom svete nie sú dáta vždy také čisté, ako si niekedy myslia obchodní objednávatelia. Preto je dopyt po inteligentnej analýze dát (data mining a data wrangling). Pomáha identifikovať chýbajúce hodnoty a vzory v štruktúrovaných dátach pomocou dopytov, ktoré človek nedokáže určiť. Na to, aby sme našli a využili tieto vzory na predpovedanie výsledkov pomocou zistených súvislostí v dátach, je potrebné strojové učenie (Machine Learning).

Na pochopenie akéhokoľvek algoritmu je potrebné preskúmať všetky premenné v dátach a zistiť, čo tieto premenné predstavujú. To je mimoriadne dôležité, pretože odôvodnenie výsledkov sa zakladá na porozumení dátam. Ak dáta obsahujú 5 alebo aj 50 premenných, môžeme ich všetky preskúmať. A čo ak ich je 200? Vtedy jednoducho nebude dosť času na preskúmanie každej jednotlivé premennej. Navyše niektoré algoritmy nefungujú pre kategóriové dáta, a vtedy budeme musieť previesť všetky kategóriové stĺpce na kvantitatívne premenné (môžu vyzerať kvantitatívne, ale metriky ukážu, že sú kategóriové), aby sme ich mohli pridať do modelu. Takže počet premenných sa zvyšuje, a na konci ich býva okolo 500. Čo teraz robiť? Môže sa zdať, že odpoveďou bude zníženie dimenzií. Algoritmy na zníženie dimenzií znižujú počet parametrov, ale negatívne ovplyvňujú interpretovateľnosť. Čo ak existujú iné techniky, ktoré vylučujú znaky a pritom umožňujú ľahko pochopiť a interpretovať zostávajúce?

V závislosti od toho, či je analýza založená na regresii alebo klasifikácii, sa algoritmy výberu funkcií môžu líšiť, ale hlavná myšlienka ich implementácie zostáva rovnaká.

Silne korelované premenné

Silne korelované premenné si navzájom poskytujú rovnaké informácie, a preto nie je potrebné ich všetky používať na analýzu. Napríklad, ak súbor dát obsahuje znaky ako "Čas online" a "Použitá šírka pásma", môžeme predpokladať, že budú do určitej miery korelované a dokonca uvidíme silnú koreláciu, aj keď vyberieme nestrannú vzorku dát. V takom prípade je v modeli potrebná iba jedna z týchto premenných. Ak použijeme obe, model bude pretrénovaný a zaujatý voči jednému konkrétnemu znaku.

P-hodnoty

V takých algoritmoch, ako je lineárna regresia, je dobrým nápadom začať s počiatočným štatistickým modelom. Pomáha to ukázať význam znakov prostredníctvom ich p-hodnôt, ktoré boli získané týmto modelom. Nastavením úrovne významnosti overujeme získané p-hodnoty a ak je nejaká hodnota nižšia ako stanovená úroveň významnosti, tento znak je považovaný za významný, t.j. zmena jeho hodnoty pravdepodobne povedie k zmene hodnoty cieľa.

Priame výbery

Priamy výber je technika, ktorá spočíva v použití krokovej regresie. Vytváranie modelu začína od úplného nula, teda prázdneho modelu a každá iterácia pridáva premennú, ktorá prináša zlepšenie do vytváraného modelu. To, ktorá premenná sa pridá do modelu, sa určuje na základe jej významnosti. Táto môže byť vypočítaná pomocou rôznych metrík. Najbežnejším spôsobom je použitie p-hodnôt získaných v pôvodnom štatistickom modeli s použitím všetkých premenných. Niekedy môže priamy výber viesť k pretrénovaniu modelu, pretože v modeli sa môžu ocitnúť silne korelované premenné, aj keď poskytujú jednu a tú istú informáciu modelu (ale model pritom vykazuje zlepšenie).

Spätný výber

Zadná selekcia sa tiež skladá z postupného vylučovania znakov, avšak v opačnom smere v porovnaní s priamou selekciou. V tomto prípade počiatočný model obsahuje všetky nezávislé premenné. Potom sa premenné vylučujú (po jednej za iteráciu), ak neprinášajú hodnotu pre nový regresný model v každej iterácii. Vylučovanie znakov je založené na p-hodnotách počiatočného modelu. Tento prístup tiež obsahuje neistotu pri odstraňovaní silne korelovaných premenných.

Rekurzívne vylučovanie znakov

RFE je široko používaná technika/algotitmus na výber presného počtu významných znakov. Niekedy sa metóda používa na vysvetlenie istého počtu "najdôležitejších" znakov, ktoré ovplyvňujú výsledky; inokedy na zníženie veľmi veľkého počtu premenných (približne 200-400), pričom sa nechajú iba tie, ktoré prinášajú nejaký príspevok do modelu, zatiaľ čo všetky ostatné sa vylúčia. RFE používa systém hodnotenia. Znaky v dátovom súbore dostávajú hodnotenia. Potom sa tieto hodnotenia používajú na rekurzívne vylučovanie znakov v závislosti od kolinearít medzi nimi a dôležitosti týchto znakov v modeli. Okrem hodnotenia znakov môže RFE ukázať, či sú tieto znaky dôležité alebo nie, aj pre zadaný počet znakov (pretože je veľmi pravdepodobné, že zvolené číslo znakov môže byť neoptimálne, a optimálny počet znakov môže byť väčší aj menší ako zvolené).

Diagram dôležitosti znakov

Keď hovoríme o interpretovateľnosti algoritmov strojového učenia, zvyčajne sa diskutuje o lineárnych regresiách (ktoré umožňujú analyzovať dôležitosť znakov pomocou p-hodnôt) a rozhodovacích stromoch (doslova ukazujúcich dôležitosť znakov vo forme stromu, ako aj ich hierarchiu). Na druhej strane, v algoritmoch ako Random Forest, LightGBM a XG Boost sa často používa diagram dôležitosti znakov, teda sa vytvára diagram premenných a „ich dôležitosti“. Je to obzvlášť užitočné, keď je potrebné poskytnúť štruktúrované oprávnenie dôležitosti znakov z pohľadu ich vplyvu na podnikanie.

Regularizácia

Regularizácia sa vykonáva na kontrolu rovnováhy medzi predpojatosťou (bias) a odchýlkou (variance). Predpojatosť ukazuje, ako veľmi sa model preučil (overfit) na tréningovom súbore dát. Odchýlka ukazuje, ako sa odlišovali predpovede medzi tréningovým a testovacím súborom dát. Ideálne by mali byť predpojatosť aj odchýlka malé. Tu prichádza na pomoc regularizácia! Existujú dve základné techniky:

L1 regularizácia — Lasso: Lasso trestá váhové koeficienty modelu, aby zmenil ich význam pre model a dokonca ich môže nulovať (t.j. odstrániť tieto premenné z konečného modelu). Lasso sa zvyčajne používa, ak súbor dát obsahuje veľké množstvo premenných a je potrebné niektoré z nich vylúčiť, aby lepšie pochopili, ako významné znaky ovplyvňujú model (t.j. znaky, ktoré boli vybrané Lasso a ktorým bola priradená dôležitosť).

L2 regularizácia — metóda Ridge: Úlohou Ridge je zachovať všetky premenné a zároveň im priradiť význam na základe príspevku k efektívnosti modelu. Ridge bude dobrou voľbou, ak súbor dát obsahuje malé množstvo premenných a všetky sú potrebné na interpretáciu záverov a dosiahnutých výsledkov.

Keďže Ridge zachováva všetky premenné, a Lasso lepšie stanovuje ich význam, bol vyvinutý algoritmus spájajúci najlepšie vlastnosti oboch regularizácií známy ako Elastic-Net.

Existuje ešte množstvo spôsobov, ako vyberať znaky pre strojové učenie, ale hlavná myšlienka zostáva vždy rovnaká: preukázať význam premenných a následne niektoré z nich vylúčiť na základe získaného významu. Význam je veľmi subjektívny termín, pretože to nie je jedna, ale celý rad metrických hodnôt a diagramov, ktoré sa dajú použiť na nájdenie kľúčových znakov.

Ďakujeme za čítanie! Šťastné učenie!

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster