Алгоритм машинного обучения для прогнозирования порядка событий?

Простой вопрос машинного обучения. Вероятно, существует множество способов решить эту проблему:

Естьбесконечный поток из 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 хороши, но все подойдет.

Обновить: А что, если в каждом раунде одновременно может происходить более одного события? Это меняет решение?

Ответы на вопрос(5)

Ваш ответ на вопрос