gpt4 book ai didi

machine-learning - 为什么 ReLU 用于神经网络回归?

转载 作者:行者123 更新时间:2023-11-30 08:39:37 26 4
gpt4 key购买 nike

我正在关注官方 TensorFlow with Keras 教程,但我被困在这里:Predict house prices: regression - Create the model

为什么激活函数用于预测连续值的任务?

代码是:

def build_model():
model = keras.Sequential([
keras.layers.Dense(64, activation=tf.nn.relu,
input_shape=(train_data.shape[1],)),
keras.layers.Dense(64, activation=tf.nn.relu),
keras.layers.Dense(1)
])

optimizer = tf.train.RMSPropOptimizer(0.001)

model.compile(loss='mse', optimizer=optimizer, metrics=['mae'])
return model

最佳答案

隐藏层中使用非线性激活函数的一般原因是,如果没有它们,无论有多少层或每层有多少个单元,网络的行为都会像一个简单的线性激活函数一样。单元。 Andrew Ng 在这个短视频中对此进行了很好的解释:Why do you need non-linear activation functions?

就您的情况而言,仔细观察,您会发现最终层的激活函数不是隐藏层中的relu,而是线性函数一个(当您未指定任何内容时,这是默认激活,如下所示):

keras.layers.Dense(1)

来自Keras docs :

Dense

[...]

Arguments

[...]

activation: Activation function to use (see activations). If you don't specify anything, no activation is applied (ie. "linear" activation: a(x) = x).

这确实是具有单个连续输出的回归网络所期望的。

关于machine-learning - 为什么 ReLU 用于神经网络回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51442459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com