Wzmocnienie gradientu (opcjonalnie)

W przypadku problemów regresyjnych sensowne jest zdefiniowanie podpisanego błędu jako różnicy między prognozą a etykietą. Jednak w przypadku innych problemów ta strategia często prowadzi do słabych wyników. Lepszą strategią stosowaną w wzmacnianiu gradientem jest:

  • Zdefiniuj funkcję straty podobną do funkcji straty stosowanych w sieciach neuronowych. Może to być na przykład entropia (zwana też stratą logarytmiczną) w przypadku problemu klasyfikacji.
  • Trenuj słaby model w celu przewidywania gradientu straty na podstawie danych wyjściowych silnego modelu.

Formalnie, jeśli mamy funkcję strat L(y,p), gdzie y to etykietka, a p to prognoza, pseudoodpowiedź zi użyta do trenowania słabego modelu na kroku i jest taka:

zi=L(y,Fi)Fi

gdzie:

  • Fi to prognoza modelu silnego.

Poprzedni przykład dotyczył problemu regresji: celem było przewidywanie wartości liczbowej. W przypadku regresji zwykłą funkcją utraty jest błąd kwadratowy:

L(y,p)=(yp)2

W tym przypadku gradient jest:

z=L(y,Fi)Fi=(yp)2p=2(yp)=2 signed error

Inaczej mówiąc, gradient jest podpisaną błędem z naszego przykładu z współczynnikiem 2. Pamiętaj, że czynniki stałe nie mają znaczenia ze względu na kurczenie się. Pamiętaj, że ta równoważność jest prawdziwa tylko w przypadku problemów z regresją z stratą błędu kwadratowego. W przypadku innych problemów z uczenia nadzorowanego (np. klasyfikacji, rankingu, regresji z stratą arytmetyczną) gradient i oznaczona wartość błędu nie są równoważne.

Optymalizacja liści i struktury za pomocą metody Newtona

Metoda Newtona to metoda optymalizacji podobna do metody gradientu prostego. Jednak w przeciwieństwie do metody gradientu prostego, która do optymalizacji wykorzystuje tylko gradient funkcji, metoda Newtona wykorzystuje do optymalizacji zarówno gradient (pierwsza pochodna), jak i drugą pochodną funkcji.

Krok schodkowego spadku to:

xi+1=xidfdx(xi)=xif(xi)

i metody Newtona:

xi+1=xidfdx(xi)d2fd2x(xi)=xif(xi)f(xi)

Metodę Newtona można opcjonalnie zintegrować z trenowaniem drzew z wzmocnieniem gradientowym na 2 sposoby:

  1. Po wytrenowaniu drzewa do każdego liścia stosuje się krok Newtona, który zastępuje jego wartość. Struktura drzewa pozostaje niezmieniona, zmieniają się tylko wartości końcowe.
  2. Podczas wzrostu drzewa warunki są wybierane na podstawie wyniku, który zawiera składnik formuły Newtona. Ma to wpływ na strukturę drzewa.
Kod YDF
W YDF:
  • YDF zawsze stosuje krok Newtona na liściu (opcja 1).
  • Opcję 2 możesz włączyć za pomocą use_hessian_gain=True.