Hello, Habr!
Hos "Rexoft" har vi oversat artiklen til dansk . Vi håber, den vil være nyttig for alle, der er interesseret i emnet.
I den virkelige verden er data ikke altid så rene, som forretningskunder ofte antager. Derfor er der behov for intelligent dataanalyse (data mining og data wrangling). Det hjælper med at identificere manglende værdier og mønstre i strukturerede data, som mennesker ikke kan finde. For at finde og bruge disse mønstre til at forudsige resultater ved hjælp af de forbindelser, der er fundet i dataene, er maskinlæring (Machine Learning) nødvendig.
For at forstå en hvilken som helst algoritme er det vigtigt at gennemgå alle variablerne i dataene og finde ud af, hvad disse variabler repræsenterer. Dette er ekstremt vigtigt, fordi resultatets begrundelse er baseret på forståelsen af dataene. Hvis dataene indeholder 5 eller endda 50 variabler, kan de alle studeres. Men hvad hvis der er 200? Så er der simpelthen ikke tid nok til at studere hver enkel variabel. Desuden fungerer nogle algoritmer ikke for kategoriske data, og så skal alle kategoriske kolonner konverteres til kvantitative variabler (de kan se kvantitative ud, men målinger vil vise, at de er kategoriske), for at kunne inkluderes i modellen. Således stiger antallet af variabler, og de bliver omkring 500. Hvad skal vi gøre nu? Man kunne tro, at svaret ville være at reducere dimensionen. Algoritmer til reduktion af dimensioner mindsker antallet af parametre, men det har en negativ indvirkning på fortolkningen. Hvad hvis der findes andre teknikker, der ekskluderer funktioner og samtidig gør det nemt at forstå og fortolke de tilbageværende?
Afhængigt af om analysen er baseret på regression eller klassifikation, kan algoritmerne til funktionselektion variere, men hovedideen bag deres implementering forbliver den samme.
Stærkt korrelerede variable
Skarpt korrelerede variabler giver modellen den samme information, derfor er det ikke nødvendigt at bruge dem alle til analysen. For eksempel, hvis datasættet indeholder funktionerne "Tid online" og "Brugte data", kan vi forvente, at de vil være korreleret i et vist omfang, og vi vil se en stærk korrelation, selvom vi vælger en upartisk data prøve. I dette tilfælde er kun én af disse variabler nødvendig i modellen. Hvis begge bruges, risikerer modellen at blive overfittet og være skæv i forhold til en enkelt funktion.
P-værdier
I algoritmer som lineær regression er en indledende statistisk model altid en god idé. Den hjælper med at vise betydningen af funktionerne ved hjælp af deres p-værdier, som blev opnået af denne model. Ved at fastsætte et signifikansniveau kontrollerer vi de opnåede p-værdier, og hvis en værdi viser sig at være under det fastsatte signifikansniveau, erklæres den pågældende funktion for at være signifikant, hvilket betyder at en ændring i dens værdi sandsynligvis vil føre til en ændring i målvariablen.
Fremad selection
Fremad selection er en teknik, der involverer træning af stepwise regression. Opbygningen af modellen begynder fra bunden, det vil sige fra en tom model, og derefter tilføjer hver iteration en variabel, der forbedrer den opbyggede model. Hvilken variabel der tilføjes til modellen, bestemmes af dens betydning. Dette kan beregnes ved hjælp af forskellige metrikker. Den mest almindelige metode er at anvende p-værdier opnået fra den initiierende statistiske model ved at bruge alle variabler. Nogle gange kan fremad selection føre til overfitting af modellen, fordi stærkt korrelerede variabler kan ende i modellen, selvom de giver den samme information (men modellen viser stadig forbedring).
Tilbagegående selection
Omvendt udvælgelse består også i trinvis udelukkelse af variabler, men i den modsatte retning i forhold til direkte udvælgelse. I dette tilfælde inkluderer den oprindelige model alle uafhængige variabler. Derefter udelukkes variablerne (én ad gangen pr. iteration), hvis de ikke bidrager med værdi til den nye regressionsmodel i hver iteration. Grundlaget for udelukkelsen af variabler er p-værdierne fra den oprindelige model. Denne metode indebærer også usikkerhed ved fjernelse af stærkt korrelerede variabler.
Rekursiv udelukkelse af variabler
RFE er en bredt anvendt teknik/algoritme til at vælge det korrekte antal signifikante variabler. Nogle gange bruges metoden til at forklare et antal "de vigtigste" variabler, der påvirker resultaterne; andre gange for at reducere et meget stort antal variabler (omkring 200-400) og kun beholde dem, der bidrager til modellen, mens alle andre udelukkes. RFE bruger et rangeringssystem. Variablerne i datasættet tildeles rangeringer. Disse rangeringer bruges derefter til rekursiv udelukkelse af variabler, afhængigt af kollineariteten mellem dem og betydningen af disse variabler i modellen. Udover rangeringen af variabler kan RFE også vise, om disse variabler er vigtige eller ej, selv for et givet antal variabler (fordi det er meget sandsynligt, at det valgte antal variabler ikke er optimalt, og det optimale antal kan være både mere eller mindre end det valgte).
Diagram over variabelvigtighed
Når man taler om tolkningen af maskinlæringsalgoritmer, diskuteres der normalt lineære regressioner (som muliggør analyse af variablers betydning ved hjælp af p-værdier) og beslutningstræer (som bogstaveligt viser variablers betydning i form af et træ samt deres hierarki). På den anden side anvendes der ofte i algoritmer som Random Forest, LightGBM og XG Boost en diagram over variabelvigtighed, det vil sige, at der opbygges et diagram over variablerne og "deres vigtighed". Dette er især nyttigt, når man skal give en struktureret begrundelse for variablers betydning set fra et forretningsmæssigt perspektiv.
Regulering
Regulering er nødvendig for at kontrollere balancen mellem bias og variance. Bias viser, hvor meget modellen er overtrænet på træningsdatasættet. Variance viser, hvor forskellige forudsigelserne har været mellem trænings- og testdatasættene. Ideelt set bør både bias og varians være lave. Her kommer regulering til nytte! Der er to hovedmetoder:
L1 Regulering – Lasso: Lasso straffer vægte i modellen for at ændre deres betydning og kan endda nulstille dem (dvs. fjerne disse variabler fra den endelige model). Lasso anvendes typisk, når datasættet indeholder et stort antal variabler, og der er behov for at ekskludere nogle af dem for bedre at forstå, hvordan de vigtigste funktioner påvirker modellen (dvs. de funktioner, som Lasso vælger, og som har betydning).
L2 Regulering – Ridge metode: Ridge's opgave er at bevare alle variabler, samtidig med at den tildeler dem betydning baseret på deres bidrag til modellens effektivitet. Ridge vil være et godt valg, hvis datasættet indeholder et begrænset antal variabler, og alle er nødvendige for at fortolke konklusionerne og resultaterne.
Da Ridge bevarer alle variabler, mens Lasso bedre tildeler deres betydning, er der blevet udviklet en algoritme, der kombinerer de bedste egenskaber fra begge reguleringer og er kendt som Elastic-Net.
Der er mange flere metoder til udvælgelse af funktioner til maskinlæring, men den grundlæggende idé forbliver altid den samme: at demonstrere betydningen af variabler og derefter ekskludere nogle af dem baseret på den opnåede betydning. Betydning er et meget subjektivt begreb, da det ikke er ét, men en hel række målinger og diagrammer, der kan bruges til at finde de nøglefunktioner.
Tak for læsningen! God læring!
Kilde: habr.com
