Maskinlæring er en av de mest populære teknologiene for å bygge prediktive modeller for ulike komplekse regresjons- og klassifiseringsoppgaver. Gradient Boosting Machine (GBM) regnes som en av de kraftigste boostingsalgoritmene.
Selv om det er så mange algoritmer som brukes i maskinlæring, har økende algoritmer blitt mainstream i maskinlæringssamfunnet over hele verden. Forsterkningsteknikk følger konseptet med ensemblelæring, og derfor kombinerer den flere enkle modeller (svake elever eller basisestimatorer) for å generere det endelige resultatet. GBM brukes også som en ensemblemetode i maskinlæring som gjør de svake elevene om til sterke elever. I dette emnet, 'GBM i maskinlæring' vi vil diskutere gradient maskinlæringsalgoritmer, ulike boostingsalgoritmer innen maskinlæring, historien til GBM, hvordan det fungerer, ulike terminologier som brukes i GBM osv. Men før du starter, må du først forstå boostingskonseptet og ulike boostingsalgoritmer innen maskinlæring.
Hva er boosting i maskinlæring?
Boosting er en av de populære lærende ensemblemodelleringsteknikkene som brukes til å bygge sterke klassifiserere fra forskjellige svake klassifiserere. Det starter med å bygge en primær modell fra tilgjengelige treningsdatasett, deretter identifiserer den feilene som finnes i basismodellen. Etter å ha identifisert feilen, bygges en sekundær modell, og videre introduseres en tredje modell i denne prosessen. På denne måten fortsetter denne prosessen med å introdusere flere modeller til vi får et komplett treningsdatasett etter hvilken modell som forutsier riktig.
AdaBoost (Adaptive boosting) var den første boostingsalgoritmen som kombinerte ulike svake klassifiserere til en enkelt sterk klassifikator i maskinlæringens historie. Den fokuserer først og fremst på å løse klassifiseringsoppgaver som binær klassifisering.
Trinn for å øke algoritmer:
Det er noen viktige trinn for å øke algoritmen som følger:
- Vurder et datasett som har forskjellige datapunkter og initialiser det.
- Gi nå lik vekt til hvert av datapunktene.
- Anta denne vekten som input for modellen.
- Identifiser datapunktene som er feil klassifisert.
- Øk vekten for datapunkter i trinn 4.
- Hvis du får riktig utgang, avslutt denne prosessen ellers følg trinn 2 og 3 igjen.
Eksempel:
La oss anta at vi har tre forskjellige modeller med sine spådommer, og de fungerer på helt forskjellige måter. For eksempel viser den lineære regresjonsmodellen et lineært forhold i data mens beslutningstremodellen prøver å fange ikke-lineariteten i dataene som vist under bildet.
Videre, i stedet for å bruke disse modellene separat for å forutsi utfallet hvis vi bruker dem i form av serier eller kombinasjoner, får vi en resulterende modell med riktig informasjon enn alle basismodeller. Med andre ord, i stedet for å bruke hver modells individuelle prediksjon, hvis vi bruker gjennomsnittlig prediksjon fra disse modellene, vil vi kunne fange opp mer informasjon fra dataene. Det omtales som ensemblelæring og boosting er også basert på ensemblemetoder innen maskinlæring.
Forsterkning av algoritmer i maskinlæring
Det er først og fremst 4 forsterkende algoritmer innen maskinlæring. Disse er som følger:
Hva er GBM i maskinlæring?
Gradient Boosting Machine (GBM) er en av de mest populære fremadlæringsensemblemetodene innen maskinlæring. Det er en kraftig teknikk for å bygge prediktive modeller for regresjons- og klassifiseringsoppgaver.
GBM hjelper oss å få en prediktiv modell i form av et ensemble av svake prediksjonsmodeller som beslutningstrær. Når et beslutningstre fungerer som en svak elev, kalles den resulterende algoritmen gradientforsterkede trær.
Det gjør oss i stand til å kombinere spådommene fra ulike elevmodeller og bygge en endelig prediktiv modell med riktig prediksjon.
Men her kan ett spørsmål oppstå hvis vi bruker den samme algoritmen, hvordan kan flere beslutningstrær gi bedre spådommer enn et enkelt beslutningstre? Dessuten, hvordan fanger hvert beslutningstre forskjellig informasjon fra de samme dataene?
hvordan konvertere streng til int
Så svaret på disse spørsmålene er at en annen undergruppe av funksjoner tas av nodene til hvert beslutningstre for å velge den beste splittelsen. Det betyr at hvert tre oppfører seg forskjellig, og dermed fanger opp forskjellige signaler fra de samme dataene.
Hvordan fungerer GBM?
Generelt er de fleste veiledede læringsalgoritmer basert på en enkelt prediktiv modell som lineær regresjon, straffet regresjonsmodell, beslutningstrær osv. Men det er noen veiledede algoritmer i ML som er avhengig av en kombinasjon av ulike modeller sammen gjennom ensemblet. Med andre ord, når flere basismodeller bidrar med sine spådommer, tilpasses et gjennomsnitt av alle spådommer ved å øke algoritmer.
Gradientforsterkningsmaskiner består av 3 elementer som følger:
- Tapsfunksjon
- Svake elever
- Additiv modell
La oss forstå disse tre elementene i detalj.
1. Tapsfunksjon:
Selv om det er en stor familie av tapsfunksjoner innen maskinlæring som kan brukes avhengig av hvilken type oppgaver som løses. Bruken av tapsfunksjonen er estimert ved etterspørselen av spesifikke egenskaper ved den betingede fordelingen, for eksempel robusthet. Mens vi bruker en tapsfunksjon i oppgaven vår, må vi spesifisere tapsfunksjonen og funksjonen for å beregne den tilsvarende negative gradienten. Når vi først har fått disse to funksjonene, kan de enkelt implementeres i gradientforsterkende maskiner. Det er imidlertid flere tapsfunksjoner som allerede er foreslått for GBM-algoritmer.
Klassifisering av tapsfunksjon:
Basert på typen responsvariabel y, kan tapsfunksjonen klassifiseres i forskjellige typer som følger:
- Gaussisk L2 tapsfunksjon
- Laplace L1 tapsfunksjon
- Huber tapsfunksjon, δ spesifisert
- Kvantiltapsfunksjon, α spesifisert
- Binomial tapsfunksjon
- Adaboost tapsfunksjon
- Tapsfunksjoner for overlevelsesmodeller
- Tapsfunksjoner teller data
- Egendefinerte tapsfunksjoner
2. Svak elev:
Svake elever er de grunnleggende elevmodellene som lærer av tidligere feil og hjelper til med å bygge et sterkt prediktivt modelldesign for å øke algoritmer i maskinlæring. Vanligvis fungerer beslutningstrær som en svak elev i å øke algoritmer.
Boosting er definert som rammeverket som kontinuerlig jobber for å forbedre produksjonen fra basismodeller. Mange gradientforsterkende applikasjoner lar deg 'plugin' forskjellige klasser av svake elever til din disposisjon. Derfor brukes beslutningstrær oftest for svake (base) elever.
liste java
Slik trener du svake elever:
Maskinlæring bruker opplæringsdatasett for å trene basiselever, og basert på prediksjonen fra den forrige eleven, forbedrer den ytelsen ved å fokusere på radene med treningsdataene der det forrige treet hadde de største feilene eller rester. f.eks. grunne trær regnes som svake læretrær til beslutningstrær da det inneholder noen få klyvinger. Generelt, når det gjelder forsterkingsalgoritmer, er trær med opptil 6 splittelser mest vanlige.
Nedenfor er en sekvens for å trene den svake eleven for å forbedre ytelsen deres der hvert tre er i sekvensen med det forrige treets rester. Videre introduserer vi hvert nytt tre slik at det kan lære av det forrige treets feil. Disse er som følger:
- Vurder et datasett og sett inn et beslutningstre i det.
F1(x)=y - Tilpass neste beslutningstre med de største feilene fra forrige tre.
h1(x)=y?F1(x) - Legg til dette nye treet til algoritmen ved å legge til både i trinn 1 og 2.
F2(x)=F1(x)+h1(x) - Tilpass det neste beslutningstreet igjen med restene av det forrige treet.
h2(x)=y?F2(x) - Gjenta det samme som vi gjorde i trinn 3.
F3(x)=F2(x)+h2(x)
Fortsett denne prosessen til en eller annen mekanisme (dvs. kryssvalidering) forteller oss å stoppe. Den endelige modellen her er en trinnvis additiv modell av b individuelle trær:
f(x)=B∑b=1fb(x)Derfor er trær konstruert grådig, og velger de beste delte poengene basert på renhetsscore som Gini eller minimerer tapet.
3. Additivmodell:
Additivmodellen er definert som å legge til trær til modellen. Selv om vi ikke skal legge til flere trær om gangen, må kun ett enkelt tre legges til slik at eksisterende trær i modellen ikke endres. Videre kan vi også foretrekke gradientnedstigningsmetoden ved å legge til trær for å redusere tapet.
I de siste årene ble gradientnedstigningsmetoden brukt for å minimere settet med parametere som koeffisienten til regresjonsligningen og vekt i et nevralt nettverk. Etter beregning av feil eller tap, brukes vektparameteren for å minimere feilen. Men nylig foretrekker de fleste ML-eksperter svake elevundermodeller eller beslutningstrær som en erstatning for disse parameterne. Der må vi legge til et tre i modellen for å redusere feilen og forbedre ytelsen til den modellen. På denne måten kombineres prediksjonen fra det nylig tilførte treet med prediksjonen fra den eksisterende serien med trær for å få en endelig prediksjon. Denne prosessen fortsetter til tapet når et akseptabelt nivå eller det ikke lenger er behov for forbedring.
Denne metoden er også kjent som funksjonell gradientnedstigning eller gradientnedstigning med funksjoner.
EKSTREMT GRADIENT BOOSTING MACHINE (XGBM)
XGBM er den nyeste versjonen av gradientforsterkningsmaskiner som også fungerer veldig likt GBM. I XGBM legges trær til sekvensielt (ett om gangen) som lærer av feilene i tidligere trær og forbedrer dem. Selv om XGBM- og GBM-algoritmer er like i utseende og følelse, men det er fortsatt noen få forskjeller mellom dem som følger:
- XGBM bruker forskjellige regulariseringsteknikker for å redusere undertilpasning eller overtilpasning av modellen, noe som også øker modellytelsen mer enn gradientforsterkende maskiner.
- XGBM følger parallell prosessering av hver node, mens GBM ikke gjør det raskere enn gradientforsterkende maskiner.
- XGBM hjelper oss å bli kvitt imputeringen av manglende verdier fordi modellen som standard tar seg av det. Den lærer på egen hånd om disse verdiene skal være i høyre eller venstre node.
Light Gradient Boosting Machines (Light GBM)
Light GBM er en mer oppgradert versjon av Gradient boosting-maskinen på grunn av sin effektivitet og raske hastighet. I motsetning til GBM og XGBM, kan den håndtere en enorm mengde data uten kompleksitet. På den annen side er det ikke egnet for de datapunktene som er mindre i antall.
I stedet for nivåmessig vekst, foretrekker Light GBM bladvis vekst av nodene til treet. Videre, i lett GBM, deles den primære noden i to sekundære noder og senere velger den en sekundær node som skal deles. Denne delingen av en sekundær node avhenger av hvilken mellom to noder som har et høyere tap.
Derfor, på grunn av bladvis splittelse, er Light Gradient Boosting Machine (LGBM) algoritme alltid foretrukket fremfor andre der en stor mengde data er gitt.
CATBOOST
Catboost-algoritmen brukes først og fremst til å håndtere de kategoriske funksjonene i et datasett. Selv om GBM-, XGBM- og Light GBM-algoritmer er egnet for numeriske datasett, er Catboost designet for å håndtere kategoriske variabler til numeriske data. Derfor består catboost-algoritmen av et viktig forbehandlingstrinn for å konvertere kategoriske funksjoner til numeriske variabler som ikke er til stede i noen annen algoritme.
Fordeler med å øke algoritmer:
- Forsterkende algoritmer følger ensemblelæring som gjør at en modell kan gi en mer nøyaktig prediksjon som ikke kan trumfes.
- Forsterkende algoritmer er mye mer fleksible enn andre algoritmer som kan optimere forskjellige tapsfunksjoner og gir flere alternativer for justering av hyperparameter.
- Den krever ikke dataforbehandling fordi den er egnet for både numeriske og kategoriske variabler.
- Den krever ikke imputering av manglende verdier i datasettet, den håndterer manglende data automatisk.
Ulemper med å øke algoritmer:
Nedenfor er noen ulemper ved å øke algoritmer:
- Forsterkning av algoritmer kan føre til overtilpasning og overbetoning av ytterliggere.
- Gradientforsterkende algoritme fokuserer kontinuerlig for å minimere feilene og krever flere trær, derfor er det beregningsmessig dyrt.
- Det er en tidkrevende og minneuttømmende algoritme.
- Mindre fortolkende i sin natur, selv om dette enkelt kan løses med ulike verktøy.
Konklusjon:
På denne måten har vi lært å øke algoritmer for prediktiv modellering i maskinlæring. Vi har også diskutert forskjellige viktige boostingsalgoritmer som brukes i ML, som GBM, XGBM, light GBM og Catboost. Videre har vi sett ulike komponenter (tapfunksjon, svak innlærer og additiv modell) og hvordan GBM jobber med dem. Hvordan økende algoritmer er fordelaktige for distribusjon i virkelige scenarier, etc.