# 1. tf.losses.mean_squared_error:均方根误差(MSE) —— 回归问题中最常用的损失函数
# 优点是便于梯度下降,误差大时下降快,误差小时下降慢,有利于函数收敛。
# 缺点是受明显偏离正常范围的离群样本的影响较大
mse=tf.losses.mean_squared_error(y_true,y_pred)
mse=tf.reduce_mean(tf.square(y_true-y_pred))
2. tf.losses.absolute_difference:平均绝对误差(MAE) —— 想格外增强对离群样本的健壮性时使用
# 优点是其克服了 MSE 的缺点,受偏离正常范围的离群样本影响较小。
# 缺点是收敛速度比 MSE 慢,因为当误差大或小时其都保持同等速度下降,而且在某一点处还不可导,计算机求导比较困难。
maes=tf.compat.v1.losses.absolute_difference(y_true,y_pred)
maes_loss=tf.reduce_sum(maes)
# 3. tf.losses.huber_loss:Huber loss —— 集合 MSE 和 MAE 的优点,但是需要手动调超参数
# 核心思想是,检测真实值(y_true)和预测值(y_pred)之差的绝对值在超参数 δ 内时,
# 使用 MSE 来计算 loss, 在 δ 外时使用类 MAE 计算 loss。sklearn
# 关于 huber 回归的文档中建议将 δ=1.35 以达到 95% 的有效性。
hubers=tf.compat.v1.losses.huber_loss(y_true,y_pred)
hubers_loss=tf.reduce_sum(hubers)
# 处理分类问题
# 1. tf.nn.sigmoid_cro
tensorflow2.0 损失函数
最新推荐文章于 2024-01-16 16:21:59 发布
本文详细探讨了TensorFlow 2.0中常用的损失函数,包括均方误差、交叉熵等,解释了它们的数学原理及在模型训练中的作用,并通过实例展示了如何在实践中应用这些损失函数。
摘要由CSDN通过智能技术生成