SSE

SSE(sum squared error,和方差),其公式为: s s e = ∑ i = 1 m ( y i − y ^ i ) 2 sse=\sum_{i=1}^m(y_i-\hat y_i)^2 sse=i=1m(yiy^i)2其中, y i y_i yi是真实值, y ^ i \hat y_i y^i表示预测值。

MSE

MSE(mean squared error,均方误差),其公式为: m s e = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 mse=\frac{1}{m}\sum_{i=1}^m(y_i-\hat y_i)^2 mse=m1i=1m(yiy^i)2其中, y i y_i yi是真实值, y ^ i \hat y_i y^i表示预测值。

作为模型评估时,MSE简单直白表达了预测误差,但是加了平方扩大了误差值,同时在量纲很大的情况下评估结果不明了,因为这个原因,作为损失函数训练模型时,模型受异常值的影响很大。

MSE通常作为线性回归模型的损失函数(L2 loss), J ( θ ) = − 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 J(\theta)=-\frac{1}{m}\sum\limits_{i=1}^m(y_i-h_\theta(x_i))^2 J(θ)=m1i=1m(yihθ(xi))2

MAE

MAE(mean absolute error,平均绝对误差),其公式为: m a e = 1 m ∑ i − 1 m ∣ y i − y ^ i ∣ mae=\frac{1}{m}\sum_{i-1}^m|y_i-\hat y_i| mae=m1i1myiy^i其中, y i y_i yi是真实值, y ^ i \hat y_i y^i表示预测值。

量纲和原值保持一致,且没有因为加了平方扩大了误差的问题,因此作为损失函数,其对于异常值的鲁棒性要高于MSE。

也被用作回归模型的损失函数(L1 loss)。

对于MSE和MAE:
如果数据的异常值对于业务是有用的,我们希望考虑到这些异常值,那么就用MSE;如果我们相应异常值只是一些无用的数据噪音,那就用MAE。

MAE是L1范数正则化的一个代表,MSE是L2范数正则化的一个代表。总体来说,L1可以克服异值点代来的不利影响。但是它的方程不可导,增大了用L1寻求最优解的困难度。L2对于异常点很敏感,但是通过求导很容易找到最优解。

这一点也可以联想到正则化模型进行特征选择时,虽然L1可以迅速把特征压缩到0,直接选择特征子集,但是如果特征之间存在共线性,L1可以带来不稳定的结果,即随意分配特征的权重。当数据发生细微变化时就会导致很大的模型差异。L2正则化就在系数权重上表现得更稳定,从而让特征更具解释性。

RMSE

RMSE(root mean squared error,均方根误差),其公式为: r m s e = m s e = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 rmse=\sqrt {mse}=\sqrt{\frac{1}{m}\sum_{i=1}^m(y_i-\hat y_i)^2} rmse=mse =m1i=1m(yiy^i)2

RMSE本质是在MSE上作了一个开根号。这样将评估值的量纲和原值的量纲保持一致。

R 2 \textbf{R}^2 R2

R 2 R^2 R2(R squared,R方),其公式为: R 2 = 1 − S S r e s i d u a l S S t o t a l R^2=1-\frac{SS_{residual}}{SS_{total}} R2=1SStotalSSresidual其中 S S r e s i d u a l SS_{residual} SSresidual为residual sum of squares, S S t o t a l SS_{total} SStotal为total sum of squares。 R 2 = 1 − ∑ i ( y ^ ( i ) − y ( i ) ) 2 ∑ i ( y ˉ − y ( i ) ) 2 R^2=1-\frac{\sum\limits_{i}(\hat y^{(i)}-y^{(i)})^2}{\sum\limits_{i}(\bar y-y^{(i)})^2} R2=1i(yˉy(i))2i(y^(i)y(i))2其中, y ( i ) y^{(i)} y(i)是真实值, y ^ ( i ) \hat y^{(i)} y^(i)表示预测值, y ˉ \bar y yˉ表示样本均值, ∑ i ( y ^ ( i ) − y ( i ) ) 2 \sum\limits_{i}(\hat y^{(i)}-y^{(i)})^2 i(y^(i)y(i))2为预测产生的误差, ∑ i ( y ˉ − y ( i ) ) 2 \sum\limits_{i}(\bar y-y^{(i)})^2 i(yˉy(i))2为均值产生的误差。

  • R 2 ⩽ 1 R^2 \leqslant1 R21
  • R 2 R^2 R2越大越好。当预测模型不犯任何错误时, R 2 R^2 R2得到最大值1
  • 当预测模型等于基准模型时, R 2 = 0 R^2=0 R2=0
  • R 2 < 0 R^2 \lt 0 R2<0,说明预测模型还不如基准模型。
MAPE

MAPE(mean absolute percentage error,平均绝对百分比误差),其公式为: m a p e = 100 % n ∑ i = 1 n ∣ y ^ i − y i y i ∣ mape=\frac{100\%}{n}\sum_{i=1}^n|\frac{\hat y_i - y_i}{y_i}| mape=n100%i=1nyiy^iyi y i y_i yi是真实值, y ^ i \hat y_i y^i表示预测值。
范围[0,+∞),MAPE 为0%表示完美模型,MAPE 大于 100 %则表示劣质模型。可以看到,MAPE跟MAE很像,就是多了个分母。

注意:当真实值有数据等于0时,存在分母0除问题,该公式不可用!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐