Functieselectie in machine learning

Hé Habr!

Wij van Reksoft hebben het artikel in het Russisch vertaald Functieselectie in Machine Learning. We hopen dat het nuttig zal zijn voor iedereen die geïnteresseerd is in het onderwerp.

In de echte wereld zijn data niet altijd zo schoon als zakelijke klanten soms denken. Dit is de reden waarom er veel vraag is naar datamining en dataruzie. Het helpt bij het identificeren van ontbrekende waarden en patronen in door zoekopdrachten gestructureerde gegevens die mensen niet kunnen identificeren. Om deze patronen te vinden en te gebruiken om resultaten te voorspellen met behulp van ontdekte relaties in de gegevens, komt machine learning goed van pas.

Om een ​​algoritme te begrijpen, moet je naar alle variabelen in de gegevens kijken en uitzoeken wat die variabelen vertegenwoordigen. Dit is van cruciaal belang omdat de grondgedachte achter de resultaten gebaseerd is op het begrijpen van de gegevens. Als de gegevens 5 of zelfs 50 variabelen bevatten, kunt u ze allemaal onderzoeken. Wat als het er 200 zijn? Dan is er eenvoudigweg niet genoeg tijd om elke afzonderlijke variabele te bestuderen. Bovendien werken sommige algoritmen niet voor categorische gegevens, en dan zul je alle categorische kolommen naar kwantitatieve variabelen moeten converteren (ze zien er misschien kwantitatief uit, maar de statistieken zullen laten zien dat ze categorisch zijn) om ze aan het model toe te voegen. Het aantal variabelen neemt dus toe, en er zijn er ongeveer 500. Wat nu te doen? Je zou kunnen denken dat het antwoord zou zijn om de dimensionaliteit te verminderen. Algoritmen voor dimensionaliteitsreductie verminderen het aantal parameters, maar hebben een negatieve invloed op de interpreteerbaarheid. Wat als er andere technieken zijn die kenmerken elimineren, terwijl de resterende kenmerken gemakkelijk te begrijpen en te interpreteren zijn?

Afhankelijk van of de analyse gebaseerd is op regressie of classificatie, kunnen de algoritmen voor kenmerkselectie verschillen, maar het hoofdidee van hun implementatie blijft hetzelfde.

Sterk gecorreleerde variabelen

Variabelen die sterk met elkaar gecorreleerd zijn, leveren dezelfde informatie aan het model, dus het is niet nodig om ze allemaal voor analyse te gebruiken. Als een dataset bijvoorbeeld de kenmerken 'Online tijd' en 'Gebruikt verkeer' bevat, kunnen we aannemen dat deze enigszins gecorreleerd zullen zijn, en we zullen een sterke correlatie zien, zelfs als we een onbevooroordeelde gegevenssteekproef selecteren. In dit geval is slechts één van deze variabelen nodig in het model. Als u beide gebruikt, wordt het model overmatig aangepast en gericht op één bepaald kenmerk.

P-waarden

Bij algoritmen zoals lineaire regressie is een initieel statistisch model altijd een goed idee. Het helpt om het belang van de kenmerken aan te tonen via hun p-waarden die door dit model zijn verkregen. Nadat we het significantieniveau hebben ingesteld, controleren we de resulterende p-waarden, en als een waarde onder het gespecificeerde significantieniveau ligt, wordt dit kenmerk significant verklaard, dat wil zeggen dat een verandering in de waarde ervan waarschijnlijk zal leiden tot een verandering in de waarde van het doelwit.

Directe selectie

Voorwaartse selectie is een techniek waarbij stapsgewijze regressie wordt toegepast. Het bouwen van modellen begint met een volledige nul, dat wil zeggen een leeg model, en vervolgens voegt elke iteratie een variabele toe die een verbetering oplevert voor het model dat wordt gebouwd. Welke variabele aan het model wordt toegevoegd, wordt bepaald door de betekenis ervan. Dit kan worden berekend met behulp van verschillende statistieken. De meest gebruikelijke manier is om de p-waarden te gebruiken die zijn verkregen in het oorspronkelijke statistische model met behulp van alle variabelen. Soms kan voorwaartse selectie leiden tot overfitting van een model, omdat er sterk gecorreleerde variabelen in het model kunnen voorkomen, zelfs als deze dezelfde informatie aan het model verschaffen (maar het model nog steeds verbetering vertoont).

Omgekeerde selectie

Omgekeerde selectie omvat ook de stapsgewijze eliminatie van eigenschappen, maar in de tegenovergestelde richting vergeleken met voorwaartse selectie. In dit geval omvat het initiële model alle onafhankelijke variabelen. Variabelen worden vervolgens geëlimineerd (één per iteratie) als ze niet in elke iteratie waarde bijdragen aan het nieuwe regressiemodel. Functie-uitsluiting is gebaseerd op de p-waarden van het initiële model. Deze methode kent ook onzekerheid bij het verwijderen van sterk gecorreleerde variabelen.

Eliminatie van recursieve kenmerken

RFE is een veelgebruikte techniek/algoritme voor het selecteren van het exacte aantal significante kenmerken. Soms wordt de methode gebruikt om een ​​aantal “belangrijkste” kenmerken te verklaren die de resultaten beïnvloeden; en soms om een ​​zeer groot aantal variabelen te verminderen (ongeveer 200-400), en alleen die variabelen die op zijn minst enige bijdrage leveren aan het model worden behouden, en alle andere worden uitgesloten. RFE maakt gebruik van een rankingsysteem. Aan de kenmerken in de dataset zijn rangen toegewezen. Deze rangen worden vervolgens gebruikt om kenmerken recursief te elimineren op basis van de collineariteit ertussen en het belang van die kenmerken in het model. Naast het rangschikken van kenmerken kan RFE laten zien of deze kenmerken al dan niet belangrijk zijn, zelfs voor een bepaald aantal kenmerken (omdat het zeer waarschijnlijk is dat het geselecteerde aantal kenmerken niet optimaal is, en het optimale aantal kenmerken wellicht meer is). of minder dan het geselecteerde aantal).

Functiebelangdiagram

Als we het hebben over de interpreteerbaarheid van machine learning-algoritmen, bespreken we meestal lineaire regressies (waarmee je het belang van kenmerken kunt analyseren met behulp van p-waarden) en beslissingsbomen (letterlijk het belang van kenmerken weergeven in de vorm van een boom, en op het tegelijkertijd hun hiërarchie). Aan de andere kant gebruiken algoritmen zoals Random Forest, LightGBM en XG Boost vaak een functiebelangdiagram, dat wil zeggen een diagram van variabelen en “hun belangrijkheidsgetallen” worden uitgezet. Dit is vooral handig als u een gestructureerde onderbouwing moet geven voor het belang van kenmerken in termen van hun impact op het bedrijf.

Regularisatie

Regularisatie wordt gedaan om de balans tussen bias en variantie te controleren. Bias laat zien hoeveel het model te veel heeft aangepast aan de trainingsdataset. De afwijking laat zien hoe verschillend de voorspellingen waren tussen de trainings- en testdatasets. Idealiter zouden zowel de bias als de variantie klein moeten zijn. Dit is waar regularisatie te hulp schiet! Er zijn twee hoofdtechnieken:

L1-regularisatie - Lasso: Lasso bestraft modelgewichten om hun belang voor het model te veranderen en kan ze zelfs nul maken (d.w.z. die variabelen uit het uiteindelijke model verwijderen). Meestal wordt Lasso gebruikt wanneer een gegevensset een groot aantal variabelen bevat en u enkele daarvan wilt uitsluiten om beter te begrijpen hoe belangrijke kenmerken het model beïnvloeden (dat wil zeggen: de kenmerken die door Lasso zijn geselecteerd en waaraan belang is toegekend).

L2-regularisatie - Ridge-methode: Het is de taak van Ridge om alle variabelen op te slaan en er tegelijkertijd belang aan toe te kennen op basis van hun bijdrage aan de prestaties van het model. Ridge is een goede keuze als de dataset een klein aantal variabelen bevat en deze allemaal nodig zijn om de bevindingen en verkregen resultaten te interpreteren.

Omdat Ridge alle variabelen bewaart en Lasso het belang ervan beter kan vaststellen, is er een algoritme ontwikkeld dat de beste eigenschappen van beide regularisaties combineert, bekend als Elastic-Net.

Er zijn veel meer manieren om functies voor machinaal leren te selecteren, maar het hoofdidee is altijd hetzelfde: demonstreer het belang van variabelen en elimineer er vervolgens enkele op basis van het resulterende belang. Belang is een zeer subjectieve term, omdat het niet slechts één, maar een hele reeks statistieken en grafieken is die kunnen worden gebruikt om de belangrijkste kenmerken te vinden.

Bedankt voor het lezen! Veel leerplezier!

Bron: www.habr.com

Voeg een reactie