Kaj je spodbujevalni algoritem?
Povečanje je metoda v algoritmih, ki šibkega učenca pretvorijo v močnega. To je tehnika, ki doda nove modele za odpravo napak obstoječih modelov.
Primer:
Razumejmo ta koncept s pomočjo naslednjega primera. Vzemimo primer e-pošte. Kako boste prepoznali svojo e-pošto, ali je neželena pošta? Prepoznate ga lahko po naslednjih pogojih:
- Če e-poštno sporočilo vsebuje veliko takega vira, to pomeni, da je neželena pošta.
- Če e-poštno sporočilo vsebuje samo eno sliko datoteke, potem je neželena pošta.
- Če e-poštno sporočilo vsebuje sporočilo »Imate loterijo v višini $ xxxxx«, to pomeni, da gre za neželeno pošto.
- Če e-poštno sporočilo vsebuje kakšen znani vir, potem ni neželena pošta.
- Če vsebuje uradno domeno, kot je educba.com itd., To pomeni, da ni neželena pošta.
Zgoraj navedena pravila niso tako močna za prepoznavanje neželene pošte ali ne, zato jih ta pravila imenujejo kot šibke učence.
Za pretvorbo šibkega učenca v močnega učenca združite napoved šibkega učenca z naslednjimi metodami.
- Uporaba povprečnega ali tehtanega povprečja.
- Razmislite, da ima napoved višji glas.
Upoštevajte zgornjih 5 pravil: 3 glasov so za neželeno pošto in 2 glasova za neželeno pošto. Ker obstaja velika neželena pošta, ga smatramo za neželeno.
Kako deluje spodbujevalni algoritem?
Povečanje algoritmov združuje vsakega šibkega učenca, da ustvari eno močno napovedno pravilo. Za prepoznavanje šibkega pravila obstaja algoritem osnovnega učenja (strojno učenje). Kadarkoli se uporabi algoritem Base, ustvari nova pravila predvidevanja z uporabo iteracijskega postopka. Po nekaj iteracijah združuje vsa šibka pravila in ustvari eno samo pravilo predvidevanja.
Če želite izbrati pravo distribucijo, sledite spodnjim korakom:
1. korak: Algoritem osnovnega učenja združuje vsako razdelitev in pri vsaki distribuciji uporabi enako težo.
2. korak: Če se med prvim algoritmom osnovnega učenja pojavi kakšno napovedovanje, smo zelo pozorni na to napako napovedovanja.
3. korak: Ponavljajte korak 2, dokler ni dosežena meja algoritma osnovnega učenja ali visoka natančnost.
4. korak: Končno združuje vse šibke učence, da ustvari eno močno napovedno napoved.
Vrste algoritma za povečanje
Algoritmi za povečanje uporabljajo različne motorje, kot so žig odločitve, algoritem za razvrščanje maksimiziranja marg. Itd. Obstajajo tri vrste algoritmov za povečanje, ki so naslednji:
- Algoritem AdaBoost (Adaptive Boosting)
- Algoritem za povečanje prelivov
- XG algoritem za povečanje
Algoritem AdaBoost (Adaptive Boosting)
Če želite razumeti AdaBoost, si oglejte spodnjo sliko:
Polje 1: V polju 1 za vsak niz podatkov smo dodelili enake uteži in za razvrstitev znaka plus (+) in minus (-) uporabimo odločitveni drog D1, ki na levi strani polja 1. ustvari navpično črto. Ta vrstica je napačna napovedoval tri znake plus (+) kot minus (-), zato bomo na te znake plus nanesli večje uteži in uporabili še eno odločitev.
Polje 2: V polju 2 velikost treh napačno predvidenih znakov plus (+) postane večja kot druga. Drugi sklepni drog D2 na desni strani bloka napoveduje, da je pravilno napovedan znak plus (+) kot pravilen. Ker pa je do napačne napačne razvrstitve prišlo zaradi neenake teže z znakom minus (-), dodamo večjo težo znaku minus (-) in uporabimo drugo odločitev.
Polje 3: V polju 3 zaradi napačne napačne razvrstitve trije znaki minus (-) imajo veliko težo. tu se uporablja sklepni drog D3, da napove to napačno razvrstitev in jo popravi. Tokrat se razvrsti znak plus (+) in minus (-) vodoravna črta.
Polje 4: V polju 4 odločitveni napisi D1, D2 in D3 so združeni, da se ustvari nova močna napoved.
Dela Adaptive Boosting so podobna zgoraj navedenim. Združuje skupino šibkih osnov učencev glede na težo starosti, da se ustvari močan učenec. V prvi iteraciji daje vsaki teži enake teže in začne se napovedovati nabor podatkov. Če pride do napačne napovedi, daje to opazovanje veliko težo. Prilagodljivo povečanje postopek ponovite v naslednji fazi iteracije in nadaljujte, dokler ne dosežete natančnosti. Nato to združi, da ustvari močno napoved.
Algoritem krepitve gradienta
Algoritem za krepitev gradientov je tehnika strojnega učenja, s katero lahko določimo funkcijo izgube in jo zmanjšamo. Uporablja se za reševanje problemov klasifikacije s pomočjo modelov napovedovanja. Vključuje naslednje korake:
1. Izguba funkcija
Uporaba izgube je odvisna od vrste težave. Prednost povečevanja z gradientom je, da ni potrebe po novem algoritmu za povečanje za vsako funkcijo izgube.
2. Slabi učenec
Pri povečevanju gradientov se odločilna drevesa uporabljajo kot šibki učenci. Regresijsko drevo se uporablja za dajanje resničnih vrednosti, ki jih je mogoče kombinirati skupaj za ustvarjanje pravilnih napovedi. Tako kot v algoritmu AdaBoost se tudi tukaj uporabljajo majhna drevesa z enim cepljenjem, tj. Večja drevesa se uporabljajo za velike stopnje i, e 4-8 nivojev.
3. Aditivni model
V tem modelu so drevesa dodana eno po eno. obstoječa drevesa ostajajo enaka. Med dodajanjem dreves se gradientski spust uporablja za zmanjšanje izgub.
XG Boost
XG Boost je kratek za Extreme Gradient Boosting. XG Boost je nadgrajena implementacija algoritma za povečanje gradientov, ki je razvit za visoko računsko hitrost, razširljivost in boljše zmogljivosti.
XG Boost ima različne funkcije, ki so naslednje:
- Vzporedna obdelava: XG Boost zagotavlja vzporedno obdelavo za gradnjo dreves, ki med jedrovanjem uporabljajo jedra CPU-ja.
- Navzkrižna validacija: XG Boost omogoča uporabnikom, da izvajajo navzkrižno validacijo spodbujevalnega postopka pri vsaki ponovitvi, kar olajša pridobitev natančnega optimalnega števila spodbudnih iteracij v enem poteku.
- Optimizacija predpomnilnika: Zagotavlja optimizacijo predpomnilnika algoritmov za večjo hitrost izvedbe.
- Razdeljeno računalništvo : Za usposabljanje velikih modelov XG Boost omogoča distribuirano računalništvo.
Priporočeni članki
V tem članku smo videli, kaj je Povečanje algoritma, različne vrste spodbujevalnega algoritma pri strojnem učenju in njihovem delu. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -
- Kaj je strojno učenje? | Definicija
- Programiranje jezikov za učenje algoritmov
- Kaj je tehnologija Blockchain?
- Kaj je algoritem?