Machine learning er en af de mest populære teknologier til at bygge prædiktive modeller til forskellige komplekse regressions- og klassifikationsopgaver. Gradient Boosting Machine (GBM) betragtes som en af de mest kraftfulde boosting-algoritmer.
Selvom der er så mange algoritmer, der bruges i maskinlæring, er boostningsalgoritmer blevet mainstream i maskinlæringsfællesskabet over hele verden. Boostteknikken følger konceptet om ensemblelæring, og den kombinerer derfor flere simple modeller (svage elever eller basisestimatorer) for at generere det endelige output. GBM bruges også som en ensemblemetode i maskinlæring, der konverterer de svage elever til stærke elever. I dette emne, 'GBM i maskinlæring' vi vil diskutere gradient machine learning algoritmer, forskellige boosting algoritmer i machine learning, historien om GBM, hvordan det virker, forskellige terminologier brugt i GBM osv. Men før du starter, skal du først forstå boosting konceptet og forskellige boosting algoritmer i machine learning.
Hvad er Boosting i Machine Learning?
Boosting er en af de populære lærende ensemblemodelleringsteknikker, der bruges til at bygge stærke klassifikatorer fra forskellige svage klassifikatorer. Det starter med at bygge en primær model ud fra tilgængelige træningsdatasæt, og derefter identificerer den fejlene i basismodellen. Efter at have identificeret fejlen, bygges en sekundær model, og yderligere introduceres en tredje model i denne proces. På denne måde fortsættes denne proces med at introducere flere modeller, indtil vi får et komplet træningsdatasæt efter hvilken model der forudsiger korrekt.
AdaBoost (Adaptive boosting) var den første boostningsalgoritme til at kombinere forskellige svage klassifikatorer til en enkelt stærk klassifikator i maskinlæringens historie. Det fokuserer primært på at løse klassifikationsopgaver såsom binær klassifikation.
Trin i at booste algoritmer:
Der er et par vigtige trin i at booste algoritmen som følger:
- Overvej et datasæt med forskellige datapunkter og initialiser det.
- Giv nu samme vægt til hvert af datapunkterne.
- Antag denne vægt som input til modellen.
- Identificer de datapunkter, der er forkert klassificeret.
- Øg vægten for datapunkter i trin 4.
- Hvis du får passende output, skal du afslutte denne proces, ellers følg trin 2 og 3 igen.
Eksempel:
Lad os antage, at vi har tre forskellige modeller med deres forudsigelser, og de virker på helt forskellige måder. For eksempel viser den lineære regressionsmodel et lineært forhold i data, mens beslutningstræmodellen forsøger at fange ikke-lineariteten i dataene som vist nedenfor.
Yderligere, i stedet for at bruge disse modeller separat til at forudsige resultatet, hvis vi bruger dem i form af serier eller kombinationer, så får vi en resulterende model med korrekt information end alle basismodeller. Med andre ord, i stedet for at bruge hver models individuelle forudsigelse, hvis vi bruger gennemsnitsforudsigelse fra disse modeller, ville vi være i stand til at fange mere information fra dataene. Det omtales som ensemble learning og boosting er også baseret på ensemblemetoder i maskinlæring.
Forøgelse af algoritmer i maskinlæring
Der er primært 4 boostende algoritmer i maskinlæring. Disse er som følger:
Hvad er GBM i Machine Learning?
Gradient Boosting Machine (GBM) er en af de mest populære fremadlærings-ensemblemetoder inden for maskinlæring. Det er en kraftfuld teknik til at bygge prædiktive modeller for regressions- og klassifikationsopgaver.
GBM hjælper os med at få en prædiktiv model i form af et ensemble af svage forudsigelsesmodeller såsom beslutningstræer. Når et beslutningstræ fungerer som en svag elev, kaldes den resulterende algoritme gradient-boostede træer.
Det gør os i stand til at kombinere forudsigelserne fra forskellige elevmodeller og opbygge en endelig forudsigelsesmodel med den korrekte forudsigelse.
Men her kan der opstå et spørgsmål, hvis vi anvender den samme algoritme, hvordan kan flere beslutningstræer give bedre forudsigelser end et enkelt beslutningstræ? Desuden, hvordan fanger hvert beslutningstræ forskellige oplysninger fra de samme data?
hvordan man konverterer streng til int
Så svaret på disse spørgsmål er, at en anden delmængde af funktioner tages af noderne i hvert beslutningstræ for at vælge den bedste opdeling. Det betyder, at hvert træ opfører sig forskelligt, og derfor fanger forskellige signaler fra de samme data.
Hvordan fungerer GBM?
Generelt er de fleste superviserede læringsalgoritmer baseret på en enkelt prædiktiv model såsom lineær regression, straffet regressionsmodel, beslutningstræer osv. Men der er nogle superviserede algoritmer i ML, der afhænger af en kombination af forskellige modeller sammen gennem ensemblet. Med andre ord, når flere basismodeller bidrager med deres forudsigelser, tilpasses et gennemsnit af alle forudsigelser ved at booste algoritmer.
Gradient boosting maskiner består af 3 elementer som følger:
- Tabsfunktion
- Svage elever
- Additiv model
Lad os forstå disse tre elementer i detaljer.
1. Tabsfunktion:
Selvom der er en stor familie af tabsfunktioner i maskinlæring, der kan bruges afhængigt af typen af opgaver, der løses. Brugen af tabsfunktionen estimeres ved efterspørgsel af specifikke karakteristika ved den betingede fordeling, såsom robusthed. Mens vi bruger en tabsfunktion i vores opgave, skal vi specificere tabsfunktionen og funktionen til at beregne den tilsvarende negative gradient. Når vi først har fået disse to funktioner, kan de nemt implementeres i gradientforstærkende maskiner. Der er dog allerede foreslået flere tabsfunktioner for GBM-algoritmer.
Klassificering af tabsfunktion:
Baseret på typen af svarvariabel y kan tabsfunktionen klassificeres i forskellige typer som følger:
- Gaussisk L2 tabsfunktion
- Laplace L1 tabsfunktion
- Huber-tabsfunktion, δ specificeret
- Kvantiltabsfunktion, α specificeret
- Binomial tab funktion
- Adaboost-tabsfunktion
- Tabsfunktioner til overlevelsesmodeller
- Tabsfunktioner tæller data
- Brugerdefinerede tabsfunktioner
2. Svag elev:
Svage elever er de grundlæggende lærende modeller, der lærer af tidligere fejl og hjælper med at opbygge et stærkt prædiktivt modeldesign til at booste algoritmer i maskinlæring. Generelt fungerer beslutningstræer som en svag elev i at booste algoritmer.
Boosting er defineret som den ramme, der kontinuerligt arbejder på at forbedre output fra basismodeller. Mange gradientforstærkende applikationer giver dig mulighed for at 'plugin' forskellige klasser af svage elever til din rådighed. Derfor bruges beslutningstræer oftest til svage (base) elever.
liste java
Sådan træner du svage elever:
Maskinlæring bruger træningsdatasæt til at træne basiselever, og baseret på forudsigelsen fra den tidligere elev forbedrer den ydeevnen ved at fokusere på de rækker af træningsdata, hvor det forrige træ havde de største fejl eller rester. F.eks. lavvandede træer betragtes som svage lærende til beslutningstræer, da det indeholder nogle få kløfter. Generelt er træer med op til 6 opdelinger mest almindelige i boostningsalgoritmer.
Nedenfor er en sekvens af træning af den svage elev i at forbedre deres præstationer, hvor hvert træ er i rækkefølgen med det foregående træs rester. Yderligere introducerer vi hvert nyt træ, så det kan lære af det forrige træs fejl. Disse er som følger:
- Overvej et datasæt og sæt et beslutningstræ ind i det.
F1(x)=y - Tilpas det næste beslutningstræ med de største fejl i det forrige træ.
h1(x)=y?F1(x) - Tilføj dette nye træ til algoritmen ved at tilføje både i trin 1 og 2.
F2(x)=F1(x)+h1(x) - Tilpas igen det næste beslutningstræ med resterne af det forrige træ.
h2(x)=y?F2(x) - Gentag det samme, som vi gjorde i trin 3.
F3(x)=F2(x)+h2(x)
Fortsæt denne proces, indtil en eller anden mekanisme (dvs. krydsvalidering) fortæller os at stoppe. Den endelige model her er en trinvis additiv model af b individuelle træer:
f(x)=B∑b=1fb(x)Derfor er træer konstrueret grådigt, ved at vælge de bedste splitpoints baseret på renhedsscore som Gini eller minimere tabet.
3. Additiv model:
Den additive model er defineret som at tilføje træer til modellen. Selvom vi ikke skal tilføje flere træer ad gangen, skal der kun tilføjes et enkelt træ, så eksisterende træer i modellen ikke ændres. Yderligere kan vi også foretrække gradient-nedstigningsmetoden ved at tilføje træer for at reducere tabet.
I de sidste par år blev gradientnedstigningsmetoden brugt til at minimere sættet af parametre såsom koefficienten for regressionsligningen og vægten i et neuralt netværk. Efter beregning af fejl eller tab, bruges vægtparameteren til at minimere fejlen. Men for nylig foretrækker de fleste ML-eksperter svage elevundermodeller eller beslutningstræer som en erstatning for disse parametre. I hvilket vi er nødt til at tilføje et træ i modellen for at reducere fejlen og forbedre ydeevnen af den model. På denne måde kombineres forudsigelsen fra det nyligt tilføjede træ med forudsigelsen fra den eksisterende række af træer for at få en endelig forudsigelse. Denne proces fortsætter, indtil tabet når et acceptabelt niveau eller ikke længere er behov for forbedring.
Denne metode er også kendt som funktionel gradientnedstigning eller gradientnedstigning med funktioner.
EXTREME GRADIENT BOOSTING MASKINE (XGBM)
XGBM er den nyeste version af gradient boosting maskiner, som også fungerer meget lig GBM. I XGBM tilføjes træer sekventielt (en ad gangen), der lærer af fejlene i tidligere træer og forbedrer dem. Selvom XGBM og GBM algoritmer ligner hinanden i udseende og følelse, men der er stadig et par forskelle mellem dem som følger:
- XGBM bruger forskellige regulariseringsteknikker til at reducere undertilpasning eller overtilpasning af modellen, hvilket også øger modellens ydeevne mere end gradientforstærkende maskiner.
- XGBM følger parallel behandling af hver node, mens GBM ikke gør det, hvilket gør det hurtigere end gradient boosting maskiner.
- XGBM hjælper os med at slippe af med imputeringen af manglende værdier, fordi modellen som standard tager sig af det. Den lærer af sig selv, om disse værdier skal være i højre eller venstre knude.
Light Gradient Boosting Machines (Light GBM)
Light GBM er en mere opgraderet version af Gradient boosting maskinen på grund af dens effektivitet og hurtige hastighed. I modsætning til GBM og XGBM kan den håndtere en enorm mængde data uden kompleksitet. På den anden side er det ikke egnet til de datapunkter, der er mindre i antal.
I stedet for niveaumæssig vækst foretrækker Light GBM bladvis vækst af træets noder. I let GBM opdeles den primære knude endvidere i to sekundære knudepunkter, og senere vælger den en sekundær knude, der skal opdeles. Denne opdeling af en sekundær node afhænger af, hvilken mellem to noder der har et højere tab.
Derfor foretrækkes Light Gradient Boosting Machine (LGBM) algoritme på grund af bladvis opdeling altid frem for andre, hvor der gives en stor mængde data.
CATBOOST
Catboost-algoritmen bruges primært til at håndtere de kategoriske funktioner i et datasæt. Selvom GBM, XGBM og Light GBM algoritmer er velegnede til numeriske datasæt, er Catboost designet til at håndtere kategoriske variabler til numeriske data. Derfor består catboost-algoritmen af et væsentligt forbehandlingstrin for at konvertere kategoriske funktioner til numeriske variabler, som ikke er til stede i nogen anden algoritme.
Fordele ved at booste algoritmer:
- Forøgende algoritmer følger ensemblelæring, som gør det muligt for en model at give en mere præcis forudsigelse, som ikke kan overtrumfes.
- Boost-algoritmer er meget mere fleksible end andre algoritmer, da de kan optimere forskellige tabsfunktioner og giver flere muligheder for justering af hyperparameter.
- Det kræver ikke dataforbehandling, fordi det er velegnet til både numeriske såvel som kategoriske variabler.
- Det kræver ikke imputation af manglende værdier i datasættet, det håndterer manglende data automatisk.
Ulemper ved boosting-algoritmer:
Nedenfor er et par ulemper ved at booste algoritmer:
- Boost-algoritmer kan forårsage overtilpasning samt overbetoning af afvigelserne.
- Gradient boosting algoritme fokuserer kontinuerligt for at minimere fejlene og kræver flere træer, derfor er det beregningsmæssigt dyrt.
- Det er en tidskrævende og hukommelsesudtømmende algoritme.
- Mindre fortolkende i sin natur, selvom dette nemt løses med forskellige værktøjer.
Konklusion:
På denne måde har vi lært at booste algoritmer til prædiktiv modellering i maskinlæring. Vi har også diskuteret forskellige vigtige boosting-algoritmer, der bruges i ML, såsom GBM, XGBM, light GBM og Catboost. Yderligere har vi set forskellige komponenter (tabsfunktion, svag lærende og additiv model), og hvordan GBM arbejder med dem. Hvordan boostningsalgoritmer er fordelagtige til implementering i virkelige scenarier osv.