tensorflow - 为什么在损失函数中使用均值而不是总和?
问题描述
为什么在损失函数中使用均值而不是总和?
即有什么理由首选这个
def mae_loss(y_true, y_pred):
loss = tf.reduce_mean(tf.abs(y_true-y_pred))
return loss
对此
def mae_loss(y_true, y_pred):
loss = tf.reduce_sum(tf.abs(y_true-y_pred))
return loss
在 Keras 源代码中,还使用了均值变体:
解决方案
我们通常计算损失以与其他人进行比较或尽可能减少损失。如果你只得到总和而不是平均值,结果将根据数据的数量而变化,那么很难本能地找到它是否很大。这就是为什么我们通常使用“均方误差”或“平均绝对误差”而不是它们的总和。
推荐阅读
- vbscript - 如何将随机字母大写?
- python - 将 unix 时间转换为 mysql 日期时间并包括毫秒
- php - 针对 MySQL 数据库验证用户不工作
- c++ - 从指向函数指针数组的指针中存储返回值如何工作?
- r - 溶解R中多边形特征的边界
- c# - Azure Function 中的 Html 到 Pdf 库
- postgresql - 无法使用 psql 连接到 dockerized postgres
- handler - 多个处理程序触发器
- apache - Apache 域未指向 DocumentRoot (DigitialOcean Moodle)
- python - “关键”函数如何比 python 排序中的比较函数更有效?