RNN的不稳定行为

时间:2019-03-12 07:05:47

标签: python tensorflow machine-learning keras recurrent-neural-network

我正在用一些财务数据来训练LSTM模型。由于是真实贸易数据,因此无法透露数据的详细信息。我面临的问题是,在训练Keras时,会打印出有关训练和测试损失,准确性的信息的日志。在这些日志中,我的测试准确性为56%,有时甚至可以达到。但是为了进行评估,我创建了一个简单的函数,可以对测试数据进行预测,然后使用sklearn准确性评分打印出预测的准确性。现在,此准确度为24%,有时甚至更差。可能是什么原因呢?我100%确定测试数据是相同的,并且我的代码中没有错误。我该怎么做才能获得良好的结果?我已经尝试过调整学习速度,模型架构,图层,优化器,渐变剪切等,但是仍然得到相同的行为。

我正在添加日志和混淆矩阵的图像。 enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

  

我100%确保测试数据相同,并且我的代码中没有错误。

如果我错了,请纠正我:如果我理解正确,那么您已将数据分为两部分:训练和测试。您正在使用Keras度量标准对测试数据执行验证,然后还使用sklearn进行验证,这将返回不同的结果。自定义损失/指标函数似乎存在回归问题。

您是否认为手边会有不同的精度计算公式? 例如,一个公式可以是min(prediction, target)/max(prediction, target),而另一个公式可以是1-(abs(prediction - target)/target)