我在一个时间序列中有多个特征,并且想预测下一个时间步的相同特征的值。我已经训练了一个运行良好的 LSTM,但训练时间有点长。
所以现在我的问题是:使用 CNN 代替 LSTM 是否合理,即使它是一个时间序列?是否有任何指标表明您何时不应该切换到 CNN?
我在一个时间序列中有多个特征,并且想预测下一个时间步的相同特征的值。我已经训练了一个运行良好的 LSTM,但训练时间有点长。
所以现在我的问题是:使用 CNN 代替 LSTM 是否合理,即使它是一个时间序列?是否有任何指标表明您何时不应该切换到 CNN?
是的。卷积神经网络适用于任何类型的数据,其中相邻信息被认为与数据分析相关。
CNN 非常适用于图像,其中数据在空间中是相关的,在视频中,相关性在空间和时间上都发生。
CNN 在某种意义上是有限的:它们具有刚性、前向的结构。
如果您尝试执行:
简单的前馈神经网络将失败(由于维度不一致)。因此,在这种情况下,您应该使用递归神经网络,例如 LSTM。
时间序列表示数据的时间序列 - 通常对于序列数据 LSTM 是首选的 DNN 算法,因为它可以更好地处理序列。当您想要捕获图像中的邻域信息时,CNN 通常会变得很有用。
话虽如此,请参阅这篇关于如何将 CNN 用于多变量时间序列的文章:[https://machinelearningmastery.com/how-to-develop-convolutional-neural-network-models-for-time-series-forecasting/# :~:text=%5B%5B101.67965%5D%5D-,Multivariate%20CNN%20Models,Multiple%20Parallel%20Series]
通常,您需要考虑数据的行为方式。如果你的数据依赖于它的邻居,CNN 可能是一个解决方案。如果它像一个序列并且与它的邻居密切相关,那么 RNN 可能会很好。如果您发现需要更长的内存,则需要 LSTM。所以这一切都取决于你在做什么。