目录
常用的回归损失函数
平均绝对误差(Mean Absolute Error, MAE)
- 定义:
MAE计算预测值与真实值之间差的绝对值的平均数。
M A E = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ MAE = \frac{1}{n}\sum_{i=1}^{n}|y_i - \hat{y}_i| MAE=n1i=1∑n∣yi−y^i∣
其中n
是样本数量,y_i
是真实值,\hat{y}_i
是预测值。
-
优点:
- 直观易理解。
- 对异常值不敏感。
-
缺点:
- 不提供关于误差方向的信息。
- 梯度恒定,可能导致收敛速度慢。
均方误差(Mean Squared Error, MSE)
- 定义:
MSE计算预测值与真实值之间差的平方的平均数。
M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2 MSE=n1i=1∑n(yi−y^i)2
-
优点:
- 惩罚较大的误差,有利于模型更精确预测。
- 在优化中具有良好的数学性质(可微)。
-
缺点:
- 对异常值非常敏感。
- 误差较大时,梯度也较大,可能导致模型不稳定。
均方根误差(Root Mean Squared Error, RMSE)
- 定义:
RMSE是MSE的平方根。
R M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2} RMSE=n1i=1∑n(yi−y^i)2
-
优点:
- 惩罚大误差,有助于模型精度。
- 与目标变量同一量纲,易于解释。
-
缺点:
- 对异常值敏感。
- 可能过度惩罚大误差。
平均绝对百分比误差(Mean Absolute Percentage Error, MAPE)
- 定义:
MAPE计算预测值与真实值之间差的绝对值与真实值之比的平均数。
M A P E = 1 n ∑ i = 1 n ∣ y i − y ^ i y i ∣ MAPE = \frac{1}{n}\sum_{i=1}^{n}\left|\frac{y_i - \hat{y}_i}{y_i}\right| MAPE=n1i=1∑n yiyi−y^i
-
优点:
- 结果易于解释,因为它是百分比形式。
- 适用于不同量级的数据。
-
缺点:
- 当真实值接近或等于零时,MAPE会变得非常大或不确定。
- 对异常值相对敏感。
Huber损失
- 定义:
Huber损失是MAE和MSE的结合,对于小的误差,它是平方误差,对于大的误差,则是线性误差。
L δ ( y , y ^ ) = { 1 2 ( y − y ^ ) 2 for ∣ y − y ^ ∣ ≤ δ , δ ( ∣ y − y ^ ∣ − 1 2 δ ) otherwise. L_{\delta}(y, \hat{y}) = \begin{cases} \frac{1}{2}(y - \hat{y})^2 & \text{for } |y - \hat{y}| \le \delta,\\ \delta(|y - \hat{y}| - \frac{1}{2}\delta) & \text{otherwise.} \end{cases} Lδ(y,y^)={21(y−y^)2δ(∣y−y^∣−21δ)for ∣y−y^∣≤δ,otherwise.
其中δ
是一个可调参数,决定了何时切换损失。
-
优点:
- 对异常值更加鲁棒。
- 在误差较小时是平滑的,有助于模型稳定。
-
缺点:
- 需要选择合适的
δ
值。 - 计算复杂度高于MAE和MSE。
- 需要选择合适的
总结
对于选择损失函数,需要考虑模型的具体需求和数据的特点。例如,如果数据包含许多异常值,可能会选择Huber损失或MAE来减少异常值的影响。如果模型需要惩罚大的误差,MSE或RMSE可能是更好的选择。