重新调整神经网络的输入功能(回归)

时间:2013-10-11 23:28:56

标签: machine-learning neural-network regression

在神经网络中,对于回归问题,我们使用输出激活函数一致地重新缩放连续标记,即如果使用逻辑sigmoid则将它们标准化,或者如果使用tanh则调整它们的标准化。最后,我们可以恢复原始范围,但重新规范输出神经元。

我们还应该规范输入功能吗?如何?例如,如果隐藏激活与输出激活不同?例如。如果隐藏激活是TANH并且输出激活是LOGISTIC,输入要素是否应该归一化为[0,1]或[-1,1]间隔?

1 个答案:

答案 0 :(得分:2)

简短的回答是肯定的,你也应该缩放输入值,尽管它背后的原因与输出神经元的原因完全不同。激活函数只是使一些输出值不可达(sigmoid只能输出[0,1]中的值,tanh在[-1,1]中),而输入不是这样(所有激活函数都在整个R域上定义) )。执行缩放输入以加速收敛(因此您无法进入激活函数的“平坦”部分),但没有确切的规则。至少有三种可能性被广泛使用:

  • 线性缩放到[0,1]
  • 线性缩放到[-1,1]
  • 归一化为均值= 0和std = 1

对于某些特定数据集,每个都有自己的优缺点。据我所知,最后一个具有最好的统计特性,但它仍然是神经网络背景下的“经验法则”。