python - 如何从神经网络获得无界的连续输出?
问题描述
我目前正在构建一个神经网络来预测温度等特征。所以这个输出可能是正值或负值。我正在规范化我的输入数据并在每个隐藏层中使用 tanh 激活函数。
我应该对输出层使用线性激活函数以获得无界的连续输出,还是应该对输出层使用 tanh 然后对输出进行逆归一化?有人可以解释一下吗?我认为我对此的理解是不正确的。
解决方案
你实际上是在正确的方向
选项1:
您需要先将温度标准化,然后将其输入模型,假设您的温度范围为 [-100,100],因此将其转换为 [-1,1] 的比例,然后在目标变量中使用此比例版本的 temp。
在预测时只需对输出进行逆变换,您将获得所需的结果。
选项2:
您创建了一种回归类型的神经网络,并且不对输出层应用任何激活函数(意味着对于可能为 +ve 或 -ve 的值没有键)。在这种情况下,您不需要标准化这些值。
样本 NN 规范:
输入层==> # 每个特征一个神经元
隐藏层==>relu/selu 作为激活函数| # 神经元/隐藏层数根据您的要求
输出层==> 1 个神经元/不需要激活函数
推荐阅读
- javascript - 无法 console.log 分配给获取的 API 的变量是否正常?
- linux - awk regx 不适用于文件中的字符串
- amazon-ec2 - cloud-init:延迟 disk_setup 和 fs_setup
- javascript - Webpack 无法加载高阶组件?
- scala - 关于 spark scala Array() 的说明
- python - 递归中的变量位置
- c - Strok 没有正确标记单词
- r - 使用 DescTools::medianCI() 时中位数周围的 90% 置信区间
- oracle - 气流数据库连接即席查询出现错误“ORA-12571: TNS:packet writer failure”
- python-3.x - 用多条形图绘制多标签(值)