Nie znalazłem więc żadnej literatury na ten temat, ale wydaje się, że warto coś przemyśleć:
Jakie są najlepsze praktyki w szkoleniu i optymalizacji modeli, jeśli dostępne są nowe obserwacje?
Czy jest jakiś sposób na określenie okresu / częstotliwości ponownego szkolenia modelu, zanim prognozy zaczną się obniżać?
Czy przesadne jest optymalizowanie parametrów pod kątem danych zagregowanych?
Pamiętaj, że nauka niekoniecznie musi odbywać się online. Można chcieć zaktualizować istniejący model po zaobserwowaniu znacznej rozbieżności w nowszych prognozach.
machine-learning
predictive-modeling
optimization
training
użytkownik140323
źródło
źródło
Odpowiedzi:
.pickle
plik i załadować go i trenować dalej, gdy będą dostępne nowe dane. Należy pamiętać, że za model do przewidywania poprawniethe new training data should have a similar distribution as the past data
.The frequency will be dependent on dataset
i nie ma określonego czasu na wypowiedzenie się jako takie.If you observe that your new incoming data is deviating vastly, then it is a good practise to retrain the model
.źródło
Gdy dostępne są nowe obserwacje, istnieją trzy sposoby ponownego przeszkolenia modelu:
Obecnie większość modeli będzie używać partii / mini partii, a wybór rozmiaru partii zależy od zastosowania i modelu. Wybór odpowiedniej wielkości partii jest równoznaczny z wybraniem właściwej częstotliwości, z którą ponownie trenujesz swój model. Jeśli twoja nowa obserwacja ma niewielką wariancję z istniejącymi danymi, sugerowałbym większe partie (być może 256-512), a jeśli wręcz przeciwnie, nowe obserwacje zwykle różnią się znacznie od istniejących danych, użyj małych partii (8-256). Pod koniec dnia wielkość partii przypomina rodzaj hiperparametru, który należy dostroić i który jest specyficzny dla danych
źródło
Twój problem jest objęty metodami uczenia się online. Zakładając, że nadchodzi strumień danych, możesz użyć metody Stochastic Gradient Descent, aby zaktualizować parametry modelu na tym jednym przykładzie.
Jeśli twoja funkcja kosztów to:
Zasadniczo jest to SGD z rozmiarem partii 1.
Jest jeszcze jedna sztuczka, możesz zastosować metodę opartą na oknie / buforze, w której buforujesz niektóre przykłady ze strumienia i traktujesz je jako partię i używasz partii SGD. W takim przypadku równanie aktualizacji stanie się:
Jest to zasadniczo mini-partia SGD.
źródło
Pytanie: POWINNO przeszkolić?
Odpowiedź zależy od tego, co próbuje Twój model i w jakim środowisku jest zastosowane.
Pozwól, że wyjaśnię kilka przykładów:
Załóżmy, że Twój model próbuje przewidzieć zachowanie klientów, np. Jak prawdopodobne jest, że klient kupi Twój produkt, biorąc pod uwagę ofertę dostosowaną dla niego. Oczywiście rynek zmienia się z czasem, zmieniają się preferencje klientów, a konkurenci dostosowują się. Powinieneś również się dostosować, więc musisz okresowo przekwalifikowywać się. W takim przypadku zaleciłbym dodanie nowych danych, ale także pominięcie starych danych, które nie są już istotne. Jeśli rynek szybko się zmienia, powinieneś rozważyć okresowe przekwalifikowanie w oparciu tylko o nowe dane.
Z drugiej strony, jeśli Twój model klasyfikuje obrazowanie (np. Prześwietlenie lub MRI) do warunków medycznych, a model działa dobrze, nie musisz przekwalifikowywać się, jeśli nie nastąpi zmiana technologii lub wiedzy medycznej . Dodanie większej ilości danych nie poprawi się znacznie.
źródło