Boosting Algoritme - Typer af boostende algoritmer med deres arbejde

Indholdsfortegnelse:

Anonim

Hvad er den boostende algoritme?

Boosting er metoden i algoritmer, der konverterer svag elev til stærk lærer. Det er en teknik, der tilføjer nye modeller til at korrigere eksisterende modeller fejl.

Eksempel:

Lad os forstå dette koncept ved hjælp af følgende eksempel. Lad os tage et eksempel på e-mailen. Hvordan genkender du din e-mail, uanset om det er spam eller ej? Du kan genkende det ved følgende betingelser:

  • Hvis en e-mail indeholder masser af lignende kilde betyder det, at det er spam.
  • Hvis en e-mail kun indeholder et filbillede, er det spam.
  • Hvis en e-mail indeholder meddelelsen "Du ejer et lotteri på $ xxxxx" betyder det, at det er spam.
  • Hvis en e-mail indeholder en kendt kilde, er det ikke spam.
  • Hvis det indeholder det officielle domæne som educba.com osv., Betyder det, at det ikke er spam.

Ovennævnte regler er ikke så meget magtfulde at genkende spam eller ej, derfor kaldes disse regler som svage elever.

For at konvertere svag lærer til stærk lærer skal du kombinere forudsigelsen af ​​den svage lærer ved hjælp af følgende metoder.

  1. Brug af gennemsnit eller vægtet gennemsnit.
  2. Overvej forudsigelse har en højere stemme.

Overvej de ovennævnte 5 regler, der er 3 stemmer for spam og 2 stemmer for ikke spam. Da der er spam med høj stemme, betragter vi det som spam.

Hvordan fungerer boosting af algoritmer?

Boosting Algorithms kombinerer hver svage elev for at skabe en stærk forudsigelsesregel. For at identificere den svage regel er der en baselæringsalgoritme (Machine Learning). Hver gang Basisalgoritme anvendes, opretter den nye forudsigelsesregler ved hjælp af iterationsprocessen. Efter en vis iteration kombinerer det alle svage regler for at skabe en enkelt forudsigelsesregel.

Følg nedenstående trin for at vælge den rigtige distribution:

Trin 1: Basisindlæringsalgoritme kombinerer hver distribution og anvender lige vægt på hver distribution.

Trin 2: Hvis der forekommer nogen forudsigelse under den første baselæringsalgoritme, er vi meget opmærksomme på denne forudsigelsesfejl.

Trin 3: Gentag trin 2, indtil grænsen for Basis Learning-algoritmen er nået eller høj nøjagtighed.

Trin 4: Endelig kombinerer den alle de svage elever for at skabe en stærk forudsigelsestol.

Typer af boostalgoritme

Boosting-algoritmer bruger forskellige motorer såsom beslutningsstempel, marginmaksimering af klassificeringsalgoritme osv. Der er tre typer Boosting-algoritmer, som er som følger:

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

AdaBoost (Adaptiv Boosting) algoritme

For at forstå AdaBoost, se venligst nedenstående billede:

Boks 1: I felt 1 for hvert datasæt tildelte vi lige vægte og for at klassificere plus (+) og minus (-) tegn anvender vi beslutningsstubben D1, som skaber en lodret linje i venstre side af boks 1. Denne linje forkert forudsagde tre plustegn (+) som minus (-), derfor anvender vi højere vægt på disse plustegn og anvender en anden beslutningstub.

Boks 2: I boks 2 bliver størrelsen på tre forkert forudsagte plustegn (+) større sammenlignet med en anden. Den anden beslutningstub D2 i højre side af blokken forudsiger dette forkert forudsagte plustegn (+) som korrekt. Men da fejlklassificeringsfejl opstod på grund af den ulige vægt med et minustegn (-), tildeler vi en højere vægt til et minustegn (-) og anvender en anden beslutningstub.

Boks 3: I boks tre på grund af fejlklassificeringsfejl har tre minustegn (-) en høj vægt. her anvendes beslutningsstub D3 til at forudsige denne misklassificering og rette den. Denne tid til at klassificere plus (+) og minus (-) tegn vandret linje oprettes.

Boks 4: I boks 4 er beslutningsstubben D1, D2 og D3 kombineret for at skabe en ny stærk forudsigelse.

Adaptive Boosting-værker ligner som nævnt ovenfor. Det kombinerer gruppen af ​​svage eleverbasis på vægtalderen for at skabe en stærk lærer. I den første iteration giver det lige vægt til hvert datasæt, og det begynder at forudsige det datasæt. Hvis der forekommer forkert forudsigelse, giver den observationen stor vægt. Adaptiv Boosting gentag denne procedure i den næste iterationsfase og fortsæt, indtil nøjagtigheden er opnået. Kombiner derefter dette for at skabe en stærk forudsigelse.

Gradient Boosting Algorithm

Gradient boosting algoritme er en maskinlæringsteknik til at definere tabsfunktion og reducere den. Det bruges til at løse klassificeringsproblemer ved hjælp af forudsigelsesmodeller. Det involverer følgende trin:

1. Tabsfunktion

Brug af tabsfunktion afhænger af typen af ​​problem. Fordelen ved gradient boosting er, at der ikke er behov for en ny boosting algoritme til hver tabsfunktion.

2. Svag lærer

I gradient boosting bruges beslutningstræer som en svag elev. Et regressionstræ bruges til at give ægte værdier, der kan kombineres sammen for at skabe korrekte forudsigelser. Ligesom i AdaBoost-algoritmen bruges små træer med enkelt split dvs. beslutningsstub. Større træer bruges til store niveauer i, e 4-8 niveauer.

3. Additiv model

I denne model tilføjes træer ad gangen. eksisterende træer forbliver den samme. Under tilsætning af træer bruges gradientafstamning for at minimere tabsfunktionen.

XG Boost

XG Boost er en forkortelse for Extreme Gradient Boosting. XG Boost er opgraderet implementering af Gradient Boosting Algorithm, der er udviklet til høj beregningshastighed, skalerbarhed og bedre ydelse.

XG Boost har forskellige funktioner, der er som følger:

  1. Parallel behandling: XG Boost leverer parallel behandling til trækonstruktion, der bruger CPU-kerner under træning.
  2. Krydsvalidering: XG Boost gør det muligt for brugere at køre krydsvalidering af boostingprocessen ved hver iteration, hvilket gør det nemt at få det nøjagtige optimale antal boostende iterationer i en kørsel.
  3. Cacheoptimering: Det giver cacheoptimering af algoritmerne til højere eksekveringshastighed.
  4. Distribueret computing : Til uddannelse af store modeller tillader XG Boost Distribueret computing.

Anbefalede artikler

I denne artikel har vi set, hvad der er Boosting Algoritm, forskellige typer Boosting Algorithm i maskinlæring og deres arbejde. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Hvad er maskinlæring? | En definition
  2. Programmering af sprog til indlæring af algoritmer
  3. Hvad er Blockchain-teknologi?
  4. Hvad er en algoritme?