škrbina Kaj je Gradient Boosting? - Združi se.AI
Povežite se z nami

AI 101

Kaj je Gradient Boosting?

mm
Posodobljeno on

Običajna vrsta modela strojnega učenja, ki se je izkazala za izjemno uporabno na tekmovanjih v znanosti o podatkih, je model povečanja gradienta. Povečanje gradienta je v bistvu proces pretvorbe šibkih učnih modelov v močne učne modele. Toda kako natančno je to doseženo? Oglejmo si podrobneje algoritme za povečanje gradienta in boljše razumeti, kako model povečanja gradienta spreminja šibke učence v močne učence.

Definiranje stopnjevanja gradienta

Ta članek vam želi dati dobro predstavo o tem, kaj je gradientno povečanje, brez številnih razčlenitev matematike, ki je osnova algoritmov. Ko boste razumeli, kako na visoki ravni deluje povečanje gradienta, vas spodbujamo, da se poglobite in raziščete matematiko, ki to omogoča.

Začnimo z opredelitvijo, kaj pomeni »spodbuditi« učenca. Šibki učenci se spremenijo v močne učence s prilagajanjem lastnosti učnega modela. Natančno kateri algoritem učenja se pospešuje?

Modeli pospeševanja delujejo tako, da nadgradijo drug običajni model strojnega učenja, odločitveno drevo.

A odločitveno drevo model deluje tako, da nabor podatkov razdeli na vedno manjše dele, in ko podnaborov ni več mogoče več razdeliti, je rezultat drevo z vozlišči in listi. Vozlišča v odločitvenem drevesu so mesta, kjer se sprejemajo odločitve o podatkovnih točkah z uporabo različnih kriterijev filtriranja. Listi v odločitvenem drevesu so podatkovne točke, ki so bile razvrščene. Algoritmi odločitvenega drevesa lahko obravnavajo tako numerične kot kategorične podatke, razdelitve v drevesu pa temeljijo na specifičnih spremenljivkah/značilnostih.

Ilustracija načina, kako se usposabljajo pospeševalni modeli.
Fotografija: SeattleDataBuy prek Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Ena vrsta algoritma za povečanje je AdaBoost algoritem. Algoritmi AdaBoost se začnejo z usposabljanjem modela odločitvenega drevesa in dodeljevanjem enake teže vsakemu opazovanju. Ko je bilo prvo drevo ovrednoteno za natančnost, se prilagodijo uteži za različna opazovanja. Opazovanja, ki jih je bilo enostavno razvrstiti, imajo znižane uteži, opažanja, ki jih je bilo težko razvrstiti, pa so povečana. Drugo drevo se ustvari z uporabo teh prilagojenih uteži, s ciljem, da bodo napovedi drugega drevesa natančnejše od napovedi prvega drevesa.

Model je zdaj sestavljen iz napovedi za prvotno drevo in novo drevo (ali drevo 1 + drevo 2). Točnost klasifikacije je ponovno ocenjena na podlagi novega modela. Tretje drevo se ustvari na podlagi izračunane napake za model in uteži se še enkrat prilagodijo. Ta proces se nadaljuje z danim številom ponovitev, končni model pa je model ansambla, ki uporablja uteženo vsoto napovedi vseh predhodno zgrajenih dreves.

Zgoraj opisani postopek uporablja drevesa odločanja in osnovne napovedovalce/modele, kljub temu pa je pristop povečanja mogoče izvesti s široko paleto modelov, kot so številni standardni klasifikatorji in regresorski modeli. Ključni pojmi, ki jih je treba razumeti, so, da se kasnejši napovedovalci učijo iz napak prejšnjih in da se napovedovalci ustvarjajo zaporedno.

Glavna prednost algoritmov za pospeševanje je, da potrebujejo manj časa za iskanje trenutnih napovedi v primerjavi z drugimi modeli strojnega učenja. Pri uporabi algoritmov za pospeševanje pa je potrebna previdnost, saj so nagnjeni k prekomernemu opremljanju.

Gradient krepitev

Zdaj si bomo ogledali enega najpogostejših algoritmov za pospeševanje. Gradient Boosting Models (GBM) so znani po svoji visoki natančnosti in povečujejo splošne principe, ki se uporabljajo v AdaBoost.

Primarna razlika med modelom Gradient Boosting in AdaBoost je v tem, da GBM uporabljajo drugačno metodo za izračun, kateri učenci napačno identificirajo podatkovne točke. AdaBoost izračuna, kje je model slabši, tako da preuči podatkovne točke, ki so močno ponderirane. Medtem GBM uporabljajo gradiente za določanje natančnosti učencev, pri čemer za model uporabljajo funkcijo izgube. Funkcije izgube so način za merjenje natančnosti prileganja modela naboru podatkov, izračun napake in optimizacijo modela za zmanjšanje te napake. GBM omogočajo uporabniku, da optimizira določeno funkcijo izgube na podlagi želenega cilja.

Če upoštevamo najpogostejšo funkcijo izgube – Povprečna kvadratna napaka (MSE) – kot primer, gradientni spust se uporablja za posodabljanje napovedi na podlagi vnaprej določene stopnje učenja, s ciljem najti vrednosti, kjer je izguba minimalna.

Da bo bolj jasno:

Nove napovedi modela = izhodne spremenljivke – stare nepopolne napovedi.

V bolj statističnem smislu je namen GBM najti ustrezne vzorce v ostankih modela, prilagoditi model, da ustreza vzorcu in čim bolj približati ostanke ničli. Če bi izvedli regresijo napovedi modela, bi bili ostanki porazdeljeni okoli 0 (popolno prileganje), GBM pa najdejo vzorce znotraj ostankov in posodabljajo model glede na te vzorce.

Z drugimi besedami, napovedi se posodobijo tako, da je vsota vseh ostankov čim bližja 0, kar pomeni, da bodo predvidene vrednosti zelo blizu dejanskim vrednostim.

Upoštevajte, da lahko GBM uporablja številne druge funkcije izgube (kot je logaritemska izguba). MSE je bil izbran zgoraj zaradi enostavnosti.

Različice modelov za povečanje gradienta

Modeli Gradient Boosting so pohlepni algoritmi, ki so nagnjeni k pretiranemu opremljanju nabora podatkov. Pred tem se je mogoče zaščititi z več različnih metod ki lahko izboljša delovanje GBM.

GBM je mogoče regulirati s štirimi različnimi metodami: krčenjem, drevesnimi omejitvami, povečanjem stohastičnega gradienta in kaznovanim učenjem.

Krčenje

Kot je bilo že omenjeno, se v GBM napovedi seštevajo zaporedno. Pri »Krčenju« se prilagodijo dodatki vsakega drevesa k skupni vsoti. Uporabljene so uteži, ki upočasnijo hitrost učenja algoritma, zaradi česar je treba modelu dodati več dreves, kar običajno izboljša robustnost in zmogljivost modela. Kompromis je v tem, da se model usposobi dlje.

Drevesne omejitve

Omejitev drevesa z različnimi prilagoditvami, kot je dodajanje več globine drevesu ali povečanje števila vozlišč ali listov v drevesu, lahko oteži, da se model preveč prilagodi. Uvedba omejitve glede najmanjšega števila opazovanj na razdelek ima podoben učinek. Še enkrat, kompromis je, da bo model potreboval dlje časa za usposabljanje.

Naključno vzorčenje

Posamezne učence je mogoče ustvariti s stohastičnim procesom, ki temelji na naključno izbranih podvzorcih nabora podatkov o usposabljanju. To vpliva na zmanjšanje korelacije med drevesi, kar ščiti pred prekomernim opremljanjem. Nabor podatkov je mogoče podžigosati, preden ustvarite drevesa ali preden razmislite o razdelitvi drevesa.

Kaznovano učenje

Poleg omejevanja modela z omejevanjem strukture drevesa je mogoče uporabiti regresijsko drevo. Regresijska drevesa imajo številčne vrednosti, pripete vsakemu listu, ki delujejo kot uteži in jih je mogoče prilagoditi s skupnimi funkcijami za regulacijo, kot sta regulacija L1 in L2.

Bloger in programer s posebnostmi v strojno učenje in Globoko učenje teme. Daniel upa, da bo drugim pomagal uporabiti moč umetne inteligence za družbeno dobro.