损失函数Loss相关总结(精细版)

701 阅读3分钟

目录

Loss损失函数的作用

损失函数loss和准确率accuracy的比较

回归任务中的loss主要包括


Loss损失函数的作用

  • 损失函数用来评价模型的预测值真实值不一样的程度,深度学习训练模型的时候就是通过计算损失函数,更新模型参数,从而减小优化误差,直到损失函数值下降到目标值 或者 达到了训练次数。
  • 不同的模型用的损失函数一般也不一样。损失函数设置的越好,通常模型的性能越好。
  • loss函数可以自定义

损失函数loss和准确率accuracy的比较

  • 在分类问题中,准确率accuracy更加直观,也更具有可解释性;对于回归问题,accuracy不可用,只能用loss
  • 准确率accuracy不可微分,无法直接用于网络训练,而反向传播算法要求损失函数是可微的
  • 损失函数loss可微分,可以求梯度,运用反向传播更新参数。

回归任务中的loss主要包括

  • 均方误差mean squareerror(MSE):MSE表示了预测值与目标值之间差值的平方和然后求平均

  • L2范数:L2损失表示了预测值与目标值之间差值的平方和然后开更方,L2表示的是欧几里得距离。

  • MSE和L2的曲线走势都一样。区别在于一个是求的平均np.mean(),一个是求的更方np.sqrt()

tensorflow和keras代码体现:

#tensorflow

tf.losses.mean_squared_error(
    labels,
    predictions,
    weights=1.0,
    scope=None,
    loss_collection=tf.GraphKeys.LOSSES,
    reduction=Reduction.SUM_BY_NONZERO_WEIGHTS
)
tf.metrics.mean_squared_error(
    labels,
    predictions,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)


#keras

mean_squared_error(y_true, y_pred)
  • 平均绝对误差meanabsolute error(MAE ):MAE表示了预测值与目标值之间差值的绝对值然后求平均

  • L1范数:L1表示了预测值与目标值之间差值的绝对值,L1也叫做曼哈顿距离

MAE和L1的区别在于一个求了均值np.mean(),一个没有求np.sum()。2者的曲线走势也是完全一致的。

  • tensorflow和keras代码体现:
#tensorflow
tf.metrics.mean_absolute_error(
    labels,
    predictions,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)

#keras
mean_absolute_error(y_true, y_pred)
  • MSE,MAE对比:

MAE损失对于局外点更鲁棒,但它的导数不连续使得寻找最优解的过程低效;MSE损失对于局外点敏感,但在优化过程中更为稳定和准确。

  • 其他可用的损失函数参考:

zhuanlan.zhihu.com/p/58883095

补充知识

平均绝对误差MAE(mean absolute error) 和均方根误差 RMSE(root mean squared error)是衡量变量精度的两个最常用的指标,同时也是机器学习中评价模型的两把重要标尺。

1. 定义

平均绝对误差MAE(mean absolute error)是绝对误差的平均值,它其实是更一般形式的误差平均值。

å¨è¿éæå¥å¾çæè¿°或者å¨è¿éæå¥å¾çæè¿°

均方根误差 RMSE(root mean squared error),也有资料称为RMSD,也可以测量误差的平均大小,它是预测值和实际观测之间平方差异平均值的平方根。

å¨è¿éæå¥å¾çæè¿°或者å¨è¿éæå¥å¾çæè¿°

 

2. 比较

均方根误差 RMSE 受异常值的影响更大。

3. 应用

当我们处理较大的数据集时,我们不能检查每个值以了解是否有一个或一些异常值,或者是否所有的错误都系统性地更高

解决办法:查看 MAE 和 RMSE 的比值可以帮助我们理解是否存在较大但不常见的错误。

 


参考资料:

【1】zhuanlan.zhihu.com/p/58883095

【2】blog.csdn.net/u014421797/…

【3】blog.csdn.net/qq_14845119…

【4】blog.csdn.net/nanhuaibeia…