Sélection de modèles dans l'apprentissage hors ligne ou en ligne

11

J'ai essayé d'en savoir plus sur l'apprentissage en ligne ces derniers temps (c'est absolument fascinant!), Et un thème sur lequel je n'ai pas réussi à bien comprendre est de savoir comment penser la sélection de modèles dans des contextes hors ligne et en ligne. Plus précisément, supposons que nous formons un classificateur en ligne, basé sur une série de données fixes . Nous estimons ses caractéristiques de performance via une validation croisée, disons, et nous sélectionnons le meilleur classificateur de cette façon.DSD

Voici à quoi je pensais: comment, alors, procéder pour appliquer à un environnement en ligne? Pouvons-nous supposer que le meilleur trouvé hors ligne fonctionnera également bien en tant que classificateur en ligne? Est-il judicieux de rassembler des données pour former , puis de prendre ce même classificateur et de le «rendre opérationnel» dans un cadre en ligne avec les mêmes paramètres que ceux trouvés sur , ou une autre approche pourrait-elle être meilleure? Quelles sont les mises en garde dans ces cas? Quels sont les principaux résultats ici? Et ainsi de suite.S S S DSSSSD

Quoi qu'il en soit, maintenant que ça existe, je suppose que ce que je recherche, ce sont des références ou des ressources qui m'aideront (et j'espère que d'autres, qui ont pensé à ce genre de chose!) À faire la transition de la pensée uniquement en termes hors ligne, et développer le cadre mental pour réfléchir à la question de la sélection des modèles et de ces questions de manière plus cohérente au fur et à mesure de ma lecture.

tétragramme
la source
Avez-vous eu des pistes utiles ou avez-vous des suggestions à nous faire maintenant? Merci!
user1953384
Je vous suggère de consulter le document de Francesco " arxiv.org/pdf/1406.3816v1.pdf " dans lequel il fait conjointement la sélection et l'optimisation des modèles d'un seul coup.
chandresh
Si vous pouvez contourner le mur de paiement, cela peut être une très bonne référence: cognet.mit.edu/journal/10.1162/089976601750265045 ?
discipulus

Réponses:

1

De toute évidence, dans un contexte de streaming, vous ne pouvez pas diviser vos données en trains et en ensembles de tests pour effectuer une validation croisée. Utiliser uniquement les métriques calculées sur le train initial semble encore pire, car vous supposez que vos données changent et que votre modèle s'adaptera aux changements - c'est pourquoi vous utilisez le mode d'apprentissage en ligne en premier lieu.

Ce que vous pourriez faire, c'est utiliser le type de validation croisée utilisé dans les séries chronologiques (voir Hyndman et Athanasopoulos, 2018 ). Pour évaluer la précision des modèles de séries chronologiques, vous pouvez utiliser une méthode séquentielle, où le modèle est formé sur observations pour prédire le «futur» point temporel. Cela pourrait être appliqué un point à la fois, ou par lots, et la procédure est répétée jusqu'à ce que vous ayez parcouru toutes vos données (voir la figure ci-dessous, tirée de Hyndman et Athanasopoulos, 2018 ).k + 1kk+1

À la fin, vous moyenne (en moyenne arithmétique, mais vous pouvez également utiliser quelque chose comme le lissage exponentiel) les mesures d'erreur pour obtenir l'estimation de précision globale.

entrez la description de l'image ici

Dans un scénario en ligne, cela signifie que vous commencez au point de temps 1 et testez sur le point de temps 2, que vous vous re-entraînez ensuite sur le point de temps 2, pour tester sur le point de temps 3, etc.

Notez qu'une telle méthodologie de validation croisée vous permet de tenir compte de la nature changeante des performances de vos modèles. De toute évidence, à mesure que votre modèle s'adapte aux données et que les données peuvent changer, vous devrez surveiller régulièrement les mesures d'erreur: sinon, cela ne différerait pas beaucoup de l'utilisation d'un train de taille fixe et de jeux de test.

Tim
la source