如何将 RNN 转换为回归网络?

Posted

技术标签:

【中文标题】如何将 RNN 转换为回归网络?【英文标题】:How to convert RNN into a regression net? 【发布时间】:2016-04-06 19:16:34 【问题描述】:

如果输出是一个 tanh 函数,那么我会得到一个介于 -1 和 1 之间的数字。

如何将输出转换为我的 y 值的比例(现在恰好在 15 左右,但会因数据而异)?

或者我是否仅限于在某种已知范围内变化的函数...?

【问题讨论】:

【参考方案1】:

只需删除 tanh,您的输出将是一个不受限制的数字。您的误差函数应该是平方误差。

如果您的框架没有自动完成,您可能需要更改反向道具的梯度计算。

编辑添加:您几乎肯定希望在循环连接之间保留 tanh(或其他一些非线性),因此仅针对输出连接将其删除。

【讨论】:

啊,很好。如果我有一个 LSTM 网络,我需要在 LSTM 之上添加一层,而不需要激活函数? 不是故意让这个挂这么久的。【参考方案2】:

在大多数用于分类的 RNN 中,大多数人在其 LSTM 或 tanh 层之上使用 softmax 层,因此我认为您可以仅用线性输出层替换 softmax。这就是一些人对常规神经网络和卷积神经网络所做的事情。你仍然会有来自隐藏层的非线性,但你的输出不会被限制在某个范围内,例如 -1 和 1。成本函数可能是像 larspars 提到的平方误差。

【讨论】:

以上是关于如何将 RNN 转换为回归网络?的主要内容,如果未能解决你的问题,请参考以下文章

循环神经网络LSTM RNN回归:sin曲线预测

如何将 Pandas Dataframe 转换为 Keras RNN 以解决多变量分类问题

LSTM回归预测基于matlab主成分分析结合BiLSTM数据回归预测含Matlab源码 2276期

CNN(卷积神经网络)RNN(循环神经网络)DNN(深度神经网络)

word2vec 的 RNN 模型 (GRU) 到回归不学习

如何将回归数据转换为分类数据? [关闭]