Eigenskapar i maskinlæring

Hei, Habr!

Vi i «Rexoft» har oversatt en artikkel til russisk Feature Selection in Machine Learning. Vi håper det vil være nyttig for alle som bryr seg om emnet.

I den virkelige verden er ikke data alltid så klare som forretningsbestillerne ofte tror. Det er derfor etterspørselen etter intelligent dataanalyse (data mining og data wrangling) er stor. Det hjelper med å identifisere manglende verdier og mønstre i strukturerte data ved hjelp av forespørselene som mennesker ikke kan identifisere. For å finne og bruke disse mønstrene for å forutsi resultater ved hjelp av oppdagede sammenhenger i data, vil maskinlæring (Machine Learning) være nyttig.

For å forstå en hvilken som helst algoritme er det nødvendig å se på alle variablene i dataene og finne ut hva disse variablene representerer. Dette er ekstremt viktig fordi begrunnelsen for resultatene er basert på forståelsen av dataene. Hvis dataene inneholder 5 eller til og med 50 variabler, kan de gjennomgås alle. Men hva hvis det er 200? Da vil det rett og slett ikke være tid til å studere hver enkelt variabel. Mer enn det, noen algoritmer fungerer ikke med kategoriske data, og da må vi konvertere alle kategoriske kolonner til kvantitative variabler (de kan se kvantitative ut, men metrikkene vil vise at de er kategoriske) for å kunne legge dem inn i modellen. Dermed øker antallet variabler, og de blir omtrent 500. Hva nå? Man kan tenke at svaret vil være dimensjonsreduksjon. Dimensjonsreduksjonsalgoritmer reduserer antall parametre, men de påvirker tolkbarheten negativt. Hva om det finnes andre teknikker som ekskluderer egenskaper og samtidig lar oss enkelt forstå og tolke de gjenværende?

Avhengig av om analysen er basert på regresjon eller klassifisering, kan algoritmene for egenskapsvalg variere, men hovedideen for implementeringen forblir den samme.

Svært korrelerte variabler

Svært korrelerte variabler gir modellen den samme informasjonen, derfor er det ikke nødvendig å bruke dem alle i analysen. For eksempel, hvis datasettet inneholder funksjonene «Tid på nett» og «Brukt trafikk», kan man anta at de vil være korrelert til en viss grad, og vi vil se en sterk korrelasjon, selv om vi velger et upartisk datasett. I så fall trenger modellen bare én av disse variablene. Hvis begge brukes, vil modellen bli overtilpasset og partisk mot én enkelt funksjon.

P-verdier

I algoritmer som lineær regresjon er det alltid en god idé å starte med en statistisk modell. Den hjelper å vise viktigheten av funksjoner gjennom deres p-verdier, som ble oppnådd av denne modellen. Ved å sette et signifikansnivå tester vi de oppnådde p-verdiene, og hvis noen verdi er under det angitte signifikansnivået, blir den gitte funksjonen erklært som signifikant, noe som betyr at en endring i dens verdi sannsynligvis vil føre til en endring i målverdien.

Direkte utvalg

Direkte utvalg er en teknikk som innebærer bruk av trinnvis regresjon. Byggingen av modellen begynner fra bunnen av, det vil si en tom modell, og deretter legges hver variabel til i hver iterasjon som forbedrer den bygde modellen. Hvilken variabel som legges til modellen, bestemmes av dens betydning. Dette kan beregnes ved å bruke forskjellige metrikker. Den mest vanlige metoden er å bruke p-verdier oppnådd fra den opprinnelige statistiske modellen med alle variabler. Noen ganger kan direkte utvalg føre til overtilpasning av modellen fordi modellen kan inneholde sterkt korrelerte variabler, selv om de gir den samme informasjonen til modellen (men modellen viser likevel forbedring).

Baklengs utvalg

Omvendt utvalg innebærer også en trinnvis ekskludering av funksjoner, men i motsatt retning sammenlignet med direkte. I dette tilfellet inkluderer den innledende modellen alle uavhengige variabler. Deretter ekskluderes variablene (én om gangen per iterasjon) hvis de ikke gir verdi for den nye regresjonsmodellen i hver iterasjon. Utelukkelsen av funksjoner er basert på p-verdiene fra den innledende modellen. Denne metoden har også usikkerhet ved fjerning av sterkt korrelerte variabler.

Rekursiv funksjonsutvalg

RFE er en mye brukt teknikk/algoritme for å velge et nøyaktig antall signifikante funksjoner. Noen ganger brukes metoden for å forklare et visst antall «de viktigste» funksjonene som påvirker resultatene; andre ganger for å redusere et svært stort antall variabler (rundt 200-400), og bare de som bidrar til modellen blir beholdt, mens alle andre ekskluderes. RFE bruker et rangsystem. Funksjoner i datasettet får rangeringer. Deretter brukes disse rangene til rekursiv ekskludering av funksjoner avhengig av multikollinearitet mellom dem og betydningen av disse funksjonene i modellen. I tillegg til rangeringen av funksjoner kan RFE vise om disse funksjonene er viktige eller ikke, selv for et angitt antall funksjoner (fordi det er veldig sannsynlig at det valgte antallet funksjoner kan være suboptimalt, og det optimale antallet funksjoner kan være både større og mindre enn det valgte).

Funksjonsviktighetsdiagram

Når vi snakker om tolkbarheten til maskinlæringsalgoritmer, diskuteres ofte lineære regresjoner (som tillater analyse av funksjonenes betydning med p-verdier) og beslutningstrær (som bokstavelig talt viser viktigheten av funksjoner i form av et tre, samt deres hierarki). På den annen side, i slike algoritmer som Random Forest, LightGBM og XG Boost, brukes ofte diagrammet for funksjonsviktighet, det vil si at det bygges et diagram over variabler og «deres viktighetsnivå». Dette er spesielt nyttig når man må gi en strukturert begrunnelse for funksjonenes viktighet ut fra deres innvirkning på virksomheten.

Regulering

Regulering gjøres for å kontrollere balansen mellom bias og varians. Bias viser hvor mye modellen har overtilpasset treningsdataene. Varians viser hvor forskjellige forutsigelsene var mellom trenings- og testdatasett. Ideelt sett bør både bias og varians være lave. Her kommer regulering til nytte! Det finnes to hovedteknikker:

L1 Regulering – Lasso: Lasso straffer modellens vekter for å endre deres betydning for modellen, og kan til og med nullstille dem (dvs. fjerne disse variablene fra den endelige modellen). Vanligvis brukes Lasso når datasettet inneholder et stort antall variabler og man ønsker å ekskludere noen for bedre å forstå hvordan de viktige egenskapene påvirker modellen (dvs. de egenskapene som ble valgt av Lasso og som har fått betydning).

L2 Regulering – Ridge Metode: Målet med Ridge er å bevare alle variabler samtidig som de får en betydning basert på deres bidrag til modellens ytelse. Ridge vil være et godt valg hvis datasettet inneholder et lite antall variabler og alle er nødvendige for å tolke konklusjoner og oppnådde resultater.

Siden Ridge beholder alle variabler, mens Lasso bedre fastsetter deres betydning, har det blitt utviklet en algoritme som kombinerer de beste egenskapene fra begge reguleringene og er kjent som Elastic-Net.

Det finnes mange andre metoder for funksjonsutvelgelse for maskinlæring, men hovedideen er alltid den samme: å demonstrere betydningen av variablene og deretter ekskludere noen basert på oppnådd betydning. Betydning er et svært subjektivt begrep, da det ikke er ett, men et helt sett med metoder og diagrammer som kan brukes til å finne nøkkelfunksjoner.

Takk for lesingen! Lykke til med læringen!

Kilde: habr.com

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster