如何在tensorflow中设置rmse cost函数

时间:2015-11-21 16:58:44

标签: python tensorflow

我在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 cost function?

5 个答案:

答案 0 :(得分:44)

A* B::getAobj()
{
return obj;
}

答案 1 :(得分:15)

root mean square error的公式为:

enter image description here

在TF中实现它的方法是dump()

要记住的重要一点是,不需要使用优化器最小化RMSE损失。使用相同的结果,您可以最小化tf.sqrt(tf.reduce_mean(tf.squared_difference(Y1, Y2)))甚至tf.reduce_mean(tf.squared_difference(Y1, Y2)),但由于它们的操作图较小,因此可以更快地进行优化。

但如果您只想获取RMSE的值,则可以使用此功能。

答案 2 :(得分:5)

(1)你确定需要这个吗?最小化l2 loss将得到与最小化RMSE错误相同的结果。 (通过数学计算:你不需要取平方根,因为最小化x ^ 2仍然最小化x为x> 0,并且你知道一组正方形的总和是正的。最小化x * n使x最小化对于常数n)。

(2)如果你需要知道RMSE错误的数值,那么直接从definition of RMSE实现它:

tf.sqrt(tf.reduce_sum(...)/n)

(您需要知道或计算n - 总和中元素的数量,并在调用reduce_sum时适当设置缩小轴。)

答案 3 :(得分:4)

现在我们有tf.losses.mean_squared_error

因此,

RMSE = tf.sqrt(tf.losses.mean_squared_error(prediction, label))

答案 4 :(得分:2)

对于想要将RMSE用作指标的人

<a class="mr-2" href="{% url 'user-feed' post.author.username %}">{{ post.author }}</a>

使用方法示例

rmse = tf.keras.metrics.RootMeanSquaredError()