csonk Mi az a Gradiens Boosting? - Egyesüljetek.AI
Kapcsolatba velünk
AI mesterkurzus:

AI 101

Mi az a Gradiens Boosting?

mm
korszerűsített on

A gépi tanulási modell egyik gyakori típusa, amely rendkívül hasznosnak bizonyult az adattudományi versenyeken, a gradiensnövelő modell. Gradiens növelés alapvetően a gyenge tanulási modellek erős tanulási modellekké alakításának folyamata. Mégis hogyan valósul meg ez pontosan? Nézzük meg közelebbről a gradiensnövelő algoritmusokat és jobbakat megérteni, hogyan lehet egy gradiensnövelő modellt a gyenge tanulókat erős tanulókká alakítja.

Gradient Boosting meghatározása

Ennek a cikknek az a célja, hogy jó megérzéseket adjon a gradiens-növelésről, anélkül, hogy az algoritmusok alapjául szolgáló matematika sok részletezése lenne. Ha már megérti, hogyan működik a gradiens-növelés magas szinten, akkor arra ösztönözzük, hogy mélyebbre menjen, és fedezze fel a matematikát, amely lehetővé teszi.

Kezdjük azzal, hogy meghatározzuk, mit jelent egy tanuló „fellendítése”. A gyenge tanulók a tanulási modell tulajdonságainak módosításával erős tanulókká alakulnak. Pontosan milyen tanulási algoritmust fejlesztenek?

A modellek feljavítása egy másik általános gépi tanulási modell kiegészítésével működik, döntési fa.

A döntési fa A modell úgy működik, hogy az adatkészletet egyre kisebb részekre bontja, és miután a részhalmazokat nem lehet tovább felosztani, az eredmény egy fa csomópontokkal és levelekkel. A döntési fa csomópontjai azok, ahol az adatpontokkal kapcsolatos döntéseket különböző szűrési feltételek segítségével hozzák meg. A döntési fa levelei a besorolt ​​adatpontok. A döntési fa algoritmusai numerikus és kategorikus adatokat is képesek kezelni, és a fa felosztása meghatározott változókon/tulajdonságokon alapul.

Illusztráció a feljavító modellek képzésének módjáról.
Fotó: SeattleDataBuy keresztül Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

A fokozó algoritmusok egyik típusa a AdaBoost algoritmus. Az AdaBoost algoritmusok egy döntési fa modell betanításával kezdődnek, és minden megfigyeléshez egyenlő súlyt rendelnek. Miután az első fa pontosságát kiértékelték, a különböző megfigyelések súlyozását módosítják. A könnyen besorolható megfigyelések súlya csökkent, míg a nehezen osztályozható megfigyelések súlya nőtt. Ezekkel a beállított súlyokkal egy második fa jön létre azzal a céllal, hogy a második fa előrejelzései pontosabbak legyenek, mint az első fa előrejelzései.

A modell most az eredeti fa és az új fa (vagy 1. fa + 2. fa) előrejelzéseiből áll. Az osztályozás pontosságát az új modell alapján még egyszer felmérjük. A modell kiszámított hibája alapján létrejön egy harmadik fa, és a súlyok ismét kiigazításra kerülnek. Ez a folyamat adott számú iterációig folytatódik, és a végső modell egy olyan együttes modell, amely az összes előzőleg megszerkesztett fa előrejelzéseinek súlyozott összegét használja.

A fent leírt folyamat döntési fákat és alap-prediktorokat/modelleket használ, ugyanakkor a modellek széles skálájával, például a sok szabványos osztályozó és regresszor modellel is végrehajtható egy fellendítő megközelítés. A megértendő kulcsfogalmak az, hogy a következő előrejelzők tanulnak a korábbiak által elkövetett hibákból, és hogy a prediktorok egymás után jönnek létre.

Az algoritmusok feljavításának elsődleges előnye, hogy más gépi tanulási modellekhez képest kevesebb időbe telik az aktuális előrejelzések megtalálása. Óvatosan kell azonban eljárni az erősítő algoritmusok alkalmazásakor, mivel ezek hajlamosak a túlillesztésre.

Gradiens Boosting

Most megnézzük az egyik legáltalánosabb gyorsító algoritmust. A gradiensnövelő modellek (GBM) nagy pontosságukról ismertek, és kiegészítik az AdaBoostban használt általános elveket.

Az elsődleges különbség a Gradient Boosting Model és az AdaBoost között az, hogy a GBM-ek más módszert használnak annak kiszámítására, hogy mely tanulók azonosítják rosszul az adatpontokat. Az AdaBoost az erősen súlyozott adatpontok vizsgálatával kiszámítja, hol teljesít egy modell alul. Eközben a GBM-ek gradienseket használnak a tanulók pontosságának meghatározására, és veszteségfüggvényt alkalmaznak egy modellre. A veszteségfüggvények segítségével mérhető a modell adathalmazra való illeszkedésének pontossága, kiszámítható a hiba, és optimalizálva a modellt a hiba csökkentése érdekében. A GBM-ek lehetővé teszik a felhasználó számára, hogy a kívánt cél alapján meghatározott veszteségfüggvényt optimalizáljon.

A leggyakoribb veszteségfüggvény felvétele – Átlagos négyzetes hiba (MSE) - mint például, gradiens süllyedés Előre meghatározott tanulási arányon alapuló előrejelzések frissítésére szolgál, hogy megtalálja azokat az értékeket, ahol a veszteség minimális.

Hogy világosabb legyen:

Új modell előrejelzések = kimeneti változók – régi tökéletlen előrejelzések.

Statisztikusabb értelemben a GBM-ek célja, hogy releváns mintákat találjanak a modell maradékaiban, és a modellt úgy állítsák be, hogy illeszkedjen a mintához, és a maradékokat a lehető legközelebb hozza a nullához. Ha regressziót hajtana végre a modell előrejelzésein, akkor a maradékok 0 körül oszlanak el (tökéletes illeszkedés), és a GBM-ek mintákat találnak a maradványokon belül, és frissítik a modellt ezen minták körül.

Más szavakkal, az előrejelzések frissítése úgy történik, hogy az összes maradék összege a lehető legközelebb legyen a 0-hoz, ami azt jelenti, hogy az előrejelzett értékek nagyon közel állnak a tényleges értékekhez.

Vegye figyelembe, hogy a GBM számos egyéb veszteségi függvényt (például logaritmikus veszteséget) használhat. Az egyszerűség kedvéért fentebb az MSE-t választottuk ki.

Változatok a gradiensnövelő modelleken

A gradiensnövelő modellek mohó algoritmusok, amelyek hajlamosak az adatkészletre való túlillesztésre. Ez ellen lehet védekezni több különböző módszer amelyek javíthatják a GBM teljesítményét.

A GBM-ek négy különböző módszerrel szabályozhatók: zsugorodás, fakényszer, sztochasztikus gradiens-növelés és büntetett tanulás.

Zsugorodás

Amint azt korábban említettük, a GBM-ekben az előrejelzések szekvenciális módon összegződnek. A „Zsugorodás” alatt minden fa hozzáadását a teljes összeghez módosítja. Olyan súlyokat alkalmaznak, amelyek lelassítják az algoritmus tanulási sebességét, ezért több fát kell hozzáadni a modellhez, ami általában javítja a modell robusztusságát és teljesítményét. A kompromisszum az, hogy a modell betanítása tovább tart.

Fa korlátozások

Ha a fát különféle finomításokkal korlátozza, mint például a fa mélységének növelése vagy a csomópontok vagy levelek számának növelése a fában, megnehezítheti a modell túlillesztését. Hasonló hatást fejt ki a felosztásonkénti megfigyelések minimális számának korlátozása. Még egyszer, a kompromisszum az, hogy tovább tart a modell betanítása.

Véletlenszerű mintavétel

Az egyes tanulók sztochasztikus folyamattal hozhatók létre, a képzési adatkészlet véletlenszerűen kiválasztott részbélyegei alapján. Ez csökkenti a fák közötti összefüggéseket, ami megakadályozza a túlillesztést. Az adatkészlet alábélyegzhető a fák létrehozása előtt, vagy a fa felosztásának fontolóra vétele előtt.

Büntetett tanulás

A modellnek a fa szerkezetének korlátozásával történő korlátozásán túl lehetőség van regressziós fa használatára is. A regressziós fák mindegyik leveléhez numerikus értékek tartoznak, és ezek súlyként funkcionálnak, és beállíthatók olyan általános szabályzási függvényekkel, mint az L1 és L2 regularizáció.

Blogger és programozó szakterületekkel Gépi tanulás és a Deep Learning témákat. Daniel abban reménykedik, hogy segíthet másoknak az AI erejét társadalmi javára használni.