Modelle für maschinelles Lernen in der Produktionsumgebung

8

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 xdt1traindt1testdt1Xdt1dt1+XDatax. In meinem aktuellen Ansatz nehme ich Zufallsstichproben aus (zB 80/20 Split),DATAx

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 )80%DATAxtrainxdt120%DATAxtestxtestdt1

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:

  1. Gibt es dabei offensichtliche Nachteile?
  2. 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?
  3. Was sollte die Voraussetzung für den Austausch des vorhandenen bereitgestellten Modells gegen das neu optimierte Modell sein?
Wegbereiter
quelle
Entschuldigen Sie bitte einen Neuling. Sie müssen einen ganz besonderen Datensatz haben, damit er beschriftet wird, ja? Die überwachte Kennzeichnung ist von Natur aus kostspielig und langsam.
Xtian
@xtian Die Kosten für die überwachte Kennzeichnung und die dafür erforderliche Zeit hängen erheblich vom Problem ab. Nehmen wir an, Sie hatten ein ML-Modell, das vorausgesagt hat, wenn jemand in ein Autohaus kommt, wird er das Auto kaufen oder nicht (gegebene Personenattribute)? Ihre beschriftete Datenerfassung ist in diesem Fall relativ schnell. An einem Tag erhalten Sie möglicherweise mehr als 100 markierte Proben.
Wegbereiter

Antworten:

5

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

Jan van der Vegt
quelle
Danke für die Antwort ! Ich verwende derzeit Ensemble-Methoden wie Random Forest und Gradient Boosted Trees. Der Grund, warum ich sie nicht erwähnt habe, da ich wissen wollte, wie gut der Ansatz für die Art des Algorithmus agnostisch ist.
Wegbereiter
Glauben Sie nicht, dass der Probenraum mit einer Gewichtung der Beobachtungen behandelt werden kann? eine Art Zeitbegriff aufbauen.
Wegbereiter
@trailblazer Das Hinzufügen von Bäumen zu Ihrem Wald ist ein anständiger Ansatz. Ich denke, ich habe ihn nie ausprobiert, aber es sollte Literatur darüber geben. Suchen Sie nach Online-Lernen. Algorithmusunabhängig ist nicht möglich, da einige Algorithmen nur über den gesamten Satz lernen können.
Jan van der Vegt
@trailblazer in Bezug auf die Frage nach dem Probenraum, die für einige Algorithmen funktionieren könnte, aber nicht für andere. Dies hängt wiederum von der Möglichkeit des Online-Lernens ab, aber Sie müssten auch weiter zunehmen oder alles neu trainieren. Sie können das Gewicht nicht rückwirkend verringern ältere Proben ohne Umschulung
Jan van der Vegt
0

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.

Yash Kumar
quelle