Powiedzmy, że mam klasyfikator regresji logistycznej. Podczas normalnego uczenia wsadowego stosuję termin regulizujący, aby zapobiec nadmiernemu dopasowaniu i utrzymać moją wagę na niskim poziomie. Normalizowałbym również i skalował moje funkcje.
W ustawieniach do nauki online otrzymuję ciągły strumień danych. Z każdym przykładem wykonuję aktualizację spadku gradientu, a następnie ją odrzucam. Czy mam używać terminów skalowania i regulowania funkcji w nauczaniu online? Jeśli tak, jak mogę to zrobić? Na przykład nie mam zestawu danych treningowych do skalowania. Nie mam również ustawionego sprawdzania poprawności parametru regularyzacji. Jeśli nie, dlaczego nie?
Podczas nauki online stale otrzymuję strumień przykładów. Dla każdego nowego przykładu robię prognozy. Następnie w następnym kroku otrzymuję rzeczywisty cel i aktualizuję gradient zejścia.
--power_t
i--initial_t
są to opcje globalne (nie dla poszczególnych funkcji).--sgd
powraca tylko do „klasycznego” SGD. IOW:--sgd
tylko anuluje--invariant
,--normalized
i--adaptive
(co oznacza oddzielne stawki uczenia się według funkcji)W tym artykule opisano technikę regularyzacji online, którą stosują do różnych algorytmów, w tym regresji logistycznej: http://ai.stanford.edu/~chuongdo/papers/proximal.pdf
źródło
tak, z pewnością potrzebujesz regularyzacji ... pomaga to również zejściem gradientu (i zainicjalizować tempo uczenia się do 1 / C)
patrz np. artykuł SGD-QN http://leon.bottou.org/papers artykuły bottou
tak naprawdę nie wyjaśniłeś, co masz na myśli przez naukę online: np. za każdy punkt otrzymujesz wartość docelową? Nie wiem, jak byś to uwzględnił ... szukając C ... Myślę, że miałbyś wielu klasyfikatorów z różnymi warunkami regularyzacji i śledziłbyś błąd prognozy (przed aktualizacją wag)
źródło