简单机器学习问题。可能有很多种方式来解决这个问题:
有一个无限的流,其中有4种可能的事件:
'event_1', 'event_2', 'event_3', '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库很好,但任何东西都可以。
更新:如果每轮可能同时发生多个事件,那会不会改变解决方案?