Mis on XGBoost algoritm?

XGBoost ehk Extreme Gradient boost on masinõppe algoritm, mida kasutatakse gradiendi suurendamise otsustuspuude rakendamiseks. Miks otsustavad puud? Kui me räägime struktureerimata andmetest, näiteks piltidest, struktureerimata tekstiandmetest jne, siis paistab, et ANN mudelid (tehisnärvivõrk) asuvad ennustamisel ülaosas. Kui rääkida struktureeritud / poolstruktureeritud andmetest, siis praegu on otsustuspuud parimad. XGBoost oli põhimõtteliselt loodud masinõppe mudelite kiiruse ja jõudluse suuremaks parandamiseks ning see täitis seda eesmärki väga hästi.

XGBoost algoritmi töötamine

XGBoost kasutab nii puu õppimise algoritmi kui ka lineaarset mudelit ning seetõttu on ta võimeline tegema ühe masinaga paralleelseid arvutusi.

See muudab XGBoosti algoritmi 10 korda kiiremaks kui ükski olemasolev gradiendi suurendamise algoritm.

XGBoost ja GBM (st Gradient Boosting Machines) kasutavad puu meetodeid, kasutades gradiendi laskumise arhitektuuri.

Ala, kuhu XGBoost jätab ülejäänud GBM-id maha, on süsteemi optimeerimise ja algoritmide täiustuste piirkond.

Vaatame neid üksikasjalikult:

Süsteemi optimeerimine:

1. Puude pügamine - XGBoosti algoritm kasutab sügavus-esimesest lähenemist, erinevalt GBMS-i kasutatavast puude tükeldamise peatumiskriteeriumist, mis on oma olemuselt ahne ja see sõltub ka negatiivse kaotuse kriteeriumist. Selle asemel kasutab XGBoost maksimaalse sügavuse funktsiooni / parameetrit ja seega pügab puu tagurpidi.

2. Parallelisatsioon - puude järjestikuse ehitamise protsess toimub paralleelselt XGBoosti algoritmis. See on võimalik tänu vahetatavatele välimistele ja sisemistele silmustele. Välimine silmus loetleb puu lehesõlmed, sisemine silmus arvutab omadused. Samuti peab välimine silmus käivituma, kui sisemine silmus on valmis. See ümberlülitusprotsess parandab algoritmi jõudlust.

3. Riistvara optimeerimine - XGBoosti algoritmi kavandamisel kaaluti ka riistvara optimeerimist. Gradiendi statistika salvestamiseks eraldatakse igale lõimele sisemised puhvrid.

Algoritmilised täiustused:

  • Teadlikkus hõrekusest - XGBoost käitleb teadaolevalt väga tõhusalt kõiki erinevat tüüpi hõremustrilisi mustreid. See algoritm õpib pesa puuduvat väärtust välja nägema treeningukaotust.
  • Reguleerimine - ületäitumise vältimiseks korrigeerib see keerulisemaid mudeleid, rakendades nii LASSO (nimetatakse ka L1) kui ka Ridge'i seadistamiseks (nimetatakse ka L2).
  • Ristvalideerimine - XGBoosti algoritmil on sisseehitatud ristvalideerimise funktsioonid, mida rakendatakse mudeli loomisel igal iteratsioonil. See välistab vajaduse arvutada vajalike võimendavate iteratsioonide arvu.
  • Hajutatud kaalutud kvantiiljoonis - XGBoosti algoritm kasutab hajutatud kaalutud kvantiilset visandit, et saada kaalutud andmestike hulgast optimaalne jagunemispunktide arv

XGBoosti omadused

Kuigi XGBoost oli mõeldud masinõppe mudelite kiiruse ja jõudluse suuremaks parandamiseks, pakub see ka arvukalt täiustatud funktsioone.

A) Mudeli omadused

XGBoost toetab selliseid funktsioone nagu sci-kit õpib seadistamist ja R-keele rakendamist. Peamised toetatavad gradiendi suurendamise meetodid on:

  • Stohhastiline gradientvõimendus - veeru, rea ja veeru jaotustasemete kohta võib võtta alaproove.
  • Gradiendi suurendamine
  • Regulaarne gradiendi suurendamine - XGBoost korrigeerib keerulisemaid mudeleid, rakendades nii LASSO (nimetatakse ka L1) kui ka Ridge'i seadistamiseks (nimetatakse ka L2).

B) Süsteemi omadused

Süsteemi funktsioonide hulka kuuluvad:

1. Hajutatud arvuti - seda funktsiooni kasutatakse väga suurte mudelite koolitamiseks masinate klastri rakendamisel.

2. Paralleelsus - koolituse ajal kasutatakse kõiki protsessori südamikke puu ehituse paralleelseks muutmiseks

3. Vahemälu optimeerimine - riistvara parimaks kasutamiseks on algoritmid ja andmestruktuurid vahemällu salvestatud.

4. Põhitehnoloogiast väljumine - andmekogude jaoks, mis ei mahu mällu, tähendab XGBoost tuuma andmetöötlust.

C) Algoritmi omadused

XGBoosti algoritmi üks peamisi eesmärke oli kõigi olemasolevate ressursside parim kasutamine. Mõned XGBoosti peamised algoritmilised omadused on järgmised:

  • Plokkstruktuur - seda funktsiooni kasutatakse puu ehituse toetamiseks paralleelselt.
  • Hõre teadlik - kui andmestikus puuduvad väärtused, hoolitseb see funktsioon selle eest automaatselt.
  • Jätkuõpe - kui mudel on uute andmetega valmis, saab selle funktsiooni abil mudelit veelgi suurendada.

Miks kasutada XGBoost?

Peamine eesmärk, mida XGBoost teenib, on:

  • Täitmise kiirus
  • Mudeli jõudlus

Arutleme mõlema üle.

1. Täitmise kiirus

Kui võrrelda XGBoosti teiste gradiendi suurendamise algoritmidega, siis osutub XGBoost tõeliselt kiireks, umbes 10 korda kiiremaks kui teised rakendused.

Szilard Pafka viis läbi eksperimente, mille eesmärk oli hinnata erinevate juhuslike metsarakendusalgoritmide täitmise kiirust. Allpool on ülevaade katse tulemustest:

Selgus, et XGBoost oli kiireim. Rohkem lugemist leiate siit

2. Mudeli jõudlus

Kui me räägime struktureerimata andmetest, näiteks piltidest, struktureerimata tekstiandmetest jne, siis paistab, et ANN mudelid (tehisnärvivõrk) asuvad ennustamisel ülaosas. Kui räägime struktureeritud / poolstruktureeritud andmetest, on otsustuspuud praegu parimad ja kui neid rakendatakse XGBoosti abil, ei suuda ükski teine ​​võimendav algoritm seda praeguse seisuga ületada.

XGboosti kasutatav algoritm

XGBoosti algoritm kasutab gradiendi suurendamise otsustuspuu algoritmi.

Gradiendi suurendamise meetod loob uued mudelid, mille ülesandeks on ennustada kõigi eelnevate mudelite vigu ja jääke, mis omakorda liidetakse kokku ja seejärel tehakse lõplik ennustus.

Järeldus: XGBoost algoritm

Selles XGBoosti algoritmis oleme õppinud tundma XGBoosti algoritmi, mida kasutatakse masinõppes. Siis nägime selle algoritmi toimimist, selle peamisi omadusi ja miks see on ideaalne valik gradiendi suurendamise otsustuspuude rakendamiseks.

Soovitatavad artiklid

See on olnud XGBoosti algoritmi juhend. Siin arutasime selle kontseptsiooni, funktsioone, kasutamist masinõppes, algoritmi kasutamist XGBoostis. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. NLP Pythonis
  2. Ray Tracing Algorithm
  3. Digitaalallkirja algoritm
  4. Algoritmi intervjuu küsimused
  5. Digitaalallkirja krüptograafia

Kategooria: