Disons qu'un modèle a été formé à la date utilisant les données étiquetées disponibles, divisé en formation et test, c'est-à-dire , test_ {dt1} . Ce modèle est ensuite déployé en production et fait des prédictions sur les nouvelles données entrantes. Certains jours X passent et il y a un tas de données étiquetées qui sont collectées entre dt1 et dt1 + X jours, appelons-le Data_x . Dans mon approche actuelle, je prends des échantillons aléatoires de DATA_x (par exemple pour 80/20 split),
Donc, de = (nouvelles données utilisées pour affiner le modèle existant formé sur ) de = (nouvelles données ajoutées à )
Ce processus de réglage fin s'est répété au fil du temps.
En faisant cela, j'obtiens un ensemble de tests en constante expansion, ainsi que j'empêche de recycler l'ensemble du modèle (essentiellement, je peux jeter les anciennes données comme le modèle en a appris). Le nouveau modèle généré n'est qu'une version affinée de l'ancien.
J'ai quelques questions concernant cette approche:
- Y a-t-il des inconvénients évidents à faire cela?
- Le modèle devra-t-il jamais être complètement recyclé (en oubliant tout ce qui a été appris auparavant et en entraînant le modèle avec de nouveaux trains / essais fractionnés) après un certain temps ou l'approche que j'ai décrite ci-dessus peut-elle continuer indéfiniment?
- Quelle devrait être la condition pour échanger le modèle déployé existant avec le modèle nouvellement affiné?
Réponses:
Je pense que c'est une bonne approche en général. Toutefois:
Le réglage fin de votre modèle (apprentissage en ligne) dépend beaucoup de l'algorithme et du modèle de fonctionnement. Selon votre algorithme, il pourrait être judicieux de recycler le tout
Votre espace échantillon peut changer au fil du temps. Si vous avez suffisamment de données, il est peut-être préférable de vous recycler tous les quelques jours / semaines / mois au cours de la dernière année seulement. Si vos anciens échantillons ne représentent pas la situation actuelle, le fait de les inclure peut nuire davantage à vos performances que l'aide des échantillons supplémentaires.
La plus grande condition est de savoir s'il est testé et combien de temps d'arrêt cela implique, mais en général, l'échange de plusieurs fois est préférable, et cela peut être automatisé
la source
Cela dépend principalement du type d'apprentissage de votre algorithme ml. Pour l'apprentissage hors ligne: la re-formation de l'ensemble est sage car certains algorithmes nécessitent vos données complètes pour générer une meilleure hypothèse. Apprentissage en ligne: votre modèle peut être affiné avec les données récentes ou récentes avec mise à jour du modèle à mesure que les données arrivent.
la source