Hej Habr!
Vi pÄ Reksoft har översatt artikeln till ryska Vi hoppas att det kommer att vara anvÀndbart för alla som Àr intresserade av Àmnet.
I verkligheten Àr data inte alltid sÄ ren som företagskunder ibland tror. Det Àr dÀrför data mining och data wrangling Àr efterfrÄgade. De hjÀlper till att identifiera saknade vÀrden och mönster i frÄgestrukturerad data som en person inte kan identifiera. MaskininlÀrning Àr praktiskt för att hitta och anvÀnda dessa mönster för att förutsÀga resultat med hjÀlp av de upptÀckta kopplingarna i data.
Att förstÄ vilken algoritm som helst krÀver att man tittar pÄ alla variabler i data och listar ut vad dessa variabler representerar. Detta Àr avgörande eftersom grunden för att förstÄ resultaten Àr baserad pÄ att förstÄ data. Om data innehÄller 5 eller till och med 50 variabler kan man titta pÄ dem alla. Men tÀnk om det finns 200? Det finns helt enkelt inte tillrÀckligt med tid att titta pÄ varje enskild variabel. Dessutom fungerar vissa algoritmer inte för kategoriska data, sÄ man mÄste konvertera alla kategoriska kolumner till kvantitativa variabler (de kan se kvantitativa ut, men mÄtten visar att de Àr kategoriska) för att lÀgga till dem i modellen. SÄ antalet variabler ökar till cirka 500. Vad ska man göra nu? Man kanske tror att dimensionsreduktion skulle vara svaret. Algoritmer för dimensionsreduktion minskar antalet funktioner, men de har en negativ inverkan pÄ tolkningsbarheten. TÀnk om det finns andra tekniker som eliminerar funktioner samtidigt som de gör de ÄterstÄende lÀtta att förstÄ och tolka?
Beroende pÄ om analysen baseras pÄ regression eller klassificering kan algoritmer för funktionsval skilja sig Ät, men huvudidén för deras implementering förblir densamma.
Högt korrelerade variabler
Variabler som Àr starkt korrelerade med varandra ger samma information till modellen, sÄ du behöver inte anvÀnda alla för analys. Om till exempel en datauppsÀttning innehÄller funktioner som "Tid online" och "AnvÀnd bandbredd" kan du förvÀnta dig att de Àr nÄgot korrelerade, och du kommer att se en stark korrelation Àven om du vÀljer ett opartiskt urval av data. I det hÀr fallet behöver du bara en av dessa variabler i modellen. Om du anvÀnder bÄda kommer modellen att vara överanpassad och partisk mot en viss funktion.
P-vÀrden
I algoritmer som linjÀr regression Àr det alltid en bra idé att ha en initial statistisk modell. Den hjÀlper till att visa vikten av funktioner med hjÀlp av deras p-vÀrden, som erhölls med denna modell. Efter att signifikansnivÄn har stÀllts in kontrollerar vi de erhÄllna p-vÀrdena, och om nÄgot vÀrde Àr under den instÀllda signifikansnivÄn, förklaras denna funktion vara signifikant, d.v.s. att Àndra dess vÀrde kommer sannolikt att leda till en förÀndring av mÄlvÀrdet.
Direktval
FramÄtriktat urval Àr en teknik som anvÀnder stegvis regression. Modellen byggs frÄn grunden, dvs. en tom modell, och sedan lÀgger varje iteration till en variabel som förbÀttrar modellen som byggs. Vilken variabel som lÀggs till i modellen bestÀms av dess signifikans. Detta kan berÀknas med hjÀlp av olika mÀtetal. Det vanligaste sÀttet Àr att anvÀnda p-vÀrdena som erhÄllits frÄn den initiala statistiska modellen med alla variabler. Ibland kan framÄtriktat urval leda till överanpassning av modellen eftersom modellen kan innehÄlla starkt korrelerade variabler, Àven om de ger samma information till modellen (men modellen fortfarande visar förbÀttring).
OmvÀnd val
BakÄtval innebÀr ocksÄ stegvis funktionseliminering, men i motsatt riktning mot framÄtval. I detta fall inkluderar den initiala modellen alla oberoende variabler. Variabler elimineras sedan (en i taget) om de inte bidrar till den nya regressionsmodellen i varje iteration. Funktionseliminering baseras pÄ p-vÀrdena för den initiala modellen. Denna metod introducerar ocksÄ osÀkerhet vid borttagning av starkt korrelerade variabler.
Eliminering av rekursiv funktion
RFE Àr en allmÀnt anvÀnd teknik/algoritm för att vÀlja ett exakt antal signifikanta funktioner. Ibland anvÀnds metoden för att förklara ett visst antal "viktigaste" funktioner som pÄverkar resultaten; ibland anvÀnds den för att reducera ett mycket stort antal variabler (cirka 200-400) och endast behÄlla de som bidrar till modellen och exkludera resten. RFE anvÀnder ett rangordningssystem. Funktioner i datamÀngden tilldelas rangordningar. Dessa rangordningar anvÀnds sedan för att rekursivt exkludera funktioner beroende pÄ kollineariteten mellan dem och vikten av dessa funktioner i modellen. Förutom att rangordna funktioner kan RFE visa om dessa funktioner Àr viktiga eller inte ens för ett givet antal funktioner (eftersom det Àr mycket troligt att det valda antalet funktioner kanske inte Àr optimalt, och det optimala antalet funktioner kan vara bÄde fler och mindre Àn det valda).
Diagram över funktionsviktighet
NÀr vi talar om tolkbarhet hos maskininlÀrningsalgoritmer brukar vi tala om linjÀra regressioner (som lÄter oss analysera vikten av funktioner med hjÀlp av p-vÀrden) och beslutstrÀd (som bokstavligen visar vikten av funktioner i form av ett trÀd, tillsammans med deras hierarki). à andra sidan anvÀnder algoritmer som Random Forest, LightGBM och XG Boost ofta ett funktionsviktighetsdiagram, dvs. ett diagram över variabler och deras "viktighetspoÀng". Detta Àr sÀrskilt anvÀndbart nÀr du behöver ge en strukturerad motivering för vikten av funktioner i termer av deras inverkan pÄ verksamheten.
Regularisering
Regularisering görs för att kontrollera balansen mellan bias och varians. Bias visar hur mycket modellen överanpassade trÀningsdatasetet. Varians visar hur olika förutsÀgelserna var mellan trÀnings- och testdatasetet. Helst bör bÄde bias och varians vara smÄ. Det Àr hÀr regularisering kommer in! Det finns tvÄ huvudtekniker:
L1-regularisering - Lasso: Lasso bestraffar modellvikter för att Àndra deras betydelse i modellen och kan till och med nollstÀlla dem (dvs. ta bort dessa variabler frÄn den slutliga modellen). Lasso anvÀnds vanligtvis nÀr en datauppsÀttning innehÄller ett stort antal variabler och du vill exkludera nÄgra av dem för att bÀttre förstÄ hur viktiga funktioner bidrar till modellen (dvs. de funktioner som valdes ut med Lasso och tilldelades betydelse).
L2-regularisering - Ridge-metoden: Ridge syftar till att behÄlla alla variabler samtidigt som de tilldelas betydelse baserat pÄ deras bidrag till modellens prestanda. Ridge Àr ett bra val om datamÀngden innehÄller ett litet antal variabler och alla Àr nödvÀndiga för att tolka de erhÄllna resultaten.
Eftersom Ridge behÄller alla variabler och Lasso Àr bÀttre pÄ att tilldela dem betydelse, utvecklades en algoritm som kombinerar de bÀsta egenskaperna frÄn bÄda regulariseringarna och Àr kÀnd som Elastic-Net.
Det finns mÄnga fler sÀtt att vÀlja funktioner för maskininlÀrning, men huvudidén Àr alltid densamma: visa vikten av variabler och sedan exkludera nÄgra av dem baserat pÄ den erhÄllna vikten. Viktighet Àr en mycket subjektiv term, eftersom det inte Àr en utan en hel uppsÀttning mÀtvÀrden och diagram som kan anvÀndas för att hitta viktiga funktioner.
Tack för att du lÀste! Lycka till med lÀrandet!
KĂ€lla: will.com
