使用Python Tensorflow进行预测和预测

时间:2018-07-18 07:18:55

标签: python python-3.x algorithm tensorflow jupyter-notebook

我创建了一个预测模型,并在其中使用了由tensorflow库在Python中提供的RNN。这是我创建并尝试的完整代码:

Jupyter Notbook of the Code

但是我有疑问。
1)RNN是否对我要预测的内容正确?

2)是否可以尝试更好的算法?

3)谁能建议我如何使用张量流模型给出多个输入并获得必要的输出?谁能指导我。

我希望我的观点很清楚。请告诉我是否还有其他要求。

1 个答案:

答案 0 :(得分:1)

有疑问是正常的,但是您应该在寻求建议之前尝试对它们进行衡量。如果您没有明确的要改进的地方,那么您不太可能会得到更好的改善。

  

1)RNN是否对我要预测的预测正确?

是的。在这里适当使用RNN。如果您不太在乎具有任意长度的输入序列,还可以尝试将它们强制为固定大小,然后在顶部应用卷积(请参阅卷积神经网络),甚至尝试使用更简单的DNN。

问自己一个更重要的问题是,您是否有正确的输入,以及是否有足够的培训数据来学习希望学习的东西。

  

2)我可以尝试更好的算法吗?

可能没有。如我所说,RNN似乎适合解决此问题。请尝试进行一些超参数调整,以确保您不会偶然选择不理想的配置。

  

3)谁能建议我如何使用张量流模型给出多个输入并获得必要的输出?谁能指导我。

处理可变长度输入的常用方法是设置最大长度,并填充较短的示例,直到它们达到该长度。最大长度可以是您选择的变量,也可以动态将其设置为批次中的最大长度。仅因为内部操作是分批完​​成的,才需要这样做。您可以选择所需的结果。选择最后一个是合理的(模型将仅需学习传播填充值的状态)。另一个合理的做法是,将最后一个有意义的值输入到RNN后,选择第一个。

看看您的代码,我会改进一件事:

我将不计算最后一个值的损失,而是对系列中的所有值进行计算。这为您的模型提供了更多的训练数据,而性能几乎没有下降。