回归和分类是监督学习中的两个大类。自学过程中,阅读别人代码时经常看到不同种类的损失函数,到底 Tensorflow 中有多少自带的损失函数呢,什么情况下使用什么样的损失函数?这次就来汇总介绍一下。
一、处理回归问题
1.tf.losses.mean_squared_error:均方根误差(MSE) —— 回归问题中最常用的损失函数
优点是便于梯度下降,误差大时下降快,误差小时下降慢,有利于函数收敛。
缺点是受明显偏离正常范围的离群样本的影响较大
Tensorflow中集成的函数:
mse = tf.losses.mean_squared_error(y_true, y_pred)
利用Tensorflow基础函数手工实现:
mse = tf.reduce_mean(tf.square(y_true - y_pred))
2.tf.losses.absolute_difference:平均绝对误差(MAE) —— 想格外增强对离群样本的健壮性时使用
优点是其克服了 MSE 的缺点,受偏离正常范围的离群样本影响较小。
缺点是收敛速度比 MSE 慢,因为当误差大或小时其都保持同等速度下降,而且在某一点处还不可导,计算机求导比

本文总结了Tensorflow中用于回归和分类任务的常见损失函数,包括均方根误差(MSE)、平均绝对误差(MAE)、Huber Loss、sigmoid和softmax交叉熵等,并介绍了自定义损失函数的方法。对于回归问题,MSE是常用选择,但易受离群值影响;MAE则对离群值更鲁棒;Huber Loss结合了两者的优点。在分类问题中,二分类通常使用sigmoid交叉熵,多分类则选择softmax交叉熵,且提供了带权重的sigmoid交叉熵以应对样本不平衡问题。
最低0.47元/天 解锁文章
3530

被折叠的 条评论
为什么被折叠?



