Nehmen wir an, ein Modell wurde am Datum Verwendung der verfügbaren beschrifteten Daten trainiert , aufgeteilt in Training und Test, dh t r a i n d t 1 , t e s t d t 1 . Dieses Modell wird dann in der Produktion eingesetzt und macht Vorhersagen über neue eingehende Daten. Einige X Tage vergehen, und es gibt eine Reihe von beschrifteten Daten, die zwischen d t 1 und d t 1 + X Tagen gesammelt werden. Nennen wir es D a t a x. In meinem aktuellen Ansatz nehme ich Zufallsstichproben aus (zB 80/20 Split),
Also, von D A T A x = t r a i n x (neue Daten zur Feinabstimmung des vorhandenen Modells, das auf d t 1 trainiert wurde ) 20 % von D A T A x = t e s t x (neu Daten hinzugefügt zu t e s t d t 1 )
Dieser Vorgang der Feinabstimmung wird im Laufe der Zeit wiederholt.
Auf diese Weise erhalte ich einen ständig wachsenden Testsatz und verhindere, dass das gesamte Modell umgeschult wird (im Wesentlichen kann ich die alten Daten wegwerfen, wie das Modell daraus gelernt hat). Das neu generierte Modell ist nur eine fein abgestimmte Version des alten.
Ich habe einige Fragen zu diesem Ansatz:
- Gibt es dabei offensichtliche Nachteile?
- Würde das Modell jemals nach einiger Zeit komplett umgeschult werden müssen (alles, was zuvor gelernt wurde, vergessen und das Modell mit neuen Zug- / Test-Splits trainiert), oder kann der oben beschriebene Ansatz auf unbestimmte Zeit fortgesetzt werden?
- Was sollte die Voraussetzung für den Austausch des vorhandenen bereitgestellten Modells gegen das neu optimierte Modell sein?