logo

GBM în învățare automată

Învățarea automată este una dintre cele mai populare tehnologii pentru a construi modele predictive pentru diverse sarcini complexe de regresie și clasificare. Mașină de creștere a gradului (GBM) este considerat unul dintre cei mai puternici algoritmi de stimulare.

GBM în Machine Learning

Deși există atât de mulți algoritmi utilizați în învățarea automată, algoritmii de stimulare au devenit curent în comunitatea de învățare automată din întreaga lume. Tehnica de stimulare urmează conceptul de învățare prin ansamblu și, prin urmare, combină mai multe modele simple (învățători slabi sau estimatori de bază) pentru a genera rezultatul final. GBM este, de asemenea, utilizat ca metodă de ansamblu în învățarea automată, care transformă cursanții slabi în cursanți puternici. În acest subiect, „GBM în învățare automată” vom discuta despre algoritmi de învățare automată cu gradient, diverși algoritmi de stimulare în învățarea automată, istoria GBM, cum funcționează, diverse terminologii utilizate în GBM etc. Dar, înainte de a începe, înțelegeți mai întâi conceptul de stimulare și diverși algoritmi de stimulare în învățarea automată.

Ce este Boosting în Machine Learning?

Boosting este una dintre tehnicile populare de modelare a ansamblurilor de învățare utilizate pentru a construi clasificatori puternici din diverși clasificatori slabi. Începe cu construirea unui model primar din seturile de date de antrenament disponibile, apoi identifică erorile prezente în modelul de bază. După identificarea erorii, se construiește un model secundar și, în continuare, se introduce un al treilea model în acest proces. În acest fel, acest proces de introducere a mai multor modele este continuat până când obținem un set complet de date de antrenament prin care modelul prezice corect.

AdaBoost (Adaptive boosting) a fost primul algoritm de stimulare care a combinat diferiți clasificatori slabi într-un singur clasificator puternic din istoria învățării automate. Se concentrează în primul rând pe rezolvarea sarcinilor de clasificare, cum ar fi clasificarea binară.

Pași în stimularea algoritmilor:

Există câțiva pași importanți în îmbunătățirea algoritmului, după cum urmează:

  • Luați în considerare un set de date care are puncte de date diferite și inițializați-l.
  • Acum, acordați o greutate egală fiecăruia dintre punctele de date.
  • Să presupunem că această greutate este o intrare pentru model.
  • Identificați punctele de date care sunt clasificate incorect.
  • Creșteți ponderea punctelor de date la pasul 4.
  • Dacă obțineți rezultatul corespunzător, închideți acest proces, altfel urmați din nou pașii 2 și 3.

Exemplu:

Să presupunem că avem trei modele diferite cu predicțiile lor și funcționează în moduri complet diferite. De exemplu, modelul de regresie liniară arată o relație liniară în date, în timp ce modelul arborelui de decizie încearcă să surprindă neliniaritatea datelor, așa cum se arată în imaginea de mai jos.

GBM în învățare automată

Mai mult, în loc să folosim aceste modele separat pentru a prezice rezultatul dacă le folosim sub formă de serie sau combinație, atunci obținem un model rezultat cu informații corecte decât toate modelele de bază. Cu alte cuvinte, în loc să folosim predicția individuală a fiecărui model, dacă folosim predicția medie din aceste modele, atunci am putea captura mai multe informații din date. Se numește învățare prin ansamblu, iar stimularea se bazează, de asemenea, pe metode de ansamblu în învățarea automată.

Îmbunătățirea algoritmilor în învățarea automată

Există în principal 4 algoritmi de stimulare în învățarea automată. Acestea sunt după cum urmează:

    Mașină de creștere a gradului (GBM) Mașină de creștere a gradului extrem (XGBM) GBM ușor CatBoost

Ce este GBM în Machine Learning?

Gradient Boosting Machine (GBM) este una dintre cele mai populare metode de ansamblu de învățare avansată în învățarea automată. Este o tehnică puternică pentru construirea de modele predictive pentru sarcini de regresie și clasificare.

GBM ne ajută să obținem un model predictiv sub forma unui ansamblu de modele de predicție slabe, cum ar fi arbori de decizie. Ori de câte ori un arbore de decizie funcționează ca un elev slab, atunci algoritmul rezultat se numește arbori cu gradient.

javascript

Ne permite să combinăm predicțiile de la diferite modele de cursanți și să construim un model predictiv final având predicția corectă.

Dar aici poate apărea o întrebare dacă aplicăm același algoritm, atunci cum mai mulți arbori de decizie pot oferi predicții mai bune decât un singur arbore de decizie? Mai mult, cum captează fiecare arbore de decizie informații diferite din aceleași date?

GBM în Machine Learning

Deci, răspunsul la aceste întrebări este că un subset diferit de caracteristici este luat de nodurile fiecărui arbore de decizie pentru a selecta cea mai bună împărțire. Înseamnă că fiecare arbore se comportă diferit și, prin urmare, captează semnale diferite din aceleași date.

Cum funcționează GBM?

În general, majoritatea algoritmilor de învățare supravegheată se bazează pe un singur model predictiv, cum ar fi regresia liniară, modelul de regresie penalizat, arbori de decizie etc. Dar există unii algoritmi supravegheați în ML care depind de o combinație de diferite modele împreună prin ansamblu. Cu alte cuvinte, atunci când mai multe modele de bază contribuie la predicțiile lor, o medie a tuturor predicțiilor este adaptată prin algoritmi de creștere.

Mașinile de creștere a gradului constau din 3 elemente, după cum urmează:

  • Funcția de pierdere
  • Învățători slabi
  • Model aditiv

Să înțelegem aceste trei elemente în detaliu.

1. Funcția de pierdere:

Deși, există o mare familie de funcții Loss în învățarea automată care pot fi utilizate în funcție de tipul de sarcini rezolvate. Utilizarea funcției de pierdere este estimată prin cererea de caracteristici specifice ale distribuției condiționate, cum ar fi robustețea. Când folosim o funcție de pierdere în sarcina noastră, trebuie să specificăm funcția de pierdere și funcția pentru a calcula gradientul negativ corespunzător. Odată ce obținem aceste două funcții, ele pot fi implementate cu ușurință în mașinile de creștere a gradientului. Cu toate acestea, există mai multe funcții de pierdere care au fost deja propuse pentru algoritmii GBM.

Clasificarea funcției de pierdere:

Pe baza tipului de variabilă de răspuns y, funcția de pierdere poate fi clasificată în diferite tipuri, după cum urmează:

    Răspuns continuu, y ∈ R:
    • Funcția de pierdere gaussiană L2
    • Funcția de pierdere Laplace L1
    • Funcția de pierdere Huber, δ specificată
    • Funcția de pierdere cuantilă, α specificată
    Răspuns categorial, y ∈ {0, 1}:
    • Funcția de pierdere binomială
    • Funcția de pierdere Adaboost
    Alte familii de variabile de răspuns:
    • Funcții de pierdere pentru modelele de supraviețuire
    • Funcțiile de pierdere numără datele
    • Funcții personalizate de pierdere

2. Învățător slab:

Cursanții slabi sunt modelele de bază ale elevilor care învață din erorile trecute și ajută la construirea unui model predictiv puternic pentru stimularea algoritmilor în învățarea automată. În general, arborii de decizie funcționează ca niște elevi slabi în stimularea algoritmilor.

Boosting-ul este definit ca cadrul care lucrează continuu pentru a îmbunătăți rezultatul modelelor de bază. Multe aplicații de creștere a gradientului vă permit să „conectați” diferite clase de cursanți slabi la dispoziția dumneavoastră. Prin urmare, arborii de decizie sunt cel mai adesea folosiți pentru cursanții slabi (de bază).

Cum să antrenezi cursanți slabi:

Învățarea automată folosește seturi de date de antrenament pentru a instrui cursanții de bază și, pe baza predicției de la cursantul anterior, îmbunătățește performanța concentrându-se pe rândurile de date de antrenament în care arborele anterior a avut cele mai mari erori sau reziduuri. De exemplu. copacii de mică adâncime sunt considerați cei care învață slab la arbori de decizie, deoarece conține câteva despărțiri. În general, în algoritmii de amplificare, arborii care au până la 6 împărțiri sunt cei mai frecventi.

Mai jos este o secvență de instruire a elevului slab pentru a-și îmbunătăți performanța, unde fiecare arbore este în secvența cu reziduurile arborelui anterior. În plus, prezentăm fiecare arbore nou, astfel încât să poată învăța din erorile arborelui anterior. Acestea sunt după cum urmează:

  1. Luați în considerare un set de date și încadrați în el un arbore de decizie.
    F1(x)=y
  2. Potriviți următorul arbore de decizie cu cele mai mari erori ale arborelui anterior.
    h1(x)=y?F1(x)
  3. Adăugați acest nou arbore la algoritm adăugând ambii în pașii 1 și 2.
    F2(x)=F1(x)+h1(x)
  4. Potriviți din nou următorul arbore de decizie cu reziduurile arborelui anterior.
    h2(x)=y?F2(x)
  5. Repetați același lucru pe care l-am făcut la pasul 3.
    F3(x)=F2(x)+h2(x)

Continuați acest proces până când un mecanism (adică validarea încrucișată) ne spune să ne oprim. Modelul final aici este un model aditiv pe etape al arborilor b individuali:

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

Prin urmare, copacii sunt construiți cu lăcomie, alegând cele mai bune puncte de împărțire pe baza scorurilor de puritate precum Gini sau minimizând pierderea.

3. Model aditiv:

Modelul aditiv este definit ca adăugarea de arbori la model. Deși nu ar trebui să adăugăm mai mulți arbori simultan, trebuie adăugat doar un singur arbore, astfel încât arborii existenți în model să nu fie modificați. În plus, putem prefera și metoda de coborâre în gradient prin adăugarea de copaci pentru a reduce pierderea.

În ultimii câțiva ani, metoda coborârii gradientului a fost folosită pentru a minimiza setul de parametri precum coeficientul ecuației de regresie și greutatea într-o rețea neuronală. După calcularea erorii sau a pierderii, parametrul de greutate este utilizat pentru a minimiza eroarea. Dar, recent, majoritatea experților în ML preferă submodele slabe ale elevilor sau arborii de decizie ca înlocuitor pentru acești parametri. În care, trebuie să adăugăm un arbore în model pentru a reduce eroarea și a îmbunătăți performanța modelului respectiv. În acest fel, predicția din arborele nou adăugat este combinată cu predicția din seria de arbori existente pentru a obține o predicție finală. Acest proces continuă până când pierderea atinge un nivel acceptabil sau nu mai este necesară îmbunătățirea.

Această metodă este cunoscută și sub denumirea de coborâre în gradient funcțională sau coborâre în gradient cu funcții.

MAȘINĂ DE MULTE GRADIENT EXTREME (XGBM)

XGBM este cea mai recentă versiune a mașinilor de creștere a gradientului care funcționează, de asemenea, foarte similar cu GBM. În XGBM, arborii sunt adăugați secvențial (pe rând) care învață din erorile arborilor anteriori și îi îmbunătățesc. Deși, algoritmii XGBM și GBM sunt similari ca aspect și simt, dar există totuși câteva diferențe între ei, după cum urmează:

  • XGBM folosește diverse tehnici de regularizare pentru a reduce sub-adaptarea sau supra-adaptarea modelului, ceea ce crește, de asemenea, performanța modelului mai mult decât mașinile de creștere a gradientului.
  • XGBM urmează procesarea paralelă a fiecărui nod, în timp ce GBM nu o face, ceea ce o face mai rapidă decât mașinile de creștere a gradientului.
  • XGBM ne ajută să scăpăm de imputarea valorilor lipsă deoarece implicit modelul se ocupă de asta. Învață singur dacă aceste valori ar trebui să fie în nodul din dreapta sau din stânga.

Mașini de creștere a gradului de lumină (Light GBM)

Light GBM este o versiune mai îmbunătățită a mașinii de creștere a gradului datorită eficienței și vitezei sale rapide. Spre deosebire de GBM și XGBM, poate gestiona o cantitate imensă de date fără nicio complexitate. Pe de altă parte, nu este potrivit pentru acele puncte de date care sunt mai mici ca număr.

În loc de creștere la nivel, Light GBM preferă creșterea în funcție de frunze a nodurilor copacului. În plus, în GBM ușor, nodul primar este împărțit în două noduri secundare și mai târziu alege un nod secundar pentru a fi împărțit. Această împărțire a unui nod secundar depinde de care dintre două noduri are o pierdere mai mare.

GBM în Machine Learning

Prin urmare, datorită împărțirii pe frunze, algoritmul Light Gradient Boosting Machine (LGBM) este întotdeauna preferat față de alții în care se oferă o cantitate mare de date.

CATBOOST

Algoritmul catboost este utilizat în primul rând pentru a gestiona caracteristicile categoriale dintr-un set de date. Deși algoritmii GBM, XGBM și Light GBM sunt potriviți pentru seturi de date numerice, Catboost este conceput pentru a gestiona variabilele categoriale în date numerice. Prin urmare, algoritmul catboost constă într-un pas esențial de preprocesare pentru a converti caracteristicile categoriale în variabile numerice care nu sunt prezente în niciun alt algoritm.

Avantajele algoritmilor de amplificare:

  • Algoritmii de stimulare urmează învățarea ansamblului, ceea ce permite unui model să ofere o predicție mai precisă, care nu poate fi depășită.
  • Algoritmii de amplificare sunt mult mai flexibili decât alți algoritmi, deoarece pot optimiza diferite funcții de pierdere și oferă mai multe opțiuni de reglare a hiperparametrilor.
  • Nu necesită preprocesare a datelor deoarece este potrivit atât pentru variabile numerice, cât și pentru variabile categoriale.
  • Nu necesită imputarea valorilor lipsă în setul de date, gestionează automat datele lipsă.

Dezavantajele algoritmilor de amplificare:

Mai jos sunt câteva dezavantaje ale algoritmilor de amplificare:

  • Amplificarea algoritmilor poate provoca supraadaptare, precum și accentuarea excesivă a valorii aberante.
  • Algoritmul de creștere a gradientului se concentrează continuu pentru a minimiza erorile și necesită mai mulți arbori, prin urmare, este costisitor din punct de vedere informatic.
  • Este un algoritm consumator de timp și de memorie exhaustivă.
  • Mai puțin interpretativ în natură, deși acest lucru este ușor de rezolvat cu diverse instrumente.

Concluzie:

În acest fel, am învățat algoritmi de stimulare pentru modelarea predictivă în învățarea automată. De asemenea, am discutat despre diverși algoritmi importanți de amplificare utilizați în ML, cum ar fi GBM, XGBM, GBM light și Catboost. În plus, am văzut diverse componente (funcția de pierdere, modelul de învățare slab și modelul aditiv) și modul în care GBM funcționează cu ele. Cum sunt avantajoși algoritmii de amplificare pentru implementarea în scenarii din lumea reală etc.