Ingineria caracteristicilor este procesul de utilizare a unui domeniu de date pentru a crea caracteristici necesare pentru învățarea automată . Ingineria caracteristicilor este baza aplicațiilor de învățare automată și este atât dificilă, cât și costisitoare. Nevoia de inginerie manuală a caracteristicilor poate fi evitată prin automatizarea învățării aplicate a caracteristicilor .
Ingineria caracteristicilor este un domeniu informal, dar este considerat esențial în învățarea automată.
Este greu să vii cu semne, este nevoie de mult timp și cunoștințe profunde. „Învățarea automată aplicată” este în principiu inginerie de caracteristici.
— Andrew Eun [1]Un semn este o calitate sau o proprietate inerentă tuturor obiectelor independente, a cărei analiză sau prognoza pentru care o facem. Orice calitate poate fi utilă dacă este utilă pentru model.
Semnificația unei caracteristici și modul în care aceasta diferă de calitate ar fi mai ușor de înțeles în contextul problemei. Un semn este o caracteristică care poate ajuta la rezolvarea unei probleme [2] .
Caracteristicile datelor dvs. sunt importante pentru modelele predictive pe care le utilizați și afectează rezultatul pe care îl veți obține. Calitatea și cantitatea caracteristicilor au o mare influență asupra calității modelului, indiferent dacă acesta va fi bun sau nu [3] .
Putem spune că cu cât semnele sunt mai bune, cu atât rezultatul va fi mai bun. Acest lucru nu este în întregime adevărat, deoarece rezultatul va depinde de model și date, nu doar de caracteristicile selectate. Dar alegerea trăsăturilor potrivite rămâne o chestiune foarte importantă. Caracteristicile mai bune pot oferi un model mai simplu și mai flexibil și, adesea, pot da rezultate mai bune [2] .
Algoritmii aplicați sunt foarte standard printre membrii comunității Kaggle . […] Ne cheltuim cea mai mare parte a efortului pe ingineria caracteristicilor. [...] De asemenea, suntem foarte atenți să renunțăm la caracteristici care ar putea risca să ne supraajustăm modelul.
— Xavier Conort [4]… unele proiecte de învățare automată reușesc, iar altele eșuează. Ce duce la asta? Cei mai importanți factori sunt caracteristicile utilizate.
— Pedro Domingos [5]Procesul de construire a caracteristicilor este [6]
O caracteristică poate fi strict semnificativă (are informații care nu există în alte caracteristici), semnificativă, slab semnificativă (conține informații care pot fi conținute în alte caracteristici) sau nesemnificativă [7] . Este important să creați o mulțime de caracteristici, chiar dacă unele dintre ele sunt nesemnificative, nu le puteți elimina pur și simplu. Apoi , selectarea caracteristicilor poate fi utilizată pentru a preveni supraadaptarea [8] .
O explozie de caracteristici poate fi cauzată de o combinație de caracteristici sau modele de caracteristici, ceea ce duce la o creștere rapidă a numărului total de caracteristici.
Există mai multe soluții pentru a opri explozia caracteristicilor, cum ar fi regularizarea , metoda nucleului , selecția caracteristicilor [9] .
Automatizarea ingineriei caracteristicilor a devenit un nou subiect de cercetare în mediul academic. În 2015, cercetătorii MIT au introdus algoritmul „Deep Feature Synthesis” și și-au demonstrat performanța într-o competiție online de știință a datelor în care algoritmul a învins 615 din 906 echipe umane [10] [11] . Algoritmul Deep Feature Synthesis este disponibil ca o bibliotecă open source numită Featuretools . Această lucrare a fost continuată de alți cercetători, inclusiv OneBM de la IBM [12] și ExploreKit de la Berkeley [13] . Cercetătorii IBM spun că automatizarea ingineriei caracteristicilor „ajută oamenii de știință să reducă timpul de explorare a datelor, permițând experimente de încercare și eroare într-o perioadă scurtă de timp. Pe de altă parte, face posibilă, fără a fi expert, adică fără a fi familiarizat cu metodele de analiză a datelor, să selectezi rapid o valoare din date cu puțin efort, timp și bani.
Produse comerciale au apărut de la noi companii care se concentrează pe machine learning, cum ar fi H20.ai [14] și Feature Labs [15] .
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|