深度学习常用损失MSE、RMSE、MAE和MAPE

MSE 均方差损失( Mean Squared Error Loss)

MSE是深度学习任务中最常用的一种损失函数,也称为 L2 Loss

MSE是真实值与预测值的差值的平方然后求和平均
在这里插入图片描述

范围[0,+∞),当预测值与真实值完全相同时为0,误差越大,该值越大

在这里插入图片描述
MSE 曲线的特点是光滑连续、可导,便于使用梯度下降算法,是比较常用的一种损失函数。而且,MSE 随着误差的减小,梯度也在减小,这有利于函数的收敛,即使固定学习因子,函数也能较快取得最小值。

平方误差有个特性,就是当 yi 与 f(xi) 的差值大于 1 时,会增大其误差;当 yi 与 f(xi) 的差值小于 1 时,会减小其误差。这是由平方的特性决定的。也就是说, MSE 会对误差较大(>1)的情况给予更大的惩罚,对误差较小(<1)的情况给予更小的惩罚。从训练的角度来看,模型会更加偏向于惩罚较大的点,赋予其更大的权重。

如果样本中存在离群点,MSE 会给离群点赋予更高的权重,但是却是以牺牲其他正常数据点的预测效果为代价,这最终会降低模型的整体性能

### MAERMSE MAPE 的概念 #### 平均绝对误差 (MAE) 平均绝对误差(MAE)定义为预测值与实际观测值之间差额的绝对值之平均。该度量方法简单直观,易于理解,并且对异常值不那么敏感[^1]。 ```python import numpy as np def mean_absolute_error(y_true, y_pred): return np.mean(np.abs(y_true - y_pred)) ``` #### 均方根误差 (RMSE) 均方根误差(RMSE),也称为标准误差,是通过求解平方损失函数得到的结果再开平方获得的一个衡量模型性能的重要参数。相比MAE而言,它更加重视较大的错误项,因为其先将残差进行了平方处理后再取平均并最终开方返回到原始尺度上。因此,在存在较大偏离的情况下,RMSE会给出更高的惩罚分数。 ```python def root_mean_squared_error(y_true, y_pred): mse = np.mean((y_true - y_pred)**2) rmse = np.sqrt(mse) return rmse ``` #### 平均绝对百分比误差 (MAPE) 平均绝对百分比误差(MAPE)是以百分比的形式来表达预测值同真实值间差异程度的一种方式。这种方式使得不同规模的数据集间的对比成为可能;不过需要注意的是如果某些数据点的真实值非常接近于0,则可能导致极高的甚至无穷大的MAPE值,这会影响整体评估的有效性合理性。 ```python def mean_absolute_percentage_error(y_true, y_pred): mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100 return mape ``` ### 使用场景分析 - **MAE**适用于希望平等地对待所有的偏差情况下的回归问题; - **RMSE**适合那些特别在意极端值影响的应用场合,比如房价预估等; - **MAPE**则更多地被应用于需要跨多个数量级进行比较的情景之中,尤其是在商业销售预测等领域内广泛采用,但在面对含有零或负数的目标变量时需谨慎使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值