Co je to Boosting Algorithm?

Zvyšování je metoda v algoritmech, které přeměňují slabého studenta na silného studenta. Je to technika, která přidává nové modely k opravě chyb existujících modelů.

Příklad:

Pojďme pochopit tento koncept pomocí následujícího příkladu. Vezměme si příklad e-mailu. Jak poznáte svůj e-mail, zda je spam nebo ne? Můžete jej rozpoznat podle následujících podmínek:

  • Pokud e-mail obsahuje mnoho podobných zdrojů, znamená to, že se jedná o spam.
  • Pokud e-mail obsahuje pouze jeden obrázek, jedná se o spam.
  • Pokud e-mail obsahuje zprávu „Vlastníte loterii $ xxxxx“, znamená to, že se jedná o spam.
  • Pokud e-mail obsahuje nějaký známý zdroj, nejedná se o spam.
  • Pokud obsahuje oficiální doménu, jako je educba.com, atd., Znamená to, že nejde o spam.

Výše uvedená pravidla nejsou tak mocná, aby rozpoznala spam nebo ne, proto se tato pravidla nazývají slabými studenty.

Chcete-li převést slabého studenta na silného studenta, kombinujte predikci slabého studenta pomocí následujících metod.

  1. Použití průměrného nebo váženého průměru.
  2. Zvažte, že předpověď má vyšší hlas.

Zvažte výše uvedená 5 pravidel, pro nevyžádanou poštu jsou 3 hlasy a 2 pro nevyžádanou poštu. Protože existuje spam s vysokým hlasováním, považujeme jej za spam.

Jak funguje posilovací algoritmus?

Boosting Algorithms kombinuje každého slabého studenta a vytváří jedno silné pravidlo predikce. Pro identifikaci slabého pravidla existuje základní algoritmus učení (Machine Learning). Kdykoli je použit algoritmus Base, vytvoří pomocí iteračního procesu nová pravidla predikce. Po určité iteraci kombinuje všechna slabá pravidla a vytvoří jedno jediné pravidlo predikce.

Při výběru správné distribuce postupujte podle níže uvedených kroků:

Krok 1: Základní algoritmus učení kombinuje každou distribuci a aplikuje stejnou váhu na každou distribuci.

Krok 2: Pokud během prvního algoritmu základního učení dojde k nějaké predikci, pak této predikční chybě věnujeme velkou pozornost.

Krok 3: Opakujte krok 2, dokud není dosaženo limitu algoritmu Base Learning nebo vysoké přesnosti.

Krok 4: Nakonec spojí všechny slabé studenty a vytvoří jednu silnou predikci.

Druhy zesilovacího algoritmu

Algoritmy pro posílení používají různé motory, jako je rozhodovací známka, klasifikační algoritmus pro maximalizaci marže atd. Existují tři typy algoritmů pro posílení:

  1. Algoritmus AdaBoost (Adaptive Boosting)
  2. Algoritmus pro zvýšení gradientu
  3. Algoritmus XG Boost

Algoritmus AdaBoost (Adaptive Boosting)

Chcete-li porozumět AdaBoost, viz následující obrázek:

Kolonka 1: V kolonce 1 pro každou datovou sadu jsme přiřadili stejné váhy a pro klasifikaci znaménka plus (+) a mínus (-) použijeme rozhodovací pahýl D1, který vytvoří svislou čáru na levé straně pole 1. Tato řádka nesprávně předpověděl tři znaménko plus (+) jako mínus (-), proto na tyto znaménko plus aplikujeme vyšší váhy a použijeme další paušál pro rozhodnutí.

Kolonka 2: V kolonce 2 se velikost tří nesprávně předpovězených plus znaménka (+) ve srovnání s jinými zvětší. Druhý rozhodovací pahýl D2 na pravé straně bloku předpovídá tuto nesprávně předpovězenou znaménko plus (+) jako správné. Protože však došlo k nesprávné klasifikaci kvůli nerovnoměrné hmotnosti se znaménkem mínus (-), přiřadíme vyšší váhu znaménku mínus (-) a použijeme další paušál pro rozhodnutí.

Kolonka 3: V kolonce tři má z důvodu chyby nesprávného zařazení tři znaménko mínus (-) vysokou váhu. zde se použije rozhodovací paušál D3, který předpovídá tuto nesprávnou klasifikaci a opravuje ji. Tentokrát se vytvoří vodorovná čára znaménka plus (+) a mínus (-).

Box 4: V kolonce 4 jsou pařezy rozhodnutí D1, D2 a D3 kombinovány, aby se vytvořila nová silná předpověď.

Adaptivní posilovací práce jsou podobné, jak je uvedeno výše. Kombinuje skupinu slabých studentů na základě věku a vytváří tak silného studenta. V první iteraci dává každé sadě dat stejnou váhu a začátky předpovídají tuto datovou sadu. Pokud dojde k nesprávné predikci, dává tomuto pozorování vysokou váhu. Adaptivní zvýšení opakuje tento postup v další iterační fázi a pokračuje, dokud není dosaženo přesnosti. Pak to zkombinuje a vytvoří silnou předpověď.

Algoritmus pro zvýšení gradientu

Algoritmus pro zvýšení gradientu je technika strojového učení pro definování ztráty funkce a její snížení. Používá se k řešení problémů klasifikace pomocí predikčních modelů. Zahrnuje následující kroky:

1. Ztráta funkce

Použití funkce ztráty závisí na typu problému. Výhodou zesílení gradientu je, že pro každou ztrátu není potřeba nový zesilovací algoritmus.

2. Slabý student

Při zvyšování gradientu se rozhodovací stromy používají jako slabý student. Regresní strom se používá k udávání skutečných hodnot, které lze kombinovat dohromady a vytvářet správné předpovědi. Stejně jako v algoritmu AdaBoost se používají malé stromy s jednoduchým rozdělením, tj. Rozhodovací pahýl. Větší stromy se používají pro velké úrovně i, e 4 až 8 úrovní.

3. Aditivní model

V tomto modelu jsou stromy přidávány po jednom. stávající stromy zůstávají stejné. Během přidávání stromů se používá gradientní sestup k minimalizaci ztrátové funkce.

XG Boost

XG Boost je zkratka pro Extreme Gradient Boosting. XG Boost je upgradovaná implementace algoritmu Gradient Boosting Algorithm, který je vyvinut pro vysokou výpočetní rychlost, škálovatelnost a lepší výkon.

XG Boost má různé funkce, které jsou následující:

  1. Paralelní zpracování: XG Boost poskytuje paralelní zpracování pro stromovou konstrukci, která při tréninku používá jádra CPU.
  2. Křížová validace: XG Boost umožňuje uživatelům provádět křížovou validaci podpůrného procesu při každé iteraci, což usnadňuje získání přesného optimálního počtu podpůrných iterací v jednom běhu.
  3. Optimalizace mezipaměti: Poskytuje optimalizaci mezipaměti algoritmů pro vyšší rychlost provádění.
  4. Distribuované výpočty : Pro trénink velkých modelů umožňuje XG Boost distribuované výpočty.

Doporučené články

V tomto článku jsme viděli, co je Boosting Algorithm, různé typy Boosting Algorithm ve strojovém učení a jejich práci. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je strojové učení? | Definice
  2. Programovací jazyky pro výuku algoritmů
  3. Co je technologie Blockchain?
  4. Co je to algoritmus?

Kategorie: