Funkcijų pasirinkimas ir funkcijų inžinerijos išplėtimas
Funkcijų parinkimas susiaurina esamus kintamuosius iki naudingiausių, o funkcijų inžinerijos išplėtimas sukuria naujas funkcijas iš neapdorotų duomenų. Abu šie veiksniai formuoja mašininio mokymosi modelių veikimą, tačiau funkcijų kūrimo procese jie veikia priešingomis kryptimis.
Akcentai
Funkcijų pasirinkimas sumažina funkcijų rinkinį; funkcijų inžinerijos išplėtimas jį padidina.
Atranka paprastai pagerina interpretuojamumą, o išplėtimas kartais gali jį sumažinti.
Plėtra dažnai labiau priklauso nuo srities žinių nei nuo atrankos.
Daugumoje gamybos ciklų derinami abu šie principai: pirmiausia plečiama, o tada atrenkami geriausi rezultatai.
Kas yra Funkcijų pasirinkimas?
Procesas, kurio metu iš esamo duomenų rinkinio identifikuojami ir išsaugomi tik svarbiausi įvesties kintamieji modelio mokymui.
Funkcijų pasirinkimas sumažina matmenų skaičių, pašalindamas iš duomenų rinkinio nereikalingus, nesvarbius arba triukšmingus kintamuosius.
Įprasti metodai apima filtravimo metodus, tokius kaip tarpusavio informacija, apvalkalo metodus, tokius kaip rekursinis požymių pašalinimas, ir įterptuosius metodus, tokius kaip Lasso reguliavimas.
Tai padeda kovoti su dimensijos prakeiksmu, kai per daug su pavyzdžiais susijusių savybių blogina modelio našumą.
Pasirinktos funkcijos paprastai yra pradinių stulpelių pogrupis, o tai reiškia, kad nauji kintamieji nesukuriami.
Tai dažnai pagerina modelio interpretuojamumą, išryškinant tik tuos kintamuosius, kurie turi nuspėjamąjį signalą.
Kas yra Funkcijų inžinerijos išplėtimas?
Naujų įvesties kintamųjų generavimo praktika naudojant transformacijas, derinius arba ištraukimus iš neapdorotų arba esamų duomenų.
Funkcijų inžinerijos išplėtimas padidina modeliui prieinamų funkcijų skaičių, išvedant naujas iš esamų duomenų.
Metodai apima polinomo išplėtimą, sąveikos terminus, log arba kvadratinės šaknies transformacijas ir kategorinių kintamųjų vienkartinį kodavimą.
Į šią kategoriją patenka įterpimo metodai, tokie kaip žodžių įterpimas arba išmoktos reprezentacijos iš neuroninių tinklų.
Domeno žinios dažnai padeda kurti naujas funkcijas, pavyzdžiui, savaitės dienos išskyrimą iš laiko žymos pardavimų prognozavimui.
Automatizuoti funkcijų inžinerijos įrankiai, tokie kaip „Featuretools“, gali sugeneruoti šimtus potencialių funkcijų iš reliacinių duomenų rinkinių.
Palyginimo lentelė
Funkcija
Funkcijų pasirinkimas
Funkcijų inžinerijos išplėtimas
Pirminė kryptis
Sumažina esamas funkcijas
Išplečia arba sukuria naujų funkcijų
Tipinis tikslas
Pagerinkite fokusavimą ir sumažinkite triukšmą
Praturtinkite duomenis labiau nuspėjamaisiais signalais
Įprasti metodai
Filtravimo, įvyniojimo ir įterptieji metodai
Transformacijos, sąveikos, įterpimai, kodavimas
Poveikis duomenų rinkinio dydžiui
Sumažina funkcijų skaičių
Padidina funkcijų skaičių
Vaidmuo vamzdyne
Paprastai taikoma po funkcijų inžinerijos
Paprastai taikoma prieš pasirenkant funkciją
Poveikis interpretuojamumui
Paprastai pagerina interpretuojamumą
Gali sumažinti interpretuojamumą, jei naudojamas per daug
Per didelio pritaikymo rizika
Nuleiskite, kai padaryta teisingai
Didesnis, jei pridėta per daug funkcijų
Priklausomybė nuo srities žinių
Vidutinis; dažnai pakanka statistinių kriterijų
Aukštas; reikšmingoms savybėms dažnai reikia ekspertų
Išsamus palyginimas
Pagrindinė filosofija
Funkcijų atranka veikia principu „mažiau yra daugiau“. Pašalinus kintamuosius, kurie reikšmingai neprisideda, modeliai mokomi greičiau ir dažnai geriau apibendrinami. Funkcijų inžinerijos išplėtimas laikosi priešingos pozicijos, darant prielaidą, kad išsamesni pagrindinės problemos vaizdai gali atskleisti modeliui kitaip nepastebėtus modelius. Praktiškai dauguma sėkmingų srautų naudoja abu: pirmiausia išplečia, tada atrenka.
Kai kiekvienas požiūris šviečia
Funkcijų pasirinkimas dažniausiai duoda didžiausią naudą, kai duomenų rinkiniai yra platūs, t. y. juose yra daug stulpelių, palyginti su eilutėmis, arba kai svarbus interpretavimo paprastumas, pavyzdžiui, reguliuojamose pramonės šakose, tokiose kaip sveikatos apsauga ar finansai. Funkcijų inžinerijos išplėtimas labiausiai atsiperka, kai neapdoroti duomenys yra netvarkingi, reti arba užstrigę formatuose, kurių modeliai negali tiesiogiai apdoroti, pvz., laiko žymos, tekstas ar kategorijų žymos. Gerai sukurta inžinerinė funkcija kartais gali pranokti dešimtis neapdorotų duomenų.
Skaičiavimo kompromisai
Tokie atrankos metodai kaip rekursinis požymių pašalinimas arba laso pagrindu sukurtas filtravimas prideda šiek tiek skaičiavimo krūvio ir iš tikrųjų gali sutrumpinti vėlesnį mokymo laiką, sumažindami įvesties erdvę. Išplėtimo metodai, ypač polinominiai požymiai arba automatinis požymių generavimas, gali smarkiai padidinti požymių skaičių. Duomenų rinkinys su 50 stulpelių, išplėstų iki 3 laipsnio polinominių terminų, gali lengvai sukurti tūkstančius požymių, kuriems reikia daugiau atminties ir ilgesnių mokymo ciklų.
Sąveika su šiuolaikiniais modeliais
Medžiais paremti modeliai, tokie kaip „XGBoost“ ir „LightGBM“, tvarkingai tvarko nereikšmingus elementus, o tai sumažina agresyvaus pasirinkimo skubumą. Kita vertus, gilaus mokymosi modeliai dažnai gauna didžiulę naudą iš elementų inžinerijos, nes jie mokosi reprezentacijų, bet vis tiek remiasi informatyviais įvesties duomenimis. Neuroniniai tinklai taip pat gali atlikti numanomą elementų inžineriją įterpdami sluoksnius, taip suliedami ribą tarp šių dviejų praktikų.
Rizikos valdymas
Pernelyg agresyvus atrankos metodas kelia pavojų atmesti savybes, kurios atskirai atrodo silpnos, bet yra svarbios kartu su kitomis. Per didelis išplėtimas sukuria priešingą pavojų: triukšmingų ar koreliuojančių savybių antplūdį, kuris painioja modelį ir padidina dispersiją. Kryžminis patvirtinimas yra standartinė abiejų šių veiksnių apsaugos priemonė, padedanti specialistams įvertinti, ar pridėtos ar pašalintos savybės iš tikrųjų pagerina imties rezultatus.
Privalumai ir trūkumai
Funkcijų pasirinkimas
Privalumai
+Sumažina per didelio pritaikymo riziką
+Pagreitina treniruotes
+Pagerina interpretuojamumą
+Sumažina atminties naudojimą
Pasirinkta
−Gali atmesti naudingus signalus
−Apvyniojimo metodai yra lėti
−Atrankos šališkumo rizika
−Mažiau veikia medžių modelius
Funkcijų inžinerijos išplėtimas
Privalumai
+Atrakina paslėptus modelius
+Padidina modelio tikslumą
+Įgalina sodresnius vaizdus
+Pritaiko neapdorotus duomenis modeliams
Pasirinkta
−Padidina skaičiavimo sąnaudas
−Funkcijų sprogimo rizika
−Reikalinga srities patirtis
−Gali pakenkti interpretuojamumui
Dažni klaidingi įsitikinimai
Mitas
Funkcijų pasirinkimas ir funkcijų inžinerija yra tas pats dalykas.
Realybė
Jie vienas kitą papildo, bet yra skirtingi. Funkcijų inžinerija sukuria naujus kintamuosius iš neapdorotų duomenų, o funkcijų parinkimas pasirenka, kuriuos kintamuosius išsaugoti. Vienas išplečia funkcijų erdvę, kitas ją sutraukia.
Mitas
Daugiau funkcijų visada lemia geresnius modelius.
Realybė
Pridėjus požymius be pateisinimo, dažnai atsiranda triukšmas, multikolinearumas ir perteklinis pritaikymas. Matmenų prakeiksmas reiškia, kad modeliai gali prastėti, kai didėja požymių skaičius, o signalas atitinkamai nepagerėja.
Mitas
Funkcijų pasirinkimas naudingas tik mažiems duomenų rinkiniams.
Realybė
Funkcijų pasirinkimas padeda bet kokiu mastu. Net ir turint milijonus eilučių, nereikalingų ar nereikalingų funkcijų pašalinimas sutrumpina mokymo laiką, sumažina saugojimo išlaidas ir dažnai pagerina apibendrinimą.
Mitas
Gilusis mokymasis panaikina funkcijų inžinerijos poreikį.
Realybė
Gilusis mokymasis automatizuoja kai kuriuos reprezentacinius mokymus, tačiau gerai suprojektuotos funkcijos vis tiek pagerina našumą, sumažina duomenų reikalavimus ir pagreitina konvergenciją daugumoje praktinių pritaikymų.
Mitas
Automatiniai funkcijų parinkimo įrankiai visada parenka geriausias funkcijas.
Realybė
Automatizuoti metodai remiasi statistiniais kriterijais, kurie ne visada atitinka verslo tikslus ar priežastinius ryšius. Žmonių vertinimas išlieka svarbus, ypač kai funkcijos turi srities reikšmę.
Dažnai užduodami klausimai
Kuo skiriasi funkcijų parinkimas ir funkcijų inžinerija?
Funkcijų inžinerija sukuria naujus kintamuosius iš neapdorotų duomenų taikydama transformacijas, derinius arba kodavimus. Funkcijų atrankos metu šie kintamieji kartu su originalais filtruojami, kad būtų išsaugoti tik naudingiausi. Jie veikia priešinguose funkcijų srauto galuose.
Ar turėčiau pasirinkti funkcijas prieš, ar po funkcijų inžinerijos?
Elementų inžinerija paprastai atliekama pirmiausia, nes jos metu sukuriami potencialūs elementai, o po to atliekamas atrankos procesas, skirtas jiems apkarpyti. Pirmiausia atliekant atranką, galite atmesti neapdorotus kintamuosius, kurie būtų buvę vertingi po transformacijos.
Kuris funkcijų parinkimo metodas yra veiksmingiausias?
Nėra vieno geriausio metodo. Filtravimo metodai, tokie kaip tarpusavio informacija, yra greiti ir nepriklausomi nuo modelio. Apvyniojimo metodai, tokie kaip rekursinis požymių pašalinimas, yra tikslesni, bet lėtesni. Įterptieji metodai, tokie kaip „Lasso“, sujungia greitį ir tikslumą. Teisingas pasirinkimas priklauso nuo duomenų rinkinio dydžio ir naudojamo modelio.
Ar funkcijų inžinerija gali žymiai pagerinti modelio tikslumą?
Taip, kartais net dramatiškai. Viena gerai suprojektuota funkcija, pavyzdžiui, paros valandos išgavimas iš laiko žymos eismo prognozavimui, gali padidinti modelio tikslumą labiau nei algoritmų perjungimas ar hiperparametrų derinimas.
Ar funkcijų pasirinkimas sumažina perteklinį pritaikymą?
Dažnai taip ir nutinka. Pašalinus triukšmingus arba nereikalingus kintamuosius, požymių parinkimas sumažina tikimybę, kad modelis įsimins mokymo duomenų modelius, kurie nėra apibendrinami. Tai ypač vertinga, kai turite daug su pavyzdžiais susijusių požymių.
Kokie yra įprasti objektų inžinerijos metodai?
Populiarūs metodai apima vienkartinį kategorinių kintamųjų kodavimą, logaritmines arba kvadratinės šaknies transformacijas iškreiptiems skirsiniams, sąveikos terminus tarp kintamųjų, datos ir laiko požymių išskyrimą, teksto vektorizavimo metodus, tokius kaip TF-IDF, ir išmoktus įterpimus iš neuroninių tinklų.
Ar automatizuota funkcijų inžinerija yra patikima?
Tokios priemonės kaip „Featuretools“ ir „AutoFE“ gali greitai sugeneruoti daug potencialių elementų, tačiau rezultatus vis tiek turi peržiūrėti žmogus. Daugelis sugeneruotų elementų yra nereikalingi arba nereikšmingi, todėl atranka paprastai reikalinga vėliau.
Kaip funkcijų pasirinkimas padeda interpretuoti?
Mažiau savybių reiškia paprastesnius modelius, kuriuos lengviau paaiškinti. Reguliuojamose pramonės šakose, tokiose kaip bankininkystė ar sveikatos apsauga, galimybė nurodyti nedidelį reikšmingų kintamųjų rinkinį dažnai yra teisinis arba veiklos reikalavimas.
Ar funkcijų inžinerija gali pakeisti funkcijų parinkimą?
Ne visai. Net ir sukūrus stiprias naujas funkcijas, greičiausiai turėsite nereikalingų arba mažai vertingų. Atranka užtikrina, kad galutiniame modelyje būtų naudojamos tik tos funkcijos, kurios iš tikrųjų prisideda, išlaikant mokymo efektyvumą ir prognozių stabilumą.
Ar medžių pagrindu sukurtiems modeliams reikia pasirinkti funkcijas?
Medžiais pagrįsti modeliai, tokie kaip atsitiktiniai miškai ir gradiento didinimas, yra tolerantiškesni nereikšmingoms ypatybėms nei linijiniai modeliai, tačiau jiems vis tiek naudinga atranka. Pašalinus nenaudingus kintamuosius, mokymas paspartėja ir gali pagerėti našumas dirbant su mažais duomenų rinkiniais.
Nuosprendis
Rinkitės požymių pasirinkimą, kai jūsų duomenų rinkinyje jau yra daug kintamųjų ir jums reikia paprastesnio, lengviau interpretuojamo modelio. Rinkitės požymių inžinerijos išplėtimą, kai neapdorotiems duomenims trūksta struktūros ar prognozavimo galios ir turite srities patirties, kad sukurtumėte prasmingus naujus kintamuosius. Daugelyje realaus pasaulio projektų geriausi rezultatai gaunami derinant abu: apgalvotai išplėtus, o tada griežtai atrenkant.