机器学习 - 线性回归模型性能的评估

2019-01-28  本文已影响0人  属七降九
注意:都是使用测试数据进行评估,不使用训练数据

1.残差图
使用原因:如果是一维或者是二维参数的线性回归,是可以通过绘制图像直观地看出测试数据的真实值与模型(直线或超平面)的差值,但是超过二维,将无法(很难)在我们的三维世界中绘制出来,不能直观地看出训练出线性回归模型的性能好坏,此时可以使用残差图直观地观测和评估性能。
其中:
残差 -> 真实值 - 预测值 = y - \hat{y}
残差图是残差(y - \hat{y})关于预测值\hat{y}的图像,并且好的回归
优点:可对回归模型进行评估、获取模型的异常值,同时还可以检查模型是否是线性,以及误差是否随机分布。

2.均方误差(Mean Squared Error, MSE)
先要提到SSE(最小化误差平方和 Sum of Squares for Error)
SSE = \sum_{i = 0}^{n}(y^{(i)} - \hat{y}^{(i)})^2
其中:
n是数据的条数


MSE是SSE代价函数的平均值
\begin{align} MSE & = \frac{1}{n}\sum_{i = 0}^{n}(y^{(i)} - \hat{y}^{(i)})^2 \\ & = \frac{1}{n}SSE \end{align}
MSE越接近0模型的性能越好,但是不全面
3.决定系数(coefficient of determination)(R^2
R^2可以看做是MSE的标准版本,先要提到SST(误差平方和)SST = \sum_{i=1}^n(y^{(i)} - \mu_y)^2,可以反映y的波动程度
再看R^2的表达式
\begin{align} R^2 & = 1 - \frac{SSE}{SST} \\ & = 1 - \frac{\frac{1}{n}SSE}{\frac{1}{n}SST}\\ & = 1 - \frac{MSE}{\frac{1}{n}\sum_{i = 1}^n(y^{(i)} - \mu_i)^2}\\ & = 1 - \frac{MSE}{{\mit Var(y)}} \end{align}
其中:
{\mit Var(y)}表示的是y的波动程度,{\mit Var(y)}越大,y的波动程度越大(即数据的方差越大,数据波动越大,比如说有2条数据:1.0、1.1、0.9、1.0和0.0、42.1、232.1、42.1,第一条如果预测出来的是正确的如:1.0,则不会有多厉害,但如果是第二条数据中预测出来的如:43.3是正确的,那就很厉害了,因为第二条的数据整体分布很大,也预测对了)
刚才由2提到MSE越小,性能越好,现在由R^2如果即使在{\mit Var(y)}小(越无波动)的情况下,\frac{MSE}{{\mit Var(y)}}也很小,则具有更广泛的说服能力,于是R^2越接近于1,模型性能越好。

上一篇下一篇

猜你喜欢

热点阅读