Question simple sur l'apprentissage automatique. Il y a probablement de nombreuses façons de la résoudre :
Il existe un infini flux de 4 événements possibles :
'event_1', 'event_2', 'event_4', 'event_4'
Les événements ne se succèdent pas dans un ordre totalement aléatoire. Nous supposerons qu'il existe des schémas complexes dans l'ordre d'apparition de la plupart des événements, et que le reste des événements est simplement aléatoire. Nous ne connaissons cependant pas ces modèles à l'avance.
Après la réception de chaque événement, je veux prédire quel sera l'événement suivant en me basant sur l'ordre dans lequel les événements sont arrivés dans le passé. Ma question est donc la suivante : Quel algorithme d'apprentissage automatique dois-je utiliser pour ce prédicteur ?
Le prédicteur sera alors informé de l'événement suivant :
Predictor=new_predictor()
prev_event=False
while True:
event=get_event()
if prev_event is not False:
Predictor.last_event_was(prev_event)
predicted_event=Predictor.predict_next_event(event)
La question se pose de savoir quelle durée d'historique le prédicteur doit conserver, puisqu'il ne sera pas possible de conserver un historique infini. Je vous laisse le soin de répondre à cette question. La réponse ne peut pas être infinie pour des raisons pratiques.
Je pense donc que les prédictions devront être faites avec une sorte d'historique glissant. L'ajout d'un nouvel événement et l'expiration d'un ancien événement devraient donc être plutôt efficaces, et ne pas nécessiter la reconstruction de l'ensemble du modèle de prédiction, par exemple.
Un code spécifique, au lieu de documents de recherche, ajouterait pour moi immense valeur à vos réponses. Les bibliothèques Python ou C sont bien, mais n'importe quoi fera l'affaire.
Merci !
Mise à jour : Et si plus d'un événement pouvait se produire simultanément à chaque tour. Cela change-t-il la solution ?