什么类型的机器学习算法更适合根据以前的访问来预测船舶的下一个目的地?

时间:2016-05-20 23:09:04

标签: algorithm machine-learning neural-network artificial-intelligence bayesian-networks

我正在研究机器学习算法,以便研究哪种类型的算法更适合此类问题。

问题:根据我们需要预测哪个港口将成为下一个目的地,有可用的船舶航行历史(并且可以用作训练数据)。 我仍然不确定这可归类为什么类型的问题以及哪种算法最适合开始(贝叶斯网络,神经网络,决策树等)。

2 个答案:

答案 0 :(得分:3)

取决于初始数据集中的内容。如果它只是一个停靠港口的历史,也许用Q-learner之类的东西建立马尔可夫链将是你最好的选择。如果您有补充日期(货物类型,季节等),决策树将是一个不错的选择。对于这种类型的数据集,我会远离神经网络。

有一点需要注意的是,这种类型的数据很容易过度拟合,因此您的模型可能只会在给定日期的情况下了解船舶的名称及其相应的路线。它将为您提供原始集合的完美结果,但完全无法预测未来的路线。

为了避免过度拟合,我会使用功能。尝试将日期分解为较粗糙的东西(如夏季/秋季),丢弃任何过于具体的东西(船名)。

答案 1 :(得分:2)

我强烈建议你隐藏马尔可夫模型或循环神经网络(如LSTM或GRU)。这些模型可能比处理静态(非顺序)输入的算法更好地捕获数据的连续规律。我首先尝试学习HMM,因为通常如果它能够很好地捕获所需的分发,那么从数据中提取知识和见解比从RNN中获取要容易得多。 HMM的另一个优点是设计模型相对容易,该模型利用了您对数据的先验知识。如果HMM的结果不能满足您的要求,请尝试使用RNN。它们在表现力方面更强大,但它是黑箱模型的典型例子。很难检查您的网络真正学到了什么,并从数据中获得更多的见解。但如果你真正关心的是准确性,那么试试RNN。他们真的很强大。

更新: 由于可能对预测有用的其他信息,我还建议您考虑马尔可夫模型和贝叶斯推理的混合。在这种情况下,您可以建立马尔可夫模型,其中每个州代表一个港口,但您下一次过渡的概率分布不仅取决于您当前正在访问的港口,还取决于您拥有的其他信息。在这种情况下,工作流程如下:

  1. 首先,您尝试通过设置由一组参数theta参数化的分布族来模拟状态转换和其他信息之间的依赖关系。
  2. 在建模阶段之后,您试图通过Bayessian推理和EM算法推断出参数的最佳值。
  3. 有这些模型的使用示例,例如here但通常取得成功取决于当前模型状态与其他信息之间依赖关系的良好建模。