我在TensorFlow中有代价函数。
activation = tf.add(tf.mul(X, W), b)
cost = (tf.pow(Y-y_model, 2)) # use sqr error for cost function
字符串
我正在试用this example。如何将其转换为rmse成本函数?
我在TensorFlow中有代价函数。
activation = tf.add(tf.mul(X, W), b)
cost = (tf.pow(Y-y_model, 2)) # use sqr error for cost function
字符串
我正在试用this example。如何将其转换为rmse成本函数?
5条答案
按热度按时间mzmfm0qo1#
字符串
稍微简化一下(TensorFlow重载了最重要的运算符):
型
9o685dep2#
root mean square error的公式为:
的数据
在TF中实现它的方法是
tf.sqrt(tf.reduce_mean(tf.squared_difference(Y1, Y2)))
。需要记住的重要一点是,不需要使用优化器来最小化RMSE损失。同样的结果,你可以只最小化
tf.reduce_mean(tf.squared_difference(Y1, Y2))
甚至tf.reduce_sum(tf.squared_difference(Y1, Y2))
,但是因为它们的操作图更小,所以它们的优化速度更快。但是如果你只想跟踪RMSE的值,你可以使用这个函数。
brccelvz3#
现在我们有
tf.losses.mean_squared_error
因此,我们认为,
字符串
9rygscc14#
(1)你确定你需要这个吗?将l2 loss最小化与将RMSE误差最小化的结果相同。(通过数学计算:你不需要求平方根,因为当x>0时,最小化x^2仍然会最小化x,而且你知道一组平方的和是正数。最小化x*n最小化x(对于常数n)。
(2)如果需要知道RMSE误差的数值,则直接从definition of RMSE:
字符串
(You需要知道或计算n -总和中的元素数,并在对reduce_sum的调用中适当地设置缩减轴)。
ffscu2ro5#
对于希望将RMSE作为度量实施的用户
字符串
如何使用它的示例
型