Stimularea algoritmului - Tipuri de stimulare a algoritmului cu funcționarea lor

Cuprins:

Anonim

Ce este algoritmul de stimulare?

Boosting este metoda în algoritmi care transformă elevul slab în elev. Este o tehnică care adaugă noi modele pentru a corecta erorile modelelor existente.

Exemplu:

Haideți să înțelegem acest concept cu ajutorul următorului exemplu. Să luăm un exemplu de e-mail. Cum îți vei recunoaște e-mailul dacă este spam sau nu? Îl poți recunoaște prin următoarele condiții:

  • Dacă un e-mail conține o mulțime de surse, asta înseamnă că este spam.
  • Dacă un e-mail conține o singură imagine de fișier, atunci este spam.
  • Dacă un e-mail conține mesajul „Dețineți o loterie de xxxxx $” înseamnă că este spam.
  • Dacă un e-mail conține o sursă cunoscută, atunci nu este spam.
  • Dacă conține domeniul oficial, cum ar fi educba.com etc., înseamnă că nu este spam.

Regulile menționate mai sus nu sunt atât de puternice pentru a recunoaște spamul sau nu, de aceea aceste reguli sunt numite studenți slabi.

Pentru a converti elevul slab în elev puternic, combinați predicția cursantului slab folosind următoarele metode.

  1. Folosind medie sau ponderată.
  2. Luați în considerare predicția are un vot mai mare.

Luați în considerare cele 5 reguli menționate mai sus, există 3 voturi pentru spam și 2 voturi pentru non-spam. Întrucât există spam cu vot ridicat, îl considerăm spam.

Cum funcționează stimularea algoritmilor?

Boosting Algorithms combină fiecare elev slab pentru a crea o regulă puternică de predicție. Pentru a identifica regula slabă, există un algoritm de învățare de bază (Machine Learning). Ori de câte ori este aplicat algoritmul de bază, creează noi reguli de predicție folosind procesul de iterație. După o iterație, acesta combină toate regulile slabe pentru a crea o singură regulă de predicție.

Pentru a alege distribuția potrivită urmează pașii menționați mai jos:

Pasul 1: Algoritmul de învățare de bază combină fiecare distribuție și aplică o greutate egală pentru fiecare distribuție.

Pasul 2: Dacă vreo predicție are loc în timpul primului algoritm de învățare de bază, atunci acordăm o mare atenție acelei erori de predicție.

Pasul 3: Repetați pasul 2 până când s-a atins limita algoritmului de învățare de bază sau până la o precizie ridicată.

Pasul 4: În cele din urmă, combină tot elevul slab pentru a crea un singur pronostic puternic.

Tipuri de algoritm de stimulare

Algoritmii de stimulare utilizează diferite motoare, cum ar fi timbru de decizie, algoritmul de clasificare maximizând marja, etc. Există trei tipuri de algoritmi de stimulare care sunt următoarele:

  1. Algoritmul AdaBoost (Adaptive Boosting)
  2. Algoritmul Gradient Boosting
  3. Algoritmul XG Boost

Algoritmul AdaBoost (Adaptive Boosting)

Pentru a înțelege AdaBoost, consultați imaginea de mai jos:

Caseta 1: În caseta 1 pentru fiecare set de date am atribuit greutăți egale și pentru a clasifica semnul plus (+) și minus (-), aplicăm butonul de decizie D1 care creează o linie verticală în partea stângă a casetei 1. Această linie incorect a prezis trei semn (plus) ca minus (-), prin urmare, aplicăm greutăți mai mari la aceste semn plus și aplicăm un alt ciot de decizie.

Caseta 2: În caseta 2, dimensiunea a trei prezise incorect plus semne (+) devine mai mare în comparație cu alta. A doua decizie, ciotul D2 din partea dreaptă a blocului prezice acest semn prevestit în mod incorect, plus semnul (+) ca fiind corect. Dar, deoarece eroarea de clasificare greșită a apărut din cauza greutății inegale cu un semn minus (-), alocăm o greutate mai mare unui semn minus (-) și aplicăm un alt ciot de decizie.

Caseta 3: În caseta trei, din cauza erorii de clasificare greșită, trei minus semnul (-) are o greutate mare. aici se aplică butonul de decizie D3 pentru a prezice această clasificare greșită și pentru a o corecta. De data aceasta este creată linia orizontală semn (plus) și minus (-).

Caseta 4: În caseta 4, butonul de decizie D1, D2 și D3 sunt combinate pentru a crea o nouă predicție puternică.

Lucrările de Boosting Adaptive sunt similare cu cele menționate mai sus. Acesta combină grupul bazei slabe a cursanților pe vârsta de greutate pentru a crea un elev puternic. În prima iterație, acesta acordă o pondere egală fiecărui set de date și începe să prezice acel set de date. Dacă apare o predicție incorectă, aceasta dă o pondere mare acestei observații. Adaptive Boosting repetă această procedură în următoarea fază de iterație și continuă până când este obținută precizia. Apoi combină acest lucru pentru a crea o predicție puternică.

Algoritmul de stimulare a gradientului

Algoritmul de stimulare a gradientului este o tehnică de învățare automată pentru definirea funcției de pierdere și reducerea acesteia. Este utilizat pentru a rezolva probleme de clasificare folosind modele de predicție. Ea implică următorii pași:

1. Funcție pierdere

Utilizarea funcției de pierdere depinde de tipul problemei. Avantajul creșterii gradientului este că nu este nevoie de un nou algoritm de impuls pentru fiecare funcție de pierdere.

2. Învățător slab

În creșterea gradientului, arborii de decizie sunt folosiți ca un elev slab. Un arbore de regresie este folosit pentru a da adevărate valori care pot fi combinate împreună pentru a crea predicții corecte. Ca și în algoritmul AdaBoost, se folosesc arbori mici, cu o singură împărțire, adică ciot de decizie. Arbori mai mari sunt folosiți pentru nivelurile mari i, 4-4.

3. Modelul aditiv

În acest model, copacii sunt adăugați pe rând. copacii existenți rămân aceiași. În timpul adăugării de arbori, coborârea gradientă este utilizată pentru a reduce la minimum funcția de pierdere.

XG Boost

XG Boost este scurt pentru Extreme Gradient Boosting. XG Boost este o implementare actualizată a algoritmului Gradient Boosting, care este dezvoltat pentru viteză de calcul mare, scalabilitate și performanțe mai bune.

XG Boost are diverse caracteristici care sunt următoarele:

  1. Procesare paralelă: XG Boost oferă procesare paralelă pentru construcția de arbori, care utilizează nucleele procesorului în timpul antrenamentului.
  2. Validare încrucișată: XG Boost permite utilizatorilor să efectueze o validare încrucișată a procesului de impuls la fiecare iterație, ceea ce face ușor să obții numărul optim optim de iterații care să impulsioneze într-o singură rundă.
  3. Cache Optimization: oferă Cache Optimization al algoritmilor pentru o viteză mai mare de execuție.
  4. Calcul distribuit : pentru instruirea modelelor mari, XG Boost permite calcularea distribuită.

Articole recomandate

În acest articol, am văzut ce este stimularea algoritmului, diverse tipuri de stimulare a algoritmului în învățarea mașinilor și în activitatea lor. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Ce este învățarea automată? | O definiție
  2. Limbaje de programare pentru învățarea algoritmilor
  3. Ce este tehnologia Blockchain?
  4. Ce este un algoritm?