2024-10-04 03:25:31 发布
网友
我在看这篇文章https://www.analyticsvidhya.com/blog/2018/10/predicting-stock-price-machine-learningnd-deep-learning-techniques-python/。在
首先,我尝试使用本文中的数据,即https://s3-ap-south-1.amazonaws.com/av-blog-media/wp-content/uploads/2019/03/NSE-TATAGLOBAL11.csv。脚本生成的结果与文章相同。在
然后,我试图从雅虎财经下载另一个数据集。数据集更大(文章示例数据集中有2805行而不是1000多行)。但是,在使用LSTM方法后,我将得到的损失作为nan。为什么?如何解决问题?在
按以下步骤操作:
通过分位数规范化来规范化数据,严格地说,在训练数据上而不是在整个数据集上计算这种转换。
通过增加辍学率或在权重中添加L1和L2惩罚来添加正则化。L1正则化类似于特征选择。
如果这些仍然没有帮助,那么减小网络的大小,以减少导致列车数据较少的网络参数。这并不总是最好的主意,因为它会损害性能。
最后,增加批量大小,有可能提高优化的稳定性。
您正在使用的数据很可能包含nan。删除这些行或用适当的值填充这些行可以解决这个问题。在
nan
您可以使用np.isnan(X)检查nan
np.isnan(X)
按以下步骤操作:
通过分位数规范化来规范化数据,严格地说,在训练数据上而不是在整个数据集上计算这种转换。
通过增加辍学率或在权重中添加L1和L2惩罚来添加正则化。L1正则化类似于特征选择。
如果这些仍然没有帮助,那么减小网络的大小,以减少导致列车数据较少的网络参数。这并不总是最好的主意,因为它会损害性能。
最后,增加批量大小,有可能提高优化的稳定性。
您正在使用的数据很可能包含
nan
。删除这些行或用适当的值填充这些行可以解决这个问题。在您可以使用
np.isnan(X)
检查nan
相关问题 更多 >
编程相关推荐