首页 > 解决方案 > 如何从神经网络获得无界的连续输出?

问题描述

我目前正在构建一个神经网络来预测温度等特征。所以这个输出可能是正值或负值。我正在规范化我的输入数据并在每个隐藏层中使用 tanh 激活函数。

我应该对输出层使用线性激活函数以获得无界的连续输出,还是应该对输出层使用 tanh 然后对输出进行逆归一化?有人可以解释一下吗?我认为我对此的理解是不正确的。

标签: pythonmachine-learning

解决方案


你实际上是在正确的方向

选项1:

您需要先将温度标准化,然后将其输入模型,假设您的温度范围为 [-100,100],因此将其转换为 [-1,1] 的比例,然后在目标变量中使用此比例版本的 temp。

在预测时只需对输出进行逆变换,您将获得所需的结果。

选项2:

您创建了一种回归类型的神经网络,并且不对输出层应用任何激活函数(意味着对于可能为 +ve 或 -ve 的值没有键)。在这种情况下,您不需要标准化这些值。

样本 NN 规范:

输入层==> # 每个特征一个神经元

隐藏层==>relu/selu 作为激活函数| # 神经元/隐藏层数根据您的要求

输出层==> 1 个神经元/不需要激活函数


推荐阅读