神经网络中回归模型的输出层激活函数

时间:2017-10-11 05:28:03

标签: neural-network regression activation-function

这些天我一直在尝试使用神经网络。我遇到了一个关于要使用的激活功能的一般问题。这可能是一个众所周知的事实,但我无法正确理解。我见过的很多例子和论文都在研究分类问题,他们要么使用sigmoid(在二进制情况下)或softmax(在多类情况下)作为输出层中的激活函数,这是有道理的。但我还没有看到回归模型输出层中使用的任何激活函数。

所以我的问题是,我们不会在回归模型的输出层中使用任何激活函数,因为我们不希望激活函数限制或限制值。输出值可以是任意数字,也可以是数千,因此像sigmoid到tanh的激活函数不会有意义。或者还有其他原因吗?或者我们实际上可以使用一些针对这类问题的激活函数?

3 个答案:

答案 0 :(得分:10)

对于线性回归类型的问题,您可以简单地创建没有任何激活函数的输出图层,因为我们对数值感兴趣而没有任何变换。

更多信息:

https://machinelearningmastery.com/regression-tutorial-keras-deep-learning-library-python/

用于分类: 你可以使用sigmoid,tanh,Softmax等。

答案 1 :(得分:8)

如果你有一个Sigmoid作为NN输出层的激活函数,你永远不会得到任何小于0且大于1的值。

基本上,如果您尝试预测的数据分布在该范围内,您可以使用Sigmoid函数进行测试,并测试您的预测是否在您的训练集上表现良好。

更常见的是,在预测数据时,您应该以最有效的方式提出代表您数据的函数。

因此,如果你的真实数据不适合Sigmoid函数你必须考虑任何其他函数(例如一些多项式函数,或周期函数或任何其他函数或它们的组合),但你也应该总是关心你有多容易将建立您的成本函数并评估衍生品。

答案 2 :(得分:1)

除非使用合理的假设,否则只要使用线性激活函数而不限制输出值范围即可。