Pytanie
Staram się zrozumieć, w jaki sposób prognoza jest utrzymywana w przedziale podczas klasyfikacji binarnej z funkcją wzmocnienia gradientu.
Załóżmy, że pracujemy nad problemem klasyfikacji binarnej, a naszą funkcją celu jest utrata logów, , gdzie jest zmienną docelową a jest naszym obecnym modelem.
Kiedy trenujesz kolejnego słabego ucznia tak aby nasz nowy model to H_i = H_ {i-1} + h_i , jaki jest mechanizm, który powinien utrzymywać H_i \ w [0,1] ? A może bardziej trafne pytanie, czy istnieje taki mechanizm?
Więcej informacji o tym, co robię
Próbuję wdrożyć wzmocnienie gradientu, używając drzew regresji. Aby tego uniknąć, należy pomnożyć przez współczynnik , tak że nie spada poniżej zera lub powyżej jeden i wybieram tym zakresie, który minimalizuje funkcję strat.
To pociąga za sobą następujący problem: po kilku rundach mam jeden punkt, który jest doskonale sklasyfikowany, a najlepszy dostępny podział, aby przesunąć klasyfikator w kierunku gradientu, chce przesunąć ten punkt ponad jeden, czego upewniam się, że nie nastąpi ustawienie . Zatem cała następna iteracja wybierze ten sam podział i to samo .
Próbowałem popularnych praktyk regularyzacji
- Zmniejszenie szybkości uczenia się przez pomnożenie przez . To tylko opóźnia problem.
- Podpróbkowanie przestrzeni cech, ale niektóre punkty są bardzo łatwe do sklasyfikowania, zaznaczają prawie każde pole w polu „czy to jest pozytywne?” forma i prawie każdy „dobry podział” pokazuje takie zachowanie.
Myślę, że to nie jest problem z parametrami i powinien być bardziej rozsądny sposób, aby to naprawić. Nie odrzucam możliwości zepsucia mojej implementacji, ale nie znalazłem nic, co mogłoby rozwiązać ten problem.
To, czym manipulujemy, w kontekście utraty logistyki, powinno być prawdopodobieństwem, więc jak tego uniknąć?
Moją intuicją byłoby umieszczenie modelu, który budujemy, , w funkcji sigmoidalnej, tak że jest on ograniczony do , i myślę, że to by działało, ale chcę wiedzieć, czy istnieją inne rozwiązania. Ponieważ wydaje się, że zwiększanie gradientu jest z powodzeniem stosowane w zadaniach klasyfikacji, powinno istnieć „prawidłowe” (tj. Z uzasadnieniem) rozwiązanie.
źródło
Odpowiedzi:
Lubię o tym myśleć analogicznie do przypadku modeli liniowych i ich rozszerzenia na GLM (uogólnione modele liniowe).
W modelu liniowym dopasowujemy funkcję liniową, aby przewidzieć naszą odpowiedź
Aby uogólnić na inne sytuacje, wprowadzamy funkcję link, która przekształca liniową część modelu na skalę odpowiedzi (technicznie jest to link odwrotny, ale myślę, że łatwiej jest o tym myśleć, przekształcając predyktor liniowy w odpowiedź, niż przekształcenie odpowiedzi w predyktor liniowy).
Na przykład model logistyczny używa funkcji sigmoid (lub logit)
a regresja Poissona wykorzystuje funkcję wykładniczą
Aby skonstruować analogię ze wzmocnieniem gradientu, zastępujemy liniową część tych modeli sumą wzmocnionych drzew. Na przykład przypadek gaussowski (analogiczny do regresji liniowej) staje się dobrze znany
gdzie jest naszą sekwencją słabych uczniów. Przypadek dwumianowy jest analogiczny do regresji logistycznej (jak zauważyłeś w odpowiedzi)hi
a wzmocnienie Poissona jest analogiczne do regresji Poissona
Pozostaje pytanie, w jaki sposób można dopasować te wzmocnione modele, gdy włączona jest funkcja link? W przypadku gaussowskim, gdzie link jest funkcją tożsamości, często słyszana mantra dopasowania słabych uczniów do resztek obecnego modelu roboczego działa, ale tak naprawdę nie uogólnia to na bardziej skomplikowane modele. Sztuką jest napisanie funkcji straty, która jest minimalizowana jako funkcja liniowej części modelu (tj. Części formuły GLM).∑iβixi
Na przykład utrata dwumianowa zwykle występuje jako
Dopiero na samym końcu, kiedy chcemy stworzyć prognozy dla użytkownika, zastosujemy funkcję link do końcowej sekwencji słabych uczniów, aby umieścić prognozy na tej samej skali co odpowiedź. Dopasowując model, cały czas pracujemy wewnętrznie w skali liniowej.
źródło
Po niektórych badaniach wydaje się, że moja intuicja i komentarz Alexa R. mają rację.
Zasugerowano to w artykule Addytywna regresja logistyczna: statystyczny pogląd na zwiększenie przez Friedmana, Hastie i Tibshirani, aby zbudować LogitBoost (Wikipedia) , adaptację AdaBoost (Wikipedia) do utraty logistycznej.
Mówiąc bardzo prosto, jeśli możliwe jest przejście od regresji liniowej do regresji logistycznej przez dodanie sigmoidu, to działa również na konwersję wzmocnienia regresji na zwiększenie klasyfikacji.
źródło