Kérdés:
A min_child_weight magyarázata az xgboost algoritmusban
confused_pup
2017-12-04 22:39:37 UTC
view on stackexchange narkive permalink

Az xgboost min_child_weight paraméterének definíciója a következőképpen van megadva:

A gyermeknél a példánysúly (hessian) minimális összege szükséges. Ha a A fa particionálási lépés egy levélcsomópontot eredményez a példány összegével súly kisebb, mint min_gyerek_súly, akkor az építési folyamat megadja további felosztás. Lineáris regressziós módban ez egyszerűen megfelel az egyes csomópontokban szükséges minimális példányszámnak. Minél nagyobb, annál konzervatívabb lesz az algoritmus.

Elég sok dolgot olvastam az xgboost-on, beleértve az eredeti papírt (lásd a 8. képletet és a közvetlenül a 9. egyenlet után), ezt a kérdést és a legtöbb tennivalót az xgboost segítségével, amelyek a google keresés első néhány oldalán jelennek meg. ;)

Alapvetően még mindig nem örülök annak, hogy miért szabunk korlátot a hessianus összegére? Az egyetlen gondolatom abban a pillanatban az eredeti cikkből származik, hogy a súlyozott kvantilis vázlat szakaszra vonatkozik (és a 3. egyenlet súlyozott négyzet veszteségének újraszerkesztésére), amelynek $ h_i $ span > az egyes példányok „súlyaként”.

Egy további kérdés arra vonatkozik, miért egyszerűen lineáris regressziós módban a példányok száma? Gondolom, ez összefügg a négyzetek összegének második deriváltjával?

Egy válasz:
hahdawg
2018-01-17 03:45:18 UTC
view on stackexchange narkive permalink

Regresszió esetén a csomópont minden pontjának elvesztése

$ \ frac {1} {2} (y_i - \ hat {y_i}) ^ 2 $

Ennek a kifejezésnek a második deriváltja a $ \ hat {y_i} $ vonatkozásában $ 1 $. Tehát, amikor összegzi a második deriváltat a csomópont összes pontjára, megkapja a csomópont pontjainak számát. Itt a min_child_weight azt jelenti, hogy "ne próbálkozzon felosztással, ha a csomópontban a minta mérete egy adott küszöbérték alá esik".

Bináris logisztikai regresszió esetén a csomópont minden egyes pontjának hessianja olyan kifejezéseket tartalmaz, mint

$ \ sigma (\ hat {y_i}) (1 - \ sigma (\ hat {y_i})) $

ahol a $ \ sigma $ a sigmoid függvény. Tegyük fel, hogy tiszta csomópontnál van (pl. A csomópontban szereplő összes képzési példa 1-es). Ekkor a $ \ hat {y_i} $ összes értéke valószínűleg nagy pozitív szám lesz, tehát a $ \ sigma (\ hat {y_i}) $ összes értéke 1 közelében lesz, tehát az összes hessian kifejezés közel 0. Hasonló logika érvényes, ha a csomópontban az összes képzési példa 0. Itt a min_gyerek_súlya olyasmit jelent, hogy "hagyja abba a szétválasztást, ha eléri a csomópont bizonyos fokú tisztaságát, és a modellje belefér".

A hesseni józanul használható dolog a fák mélységének szabályozására és korlátozására. A regresszió szempontjából könnyen belátható, hogy hogyan illeszkedhetne túl, ha mindig csomópontokra osztja szét, mondjuk csak 1 megfigyeléssel. Hasonlóképpen, a besorolás szempontjából könnyen belátható, hogyan túlléphetné, ha ragaszkodik a felosztáshoz, amíg minden csomópont tiszta nem lesz.

Köszönöm a választ, az alacsony hírnév miatt nem tudom szavazni.
Szia @maw501: Nem probléma, tudom.Jó válasz Hahdawg!
Tehát nagyon kiegyensúlyozatlan adatok esetén mi a javasolt tartomány a min_gyerek_súlyra?
Amikor a kiegyensúlyozatlan adatkészlet szerepel, a min_gyerek_súlynak tartalmaznia kell a súlyokat is?Köszönöm!@hahdawg


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...