Ce este algoritmul XGBoost?

XGBoost sau Extreme Gradient boost sunt un algoritm de învățare automată, care este utilizat pentru implementarea arborilor de decizie de stimulare a gradientului. De ce arborii de decizie? Când vorbim despre date nestructurate precum imaginile, date text nestructurate etc., modelele ANN (rețea neuronală artificială) par să locuiască în partea de sus atunci când încercăm să prezicem. În timp ce vorbim despre date structurate / semi-structurate, arborii de decizie sunt în prezent cei mai buni. XGBoost a fost conceput practic pentru a îmbunătăți foarte mult viteza și performanța modelelor de învățare automată și a îndeplinit foarte bine scopul.

Funcționarea algoritmului XGBoost

XGBoost are un algoritm de învățare arbore, precum și învățarea modelului liniar și, din această cauză, este capabil să facă calcul paralel pe o singură mașină.

Acest lucru face ca algoritmul XGBoost să fie de 10 ori mai rapid decât oricare dintre algoritmii de stimulare a gradientului existenți.

XGBoost și GBMs (adică Gradient Boosting Machines) utilizează metode de arbore folosind arhitectura de coborâre a gradientului.

Zona în care XGBoost lasă celelalte GBM în urmă este zona de optimizare a sistemului și îmbunătățiri peste algoritmi.

Să le vedem în detaliu pe cele:

Optimizarea sistemului:

1. Tăierea arborelui - Algoritmul XGBoost folosește abordarea în profunzime, spre deosebire de criteriul de oprire pentru împărțirea arborelui folosit de GBMS, care este de natură lacomă și depinde, de asemenea, de criteriul negativ de pierdere. În schimb, XGBoost folosește funcția / parametrul de adâncime maximă și, prin urmare, arborează arborele într-o direcție înapoi.

2. Paralelizare - Procesul de construire secvențială de arbori se realizează folosind implementarea paralelizată în algoritmul XGBoost. Acest lucru este posibil datorită buclelor exterioare și interioare care sunt interschimbabile. Bucla exterioară listează nodurile frunzelor unui copac în timp ce bucla interioară va calcula caracteristicile. De asemenea, pentru a începe bucla exterioară, bucla interioară trebuie să fie finalizată. Acest proces de comutare îmbunătățește performanța algoritmului.

3. Optimizarea hardware - Optimizarea hardware a fost, de asemenea, luată în considerare în timpul proiectării algoritmului XGBoost. Tampoanele interne sunt alocate pentru fiecare dintre firele de stocare a statisticilor de gradient.

Îmbunătățiri algoritmice:

  • Conștientizarea spațialității - XGBoost este cunoscut că gestionează foarte eficient toate tipurile diferite de modele de sparsitate. Acest algoritm învață valoarea care lipsește cuibului, văzând pierderea antrenamentului.
  • Regularizare - Pentru a preveni supraîncadrarea, corectează modele mai complexe prin implementarea atât a LASSO (numită și L1), cât și a regularizării Ridge (numită și L2).
  • Validare încrucișată - Algoritmul XGBoost are funcții de validare încrucișate încorporate care sunt implementate la fiecare iterație în crearea modelului. Acest lucru împiedică necesitatea de a calcula numărul de iterații stimulante necesare.
  • Schiță cuantificată ponderată distribuită - Algoritmul XGBoost utilizează schița cuantică ponderată distribuită pentru a obține numărul optim de puncte împărțite între seturile de date ponderate

Caracteristici ale XGBoost

Deși XGBoost a fost conceput pentru îmbunătățirea rapidă și performanța modelelor de învățare automată, oferă și un număr bun de funcții avansate.

A) Caracteristici ale modelului

Caracteristici, cum ar fi cea a unui sci-kit de învățare a regularizării și implementarea limbajului R este suportată de XGBoost. Principalele metode de stimulare a gradientului care sunt acceptate sunt:

  • Boosting Stochastic Gradient - Coloana, rândul și coloana pe niveluri divizate pot fi sub-eșantionate.
  • Creșterea gradientului
  • Regularized Gradient Boosting - XGBoost corectează modele mai complexe prin implementarea atât a LASSO (numită și L1), cât și a regularizării Ridge (numită și L2).

B) Caracteristici ale sistemului

Caracteristicile sistemului includ:

1. Calcul Distribuit - Această caracteristică este utilizată pentru instruirea modelelor foarte mari prin implementarea unui grup de mașini.

2. Paralelizare - În timpul antrenamentului, toate nucleele procesorului sunt utilizate pentru paralelizarea construcției pomilor

3. Optimizarea memoriei cache - Algoritmii și structurile de date sunt memorate în cache pentru a utiliza cât mai bine hardware-ul.

4. În afara proceselor de bază - Pentru seturile de date care nu intră în memorie, XGBoost implică calculul de bază.

C) Caracteristici ale algoritmului

Unul dintre obiectivele principale ale algoritmului XGBoost a fost să utilizeze cât mai bine toate resursele disponibile. Unele dintre principalele caracteristici algoritmice ale XGBoost sunt:

  • Structura blocului - Această caracteristică este utilizată pentru a susține construcția copacilor în paralel.
  • Sparse Aware - Când valorile lipsesc în setul de date, această caracteristică va avea grijă automat de ea.
  • Formare continuă - Când modelul este gata cu noile date, modelul poate fi îmbunătățit în continuare prin utilizarea acestei funcții.

De ce să folosești XGBoost?

Scopul principal pe care XGBoost îl servește este:

  • Viteza de execuție
  • Performanța modelului

Să discutăm amândoi.

1. Viteza de execuție

Când comparăm XGBoost cu alți algoritmi de stimulare a gradientului, XGBoost se dovedește a fi într-adevăr rapid, de aproximativ 10 ori mai rapid decât alte implementări.

Szilard Pafka a efectuat câteva experimente care au fost vizate pentru a evalua viteza de execuție a diferiților algoritmi de implementare a pădurilor aleatorii. Mai jos este o imagine a rezultatelor experimentului:

S-a dovedit că XGBoost a fost cel mai rapid. Mai multe lecturi găsiți aici

2. Performanța modelului

Când vorbim despre date nestructurate precum imaginile, date text nestructurate etc., modelele ANN (rețea neuronală artificială) par să locuiască în partea de sus atunci când încercăm să prezicem. În timp ce vorbim despre date structurate / semi-structurate, arborii de decizie sunt în prezent cei mai buni și atunci când sunt implementați folosind XGBoost, niciun alt algoritm stimulant nu poate bate acest lucru de acum.

Algoritmul folosit de XGboost

Algoritmul XGBoost utilizează algoritmul arborelui decizional de stimulare a gradientului.

Metoda de stimulare a gradientului creează noi modele care fac sarcina de a prezice erorile și reziduurile tuturor modelelor anterioare, care, la rândul lor, sunt adăugate împreună și apoi se face predicția finală.

Concluzie: Algoritmul XGBoost

În acest algoritm XGBoost, am aflat despre algoritmul XGBoost care este utilizat pentru învățarea mașinii. Apoi am văzut modul de funcționare al acestui algoritm, principalele sale caracteristici și de ce este o alegere perfectă pentru implementarea arborilor de decizie care stimulează gradientul.

Articole recomandate

Acesta a fost un ghid pentru algoritmul XGBoost. Aici am discutat Conceptul, caracteristicile, utilizarea pentru învățarea automată, Lucrul unui algoritm în XGBoost. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. NLP în Python
  2. Algoritmul de urmărire a razei
  3. Algoritmul semnăturii digitale
  4. Întrebări la interviu Algoritm
  5. Criptografie cu semnătură digitală

Categorie: