Potrzebujesz pomocy w zrozumieniu przybliżonej propozycji punktów podziału xgboost

12

tło:

w xgboost z t próbach iteracji w celu dopasowania do drzewa fat w stosunku do wszystkich n przykładach minimalizuje obiektywnego:

ja=1n[soljafat(xja)+12)hjafat2)(xja)]

gdzie są pochodnymi pierwszego i drugiego rzędu w stosunku do naszego poprzedniego najlepszego oszacowania (z iteracji ):r T - 1solja,hjay^t-1

  • solja=rey^l(yja,y^)
  • hja=rey^2)l(yja,y^)

i l jest naszą funkcją utraty.


Pytanie (wreszcie):

Przy budowie i rozważa Specyfiką k w określonym ułamku, używają następujące heurystyki do oceny tylko niektóre kandydatów dzielone: ich do sortowania wszystkie przykłady przez ich x k , przejść przez listę posortowaną i podsumować ich druga pochodna h I . Rozważają podzielonego kandydata tylko wtedy, gdy suma zmienia się więcej niż ϵ . Dlaczego???fatkxkhjaϵ

Ustępują mi wyjaśnienia:

Twierdzą, że możemy przepisać poprzednie równanie w następujący sposób:

ja=1n12)hja[fat(xja)-solja/hja]2)+doonstzant

a ja nie podążam za algebrą - czy możesz pokazać, dlaczego jest równa?

A potem twierdzą, że „to jest dokładnie ważone squared stratę z etykietami i ciężary h ja ” - oświadczenie zgadzam się, ale nie rozumiem, jak to się odnosi do algorytmu Podział kandydata, z których korzystają. ..solja/hjahja

Dzięki i przepraszam, jeśli to za długo na tym forum.

ihadanny
źródło

Odpowiedzi:

8

Nie będę wdawał się w szczegóły, ale poniższe powinny pomóc ci zrozumieć ten pomysł.

Używają Quantiles (Wikipedia), aby określić, gdzie podzielić. Jeśli masz 100 możliwych punktów podziału, {x1,,x100} (posortowane), możesz wypróbować kwantylowe punkty podziału { x 10 , x 20 , , x 90 } i mieć już dobre przybliżenie. Tak właśnie działa parametr ϵ . Rozważają punkt podziału, gdy pod nim znajduje się ϵ N więcej punktów niż ostatni punkt podziału. Jeśli ϵ = 0,0110{x10,x20,,x90}ϵϵNϵ=0.01Będziesz skończyć z punktów podziału, jest większy niż { 1 % , 2 % , . . . , 99 % } innych punktów. Nie rozważają nowego podziału, gdy „suma zmienia się bardziej niż ϵ ”, ale gdy liczba punktów pod bieżącym punktem jest większa o ϵ niż ostatni.100{1%,2%,...,99%}ϵϵ

Teraz, jeśli masz wiele ciągłych punktów, które są już dobrze sklasyfikowane, dzielenie się nimi może być bezużyteczne. Chcesz podzielić części zestawu danych, które są bardzo błędne, te trudne do nauczenia. Aby to zrobić, używają ważonych kwantyli. Tutaj odgrywają rolę wagi. Pierwszy kwantyl nie będzie pierwszym punktem, który jest większy niż 10 % punktów, ale pierwszym punktem, który jest większy niż 10 % wag.1010%10%

Mruga
źródło
Zalogowałem się tylko po to, by dać ci głos w górę. Dziękujemy za łatwe do zrozumienia wyjaśnienie.
Pakpoom Tiwakornkit
3

Wystarczy dodać część algebraiczną do odpowiedzi @Winks:

Drugie równanie powinno mieć odwrócony znak, jak w:

ja=1n12)hja[fat(xja)-(-solja/hja)]2)+doonstzant=ja=1n12)hja[fat2)(xja)+2)fat(xja)soljahja+(solja/hja)2)]=ja=1n[soljafat(xja)+12)hjafat2)(xja)+solja2)2)hja]

soljahjafat

-solja/hjahja

Podziękowania należą się Yaronowi i Avi z mojego zespołu za wyjaśnienie mi tego.

ihadanny
źródło
0

Następnie twierdzą, że „jest to dokładnie ważona kwadratowa strata z etykietami gi / higi / hi i waży hihi” - stwierdzenie, z którym się zgadzam, ale nie rozumiem, w jaki sposób odnosi się do algorytmu podzielonego kandydata, którego używają… .

  1. wtthw=gi/hi(ft(gi/hi))2

  2. wavg(gi)/constsigma(gi)/sigma(hi)whigiwhi

Myślę, że to wyjaśnia, dlaczego to działa, ponieważ jest ważone hi

xy.Z
źródło