logo

GBM u strojnom učenju

Strojno učenje jedna je od najpopularnijih tehnologija za izradu prediktivnih modela za razne složene zadatke regresije i klasifikacije. Stroj za pojačavanje gradijenta (GBM) smatra se jednim od najmoćnijih algoritama za pojačavanje.

GBM u strojnom učenju

Iako postoji toliko mnogo algoritama koji se koriste u strojnom učenju, algoritmi za pojačavanje postali su glavni tok u zajednici strojnog učenja diljem svijeta. Tehnika pojačanja slijedi koncept skupnog učenja i stoga kombinira više jednostavnih modela (slabi učenici ili osnovni procjenitelji) za generiranje konačnog rezultata. GBM se također koristi kao skupna metoda u strojnom učenju koja pretvara slabe učenike u snažne učenike. U ovoj temi, 'GBM u strojnom učenju' raspravljat ćemo o gradijentnim algoritmima strojnog učenja, raznim algoritmima za pojačavanje u strojnom učenju, povijesti GBM-a, kako funkcionira, različitim terminologijama koje se koriste u GBM-u itd. Ali prije početka, prvo razumite koncept pojačanja i razne algoritme za pojačavanje u strojnom učenju.

string.replaceall u Javi

Što je boosting u strojnom učenju?

Boosting je jedna od popularnih tehnika modeliranja ansambla učenja koja se koristi za izgradnju jakih klasifikatora od raznih slabih klasifikatora. Započinje izgradnjom primarnog modela iz dostupnih skupova podataka za obuku, a zatim identificira pogreške prisutne u osnovnom modelu. Nakon identificiranja greške gradi se sekundarni model, a dalje se u ovaj proces uvodi treći model. Na taj se način ovaj proces uvođenja više modela nastavlja sve dok ne dobijemo kompletan skup podataka za obuku prema kojem model točno predviđa.

AdaBoost (Adaptive boosting) bio je prvi algoritam za povećanje koji je kombinirao različite slabe klasifikatore u jedan jaki klasifikator u povijesti strojnog učenja. Prvenstveno se usredotočuje na rješavanje zadataka klasifikacije kao što je binarna klasifikacija.

Koraci u algoritmima za pojačavanje:

Postoji nekoliko važnih koraka u jačanju algoritma kako slijedi:

  • Razmotrite skup podataka koji ima različite podatkovne točke i inicijalizirajte ga.
  • Sada dajte jednaku težinu svakoj podatkovnoj točki.
  • Pretpostavite ovu težinu kao ulaznu vrijednost za model.
  • Identificirajte podatkovne točke koje su pogrešno klasificirane.
  • Povećajte težinu za podatkovne točke u 4. koraku.
  • Ako dobijete odgovarajući izlaz, prekinite ovaj proces ili ponovno slijedite korake 2 i 3.

Primjer:

Pretpostavimo da imamo tri različita modela sa svojim predviđanjima i oni rade na potpuno različite načine. Na primjer, model linearne regresije pokazuje linearni odnos u podacima dok model stabla odlučivanja pokušava uhvatiti nelinearnost u podacima kao što je prikazano na slici ispod.

GBM u strojnom učenju

Nadalje, umjesto da ove modele koristimo odvojeno za predviđanje ishoda, ako ih koristimo u obliku serije ili kombinacije, tada dobivamo rezultirajući model s točnim informacijama od svih osnovnih modela. Drugim riječima, umjesto korištenja pojedinačnog predviđanja svakog modela, ako koristimo prosječno predviđanje iz tih modela, tada bismo mogli uhvatiti više informacija iz podataka. Naziva se ansambl učenjem, a pojačanje se također temelji na ansambl metodama u strojnom učenju.

Poticanje algoritama u strojnom učenju

U strojnom učenju postoje prvenstveno 4 algoritma za pojačavanje. To su sljedeći:

    Stroj za pojačavanje gradijenta (GBM) Stroj za pojačavanje ekstremnog gradijenta (XGBM) Svjetlo GBM CatBoost

Što je GBM u strojnom učenju?

Stroj za pojačavanje gradijenta (GBM) jedna je od najpopularnijih skupnih metoda učenja u strojnom učenju. To je moćna tehnika za izgradnju prediktivnih modela za zadatke regresije i klasifikacije.

GBM nam pomaže da dobijemo prediktivni model u obliku skupa slabih predikcijskih modela kao što su stabla odlučivanja. Kad god se stablo odlučivanja ponaša kao slab učenik, tada se rezultirajući algoritam naziva stablom pojačanim gradijentom.

kvar opće zaštite

Omogućuje nam kombiniranje predviđanja iz različitih modela učenika i izgradnju konačnog prediktivnog modela s točnim predviđanjem.

Ali ovdje se može pojaviti jedno pitanje ako primjenjujemo isti algoritam, kako onda višestruka stabla odlučivanja mogu dati bolja predviđanja od jednog stabla odlučivanja? Štoviše, kako svako stablo odlučivanja hvata različite informacije iz istih podataka?

GBM u strojnom učenju

Dakle, odgovor na ova pitanja je da različiti podskup značajki preuzimaju čvorovi svakog stabla odlučivanja kako bi odabrali najbolju podjelu. To znači da se svako stablo ponaša drugačije i stoga hvata različite signale iz istih podataka.

Kako radi GBM?

Općenito, većina nadziranih algoritama učenja temelji se na jednom prediktivnom modelu kao što je linearna regresija, penalizirani regresijski model, stabla odlučivanja itd. Ali postoje neki nadzirani algoritmi u ML-u koji ovise o kombinaciji različitih modela zajedno kroz skup. Drugim riječima, kada više osnovnih modela doprinosi svojim predviđanjima, prosjek svih predviđanja prilagođava se algoritmima za pojačavanje.

Strojevi za povećanje gradijenta sastoje se od 3 elementa kako slijedi:

  • Funkcija gubitka
  • Slabi učenici
  • Aditivni model

Razmotrimo ova tri elementa u detalje.

1. Funkcija gubitka:

Iako postoji velika obitelj Loss funkcija u strojnom učenju koje se mogu koristiti ovisno o vrsti zadataka koji se rješavaju. Korištenje funkcije gubitaka procjenjuje se zahtjevom specifičnih karakteristika uvjetne distribucije kao što je robusnost. Dok koristimo funkciju gubitka u našem zadatku, moramo navesti funkciju gubitka i funkciju za izračunavanje odgovarajućeg negativnog gradijenta. Jednom kada dobijemo ove dvije funkcije, one se mogu lako implementirati u strojeve za povećanje gradijenta. Međutim, postoji nekoliko funkcija gubitka koje su već predložene za GBM algoritme.

arraylist sortirana java

Klasifikacija funkcije gubitka:

Na temelju vrste varijable odgovora y, funkcija gubitka može se klasificirati u različite tipove kako slijedi:

    Kontinuirani odziv, y ∈ R:
    • Gaussova L2 funkcija gubitka
    • Laplaceova L1 funkcija gubitka
    • Huberova funkcija gubitaka, specificirana δ
    • Kvantilna funkcija gubitka, specificirana α
    Kategorički odgovor, y ∈ {0, 1}:
    • Binomna funkcija gubitka
    • Adaboost funkcija gubitka
    Ostale obitelji varijabli odgovora:
    • Funkcije gubitaka za modele preživljavanja
    • Funkcije gubitaka broje podatke
    • Prilagođene funkcije gubitka

2. Slab učenik:

Slabi učenici osnovni su modeli učenika koji uče na prošlim pogreškama i pomažu u izgradnji snažnog prediktivnog dizajna modela za poboljšanje algoritama u strojnom učenju. Općenito, stabla odlučivanja rade kao slabi učenici u algoritmima za jačanje.

Boosting se definira kao okvir koji kontinuirano radi na poboljšanju rezultata osnovnih modela. Mnoge aplikacije za povećanje gradijenta omogućuju vam da 'priključite' različite klase slabih učenika koji su vam na raspolaganju. Stoga se stabla odlučivanja najčešće koriste za slabe (osnovne) učenike.

dva prema jedan multiplekser

Kako trenirati slabe učenike:

Strojno učenje koristi skupove podataka za obuku za obuku osnovnih učenika i na temelju predviđanja prethodnog učenika, poboljšava izvedbu fokusiranjem na retke podataka za obuku gdje je prethodno stablo imalo najveće pogreške ili ostatke. npr. plitka stabla smatraju se slabim učinkom na stabla odlučivanja jer sadrže nekoliko podjela. Općenito, u algoritmima za pojačavanje, stabla koja imaju do 6 podjela su najčešća.

Ispod je slijed obuke slabog učenika kako bi poboljšao svoju izvedbu gdje je svako stablo u nizu s ostacima prethodnog stabla. Nadalje, uvodimo svako novo stablo kako bi moglo učiti iz pogrešaka prethodnog stabla. To su sljedeći:

  1. Razmotrite skup podataka i u njega uklopite stablo odlučivanja.
    F1(x)=y
  2. Uklopi sljedeće stablo odlučivanja s najvećim pogreškama prethodnog stabla.
    h1(x)=y?F1(x)
  3. Dodajte ovo novo stablo u algoritam dodavanjem oba u koraku 1 i 2.
    F2(x)=F1(x)+h1(x)
  4. Ponovno prilagodite sljedeće stablo odlučivanja s ostacima prethodnog stabla.
    h2(x)=y?F2(x)
  5. Ponovite isto što smo učinili u koraku 3.
    F3(x)=F2(x)+h2(x)

Nastavite s ovim postupkom dok nam neki mehanizam (tj. unakrsna provjera valjanosti) ne kaže da prestanemo. Konačni model ovdje je postupno aditivni model b pojedinačnih stabala:

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

Stoga se stabla grade pohlepno, birajući najbolje točke dijeljenja na temelju rezultata čistoće kao što je Gini ili minimizirajući gubitak.

3. Aditivni model:

Aditivni model se definira kao dodavanje stabala u model. Iako ne bismo trebali dodavati više stabala odjednom, mora se dodati samo jedno stablo kako se postojeća stabla u modelu ne bi promijenila. Nadalje, također možemo preferirati metodu gradijentnog spuštanja dodavanjem stabala kako bismo smanjili gubitak.

U posljednjih nekoliko godina, metoda gradijentnog spuštanja korištena je za minimiziranje skupa parametara kao što su koeficijent regresijske jednadžbe i težina u neuronskoj mreži. Nakon izračuna pogreške ili gubitka, parametar težine se koristi za smanjenje pogreške. No nedavno većina stručnjaka za ML preferira podmodele slabog učenika ili stabla odlučivanja kao zamjenu za te parametre. U kojem moramo dodati stablo u model kako bismo smanjili pogrešku i poboljšali performanse tog modela. Na taj se način predviđanje iz novo dodanog stabla kombinira s predviđanjem iz postojećeg niza stabala kako bi se dobilo konačno predviđanje. Ovaj proces se nastavlja sve dok gubitak ne dosegne prihvatljivu razinu ili više nije potrebno poboljšanje.

dateformat.format java

Ova metoda je također poznata kao funkcionalni gradijentni silazak ili gradijentni silazak s funkcijama.

STROJ ZA POJAČAVANJE EKSTREMNOG GRADIJENTA (XGBM)

XGBM je najnovija verzija strojeva za povećanje gradijenta koji također radi vrlo slično GBM-u. U XGBM, stabla se dodaju sekvencijalno (jedno po jedno) koja uče na pogreškama prethodnih stabala i poboljšavaju ih. Iako su algoritmi XGBM i GBM slični po izgledu i osjećaju, ipak postoji nekoliko razlika između njih kako slijedi:

  • XGBM koristi različite tehnike regulacije kako bi smanjio nedovoljno ili pretjerano pristajanje modela što također povećava performanse modela više od strojeva za povećanje gradijenta.
  • XGBM prati paralelnu obradu svakog čvora, dok GBM ne, što ga čini bržim od strojeva za povećanje gradijenta.
  • XGBM nam pomaže da se riješimo imputacije vrijednosti koje nedostaju jer prema zadanim postavkama model to preuzima. Samo uči trebaju li te vrijednosti biti u desnom ili lijevom čvoru.

Strojevi za pojačavanje svjetlosnog gradijenta (Light GBM)

Light GBM je nadograđenija verzija Gradient boosting stroja zbog svoje učinkovitosti i velike brzine. Za razliku od GBM-a i XGBM-a, može obraditi veliku količinu podataka bez ikakve složenosti. S druge strane, nije prikladan za one podatkovne točke koje su manjeg broja.

Umjesto rasta po razini, Light GBM preferira rast čvorova stabla po lišću. Nadalje, u laganom GBM-u, primarni čvor se dijeli na dva sekundarna čvora i kasnije odabire jedan sekundarni čvor koji će se podijeliti. Ova podjela sekundarnog čvora ovisi o tome koji između dva čvora ima veći gubitak.

GBM u strojnom učenju

Stoga, zbog podjele na listove, algoritam Light Gradient Boosting Machine (LGBM) uvijek ima prednost u odnosu na druge gdje se daje velika količina podataka.

CATBOOST

Catboost algoritam prvenstveno se koristi za rukovanje kategoričkim značajkama u skupu podataka. Iako su algoritmi GBM, XGBM i Light GBM prikladni za skupove numeričkih podataka, Catboost je dizajniran za obradu kategoričkih varijabli u numeričke podatke. Stoga se algoritam catboost sastoji od bitnog koraka pretprocesiranja za pretvaranje kategoričkih značajki u numeričke varijable koje nisu prisutne ni u jednom drugom algoritmu.

Prednosti algoritama za pojačavanje:

  • Algoritmi za pojačavanje slijede učenje ansambla što modelu omogućuje da da točnije predviđanje koje se ne može nadmašiti.
  • Algoritmi za pojačavanje mnogo su fleksibilniji od drugih algoritama jer mogu optimizirati različite funkcije gubitka i pružaju nekoliko opcija podešavanja hiperparametara.
  • Ne zahtijeva prethodnu obradu podataka jer je prikladan i za numeričke i za kategoričke varijable.
  • Ne zahtijeva imputiranje nedostajućih vrijednosti u skupu podataka, automatski obrađuje podatke koji nedostaju.

Nedostaci algoritama za pojačavanje:

Ispod je nekoliko nedostataka algoritama za pojačavanje:

  • Algoritmi za pojačavanje mogu uzrokovati pretjerano prilagođavanje, kao i pretjerano naglašavanje odstupanja.
  • Algoritam za povećanje gradijenta kontinuirano se fokusira na minimiziranje pogrešaka i zahtijeva višestruka stabla, stoga je računski skup.
  • To je algoritam koji zahtijeva puno vremena i memorije.
  • Manje interpretativne prirode, iako se to lako rješava raznim alatima.

Zaključak:

Na taj smo način naučili algoritme za pojačavanje za prediktivno modeliranje u strojnom učenju. Također, razgovarali smo o raznim važnim algoritmima za pojačavanje koji se koriste u ML-u kao što su GBM, XGBM, lagani GBM i Catboost. Nadalje, vidjeli smo razne komponente (funkcija gubitka, slab učenik i aditivni model) i kako GBM radi s njima. Koliko su algoritmi za pojačanje korisni za implementaciju u scenarijima stvarnog svijeta itd.