Vad är den boostande algoritmen?
Boosting är metoden i algoritmer som konverterar svag elev till stark elev. Det är en teknik som lägger till nya modeller för att korrigera befintliga modellfel.
Exempel:
Låt oss förstå detta koncept med hjälp av följande exempel. Låt oss ta ett exempel på e-postmeddelandet. Hur känner du igen din e-post om det är skräppost eller inte? Du kan känna igen det på följande villkor:
- Om ett e-postmeddelande innehåller många källor som det betyder det att det är skräppost.
- Om ett e-postmeddelande bara innehåller en filbild är det skräppost.
- Om ett e-postmeddelande innehåller meddelandet "Du äger ett lotteri på $ xxxxx" betyder det att det är skräppost.
- Om ett e-postmeddelande innehåller någon känd källa är det inte skräppost.
- Om den innehåller den officiella domänen som educba.com, etc betyder det att det inte är skräppost.
Ovan nämnda regler är inte så kraftfulla att känna igen skräppost eller inte, och därför kallas dessa regler som svaga elever.
För att konvertera svag elev till stark elev kombinerar du den svaga elevens förutsägelse med hjälp av följande metoder.
- Med hjälp av genomsnitt eller vägt genomsnitt.
- Tänk på att förutsägelse har högre röst.
Tänk på ovan nämnda 5 regler, det finns 3 röster för skräppost och 2 röster för att inte skräppost. Eftersom det finns skräppost med hög röst betraktar vi det som skräppost.
Hur ökar algoritmer?
Boosting Algoritms kombinerar varje svag elev för att skapa en stark prediktionsregel. För att identifiera den svaga regeln finns det en grundlärningsalgoritm (maskininlärning). När basalgoritmen används skapar den nya prediktionsregler med iterationsprocessen. Efter viss iteration kombinerar den alla svaga regler för att skapa en enda prediktionsregel.
För att välja rätt distribution följer du nedanstående steg:
Steg 1: Base Learning-algoritmen kombinerar varje distribution och tillämpar lika stor vikt på varje distribution.
Steg 2: Om någon förutsägelse inträffar under den första basinlärningsalgoritmen uppmärksammar vi detta förutsägelsefel.
Steg 3: Upprepa steg 2 tills gränsen för Base Learning-algoritmen har uppnåtts eller hög noggrannhet.
Steg 4: Slutligen kombinerar den alla svaga elever för att skapa en stark förutsägelse.
Typer av förstärkningsalgoritm
Boosting-algoritmer använder olika motorer som beslutsstämpel, marginaliserande klassificeringsalgoritm, etc. Det finns tre typer av Boosting-algoritmer som är följande:
- AdaBoost-algoritm (Adaptive Boosting)
- Gradient Boosting algoritm
- XG Boost-algoritm
AdaBoost (Adaptive Boosting) algoritm
För att förstå AdaBoost, se bilden nedan:
Ruta 1: I ruta 1 för varje datauppsättning tilldelade vi lika vikter och för att klassificera plus (+) och minus (-) tecken tillämpar vi beslutstubbe D1 som skapar en vertikal linje på vänster sida av ruta 1. Denna rad felaktigt förutspådde tre plustecken (+) som minus (-) följaktligen tillämpar vi högre vikter på dessa plustecken och tillämpar ytterligare ett beslutstubb.
Ruta 2: I ruta 2 blir storleken på tre felaktigt förutsagda plustecken (+) större jämfört med en annan. Det andra beslutet stubb D2 på höger sida av blocket förutspår detta felaktigt förutsagda plustecken (+) som korrekt. Men eftersom felklassificeringsfel inträffade på grund av den ojämna vikten med ett minustecken (-) tilldelar vi en högre vikt till ett minustecken (-) och tillämpar en ny beslutsstubbe.
Ruta 3: I ruta tre på grund av felklassificeringsfel har tre minustecken (-) en hög vikt. här beslutsstubbe D3 tillämpas för att förutsäga denna felklassificering och korrigera den. Den här gången för att klassificera plus (+) och minus (-) horisontell linje skapas.
Ruta 4: I ruta 4 beslutsstubben D1, D2 och D3 kombineras för att skapa en ny stark förutsägelse.
Adaptiva Boosting-verk är liknande som nämnts ovan. Det kombinerar gruppen med svag elever baserat på vikt ålder för att skapa en stark elev. I den första iterationen ger den lika vikt till varje datauppsättning och början förutsäger den datauppsättningen. Om felaktig förutsägelse inträffar ger den observationen hög vikt. Adaptiv Boosting upprepa denna procedur i nästa iterationsfas och fortsätt tills noggrannheten har uppnåtts. Kombinerar sedan detta för att skapa en stark förutsägelse.
Gradient Boosting Algoritm
Gradient boosting algoritm är en maskininlärningsteknik för att definiera förlustfunktion och minska den. Det används för att lösa klassificeringsproblem med hjälp av prediktionsmodeller. Det innebär följande steg:
1. Förlustfunktion
Användningen av förlustfunktionen beror på typen av problem. Fördelen med gradient boosting är att det inte finns något behov av en ny boostingalgoritm för varje förlustfunktion.
2. Svag elev
Vid gradientökning används beslutsträd som en svag elev. Ett regressionsträd används för att ge verkliga värden som kan kombineras tillsammans för att skapa korrekta förutsägelser. Liksom i AdaBoost-algoritmen används små träd med en enda split, dvs. beslutsstubbe. Större träd används för stora nivåer i, e 4-8 nivåer.
3. Tillsatsmodell
I den här modellen läggs träd i taget. befintliga träd förblir desamma. Under tillägg av träd används lutningsnedstigning för att minimera förlustfunktionen.
XG Boost
XG Boost är förkortning för Extreme Gradient Boosting. XG Boost är en uppgraderad implementering av Gradient Boosting Algoritm som är utvecklad för hög beräkningshastighet, skalbarhet och bättre prestanda.
XG Boost har olika funktioner som är följande:
- Parallell bearbetning: XG Boost tillhandahåller parallellbehandling för trädkonstruktion som använder CPU-kärnor under träning.
- Cross-Validation: XG Boost gör det möjligt för användare att köra validering av boostingprocessen vid varje iteration, vilket gör det enkelt att få det exakta optimala antalet boosting-iterationer i en körning.
- Cache-optimering: Det ger Cache-optimering av algoritmerna för högre körhastighet.
- Distribuerad dator : För utbildning av stora modeller tillåter XG Boost Distribuerad datoranvändning.
Rekommenderade artiklar
I den här artikeln har vi sett vad som är att öka algoritmen, olika typer av öka algoritmen i maskininlärning och deras arbete. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Vad är maskininlärning? | En definition
- Programmeringsspråk för att lära sig algoritmer
- Vad är Blockchain Technology?
- Vad är en algoritm?