如何从神经网络中获得无界连续输出?

我目前正在构建一个神经网络来预测诸如温度的特征。因此,输出可以是正值或负值。我对输入数据进行了归一化处理,并且在每个隐藏层中使用了tanh激活函数。

我应该在输出层使用线性激活函数来获得无界连续输出,还是应该在输出层使用tanh然后对输出进行反归一化处理?能否有人解释一下,我觉得我的理解可能不对。


回答:

你实际上是走在正确的方向上的

选项1:

你需要先归一化温度,然后将其输入到模型中。假设你的温度范围在[-100,100]之间,将其转换为[-1,1]的范围,然后在你的目标变量中使用这个缩放后的温度值。

在预测时,只需对输出进行反转换,你就会得到你想要的结果。

选项2:

你可以构建一个回归类型的神经网络,并且不对输出层应用任何激活函数(意味着值没有限制,可以是正值或负值)。在这种情况下,你不需要归一化这些值。

示例神经网络规格:

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

隐藏层==>使用relu/selu作为激活函数| 神经元数量/隐藏层数量根据你的需求设定

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

Related Posts

如何对SVC进行超参数调优?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

如何在初始训练后向模型添加训练数据?

我想在我的scikit-learn模型已经训练完成后再…

使用Google Cloud Function并行运行带有不同用户参数的相同训练作业

我正在寻找一种方法来并行运行带有不同用户参数的相同训练…

加载Keras模型,TypeError: ‘module’ object is not callable

我已经在StackOverflow上搜索并阅读了文档,…

在计算KNN填补方法中特定列中NaN值的”距离平均值”时

当我从头开始实现KNN填补方法来处理缺失数据时,我遇到…

使用巨大的S3 CSV文件或直接从预处理的关系型或NoSQL数据库获取数据的机器学习训练/测试工作

已关闭。此问题需要更多细节或更清晰的说明。目前不接受回…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注