【发布时间】:2011-02-01 05:58:29
【问题描述】:
简单的机器学习问题。可能有很多方法可以解决这个问题:
有 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 库都不错,但什么都可以。
更新:如果每一轮可以同时发生多个事件怎么办。这会改变解决方案吗?
【问题讨论】:
标签: python compression machine-learning neural-network evolutionary-algorithm