机器学习——线性回归算法的衡量标准及评价:MSE、RMSE、MAE、R Square

对于回归算法的衡量

线性回归算法的目标是找到参数a和b,使得 i=1m(yi trainaxi trainb)2\displaystyle \sum^{m}_{i=1}(y^i~train - ax^i~train - b)^2 尽可能小。

y^i test\hat y^i~test =axi test+b=a x^i~test +b

所以我们将 i=1m(yi testy^i test)2\displaystyle \sum^{m}_{i=1}(y^i~test - \hat{y}^i~test)^2作为衡量线性算法好坏的一个衡量标准

观察上面的衡量公式,我们能够思考该衡量标准是否与m相关?
假设小明小红俩人都做了一个房产预测的算法,小明使用以上的标准最终得到的误差平方的累计和是1000,小红是800,这样就能说小红的算法更好吗?
不能。因为我们不知道小明小红俩人具体在进行衡量的时候的测试数据集有多少。假设小明的测试数据集里有10000个元素,而小红的测试数据量里有10个元素,小明10000个样本的误差的累计和只有1000而小红10个样本的误差的累计和就达到了800,说明小明的算法更优。
所以,我们能够对其衡量标准进行改进,1mi=1m(yi testy^i test)2\frac{1}{m}\displaystyle \sum^{m}_{i=1}(y^i~test - \hat{y}^i~test)^2 使得衡量标准与测试样本数无关。
这种衡量标准叫做均方误差MSE(Mean Squared Error)

但是对于MSE来说也存在一个量纲(物理量的基本属性)的问题,假设我们预测房产以万元为单位的话,MSE衡量标准的结果的单位就是万元的平方,这个量纲有时候会给我们带来麻烦。所以一个简单的改进方式就是对MSE开根号:
1mi=1m(yi testy^i test)2=MSE\sqrt{\frac{1}{m}\displaystyle \sum^{m}_{i=1}(y^i~test - \hat{y}^i~test)^2} = \sqrt{MSE}
这个衡量标准就称为均方根误差RMSE(Root Mean Squared Error)

还有一种衡量标准称为平均绝对误差MAE(Mean Absolute Error)
1mi=1myi testy^i test\frac{1}{m}\displaystyle \sum^{m}_{i=1}|y^i~test - \hat{y}^i~test|

评价回归算法——R Square

对于分类问题的评价指标,就是分类的准确度,1代表最好,0代表最差
假设我们预测房产数据最后得到的MSE/RMSE是5,也就是说我们的误差是5万元
而我们预测学生的成绩数据最后得到的MSE/RMSE是10,也就是说我们的误差是10分,
对此,我们的算法是作用在预测房产数据上好还是作用在预测学生成绩上好?
无法判断的。
因为这个5和10对应的是不同种类的东西,我们无法这样直接比较。
我们无法直接比较出不同种类问题的精确度
所以我们引入一个新的指标 R Square
机器学习——线性回归算法的衡量标准及评价:MSE、RMSE、MAE、R Square
对于$SS residual $ 的计算就是我们的预测值减去真值的平方的累加和
对于$SStotal $ 的计算就是我们的均值减去真值的平方的累加和

机器学习——线性回归算法的衡量标准及评价:MSE、RMSE、MAE、R Square

对于R²来说:

  • R² <= 1
  • R²越大越好。当我们的预测模型不犯任何错误时,R²得到最大值1
  • 当我们的模型等于基准模型时,R²为0
  • 如果R² < 0,说明我们学习到的模型还不如基准模型。此时,很有可能我们的数据不存在任何线性关系。

再对R²变型:

机器学习——线性回归算法的衡量标准及评价:MSE、RMSE、MAE、R Square