成本函数的额外因子2

时间:2017-11-07 10:38:42

标签: machine-learning tensorflow deep-learning

一些TensorFlow示例计算成本函数,如下所示:

cost = tf.reduce_sum((pred-y)**2 / (2*n_samples))

因此,商是样本数,乘以2

额外因子为2的原因是,当成本函数对于反向传播进行区分时,它将取消因子1/2并保存操作?

如果是这样,是否仍然建议这样做,它是否实际上提供了显着的性能改进?

1 个答案:

答案 0 :(得分:2)

在数学中方便,因为一个人不需要一直携带0.5。但是在代码中,它并没有产生很大的不同,因为这种变化会使渐变(以及相应地,可训练变量的更新)变大或变小两倍。由于更新乘以学习速率,因此可以通过超参数的微小变化来解除该因子2。我说次要,因为在模型选择期间尝试以对数比例学习率是常见的:0.10.010.001, ....

因此,无论在损失函数中使用何种特定公式,其影响都可以忽略不计,并且不会导致任何训练加速。选择正确的学习率更为重要。