我正在尝试使用LSTM构建一个5输入-5输出模型,其中所有的输出都是与未来预测的输入相同的特性。
我的问题是:构建5个模型,每个模型具有相同的5个输入,但一次只预测5个序列中的一个,还是与构建一个预测所有5个序列的模型相同?换句话说,如果有5个独立的模型,则每个预测序列的精度会更高,或者它将与具有5个输出的1个模型相同。
造成我困惑的原因是,在多输出模型的情况下,隐藏层是相同的;那么,该算法将如何优化权重,从而将所有输出序列的误差降到最小?
发布于 2018-09-18 23:07:46
一般来说,你不可能知道哪一个更好,除非你用大量的数据来尝试,然后用一个强大的统计测试来评估它们。我知道你不会喜欢这个答案,但这就是神经网络的工作原理。希望这能帮上忙
发布于 2018-09-18 23:37:11
我假设您的情况是这样的:您收到第一个输入,并尝试预测第二个输入。然后,您将收到真实的第二输入,并尝试使用第一和第二输入来预测第三输入,等等。
我认为训练5个神经网络的方法是最复杂的,因为你必须做5次,建立5个训练集和测试集,训练5个网络,然后评估5个网络。
在使用RNN时,输入到网络的每个输入都会改变网络的隐藏状态,即输入第二个输入后,隐藏状态将与前一个状态发生变化,因此输出将有所不同。关于优化,Theano和PyTorch包含RNN的实现,所以您不必担心它。
最后,由于输入有最大大小,也许可以尝试训练一个输入大小为输入大小五倍的常规NN,并在输入不包含这五个元素时使用填充(例如零或其他不存在于实际输入中的值)来填充输入。
希望这能有所帮助,但正如另一种解决方案所说,您不知道哪种解决方案会更好地工作,因为它高度依赖您的数据,但有解决方案可以更快,更容易实现。
https://datascience.stackexchange.com/questions/38447
复制相似问题