线性回归算法的评测
衡量标准
∑ i = 1 m ( y t e s t ( i ) − y ^ t e s t ( i ) ) 2 \sum_{i=1}^m(y_{test}^{(i)} - \hat{y}{_{test}^{(i)}})^2 i=1∑m(ytest(i)−y^test(i))2
方差与m的大小有关,例如第一个算法测试100个数据,累计误差为1000,第二个算法测试10000个数据,累计误差为99999, 如果我们仅以这个式子求出的累计误差大小衡量算法的优劣,显然是不合理的,所以我们需要让这个式子与测试数据的数量无关,所以引入均方误差MSE(Mean Squared Error)
1 m ⋅ ∑ i = 1 m ( y t e s t ( i ) − y ^ t e s t ( i ) ) 2 \frac{1}{m} \cdot \sum_{i=1}^m(y_{test}^{(i)} - \hat{y}{_{test}^{(i)}})^2 m1⋅i=1∑m(ytest(i)−y^test(i))2
但是我们对 y 进行了平方,导致量纲与实际不一致,因此又引入了均方根误差RMSE(Root Mean Squared Error)
1 m ⋅ ∑ i = 1 m ( y t e s t ( i ) − y ^ t e s t ( i ) ) 2 = M S E t e s t \sqrt{\frac{1}{m} \cdot \sum_{i=1}^m(y_{test}^{(i)} - \hat{y}{_{test}^{(i)}})^2} = \sqrt{MSE_{test}} m1⋅i=1∑m(ytest(i)−y^test(i))2=MSEtest
平均绝对误差MAE(Mean Absolute Error)
1 m ⋅ ∑ i = 1 m ∣ y t e s t ( i ) − y ^ t e s t ∣ \frac{1}{m} \cdot \sum_{i=1}^m|y_{test}^{(i)} - \hat{y}{_{test}}| m1⋅i=1∑m∣ytest(i)−y^test∣
我们的目标函数不会定义为绝对值的形式,因为它不是处处可导,但是它可以用来评价我们的线性回归算法,所以评价一个算法的标准可以与目标函数不同。
R 方
R Squared R 2 = 1 − ∑ i ( y ^ ( i ) − y ( i ) ) 2 ∑ i i ( y ˉ − y ( i ) ) 2 = 1 − ( ∑ i = 1 i m ( y ^ ( i ) − y ( i ) ) 2 ) / m ( ∑ i = 1 m ( y ( i ) − y ˉ ) 2 ) / m = 1 − M S E ( y ^ , y ) Var ( y ) \begin{array}{c}\text { R Squared } \\[5mm] \qquad \begin{aligned} R^{2}=1-\frac{\sum_{i}\left(\hat{y}^{(i)}-y^{(i)}\right)^{2}}{\sum_{i}^{i}\left(\bar{y}-y^{(i)}\right)^{2}} &=1-\frac{\left(\sum_{i=1}^{i_{m}}\left(\hat{y}^{(i)}-y^{(i)}\right)^{2}\right) / m}{\left(\sum_{i=1}^{m}\left(y^{(i)}-\bar{y}\right)^{2}\right) / m} \\[10mm] &=1-\frac{M S E(\hat{y}, y)}{\operatorname{Var}(y)} \end{aligned} \end{array} R Squared R2=1−∑ii(yˉ−y(i))2∑i(y^(i)−y(i))2=1−(∑i=1m(y(i)−yˉ)2)/m(∑i=1im(y^(i)−y(i))2)/m=1−Var(y)MSE(y^,y)
首先抛出问题,当我们的算法用于预测不同的线性回归问题时,其评价结果可能非常不同,例如预测房价的时候误差为几万,预测考试成绩的时候误差是几分,这样比较几万和几分就没有可比性,这就是RMSE和 RAE的局限性,因此引出 分类的准确度 :1 最好, 0 最差
R 2 = 1 − S S residal S S total R 2 = 1 − ∑ i ( y ^ ( i ) − y ( i ) ) 2 ∑ i ( y ˉ − y ( i ) ) 2 \begin{aligned} R^{2}=1-\frac{S S_{\text {residal}}}{S S_{\text {total}}} \\[5mm] R^{2}=1-\frac{\sum_{i}(\hat{y}^{(i)}{\left.-y^{(i)}\right)^{2}}}{\sum_{i}\left(\bar{y}-y^{(i)}\right)^{2}} \end{aligned} R2=1−SStotalSSresidalR2=1−∑i(yˉ−y(i))2∑i(y^(i)−y(i))2