gpt4 book ai didi

python-3.x - TensorFlow:实现均方误差

转载 作者:行者123 更新时间:2023-11-30 08:36:09 24 4
gpt4 key购买 nike

我目前正在学习 TensorFlow,并遇到了 this notebook .

我对如何实现均方误差成本函数有疑问:

import tensorflow as tf 
import numpy as np

predicted = np.array([1,2,3])
Y = np.array([4,5,6])
num_instances = predicted.shape[0]

cost = tf.reduce_sum(tf.pow(predicted-Y, 2))/(2*num_instances)
cost2 = tf.reduce_mean(tf.square(predicted - Y))

with tf.Session() as sess:
print(sess.run(cost))
print(sess.run(cost2))

我不明白为什么它必须将第一个成本函数的分母乘以2。我从MSE的不同实现中得到了不同的答案,成本产生4.5,而成本2产生9。遵循均方公式错误,我应该得到一个值 9。但是第一个成本函数是我正在尝试学习的 python 笔记本中实现的函数。

最佳答案

costcost2 之间的差异恰好是 2*num_instances 中的 2。基本上,

cost = tf.reduce_sum(tf.pow(predicted-Y, 2))/(2*num_instances)
cost2 = tf.reduce_sum(tf.pow(predicted-Y, 2))/(num_instances)

标量2对学习影响不大,相当于将学习率乘以2。请注意,无论您使用什么公式和网络拓扑,您仍然需要选择合理的超参数,包括学习率。

您可以尝试检查两个损失函数的收敛性,我怀疑它们的性能相同。这意味着两个公式都很好,只是第二个公式更容易实现。

关于python-3.x - TensorFlow:实现均方误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48484552/

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