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?
Antworten:
Ich denke, das ist im Allgemeinen ein guter Ansatz. Jedoch:
Die Feinabstimmung Ihres Modells (Online-Lernen) hängt stark vom Algorithmus und Modell ab, wie gut dies funktioniert. Abhängig von Ihrem Algorithmus ist es möglicherweise ratsam, das Ganze neu zu trainieren
Ihr Probenraum kann sich im Laufe der Zeit ändern. Wenn Sie über genügend Daten verfügen, ist es möglicherweise besser, alle paar Tage / Wochen / Monate über das letzte Jahr hinweg Daten umzuschulen. Wenn Ihre alten Samples nicht die aktuelle Situation widerspiegeln und sie enthalten, kann dies Ihre Leistung mehr beeinträchtigen, als die zusätzlichen Samples helfen
Die größte Bedingung ist, ob es getestet wurde und wie viel Ausfallzeit damit verbunden ist. Im Allgemeinen ist es jedoch besser, mehrmals zu tauschen, und dies kann automatisiert werden
quelle
Dies hängt hauptsächlich von der Art des Lernens Ihres ml-Algorithmus ab. Für das Offline-Lernen: Das Training ist sinnvoll, da einige Algorithmen Ihre vollständigen Daten benötigen, um eine bessere Annahme zu generieren. Online-Lernen: Ihr Modell kann auf die neuesten oder neuesten Daten abgestimmt werden, wobei das Modell aktualisiert wird, sobald die Daten eintreffen.
quelle