logo

GBM i maskininlärning

Maskininlärning är en av de mest populära teknikerna för att bygga prediktiva modeller för olika komplexa regressions- och klassificeringsuppgifter. Gradient Boosting Machine (GBM) anses vara en av de mest kraftfulla förstärkningsalgoritmerna.

GBM i maskininlärning

Även om det finns så många algoritmer som används i maskininlärning, har förstärkande algoritmer blivit mainstream i maskininlärningsgemenskapen över hela världen. Förstärkningstekniken följer konceptet med ensembleinlärning, och den kombinerar därför flera enkla modeller (svaga inlärare eller basuppskattare) för att generera slutresultatet. GBM används också som en ensemblemetod inom maskininlärning som omvandlar de svaga eleverna till starka elever. I detta ämne, 'GBM i maskininlärning' vi kommer att diskutera gradient maskininlärningsalgoritmer, olika förstärkningsalgoritmer inom maskininlärning, historien om GBM, hur det fungerar, olika terminologier som används i GBM, etc. Men innan du börjar, förstå först boostningskonceptet och olika boostalgoritmer inom maskininlärning.

Vad är Boosting i Machine Learning?

Boosting är en av de populära lärande ensemblemodelleringsteknikerna som används för att bygga starka klassificerare från olika svaga klassificerare. Det börjar med att bygga en primär modell från tillgängliga träningsdatauppsättningar och sedan identifierar den felen som finns i basmodellen. Efter att ha identifierat felet byggs en sekundär modell, och vidare introduceras en tredje modell i denna process. På så sätt fortsätter processen med att introducera fler modeller tills vi får en komplett träningsdatauppsättning av vilken modell som förutsäger korrekt.

AdaBoost (Adaptive boosting) var den första boostningsalgoritmen som kombinerade olika svaga klassificerare till en enda stark klassificerare i maskininlärningshistorien. Den fokuserar i första hand på att lösa klassificeringsuppgifter såsom binär klassificering.

Steg för att öka algoritmer:

Det finns några viktiga steg för att öka algoritmen enligt följande:

hur många veckor är det på en månad
  • Betrakta en datauppsättning som har olika datapunkter och initiera den.
  • Ge nu lika vikt åt var och en av datapunkterna.
  • Antag denna vikt som indata för modellen.
  • Identifiera de datapunkter som är felaktigt klassificerade.
  • Öka vikten för datapunkter i steg 4.
  • Om du får lämplig utdata, avsluta den här processen annars följer du steg 2 och 3 igen.

Exempel:

Låt oss anta att vi har tre olika modeller med sina förutsägelser och de fungerar på helt olika sätt. Till exempel visar den linjära regressionsmodellen ett linjärt samband i data medan beslutsträdsmodellen försöker fånga olinjäriteten i datan enligt bilden nedan.

GBM i maskininlärning

Vidare, istället för att använda dessa modeller separat för att förutsäga resultatet om vi använder dem i form av serier eller kombinationer, får vi en resulterande modell med korrekt information än alla basmodeller. Med andra ord, istället för att använda varje modells individuella förutsägelse, om vi använder genomsnittliga förutsägelser från dessa modeller så skulle vi kunna fånga mer information från data. Det kallas för ensemble learning och boosting bygger också på ensemblemetoder inom maskininlärning.

Förbättra algoritmer i maskininlärning

Det finns i första hand 4 förstärkande algoritmer inom maskininlärning. Dessa är följande:

    Gradient Boosting Machine (GBM) Extreme Gradient Boosting Machine (XGBM) Lätt GBM CatBoost

Vad är GBM i maskininlärning?

Gradient Boosting Machine (GBM) är en av de mest populära metoderna för framåtlärande ensemble inom maskininlärning. Det är en kraftfull teknik för att bygga prediktiva modeller för regressions- och klassificeringsuppgifter.

GBM hjälper oss att få en prediktiv modell i form av en ensemble av svaga prediktionsmodeller såsom beslutsträd. Närhelst ett beslutsträd fungerar som en svag inlärare kallas den resulterande algoritmen för gradientförstärkta träd.

Det gör det möjligt för oss att kombinera förutsägelser från olika inlärningsmodeller och bygga en slutlig förutsägelsemodell med rätt förutsägelse.

Men här kan en fråga uppstå om vi använder samma algoritm, hur kan då flera beslutsträd ge bättre förutsägelser än ett enda beslutsträd? Dessutom, hur fångar varje beslutsträd olika information från samma data?

GBM i maskininlärning

Så svaret på dessa frågor är att en annan delmängd av funktioner tas av noderna i varje beslutsträd för att välja den bästa uppdelningen. Det betyder att varje träd beter sig olika och därför fångar olika signaler från samma data.

Hur fungerar GBM?

Generellt är de flesta övervakade inlärningsalgoritmer baserade på en enda prediktiv modell såsom linjär regression, straffad regressionsmodell, beslutsträd, etc. Men det finns några övervakade algoritmer i ML som är beroende av en kombination av olika modeller tillsammans genom ensemblen. Med andra ord, när flera basmodeller bidrar med sina förutsägelser, anpassas ett genomsnitt av alla förutsägelser genom att öka algoritmer.

Gradientförstärkningsmaskiner består av tre delar enligt följande:

  • Förlustfunktion
  • Svaga elever
  • Additiv modell

Låt oss förstå dessa tre element i detalj.

typskrift för varje slinga

1. Förlustfunktion:

Även om det finns en stor familj av förlustfunktioner inom maskininlärning som kan användas beroende på vilken typ av uppgifter som löses. Användningen av förlustfunktionen uppskattas av efterfrågan på specifika egenskaper hos den villkorliga fördelningen, såsom robusthet. När vi använder en förlustfunktion i vår uppgift måste vi specificera förlustfunktionen och funktionen för att beräkna motsvarande negativa gradient. När vi väl har fått dessa två funktioner kan de enkelt implementeras i gradientförstärkningsmaskiner. Det finns dock flera förlustfunktioner som redan föreslagits för GBM-algoritmer.

Klassificering av förlustfunktion:

Baserat på typen av svarsvariabel y kan förlustfunktion klassificeras i olika typer enligt följande:

    Kontinuerlig respons, y ∈ R:
    • Gaussisk L2 förlustfunktion
    • Laplace L1 förlustfunktion
    • Huberförlustfunktion, δ specificerad
    • Kvantilförlustfunktion, α specificerad
    Kategoriskt svar, y ∈ {0, 1}:
    • Binomial förlustfunktion
    • Adaboost förlustfunktion
    Andra familjer av svarsvariabler:
    • Förlustfunktioner för överlevnadsmodeller
    • Förlustfunktioner räknar data
    • Anpassade förlustfunktioner

2. Svag elev:

Svaga elever är basinlärarmodellerna som lär sig av tidigare fel och hjälper till att bygga en stark prediktiv modelldesign för att öka algoritmerna inom maskininlärning. I allmänhet fungerar beslutsträd som en svag elev när det gäller att öka algoritmer.

hackning bearbetning

Boosting definieras som det ramverk som kontinuerligt arbetar för att förbättra resultatet från basmodeller. Många gradientförstärkande applikationer låter dig 'plugin' olika klasser av svaga elever till ditt förfogande. Därför används beslutsträd oftast för svaga (bas)inlärare.

Så här tränar du svaga elever:

Maskininlärning använder träningsdatauppsättningar för att träna basinlärare och baserat på förutsägelsen från den tidigare eleven förbättrar den prestandan genom att fokusera på raderna med träningsdata där det föregående trädet hade de största felen eller resterna. T.ex. grunda träd anses vara svaga lärande till beslutsträd eftersom det innehåller några klyftor. Generellt sett är träd med upp till 6 splittringar vanligast vid förstärkningsalgoritmer.

Nedan följer en sekvens av träning av den svaga eleven att förbättra sin prestation där varje träd är i sekvensen med det föregående trädets rester. Vidare introducerar vi varje nytt träd så att det kan lära sig av det tidigare trädets fel. Dessa är följande:

  1. Överväg en datamängd och passa in ett beslutsträd i den.
    F1(x)=y
  2. Anpassa nästa beslutsträd med de största felen i föregående träd.
    h1(x)=y?F1(x)
  3. Lägg till detta nya träd till algoritmen genom att lägga till både i steg 1 och 2.
    F2(x)=F1(x)+h1(x)
  4. Passa igen nästa beslutsträd med resterna av det föregående trädet.
    h2(x)=y?F2(x)
  5. Upprepa samma sak som vi gjorde i steg 3.
    F3(x)=F2(x)+h2(x)

Fortsätt denna process tills någon mekanism (d.v.s. korsvalidering) säger åt oss att sluta. Den slutliga modellen här är en stegvis additiv modell av b individuella träd:

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

Därför konstrueras träd girigt och väljer de bästa delade poängen baserat på renhetspoäng som Gini eller minimerar förlusten.

3. Tillsatsmodell:

Den additiva modellen definieras som att lägga till träd till modellen. Även om vi inte ska lägga till flera träd åt gången, måste bara ett enda träd läggas till så att befintliga träd i modellen inte ändras. Vidare kan vi också föredra metoden för gradientnedstigning genom att lägga till träd för att minska förlusten.

Under de senaste åren har gradientnedstigningsmetoden använts för att minimera uppsättningen parametrar såsom koefficienten för regressionsekvationen och vikt i ett neuralt nätverk. Efter beräkning av fel eller förlust används viktparametern för att minimera felet. Men nyligen föredrar de flesta ML-experter svaga inlärningsundermodeller eller beslutsträd som ett substitut för dessa parametrar. Där måste vi lägga till ett träd i modellen för att minska felet och förbättra prestandan för den modellen. På detta sätt kombineras förutsägelsen från det nyligen tillagda trädet med förutsägelsen från den befintliga serien av träd för att få en slutgiltig förutsägelse. Denna process fortsätter tills förlusten når en acceptabel nivå eller inte längre krävs förbättring.

läsa från csv java

Denna metod är också känd som funktionell gradientnedstigning eller gradientnedstigning med funktioner.

EXTREME GRADIENT BOOSTING MASKIN (XGBM)

XGBM är den senaste versionen av gradientförstärkningsmaskiner som också fungerar väldigt likt GBM. I XGBM läggs träd till sekventiellt (ett i taget) som lär sig av felen i tidigare träd och förbättrar dem. Även om XGBM- och GBM-algoritmer är lika i utseende och känsla, men det finns fortfarande några skillnader mellan dem enligt följande:

  • XGBM använder olika regleringstekniker för att minska underpassning eller överpassning av modellen, vilket också ökar modellens prestanda mer än gradientförstärkande maskiner.
  • XGBM följer parallell bearbetning av varje nod, medan GBM inte gör det, vilket gör det snabbare än gradientförstärkningsmaskiner.
  • XGBM hjälper oss att bli av med imputeringen av saknade värden eftersom modellen som standard tar hand om det. Den lär sig på egen hand om dessa värden ska finnas i höger eller vänster nod.

Light Gradient Boosting Machines (Light GBM)

Light GBM är en mer uppgraderad version av Gradient-förstärkningsmaskinen på grund av dess effektivitet och snabba hastighet. Till skillnad från GBM och XGBM kan den hantera en enorm mängd data utan komplexitet. Å andra sidan är den inte lämplig för de datapunkter som är mindre till antalet.

Istället för nivåvis tillväxt föredrar Light GBM bladvis tillväxt av trädets noder. Vidare, i lätt GBM, delas den primära noden i två sekundära noder och senare väljer den en sekundär nod som ska delas. Denna uppdelning av en sekundär nod beror på vilken mellan två noder som har en högre förlust.

GBM i maskininlärning

Därför, på grund av bladvis uppdelning, är Light Gradient Boosting Machine (LGBM) algoritm alltid att föredra framför andra där en stor mängd data ges.

CATBOOST

Catboost-algoritmen används främst för att hantera de kategoriska funktionerna i en datauppsättning. Även om GBM-, XGBM- och Light GBM-algoritmer är lämpliga för numeriska datamängder, är Catboost designad för att hantera kategoriska variabler till numeriska data. Därför består catboost-algoritmen av ett viktigt förbearbetningssteg för att konvertera kategoriska egenskaper till numeriska variabler som inte finns i någon annan algoritm.

Fördelar med att öka algoritmer:

  • Förstärkande algoritmer följer ensembleinlärning vilket gör det möjligt för en modell att ge en mer exakt förutsägelse som inte kan övertrumfas.
  • Förstärkningsalgoritmer är mycket mer flexibla än andra algoritmer eftersom de kan optimera olika förlustfunktioner och ger flera alternativ för justering av hyperparameter.
  • Den kräver ingen förbearbetning av data eftersom den är lämplig för både numeriska såväl som kategoriska variabler.
  • Det kräver inte imputering av saknade värden i datasetet, det hanterar saknade data automatiskt.

Nackdelar med Boosting Algorithms:

Nedan är några nackdelar med att öka algoritmer:

  • Förstärkande algoritmer kan orsaka överanpassning såväl som överbetoning av extremvärden.
  • Gradientförstärkningsalgoritmen fokuserar kontinuerligt för att minimera felen och kräver flera träd, därför är det beräkningsmässigt dyrt.
  • Det är en tidskrävande och minnesuttömmande algoritm.
  • Mindre tolkande till sin natur, även om detta enkelt åtgärdas med olika verktyg.

Slutsats:

På så sätt har vi lärt oss ökande algoritmer för prediktiv modellering inom maskininlärning. Vi har också diskuterat olika viktiga förstärkningsalgoritmer som används i ML som GBM, XGBM, lätt GBM och Catboost. Vidare har vi sett olika komponenter (förlustfunktion, svag inlärare och additiv modell) och hur GBM arbetar med dem. Hur förstärkningsalgoritmer är fördelaktiga för implementering i verkliga scenarier, etc.