Pau*_*lin 1 regression neural-network non-linear-regression
我目前正在尝试使用神经网络进行回归预测。
但是,我不知道处理此问题的最佳方法是什么,因为我读到有两种不同的方法可以对NN进行回归预测。
1)一些网站/文章建议添加一个线性的最后一层。 http://deeplearning4j.org/linear-regression.html
我认为我的最后一层看起来像:
layer1 = tanh(layer0*weight1 + bias1)
layer2 = identity(layer1*weight2+bias2)
Run Code Online (Sandbox Code Playgroud)
我还注意到,使用此解决方案时,通常会得到一个预测,该预测是批处理预测的平均值。当我将tanh或Sigmoid用作倒数第二层时就是这种情况。
2)其他一些网站/文章建议将输出缩放到[-1,1]
或[0,1]
范围,并使用tanh或S型作为最后一层。
这两种解决方案可以接受吗?应该选择哪一个?
谢谢保罗
我更喜欢第二种情况,在这种情况下,我们使用归一化和S形函数作为输出激活,然后将归一化的输出值缩减为实际值。这是因为,在第一种情况下,要输出较大的值(由于实际值在大多数情况下较大),从倒数第二层到输出层的权重映射必须很大。因此,为了更快地收敛,必须使学习速率更大。但是由于我们使用的学习率较高,因此这也可能导致对较早层的学习有所不同。因此,建议使用归一化的目标值,以使权重较小并且学习迅速。因此,简而言之,如果使用较大的学习率,则第一种方法学习速度较慢,或者可能会发散,另一方面,第二种方法使用起来相对安全并且学习速度较快。
归档时间: |
|
查看次数: |
2871 次 |
最近记录: |