Selectarea caracteristicilor în învățarea automată

Hei Habr!

Noi, cei de la Reksoft, am tradus articolul în rusă Selectarea caracteristicilor în Machine Learning. Sperăm că va fi de folos tuturor celor interesați de subiect.

În lumea reală, datele nu sunt întotdeauna atât de curate pe cât cred uneori clienții de afaceri. Acesta este motivul pentru care minarea de date și disputele de date sunt solicitate. Ajută la identificarea valorilor și modelelor lipsă în datele structurate pe interogări pe care oamenii nu le pot identifica. Pentru a găsi și utiliza aceste modele pentru a prezice rezultate folosind relațiile descoperite în date, învățarea automată este utilă.

Pentru a înțelege orice algoritm, trebuie să vă uitați la toate variabilele din date și să vă dați seama ce reprezintă acele variabile. Acest lucru este esențial deoarece rațiunea din spatele rezultatelor se bazează pe înțelegerea datelor. Dacă datele conțin 5 sau chiar 50 de variabile, le puteți examina pe toate. Dacă sunt 200? Atunci pur și simplu nu va fi suficient timp pentru a studia fiecare variabilă. Mai mult, unii algoritmi nu funcționează pentru datele categorice, iar apoi va trebui să convertiți toate coloanele categoriale în variabile cantitative (pot părea cantitative, dar metricile vor arăta că sunt categoriale) pentru a le adăuga la model. Astfel, numărul de variabile crește, iar acestea sunt aproximativ 500. Ce să faci acum? S-ar putea crede că răspunsul ar fi reducerea dimensionalității. Algoritmii de reducere a dimensionalității reduc numărul de parametri, dar au un impact negativ asupra interpretabilității. Ce se întâmplă dacă există și alte tehnici care elimină caracteristicile în timp ce le fac pe cele rămase ușor de înțeles și interpretat?

În funcție de faptul că analiza se bazează pe regresie sau clasificare, algoritmii de selecție a caracteristicilor pot diferi, dar ideea principală a implementării lor rămâne aceeași.

Variabile foarte corelate

Variabilele care sunt foarte corelate între ele oferă aceleași informații modelului, deci nu este nevoie să le folosiți pe toate pentru analiză. De exemplu, dacă un set de date conține caracteristicile „Timp online” și „Trafic utilizat”, putem presupune că acestea vor fi oarecum corelate și vom vedea o corelație puternică chiar dacă selectăm un eșantion de date imparțial. În acest caz, doar una dintre aceste variabile este necesară în model. Dacă le utilizați pe ambele, modelul va fi supraadaptat și va fi orientat către o anumită caracteristică.

valorile P

În algoritmi precum regresia liniară, un model statistic inițial este întotdeauna o idee bună. Ajută să se arate importanța caracteristicilor prin valorile lor p care au fost obținute de acest model. După ce se stabilește nivelul de semnificație, verificăm valorile p rezultate și, dacă orice valoare este sub nivelul de semnificație specificat, atunci această caracteristică este declarată semnificativă, adică o modificare a valorii sale va duce probabil la o modificare a valorii ținta.

Selectie directa

Selecția directă este o tehnică care implică aplicarea regresiei în trepte. Construirea modelului începe cu un zero complet, adică un model gol, iar apoi fiecare iterație adaugă o variabilă care aduce o îmbunătățire modelului construit. Ce variabilă este adăugată modelului este determinată de semnificația acestuia. Aceasta poate fi calculată utilizând diverse valori. Cea mai comună modalitate este de a utiliza valorile p obținute în modelul statistic original folosind toate variabilele. Uneori, selecția anticipată poate duce la supraadaptarea unui model, deoarece pot exista variabile foarte corelate în model, chiar dacă acestea oferă aceleași informații modelului (dar modelul arată încă îmbunătățiri).

Selecția inversă

Selecția inversă implică și eliminarea pas cu pas a trăsăturilor, dar în direcția opusă față de selecția directă. În acest caz, modelul inițial include toate variabilele independente. Variabilele sunt apoi eliminate (una per iterație) dacă nu contribuie cu valoare noului model de regresie în fiecare iterație. Excluderea caracteristicilor se bazează pe valorile p ale modelului inițial. Această metodă are, de asemenea, incertitudine atunci când elimină variabilele foarte corelate.

Eliminarea caracteristicilor recursive

RFE este o tehnică/algoritm utilizat pe scară largă pentru selectarea numărului exact de caracteristici semnificative. Uneori metoda este folosită pentru a explica o serie de „cele mai importante” caracteristici care influențează rezultatele; iar uneori să se reducă un număr foarte mare de variabile (aproximativ 200-400), și doar cele care contribuie cel puțin la model sunt reținute, iar toate celelalte sunt excluse. RFE folosește un sistem de clasare. Caracteristicilor din setul de date li se atribuie ranguri. Aceste ranguri sunt apoi folosite pentru a elimina recursiv caracteristici pe baza coliniarității dintre ele și a importanței acelor caracteristici în model. Pe lângă funcțiile de clasare, RFE poate arăta dacă aceste caracteristici sunt importante sau nu chiar și pentru un anumit număr de caracteristici (deoarece este foarte probabil ca numărul selectat de caracteristici să nu fie optim, iar numărul optim de caracteristici să fie fie mai mare). sau mai mic decât numărul selectat).

Diagrama importanței caracteristicilor

Când vorbim despre interpretabilitatea algoritmilor de învățare automată, de obicei discutăm regresii liniare (care vă permit să analizați importanța caracteristicilor folosind valori p) și arbori de decizie (care arată literalmente importanța caracteristicilor sub forma unui arbore, și la nivelul în același timp ierarhia lor). Pe de altă parte, algoritmi precum Random Forest, LightGBM și XG Boost folosesc adesea o diagramă de importanță a caracteristicilor, adică o diagramă a variabilelor și este reprezentată „numerele lor de importanță”. Acest lucru este util mai ales atunci când trebuie să oferiți o justificare structurată pentru importanța atributelor în ceea ce privește impactul lor asupra afacerii.

Regularizare

Regularizarea se face pentru a controla echilibrul dintre părtinire și varianță. Prejudecățile arată cât de mult s-a supraadaptat modelul în setul de date de antrenament. Abaterea arată cât de diferite au fost predicțiile între seturile de date de antrenament și de testare. În mod ideal, atât părtinirea, cât și varianța ar trebui să fie mici. Aici regularizarea vine în ajutor! Există două tehnici principale:

Regularizare L1 - Lasso: Lasso penalizează greutățile modelului pentru a schimba importanța acestora pentru model și chiar le poate reseta la zero (adică, elimina acele variabile din modelul final). De obicei, Lasso este folosit atunci când un set de date conține un număr mare de variabile și doriți să excludeți unele dintre ele pentru a înțelege mai bine cât de importante afectează modelul (adică acele caracteristici care au fost selectate de Lasso și cărora li s-a atribuit importanță).

L2 Regularizare - Metoda Ridge: Sarcina lui Ridge este de a stoca toate variabilele și, în același timp, de a le atribui importanță pe baza contribuției lor la performanța modelului. Ridge va fi o alegere bună dacă setul de date conține un număr mic de variabile și toate sunt necesare pentru a interpreta constatările și rezultatele obținute.

Deoarece Ridge păstrează toate variabilele și Lasso face o treabă mai bună de a stabili importanța acestora, a fost dezvoltat un algoritm care combină cele mai bune caracteristici ale ambelor regularizări, cunoscut sub numele de Elastic-Net.

Există multe mai multe moduri de a selecta funcții pentru învățarea automată, dar ideea principală este întotdeauna aceeași: demonstrați importanța variabilelor și apoi eliminați unele dintre ele pe baza importanței rezultate. Importanța este un termen foarte subiectiv, deoarece nu este doar unul, ci un întreg set de metrici și diagrame care pot fi folosite pentru a găsi atribute cheie.

Vă mulțumim pentru citit! Învățare fericită!

Sursa: www.habr.com

Adauga un comentariu