Výber funkcií v strojovom učení

Čau Habr!

My v Reksofte sme preložili článok do ruštiny Výber funkcií strojového učenia. Dúfame, že to bude užitočné pre každého, koho táto téma zaujíma.

V skutočnom svete nie sú údaje vždy také čisté, ako si obchodníci niekedy myslia. To je dôvod, prečo je ťažba údajov a boj s údajmi žiadaný. Pomáha identifikovať chýbajúce hodnoty a vzory v údajoch štruktúrovaných dopytom, ktoré ľudia nedokážu identifikovať. Aby bolo možné nájsť a použiť tieto vzory na predpovedanie výsledkov pomocou objavených vzťahov v údajoch, príde vhod strojové učenie.

Ak chcete pochopiť akýkoľvek algoritmus, musíte sa pozrieť na všetky premenné v údajoch a zistiť, čo tieto premenné predstavujú. Je to dôležité, pretože zdôvodnenie výsledkov je založené na pochopení údajov. Ak údaje obsahujú 5 alebo dokonca 50 premenných, môžete ich všetky preskúmať. Čo ak ich bude 200? Potom jednoducho nebude dostatok času na štúdium každej jednej premennej. Navyše, niektoré algoritmy nefungujú pre kategorické údaje a potom budete musieť previesť všetky kategorické stĺpce na kvantitatívne premenné (môžu vyzerať kvantitatívne, ale metriky ukážu, že sú kategorické), aby ste ich pridali do modelu. Počet premenných sa teda zvyšuje a je ich okolo 500. Čo teraz robiť? Niekto by si mohol myslieť, že odpoveďou by bolo zníženie rozmerov. Algoritmy znižovania rozmerov znižujú počet parametrov, ale majú negatívny vplyv na interpretovateľnosť. Čo ak existujú iné techniky, ktoré eliminujú funkcie a zároveň zjednodušia pochopenie a interpretáciu ostatných?

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á.

Vysoko korelované premenné

Premenné, ktoré navzájom vysoko korelujú, poskytujú modelu rovnaké informácie, takže nie je potrebné ich všetky použiť na analýzu. Ak napríklad množina údajov obsahuje funkcie „Čas online“ a „Použitá návštevnosť“, môžeme predpokladať, že budú do istej miery korelované a uvidíme silnú koreláciu, aj keď vyberieme nezaujatú vzorku údajov. V tomto prípade je v modeli potrebná iba jedna z týchto premenných. Ak použijete oboje, model bude nadsadený a zaujatý smerom k jednej konkrétnej funkcii.

P-hodnoty

V algoritmoch, ako je lineárna regresia, je počiatočný štatistický model vždy dobrý nápad. Pomáha ukázať dôležitosť funkcií prostredníctvom ich p-hodnôt, ktoré tento model získal. Po nastavení hladiny významnosti skontrolujeme výsledné p-hodnoty a ak je nejaká hodnota pod zadanou hladinou významnosti, potom sa táto vlastnosť vyhlási za významnú, to znamená, že zmena jej hodnoty pravdepodobne povedie k zmene hodnoty cieľ.

Priamy výber

Dopredný výber je technika, ktorá zahŕňa aplikáciu postupnej regresie. Vytváranie modelu začína úplnou nulou, teda prázdnym modelom, a potom každá iterácia pridáva premennú, ktorá vylepšuje budovaný model. Ktorá premenná sa pridá do modelu, je určená jej významnosťou. Dá sa to vypočítať pomocou rôznych metrík. Najbežnejším spôsobom je použitie p-hodnôt získaných v pôvodnom štatistickom modeli pomocou všetkých premenných. Niekedy môže dopredný výber viesť k preplneniu modelu, pretože v modeli môžu byť vysoko korelované premenné, aj keď poskytujú modelu rovnaké informácie (ale model stále vykazuje zlepšenie).

Obrátený výber

Spätná selekcia zahŕňa aj postupnú elimináciu vlastností, ale v opačnom smere v porovnaní s doprednou selekciou. V tomto prípade počiatočný model zahŕňa všetky nezávislé premenné. Premenné sa potom eliminujú (jedna na iteráciu), ak neprispievajú hodnotou k novému regresnému modelu v každej iterácii. Vylúčenie funkcie je založené na p-hodnotách pôvodného modelu. Táto metóda má tiež neistotu pri odstraňovaní vysoko korelovaných premenných.

Eliminácia rekurzívnych funkcií

RFE je široko používaná technika/algoritmus na výber presného počtu významných znakov. Niekedy sa metóda používa na vysvetlenie množstva „najdôležitejších“ vlastností, ktoré ovplyvňujú výsledky; a niekedy na zníženie veľmi veľkého počtu premenných (asi 200 – 400), pričom sa zachovajú len tie, ktoré aspoň nejakým spôsobom prispievajú k modelu, a všetky ostatné sú vylúčené. RFE používa systém hodnotenia. Funkciám v súbore údajov sú priradené hodnosti. Tieto úrovne sa potom používajú na rekurzívne odstránenie prvkov na základe kolinearity medzi nimi a dôležitosti týchto prvkov v modeli. Okrem hodnotenia funkcií môže RFE ukázať, či sú tieto vlastnosti dôležité alebo dokonca nie pre daný počet funkcií (pretože je veľmi pravdepodobné, že zvolený počet funkcií nemusí byť optimálny a optimálny počet funkcií môže byť buď viac alebo menej ako zvolené číslo).

Diagram dôležitosti funkcie

Keď hovoríme o interpretovateľnosti algoritmov strojového učenia, zvyčajne hovoríme o lineárnych regresiách (ktoré vám umožňujú analyzovať dôležitosť funkcií pomocou p-hodnôt) a rozhodovacích stromoch (doslova zobrazujúce dôležitosť funkcií vo forme stromu a ich hierarchia). Na druhej strane, algoritmy ako Random Forest, LightGBM a XG Boost často používajú diagram dôležitosti funkcie, teda diagram premenných a vykresľujú sa „čísla ich dôležitosti“. Je to užitočné najmä vtedy, keď potrebujete poskytnúť štruktúrované zdôvodnenie dôležitosti atribútov z hľadiska ich vplyvu na podnikanie.

Regularizácia

Regularizácia sa vykonáva na kontrolu rovnováhy medzi odchýlkou ​​a rozptylom. Skreslenie ukazuje, o koľko sa model prepracoval v súbore tréningových údajov. Odchýlka ukazuje, aké rozdielne boli predpovede medzi tréningovými a testovacími súbormi údajov. V ideálnom prípade by skreslenie aj rozptyl mali byť malé. Tu prichádza na pomoc regularizácia! Existujú dve hlavné techniky:

Regularizácia L1 – laso: laso penalizuje váhy modelu, aby zmenilo ich dôležitosť pre model a môže ich dokonca vynulovať (t. j. odstrániť tieto premenné z konečného modelu). Lasso sa zvyčajne používa, keď množina údajov obsahuje veľké množstvo premenných a chcete niektoré z nich vylúčiť, aby ste lepšie pochopili, ako dôležité funkcie ovplyvňujú model (t. j. tie funkcie, ktoré vybral Lasso a ktorým bola priradená dôležitosť).

Regularizácia L2 - Ridgeova metóda: Ridgeovou úlohou je uchovávať všetky premenné a zároveň im priraďovať dôležitosť na základe ich prínosu k výkonnosti modelu. Ridge bude dobrou voľbou, ak súbor údajov obsahuje malý počet premenných a všetky sú potrebné na interpretáciu zistení a získaných výsledkov.

Keďže Ridge uchováva všetky premenné a Lasso robí lepšiu prácu pri určovaní ich dôležitosti, bol vyvinutý algoritmus, ktorý kombinuje najlepšie vlastnosti oboch regularizácií, známy ako Elastic-Net.

Existuje oveľa viac spôsobov, ako vybrať funkcie pre strojové učenie, ale hlavná myšlienka je vždy rovnaká: demonštrovať dôležitosť premenných a potom niektoré z nich odstrániť na základe výslednej dôležitosti. Dôležitosť je veľmi subjektívny pojem, keďže nejde len o jeden, ale o celý súbor metrík a grafov, pomocou ktorých možno nájsť kľúčové atribúty.

Ďakujem za čítanie! Príjemné učenie!

Zdroj: hab.com

Pridať komentár