Простой вопрос машинного обучения. Вероятно, существует множество способов решить эту проблему:
Существует поток бесконечный из 4 возможных событий:
'event_1', 'event_2', 'event_4', 'event_4'
События не входят в совершенно случайный порядок. Мы предположим, что в порядке, в котором происходят большинство событий, есть несколько сложных шаблонов, а остальные события просто случайны. Мы не знаем шаблонов раньше времени.
После того, как каждое событие получено, я хочу предсказать, какое следующее событие будет основано на порядке, в котором события были в прошлом. Поэтому мой вопрос: Какой алгоритм машинного обучения я должен использовать для этого предиктора?
Затем будет предсказано, какое следующее событие было на самом деле:
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)
Возникает вопрос о том, как долго история, которую должен поддерживать предсказатель, поскольку сохранение бесконечной истории будет невозможно. Я оставлю это вам ответить. Ответ не может быть бесконечным, хотя для практичности.
Поэтому я считаю, что предсказания должны быть сделаны с какой-то подвижной историей. Поэтому добавление нового события и истечение старого события должно быть довольно эффективным и не требует, например, восстановления всей модели прогнозирования.
Конкретный код вместо исследовательских статей добавит для меня огромное значение для ваших ответов. Библиотеки Python или C хороши, но что-то будет делать.
Обновление: И что, если в каждом раунде может происходить несколько событий одновременно. Изменило ли это решение?