Mikä on XGBoost-algoritmi?

XGBoost tai Extreme Gradient boost on koneoppimisalgoritmi, jota käytetään gradientinkorotuksen päätöksentekopuiden toteuttamiseen. Miksi päätöspuita? Kun puhumme jäsentelemättömästä tiedosta, kuten kuvista, rakenteettomasta tekstitiedosta jne., ANN-mallit (keinotekoinen hermoverkko) näyttävät olevan yläosassa, kun yritämme ennustaa. Vaikka puhumme jäsennellystä / osittain jäsennellystä tiedosta, päätöksentekopuut ovat tällä hetkellä parhaat. XGBoost oli periaatteessa suunniteltu parantamaan koneoppimismallien nopeutta ja suorituskykyä suuresti, ja se palveli tarkoitusta erittäin hyvin.

XGBoost-algoritmin toiminta

XGBoostilla on puun oppimisalgoritmi sekä lineaarisen mallin oppiminen, ja siksi se pystyy suorittamaan rinnakkaislaskennan yhdellä koneella.

Tämä tekee XGBoost-algoritmista 10 kertaa nopeampaa kuin mikään nykyisistä gradientinlisäysalgoritmeista.

XGBoost ja GBM (ts. Gradient Boosting Machines) käyttävät puumenetelmiä käyttämällä gradientin laskeutumisarkkitehtuuria.

Alue, johon XGBoost jättää muut GBM: t, on järjestelmän optimoinnin ja algoritmien parannuksien alue.

Katsotaanpa niitä yksityiskohtaisesti:

Järjestelmän optimointi:

1. Puiden karsinta - XGBoost-algoritmissa käytetään syvyys ensin -lähestymistapaa, toisin kuin GBMS: n käyttämässä puun halkaisun pysäytyskriteerillä, joka on luonteeltaan ahne, ja se riippuu myös negatiivisen menetyskriteeristä. Sen sijaan XGBoost käyttää enimmäissyvyysominaisuutta / parametria ja siten karsii puuta taaksepäin.

2. Parallelization - peräkkäisen puurakennuksen prosessi suoritetaan käyttämällä rinnakkaissovitusta XGBoost-algoritmissa. Tämä on mahdollista ulkoisten ja sisäisten silmukoiden ansiosta, jotka ovat vaihdettavissa. Ulompi silmukka luettelee puun lehden solmut, kun taas sisäpiiri laskee piirteet. Sisälenkin on myös saatava valmiiksi, jotta ulkoinen silmukka alkaisi. Tämä kytkentäprosessi parantaa algoritmin suorituskykyä.

3. Laitteiston optimointi - Laitteiston optimointia harkittiin myös XGBoost-algoritmin suunnittelussa. Kullekin säikeelle allokoidaan sisäiset puskurit gradienttitilastojen tallentamiseksi.

Algoritmiset parannukset:

  • Tiedot sparsiteetista - XGBoostin tiedetään käsittelevän kaikkia erityyppisiä ohuusmalleja erittäin tehokkaasti. Tämä algoritmi oppii pesän puuttuvan arvon näkemällä harjoitushäviön.
  • Normalisointi - Ylikuormituksen estämiseksi se korjaa monimutkaisempia malleja toteuttamalla sekä LASSO (kutsutaan myös L1) että Ridge-normalisointi (jota kutsutaan myös L2).
  • Cross-Validation - XGBoost-algoritmissa on sisäänrakennetut ristivalidointiominaisuudet, jotka otetaan käyttöön jokaisessa mallinnuksen iteraatiossa. Tämä estää tarpeen laskea tarvittavien korotuskertojen lukumäärää.
  • Hajautettu painotettu kvanttiluonnos - XGBoost-algoritmi käyttää hajautettua painotettua kvanttiluonnosta saadakseen optimaalisen määrän jakokohtia painotettujen tietojoukkojen joukosta

XGBoostin ominaisuudet

Vaikka XGBoost on suunniteltu parantamaan koneoppimismallien nopeutta ja suorituskykyä suuresti, tarjoaa se myös hyvän määrän edistyneitä ominaisuuksia.

A) Malliominaisuudet

XGBoost tukee sellaisia ​​ominaisuuksia kuin sci-kit-oppimisen sääntely ja R-kielen käyttöönotto. Tärkeimmät tuetut gradientinkorotustavat ovat:

  • Stokastinen gradientin lisääminen - Sarake, rivi ja sarake jaettua tasoa kohden voidaan ottaa näytteistä.
  • Gradientin lisääminen
  • Säännöllinen kaltevuuden tehostaminen - XGBoost korjaa monimutkaisempia malleja toteuttamalla sekä LASSO (kutsutaan myös L1) että Ridge-vakiointiksi (kutsutaan myös L2).

B) Järjestelmän ominaisuudet

Järjestelmän ominaisuuksiin kuuluvat:

1. Hajautettu tietojenkäsittely - Tätä ominaisuutta käytetään erittäin suurten mallien kouluttamiseen toteuttamalla koneiden klusteri.

2. Rinnakkaisuus - Koulutuksen aikana kaikkia CPU-ytimiä käytetään puurakenteen rinnakkaistamiseen

3. Välimuistin optimointi - Algoritmit ja tietorakenteet on välimuistissa, jotta laitteisto voidaan hyödyntää parhaalla mahdollisella tavalla.

4. Ei ydinlaskentaa - Tiedostoille, jotka eivät sovi muistiin, XGBoost tarkoittaa ydinlaskentaa.

C) Algoritmin ominaisuudet

Yksi XGBoost-algoritmin päätavoitteista oli käyttää kaikkia käytettävissä olevia resursseja parhaalla mahdollisella tavalla. Jotkut XGBoostin algoritmisista ominaisuuksista ovat:

  • Lohkorakenne - Tätä ominaisuutta käytetään tukemaan puurakentamista rinnakkain.
  • Harva tietoisuus - Kun arvot puuttuvat tietojoukosta, tämä ominaisuus huolehtii siitä automaattisesti.
  • Jatkoharjoittelu - Kun malli on valmis uuden datan kanssa, mallia voidaan edelleen parantaa tämän ominaisuuden avulla.

Miksi käyttää XGBoostia?

Tärkein tarkoitus, jota XGBoost palvelee, on:

  • Suorituksen nopeus
  • Mallin suorituskyky

Keskustelemme molemmista.

1. Suoritusnopeus

Kun vertaamme XGBoostia muihin gradientinkorotuksen algoritmeihin, XGBoost osoittautuu todella nopeaksi, noin 10 kertaa nopeammaksi kuin muut toteutukset.

Szilard Pafka suoritti joitain kokeita, joiden tarkoituksena oli arvioida eri satunnaisten metsien toteutusalgoritmien suoritusnopeutta. Alla on tilannekuva kokeilun tuloksista:

Kävi ilmi, että XGBoost oli nopein. Lisää lukemista löytyy täältä

2. Mallin suorituskyky

Kun puhumme jäsentelemättömästä tiedosta, kuten kuvista, rakenteettomasta tekstitiedosta jne., ANN-mallit (keinotekoinen hermoverkko) näyttävät olevan yläosassa, kun yritämme ennustaa. Vaikka puhumme jäsennellystä / osittain jäsennellystä tiedosta, päätöksentekopuut ovat tällä hetkellä parhaita, ja kun ne toteutetaan XGBoost-sovelluksella, mikään muu tehostava algoritmi ei voi voittaa tätä jo nyt.

XGboostin käyttämä algoritmi

XGBoost-algoritmi käyttää gradientin tehostamispäätöksen puun algoritmia.

Gradientinlisäysmenetelmä luo uusia malleja, joiden tehtävänä on ennustaa kaikkien aikaisempien mallien virheet ja jäännökset, jotka puolestaan ​​yhdistetään ja sitten lopullinen ennustus tehdään.

Johtopäätös: XGBoost-algoritmi

Tässä XGBoost-algoritmissa olemme oppineet XGBoost-algoritmista, jota käytetään koneoppimiseen. Sitten näimme tämän algoritmin toiminnan, sen pääpiirteet ja miksi se on täydellinen valinta gradienttia lisäävien päätöksentekopuiden toteuttamiseksi.

Suositellut artikkelit

Tämä on opas XGBoost-algoritmiin. Tässä keskustelimme sen käsitteestä, ominaisuuksista, käytöstä koneoppimisessa, algoritmin käyttämisestä XGBoostissa. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. NLP Pythonissa
  2. Säteiden jäljitysalgoritmi
  3. Digitaalisen allekirjoituksen algoritmi
  4. Algoritmihaastattelukysymykset
  5. Digitaalisen allekirjoituksen salaus

Luokka: