logo

GBM in machinaal leren

Machine learning is een van de meest populaire technologieën om voorspellende modellen te bouwen voor verschillende complexe regressie- en classificatietaken. Verloopverhogende machine (GBM) wordt beschouwd als een van de krachtigste boostalgoritmen.

invoegsoort
GBM in machinaal leren

Hoewel er zoveel algoritmen worden gebruikt bij machine learning, zijn het stimuleren van algoritmen mainstream geworden in de machine learning-gemeenschap over de hele wereld. De boosttechniek volgt het concept van ensembleleren en combineert daarom meerdere eenvoudige modellen (zwakke leerlingen of basisschatters) om de uiteindelijke output te genereren. GBM wordt ook gebruikt als ensemblemethode bij machinaal leren, waarbij zwakke leerlingen worden omgezet in sterke leerlingen. In dit onderwerp, 'GBM in machinaal leren' we zullen gradiënt-machine learning-algoritmen bespreken, verschillende boost-algoritmen in machine learning, de geschiedenis van GBM, hoe het werkt, verschillende terminologieën die in GBM worden gebruikt, enz. Maar voordat je begint, moet je eerst het boost-concept en de verschillende boost-algoritmen in machine learning begrijpen.

Wat is een boost in machine learning?

Boosting is een van de populaire modelleringstechnieken voor leerensembles die worden gebruikt om sterke classificatoren op te bouwen uit verschillende zwakke classificatoren. Het begint met het bouwen van een primair model op basis van beschikbare trainingsdatasets en identificeert vervolgens de fouten in het basismodel. Nadat de fout is geïdentificeerd, wordt een secundair model gebouwd en vervolgens wordt in dit proces een derde model geïntroduceerd. Op deze manier wordt dit proces van het introduceren van meer modellen voortgezet totdat we een complete trainingsdataset krijgen waarmee het model correct kan voorspellen.

AdaBoost (Adaptive boosting) was het eerste boosting-algoritme dat verschillende zwakke classificatoren combineerde tot één sterke classificator in de geschiedenis van machine learning. Het richt zich primair op het oplossen van classificatietaken zoals binaire classificatie.

Stappen bij het stimuleren van algoritmen:

Er zijn een paar belangrijke stappen om het algoritme als volgt te verbeteren:

  • Beschouw een dataset met verschillende datapunten en initialiseer deze.
  • Geef nu een gelijk gewicht aan elk van de gegevenspunten.
  • Neem dit gewicht aan als input voor het model.
  • Identificeer de gegevenspunten die onjuist zijn geclassificeerd.
  • Verhoog het gewicht voor gegevenspunten in stap 4.
  • Als u de juiste uitvoer krijgt, beëindig dan dit proces. Volg anders stap 2 en 3 opnieuw.

Voorbeeld:

Laten we veronderstellen dat we drie verschillende modellen hebben met hun voorspellingen en dat ze op totaal verschillende manieren werken. Het lineaire regressiemodel toont bijvoorbeeld een lineaire relatie in gegevens, terwijl het beslissingsboommodel probeert de niet-lineariteit in de gegevens vast te leggen, zoals weergegeven in de onderstaande afbeelding.

GBM in machinaal leren

Verder krijgen we, in plaats van deze modellen afzonderlijk te gebruiken om de uitkomst te voorspellen als we ze in de vorm van series of combinaties gebruiken, een resulterend model met correcte informatie dan alle basismodellen. Met andere woorden, in plaats van de individuele voorspellingen van elk model te gebruiken, zouden we, als we de gemiddelde voorspellingen van deze modellen zouden gebruiken, meer informatie uit de gegevens kunnen halen. Het wordt ensemble-leren genoemd en het stimuleren is ook gebaseerd op ensemble-methoden in machinaal leren.

Algoritmen in machinaal leren stimuleren

Er zijn voornamelijk vier stimulerende algoritmen in machine learning. Deze zijn als volgt:

    Gradiëntverhogende machine (GBM) Extreme gradiëntverhogende machine (XGBM) Licht GBM CatBoost

Wat is GBM in machinaal leren?

Gradient Boosting Machine (GBM) is een van de meest populaire ensemble-methoden voor voorwaarts leren in machine learning. Het is een krachtige techniek voor het bouwen van voorspellende modellen voor regressie- en classificatietaken.

GBM helpt ons een voorspellend model te krijgen in de vorm van een geheel van zwakke voorspellingsmodellen zoals beslisbomen. Wanneer een beslissingsboom presteert als een zwakke leerling, wordt het resulterende algoritme gradiënt-boosted bomen genoemd.

Het stelt ons in staat de voorspellingen van verschillende leerlingmodellen te combineren en een definitief voorspellend model te bouwen met de juiste voorspelling.

Maar hier kan één vraag rijzen: als we hetzelfde algoritme toepassen, hoe kunnen meerdere beslissingsbomen dan betere voorspellingen geven dan een enkele beslissingsboom? Hoe verzamelt elke beslissingsboom bovendien verschillende informatie uit dezelfde gegevens?

GBM in machinaal leren

Het antwoord op deze vragen is dus dat de knooppunten van elke beslissingsboom een ​​andere subset van kenmerken gebruiken om de beste splitsing te selecteren. Het betekent dat elke boom zich anders gedraagt ​​en dus verschillende signalen uit dezelfde gegevens opvangt.

Hoe werkt GBM?

Over het algemeen zijn de meeste begeleide leeralgoritmen gebaseerd op één enkel voorspellend model, zoals lineaire regressie, een bestraft regressiemodel, beslissingsbomen, enz. Maar er zijn enkele begeleide algoritmen in ML die afhankelijk zijn van een combinatie van verschillende modellen samen via het ensemble. Met andere woorden: wanneer meerdere basismodellen hun voorspellingen bijdragen, wordt een gemiddelde van alle voorspellingen aangepast door algoritmen te stimuleren.

Gradiëntverhogende machines bestaan ​​uit 3 elementen:

  • Verlies functie
  • Zwakke leerlingen
  • Additief model

Laten we deze drie elementen in detail begrijpen.

lettergrootte latex

1. Verliesfunctie:

Hoewel er een grote familie verliesfuncties in machine learning bestaat die kunnen worden gebruikt, afhankelijk van het soort taken dat wordt opgelost. Het gebruik van de verliesfunctie wordt geschat op basis van de vraag naar specifieke kenmerken van de voorwaardelijke verdeling, zoals robuustheid. Terwijl we in onze taak een verliesfunctie gebruiken, moeten we de verliesfunctie en de functie specificeren om de overeenkomstige negatieve gradiënt te berekenen. Zodra we deze twee functies hebben, kunnen ze eenvoudig worden geïmplementeerd in gradiëntverhogende machines. Er zijn echter al verschillende verliesfuncties voorgesteld voor GBM-algoritmen.

Classificatie van verliesfunctie:

Op basis van het type responsvariabele y kan de verliesfunctie als volgt in verschillende typen worden ingedeeld:

    Continue respons, y ∈ R:
    • Gaussische L2-verliesfunctie
    • Laplace L1-verliesfunctie
    • Huber-verliesfunctie, δ gespecificeerd
    • Kwantielverliesfunctie, α gespecificeerd
    Categorisch antwoord, y ∈ {0, 1}:
    • Binomiale verliesfunctie
    • Adaboost-verliesfunctie
    Andere families van responsvariabelen:
    • Verliesfuncties voor overlevingsmodellen
    • Verliesfuncties tellen gegevens
    • Aangepaste verliesfuncties

2. Zwakke leerling:

Zwakke leerlingen zijn de basisleermodellen die leren van fouten uit het verleden en helpen bij het bouwen van een sterk voorspellend modelontwerp voor het stimuleren van algoritmen in machinaal leren. Over het algemeen werken beslissingsbomen als zwakke leerlingen bij het stimuleren van algoritmen.

het alfabet nummeren

Boosting wordt gedefinieerd als het raamwerk dat voortdurend werkt aan het verbeteren van de output van basismodellen. Bij veel gradiëntverhogende toepassingen kunt u verschillende klassen van zwakke leerlingen tot uw beschikking 'inpluggen'. Daarom worden beslisbomen het vaakst gebruikt voor zwakke (basis)leerlingen.

Hoe zwakke leerlingen te trainen:

Machine learning maakt gebruik van trainingsdatasets om basisleerlingen te trainen en op basis van de voorspelling van de vorige leerling verbetert het de prestaties door zich te concentreren op de rijen van de trainingsgegevens waar de vorige boom de grootste fouten of residuen vertoonde. Bijvoorbeeld ondiepe bomen worden beschouwd als een zwakke leerling van beslissingsbomen, omdat deze een paar splitsingen bevatten. Over het algemeen komen bij het stimuleren van algoritmen bomen met maximaal zes splitsingen het meest voor.

Hieronder vindt u een reeks waarin de zwakke leerling wordt getraind om zijn prestaties te verbeteren, waarbij elke boom in de reeks staat met de residuen van de vorige boom. Verder introduceren we elke nieuwe boom zodat deze kan leren van de fouten van de vorige boom. Deze zijn als volgt:

  1. Beschouw een dataset en plaats er een beslisboom in.
    F1(x)=y
  2. Pas de volgende beslisboom aan met de grootste fouten van de vorige boom.
    h1(x)=y?F1(x)
  3. Voeg deze nieuwe boom toe aan het algoritme door beide toe te voegen in stap 1 en 2.
    F2(x)=F1(x)+h1(x)
  4. Pas de volgende beslisboom opnieuw aan met de residuen van de vorige boom.
    h2(x)=y?F2(x)
  5. Herhaal hetzelfde wat we in stap 3 hebben gedaan.
    F3(x)=F2(x)+h2(x)

Ga door met dit proces totdat een mechanisme (d.w.z. kruisvalidatie) ons zegt te stoppen. Het uiteindelijke model hier is een stapsgewijs additief model van b individuele bomen:

f(x)=B∑b=1fb(x)

Daarom worden bomen gretig geconstrueerd, waarbij de beste splitsingspunten worden gekozen op basis van zuiverheidsscores zoals Gini of waarbij het verlies wordt geminimaliseerd.

3. Additief model:

Het additieve model wordt gedefinieerd als het toevoegen van bomen aan het model. Hoewel we niet meerdere bomen tegelijk moeten toevoegen, moet er slechts één boom worden toegevoegd, zodat bestaande bomen in het model niet worden gewijzigd. Verder kunnen we ook de voorkeur geven aan de gradiënt-afdalingsmethode door bomen toe te voegen om het verlies te verminderen.

In de afgelopen jaren werd de gradiënt-afdalingsmethode gebruikt om de reeks parameters, zoals de coëfficiënt van de regressievergelijking en het gewicht in een neuraal netwerk, te minimaliseren. Na het berekenen van de fout of het verlies wordt de gewichtsparameter gebruikt om de fout te minimaliseren. Maar de laatste tijd geven de meeste ML-experts de voorkeur aan zwakke leerling-submodellen of beslissingsbomen als vervanging voor deze parameters. Waarbij we een boom aan het model moeten toevoegen om de fout te verminderen en de prestaties van dat model te verbeteren. Op deze manier wordt de voorspelling van de nieuw toegevoegde boom gecombineerd met de voorspelling van de bestaande reeks bomen om een ​​definitieve voorspelling te krijgen. Dit proces gaat door totdat het verlies een acceptabel niveau bereikt of er geen verbetering meer nodig is.

netwerklaag in computernetwerken

Deze methode wordt ook wel functionele gradiëntafdaling of gradiëntafdaling met functies genoemd.

EXTREME GRADIËNTVERHOGINGSMACHINE (XGBM)

XGBM is de nieuwste versie van gradiëntverhogende machines die ook zeer vergelijkbaar werkt met GBM. In XGBM worden bomen opeenvolgend toegevoegd (één voor één) die leren van de fouten van eerdere bomen en deze verbeteren. Hoewel de XGBM- en GBM-algoritmen qua uiterlijk en gevoel vergelijkbaar zijn, zijn er toch enkele verschillen tussen beide:

  • XGBM maakt gebruik van verschillende regularisatietechnieken om onder- of overaanpassing van het model te verminderen, waardoor de modelprestaties ook meer toenemen dan machines die gradiëntversterking bieden.
  • XGBM volgt de parallelle verwerking van elk knooppunt, terwijl GBM dat niet doet, waardoor het sneller is dan gradiëntversterkende machines.
  • XGBM helpt ons om van de imputatie van ontbrekende waarden af ​​te komen, omdat het model hier standaard voor zorgt. Het leert zelf of deze waarden zich in het rechter of linker knooppunt moeten bevinden.

Machines voor het stimuleren van lichte gradiënten (Light GBM)

Light GBM is een meer verbeterde versie van de Gradient-boostmachine vanwege zijn efficiëntie en hoge snelheid. In tegenstelling tot GBM en XGBM kan het een enorme hoeveelheid gegevens verwerken zonder enige complexiteit. Aan de andere kant is het niet geschikt voor die datapunten die kleiner in aantal zijn.

In plaats van niveaugewijze groei geeft Light GBM de voorkeur aan bladgewijze groei van de knooppunten van de boom. Verder wordt bij lichte GBM het primaire knooppunt gesplitst in twee secundaire knooppunten en kiest het later één secundair knooppunt om te splitsen. Deze splitsing van een secundair knooppunt hangt af van welke tussen twee knooppunten een groter verlies heeft.

GBM in machinaal leren

Vanwege de bladgewijze splitsing heeft het Light Gradient Boosting Machine (LGBM)-algoritme daarom altijd de voorkeur boven andere algoritmen waarbij een grote hoeveelheid gegevens wordt verstrekt.

CATBOOST

Het catboost-algoritme wordt voornamelijk gebruikt om de categorische kenmerken in een dataset te verwerken. Hoewel GBM-, XGBM- en Light GBM-algoritmen geschikt zijn voor numerieke datasets, is Catboost ontworpen om categorische variabelen in numerieke gegevens te verwerken. Daarom bestaat het catboost-algoritme uit een essentiële voorverwerkingsstap om categorische kenmerken om te zetten in numerieke variabelen die in geen enkel ander algoritme aanwezig zijn.

Voordelen van het stimuleren van algoritmen:

  • Boosting-algoritmen volgen ensemble-leren, waardoor een model een nauwkeurigere voorspelling kan geven die niet kan worden overtroffen.
  • Boosting-algoritmen zijn veel flexibeler dan andere algoritmen, omdat ze verschillende verliesfuncties kunnen optimaliseren en verschillende hyperparameter-afstemmingsopties bieden.
  • Het vereist geen voorverwerking van gegevens omdat het geschikt is voor zowel numerieke als categorische variabelen.
  • Het vereist geen imputatie van ontbrekende waarden in de dataset, het verwerkt ontbrekende gegevens automatisch.

Nadelen van het stimuleren van algoritmen:

Hieronder staan ​​enkele nadelen van het stimuleren van algoritmen:

  • Het stimuleren van algoritmen kan overfitting veroorzaken en de uitschieters te veel benadrukken.
  • Het gradiëntversterkingsalgoritme concentreert zich voortdurend om de fouten te minimaliseren en vereist meerdere bomen. Daarom is het rekentechnisch duur.
  • Het is een tijdrovend en geheugenuitputtend algoritme.
  • Minder interpretatief van aard, hoewel dit gemakkelijk kan worden aangepakt met verschillende hulpmiddelen.

Conclusie:

Op deze manier hebben we geleerd hoe we algoritmen kunnen stimuleren voor voorspellende modellering in machine learning. We hebben ook verschillende belangrijke boost-algoritmen besproken die in ML worden gebruikt, zoals GBM, XGBM, light GBM en Catboost. Verder hebben we verschillende componenten gezien (verliesfunctie, zwakke leerling en additief model) en hoe GBM daarmee werkt. Hoe het stimuleren van algoritmen voordelig is voor inzet in real-world scenario's, enz.