logo

GBM a gépi tanulásban

A gépi tanulás az egyik legnépszerűbb technológia a különféle összetett regressziós és osztályozási feladatok prediktív modelljének felépítésére. Gradiens Boosting Machine (GBM) az egyik leghatékonyabb boosting algoritmus.

GBM a gépi tanulásban

Bár nagyon sok algoritmust használnak a gépi tanulásban, az algoritmusok feljavítása a gépi tanulási közösség általánossá vált világszerte. A boosting technika az ensemble learning koncepcióját követi, és ezért több egyszerű modellt (gyenge tanulókat vagy alapbecslőket) kombinál a végső kimenet létrehozásához. A GBM-et együttes módszerként is használják a gépi tanulásban, amely a gyenge tanulókat erős tanulókká alakítja. Ebben a témában „GBM a gépi tanulásban” megvitatjuk a gradiens gépi tanulási algoritmusokat, a különböző fokozó algoritmusokat a gépi tanulásban, a GBM történetét, működését, a GBM-ben használt különféle terminológiákat stb. De mielőtt elkezdené, először ismerje meg a feljavítás koncepcióját és a gépi tanulás különböző fokozó algoritmusait.

Mit jelent a gépi tanulás fellendítése?

A boosting az egyik népszerű tanulási együttes modellezési technika, amellyel erős osztályozókat lehet felépíteni különböző gyenge osztályozókból. Az elsődleges modell felépítésével kezdődik a rendelkezésre álló betanítási adatkészletekből, majd azonosítja az alapmodellben található hibákat. A hiba azonosítása után egy másodlagos modellt építenek, majd ebben a folyamatban egy harmadik modellt vezetnek be. Ily módon a további modellek bevezetésének folyamata addig folytatódik, amíg egy teljes képzési adatkészletet nem kapunk, amely alapján a modell helyesen jósol.

java swing

Az AdaBoost (Adaptive boosting) volt az első olyan erősítő algoritmus, amely a különböző gyenge osztályozókat egyetlen erős osztályozóba egyesítette a gépi tanulás történetében. Elsősorban az osztályozási feladatok megoldására összpontosít, mint például a bináris osztályozás.

Az algoritmusok növelésének lépései:

Van néhány fontos lépés az algoritmus javításához, az alábbiak szerint:

  • Vegyünk egy olyan adatkészletet, amely különböző adatpontokkal rendelkezik, és inicializálja.
  • Most adjon egyenlő súlyt minden adatpontnak.
  • Tegyük fel ezt a súlyt a modell bemeneteként.
  • Határozza meg a helytelenül osztályozott adatpontokat.
  • Növelje az adatpontok súlyát a 4. lépésben.
  • Ha megfelelő kimenetet kap, akkor fejezze be ezt a folyamatot, különben kövesse a 2. és 3. lépést.

Példa:

Tegyük fel, hogy három különböző modellünk van a jóslataival, és ezek teljesen eltérő módon működnek. Például a lineáris regressziós modell lineáris kapcsolatot mutat az adatok között, míg a döntési fa modell megpróbálja megragadni az adatok nemlinearitását, ahogy az alábbi képen látható.

GBM a gépi tanulásban

Továbbá, ahelyett, hogy ezeket a modelleket külön-külön használnánk az eredmény előrejelzésére, ha sorozatok vagy kombinációk formájában használjuk őket, akkor egy olyan modellt kapunk, amely az összes alapmodellnél megfelelő információval rendelkezik. Más szóval, ahelyett, hogy az egyes modellek egyéni előrejelzését használnánk, ha ezekből a modellekből átlagos előrejelzést használnánk, akkor több információt tudnánk rögzíteni az adatokból. Ensemble learningnek nevezik, és a fellendítés a gépi tanulás együttes módszerein is alapul.

Algoritmusok javítása a gépi tanulásban

A gépi tanulásban elsősorban 4 gyorsító algoritmus létezik. Ezek a következők:

    Gradient Boosting Machine (GBM) Extreme Gradient Boosting Machine (XGBM) Könnyű GBM CatBoost

Mi az a GBM a gépi tanulásban?

A Gradient Boosting Machine (GBM) az egyik legnépszerűbb továbbtanulási együttes módszer a gépi tanulásban. Ez egy hatékony technika a regressziós és osztályozási feladatok prediktív modelljének felépítésére.

A GBM segít nekünk prediktív modellt kapni gyenge előrejelzési modellek, például döntési fák együttese formájában. Amikor egy döntési fa gyenge tanulóként teljesít, az eredményül kapott algoritmust gradiens-növelt fáknak nevezzük.

Lehetővé teszi számunkra, hogy kombináljuk a különböző tanulói modellekből származó előrejelzéseket, és felállítsunk egy végső prediktív modellt, amely a helyes előrejelzést tartalmazza.

De itt felmerülhet egy kérdés, ha ugyanazt az algoritmust alkalmazzuk, akkor hogyan tud több döntési fa jobb előrejelzést adni, mint egyetlen döntési fa? Sőt, hogyan rögzíti az egyes döntési fák különböző információkat ugyanazokból az adatokból?

GBM a gépi tanulásban

Tehát a válasz ezekre a kérdésekre az, hogy az egyes döntési fa csomópontjai a jellemzők más-más részhalmazát választják ki a legjobb felosztás kiválasztásához. Ez azt jelenti, hogy minden fa eltérően viselkedik, és így ugyanazon adatból más-más jelet rögzít.

Hogyan működik a GBM?

Általában a legtöbb felügyelt tanulási algoritmus egyetlen prediktív modellen alapul, mint például a lineáris regresszió, a büntetett regressziós modell, a döntési fák stb. De vannak olyan felügyelt algoritmusok az ML-ben, amelyek az együttesen keresztül különböző modellek kombinációjától függenek. Más szóval, ha több alapmodell is hozzájárul az előrejelzéseihez, az összes előrejelzés átlagát a rendszer javító algoritmusokkal adaptálja.

A gradiensnövelő gépek 3 elemből állnak, az alábbiak szerint:

  • Veszteség funkció
  • Gyenge tanulók
  • Additív modell

Értsük meg ezt a három elemet részletesen.

10/100.00

1. Veszteségfüggvény:

Bár a gépi tanulásban a Loss függvények nagy családja létezik, amelyek a megoldandó feladatok típusától függően használhatók. A veszteségfüggvény használatát a feltételes eloszlás specifikus jellemzőinek, például a robusztusságnak az igénye becsüli meg. Amikor feladatunkban veszteségfüggvényt használunk, meg kell adnunk a veszteségfüggvényt és a megfelelő negatív gradiens kiszámításához szükséges függvényt. Ha megkapjuk ezt a két funkciót, könnyen beépíthetőek gradiensnövelő gépekbe. Azonban számos veszteségfüggvényt javasoltak már a GBM algoritmusokhoz.

A veszteségi függvény osztályozása:

Az y válaszváltozó típusa alapján a veszteségfüggvény különböző típusokba sorolható az alábbiak szerint:

    Folyamatos válasz, y ∈ R:
    • Gauss L2 veszteségfüggvény
    • Laplace L1 veszteségfüggvény
    • Huber veszteségfüggvény, δ megadva
    • Kvantilis veszteségfüggvény, α megadva
    Kategorikus válasz, y ∈ {0, 1}:
    • Binomiális veszteségfüggvény
    • Adaboost veszteség funkció
    Egyéb válaszváltozó-családok:
    • Veszteségfüggvények túlélési modellekhez
    • A veszteségfüggvények számolják az adatokat
    • Egyedi veszteségfüggvények

2. Gyenge tanuló:

A gyengén tanulók azok a tanulói alapmodellek, amelyek tanulnak a múltbeli hibákból, és segítenek egy erős prediktív modell kialakításában a gépi tanulás algoritmusainak fellendítésére. Általában a döntési fák gyenge tanulóként működnek az algoritmusok feljavításában.

Az erősítés az a keretrendszer, amely folyamatosan dolgozik az alapmodellek kimenetének javításán. Számos gradiensnövelő alkalmazás lehetővé teszi a gyenge tanulók különféle osztályainak „beillesztését” az Ön rendelkezésére. Ezért a döntési fákat leggyakrabban gyenge (alap) tanulók esetében használják.

Hogyan képezzük a gyenge tanulókat:

A gépi tanulás képzési adatkészleteket használ az alaptanulók betanításához, és az előző tanuló előrejelzése alapján javítja a teljesítményt azáltal, hogy a képzési adatok azon soraira összpontosít, ahol az előző fában a legnagyobb hibák vagy maradékok voltak. Például. a sekély fák a döntési fák gyengén tanulóinak számítanak, mivel néhány hasadást tartalmaz. Általában az erősítő algoritmusokban a legfeljebb 6 felosztású fák a leggyakoribbak.

Az alábbiakban bemutatjuk a gyenge tanuló képzésének sorozatát a teljesítményük javítására, ahol minden fa az előző fa maradványaival van sorrendben. Továbbá minden új fát bevezetünk, hogy tanulhasson az előző fa hibáiból. Ezek a következők:

  1. Tekintsünk egy adathalmazt, és illesszünk bele egy döntési fát.
    F1(x)=y
  2. Illessze a következő döntési fát az előző fa legnagyobb hibáival.
    h1(x)=y?F1(x)
  3. Adja hozzá ezt az új fát az algoritmushoz úgy, hogy mindkettőt hozzáadja az 1. és 2. lépésben.
    F2(x)=F1(x)+h1(x)
  4. Illessze ismét a következő döntési fát az előző fa maradékaival.
    h2(x)=y?F2(x)
  5. Ismételje meg ugyanazt, amit a 3. lépésben tettünk.
    F3(x)=F2(x)+h2(x)

Folytassa ezt a folyamatot mindaddig, amíg valamilyen mechanizmus (azaz a keresztellenőrzés) azt nem mondja, hogy álljunk le. A végső modell itt b egyes fák fokozatos additív modellje:

f(x)=B∑b=1fb(x)

Ezért a fákat mohón építik fel, a legjobb osztási pontokat választva tisztasági pontszámok, például Gini alapján, vagy minimalizálva a veszteséget.

3. Additív modell:

Az additív modell úgy van definiálva, hogy fákat ad hozzá a modellhez. Bár nem szabad egyszerre több fát hozzáadni, csak egyetlen fát kell hozzáadni, hogy a modellben meglévő fák ne változzanak. Továbbá előnyben részesíthetjük a gradiens süllyedés módszerét is fák hozzáadásával a veszteség csökkentése érdekében.

Az elmúlt néhány évben a gradiens süllyedés módszerét használták az olyan paraméterek halmazának minimalizálására, mint a regressziós egyenlet együtthatója és a neurális hálózat súlya. A hiba vagy veszteség kiszámítása után a súly paramétert használjuk a hiba minimalizálására. De a közelmúltban a legtöbb ML-szakértő a gyenge tanulói almodelleket vagy a döntési fákat részesíti előnyben e paraméterek helyettesítőjeként. Amelyben egy fát kell hozzáadnunk a modellhez, hogy csökkentsük a hibát és javítsuk a modell teljesítményét. Ily módon az újonnan hozzáadott fából származó előrejelzést kombinálják a meglévő fasorok előrejelzésével, hogy végső előrejelzést kapjanak. Ez a folyamat addig tart, amíg a veszteség el nem éri az elfogadható szintet, vagy már nincs szükség javításra.

Ezt a módszert funkcionális gradiens süllyedésnek vagy függvényekkel való gradiens süllyedésnek is nevezik.

EXTREME GRADIENS NÖVELŐ GÉP (XGBM)

Az XGBM a gradiensnövelő gépek legújabb verziója, amely szintén nagyon hasonló a GBM-hez. Az XGBM-ben a fák egymás után (egyenként) kerülnek hozzáadásra, amelyek tanulnak az előző fák hibáiból és javítják azokat. Bár az XGBM és a GBM algoritmusok megjelenésében és érzetében hasonlóak, mégis van néhány különbség köztük:

jdbc
  • Az XGBM különféle szabályozási technikákat használ a modell alul- vagy túlillesztésének csökkentése érdekében, ami szintén jobban növeli a modell teljesítményét, mint a gradiensnövelő gépek.
  • Az XGBM az egyes csomópontok párhuzamos feldolgozását követi, míg a GBM nem, ami gyorsabbá teszi, mint a gradiensnövelő gépek.
  • Az XGBM segít megszabadulni a hiányzó értékek imputálásától, mert alapértelmezés szerint a modell gondoskodik róla. Magától megtanulja, hogy ezek az értékek a jobb vagy a bal csomópontban legyenek.

Light Gradient Boosting Machines (Light GBM)

A Light GBM a Gradient emelőgép továbbfejlesztett változata hatékonyságának és gyors sebességének köszönhetően. A GBM-mel és az XGBM-mel ellentétben hatalmas mennyiségű adatot képes kezelni minden bonyolultság nélkül. Másrészt nem alkalmas a kisebb számú adatpontokra.

A szintek szerinti növekedés helyett a Light GBM a fa csomópontjainak levélenkénti növekedését részesíti előnyben. Továbbá a könnyű GBM-ben az elsődleges csomópontot két másodlagos csomópontra osztják, és később kiválaszt egy másodlagos csomópontot a felosztásra. A másodlagos csomópont felosztása attól függ, hogy két csomópont között melyik veszteség nagyobb.

GBM a gépi tanulásban

Ezért a levélenkénti felosztás miatt a Light Gradient Boosting Machine (LGBM) algoritmust mindig előnyben részesítik másokkal szemben, ahol nagy mennyiségű adatot adnak meg.

CATBOOST

A catboost algoritmust elsősorban az adatkészlet kategorikus jellemzőinek kezelésére használják. Bár a GBM, XGBM és Light GBM algoritmusok alkalmasak numerikus adatkészletekhez, a Catboost úgy lett kialakítva, hogy kategorikus változókat numerikus adatokká kezeljen. Ezért a catboost algoritmus egy alapvető előfeldolgozási lépésből áll, amely a kategorikus jellemzőket olyan numerikus változókká alakítja, amelyek egyetlen más algoritmusban sem szerepelnek.

A fokozó algoritmusok előnyei:

  • A fokozó algoritmusok együttes tanulást követnek, amely lehetővé teszi a modell számára, hogy pontosabb előrejelzést adjon, amelyet nem lehet megmondani.
  • A boosting algoritmusok sokkal rugalmasabbak, mint más algoritmusok, mivel képesek optimalizálni a különböző veszteségfüggvényeket, és számos hiperparaméter-hangolási lehetőséget biztosítanak.
  • Nem igényel adat-előfeldolgozást, mert alkalmas mind numerikus, mind kategorikus változókra.
  • Nem igényli az adatkészlet hiányzó értékeinek imputálását, a hiányzó adatokat automatikusan kezeli.

A boosting algoritmusok hátrányai:

Az alábbiakban felsorolunk néhány hátrányt a gyorsító algoritmusokkal kapcsolatban:

  • A fokozó algoritmusok túlillesztést, valamint a kiugró értékek túlhangsúlyozását okozhatják.
  • A gradiensnövelő algoritmus folyamatosan fókuszál, hogy minimalizálja a hibákat, és több fát igényel, ezért számításilag költséges.
  • Ez egy idő- és memóriaigényes algoritmus.
  • Kevésbé értelmező jellegű, bár ez különféle eszközökkel könnyen megoldható.

Következtetés:

Ily módon a gépi tanulásban a prediktív modellezés fokozó algoritmusait tanultuk meg. Ezenkívül megvitattuk az ML-ben használt különféle fontos növelő algoritmusokat, mint például a GBM, az XGBM, a light GBM és a Catboost. Ezen túlmenően különböző összetevőket láttunk (vesztési funkció, gyenge tanuló és additív modell), és azt, hogy a GBM hogyan működik velük. Hogyan előnyösek a gyorsító algoritmusok valós forgatókönyvekben való telepítéshez stb.