基于船舶之前的访问记录,预测其下一目的地的最适合的机器学习算法类型是什么?

我正在研究机器学习算法,以探讨哪类算法更适合解决此类问题。

问题:有船舶航行历史数据可用(可作为训练数据),基于这些数据,我们需要预测船舶的下一个目的港。我还不确定这类问题应该归为哪种类型,以及应该从哪些算法开始尝试(如贝叶斯网络、神经网络、决策树等)。


回答:

我强烈建议你使用隐马尔可夫模型或递归神经网络(如LSTM或GRU)。这些模型可能比那些设计用于处理静态(非序列)输入的算法更能捕捉到数据的序列规律。我建议首先尝试学习HMM,因为如果它能很好地捕捉到所需的分布,那么从数据中提取知识和见解会比从RNN中更容易。HMM的另一个优势是相对容易设计利用你对数据的先验知识的模型。如果HMM的结果不满意,那么可以尝试RNN。RNN在表达能力上更为强大,但它是经典的黑盒模型。很难检查你的网络真正学到了什么,并从数据中获得额外的见解。但如果你真正关心的是准确性,那么尝试RNN。它们确实很强大。

更新:由于可能有助于预测的额外信息,我还建议你考虑混合使用马尔可夫模型和贝叶斯推断。在这种情况下,你可以构建一个马尔可夫模型,其中每个状态代表一个港口,但下一个状态的概率分布不仅取决于你当前访问的港口,还取决于你拥有的额外信息。在这种情况下,工作流程如下:

  1. 首先,你尝试通过设置一组由参数theta参数化的分布族来建模状态转换与额外信息之间的依赖关系。
  2. 在建模阶段之后,你尝试通过贝叶斯推断和EM算法来推断参数的最佳值。

使用此类模型的例子可以在这里找到,但通常取得成功取决于对模型当前状态与额外信息之间依赖关系的良好建模。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注