我应该尝试什么模型来解决这个问题?

数据挖掘 深度学习 时间序列 rnn
2022-02-12 00:16:15

对于我正在处理的汽车数据问题,我需要一些建议。这些车辆每秒钟都会提供一系列代码,这些代码会被存储,但数量可能会有所不同。

例如,在时间步 1,车辆可能会发送 3 个代码:

(1, 2), (3, 5), (7, 9)

并且可以有不同数量的时间步长。(发生错误之前)

现在,其中一些代码具有关联的错误值。例如 (1 , 2) 可能是一个严重错误,表示您的轮胎有问题。但他们中的绝大多数没有这个。这些严重错误中大约有 15 个,而其他代码有 5500 个。

这些代码实际上由两个独立的代码组成。

任务是提前预测是否有可能出现这些代码中的任何一个。

我尝试了什么:

我尝试使用嵌入了所有代码的单层 GRU RNN 网络来做到这一点。我在每一步都预测序列中下一个代码的概率。(将每个代码视为一个步骤)。

我尝试调整神经元数量等参数,但我没有得到任何结果(几个时期后精度低于 5%)。

  • 我该如何改进这个模型?
  • 有什么方法可以让我在每一步都考虑所有这些代码吗?
  • 我可以在这里应用深度学习之外的其他哪些算法?

提前致谢

1个回答

如果我理解正确,您目前尝试在 5500 种可能性中预测下一个代码。我认为有太多的选择可供选择,你不能指望它有好的表现。

由于任务是关于预测 15 个错误代码,我将把问题表示为序列标记问题:每一步的标签要么是“无”(_在序列标记任务中通常表示为“”),要么是 15 个错误代码之一。标签将代表下一步最可能的结果,而不是当前的结果。这样,系统可以使用代码的历史记录(常规特征),而无需预测所有代码,只预测关键代码。请注意,如果可能同时发生多个错误代码,您可能必须选择一个作为标签(也许它们可以按优先级排序?)。

据我所知,序列标记的标准方法是条件随机场(CRF)。在传统方法中,您必须进行一些特征工程:例如,尝试不仅将代码作为特征给出,而且还要给出诸如代码在最后 N 步中发生了多少次等特征。我认为现代方法包括训练 RNN 并使用向量表示作为 CRF 的特征,但我可能不是最新的。