多输出与单输出 NN

数据挖掘 机器学习 神经网络 时间序列 lstm rnn
2021-09-16 16:51:15

我正在尝试使用 LSTM 构建一个 5 输入 - 5 输出模型,其中所有输出与输入具有相同的特征,预测在未来。

我的问题是:构建 5 个模型是否更好,每个模型具有相同的 5 个输入,但一次仅预测 5 个序列中的 1 个,还是与构建 1 个模型预测所有 5 个序列相同?换句话说,每个预测序列的准确性是否会因 5 个单独的模型而更高,还是会与具有 5 个输出的 1 个模型相同。

我感到困惑的原因是,在多输出模型的情况下,隐藏层将是相同的;那么该算法将如何优化权重以最小化所有输出序列的误差呢?

2个回答

一般来说,在您尝试使用大量数据并通过强大的统计测试评估它们之前,您无法知道哪个更好。我知道你不会喜欢这个答案,但这就是神经网络的工作方式。希望这有帮助

我假设您的情况是这样的:您收到第一个输入,并尝试预测第二个。然后,您接收到真正的第二个输入并尝试使用第一个和第二个来预测第三个输入,依此类推..

我认为训练 5 个神经网络的方法是最复杂的,因为你必须做 5 次所有事情,构建 5 个训练集和测试集,训练 5 个网络,然后评估 5 个网络。

关于使用 RNN,每次输入网络时,它的隐藏状态都会发生变化,即在您输入第二个输入后,隐藏状态将从前一个状态发生变化,因此输出会有所不同。关于优化,Theano 和 PyTorch 包含 RNN 的实现,因此您不必担心。

最后,由于您有输入的最大大小,也许您可​​以尝试训练一个输入大小为输入大小五倍的常规 NN,并使用填充(如零或其他实际中不存在的值)输入)来填充不包含五个元素的输入。

希望这会有所帮助,但正如其他解决方案所说,您无法知道哪种解决方案会更好,因为它高度依赖于您的数据,但有些解决方案可以更快、更容易实施。