四、衡量回歸的性能指標
1、均方誤差-MSE(Mean Squared Error)
其中y^i表示第 i 個樣本的真實標簽,p^i表示模型對第 i 個樣本的預測標簽。
線性回歸的目的就是讓損失函數最小。那么模型訓練出來了,我們在測試集上用損失函數來評估模型就行了。
2、均方根誤差-RMSE(Root Mean Squard Error)
RMSE 其實就是 MSE 開個根號。有什么意義呢?其實實質是一樣的。只不過用於數據更好的描述。
例如:要做房價預測,每平方是萬元,我們預測結果也是萬元。那么差值的平方單位應該是千萬級別的。那我們不太好描述自己做的模型效果。怎么說呢?我們的模型誤差是多少千萬?於是干脆就開個根號就好了。我們誤差的結果就跟我們數據是一個級別的了,在描述模型的時候就說,我們模型的誤差是多少萬元。
3、平均絕對誤差-MAE
MAE 雖然不作為損失函數,確是一個非常直觀的評估指標,它表示每個樣本的預測標簽值與真實標簽值的 L1 距離。
MAE與MSE對比:MSE相當於L2范數,MAE相當於L1范數。次數越高,計算結果就越與較大的值有關,而忽略較小的值,所以這就是為什么MSE針對異常值更敏感的原因(即有一個預測值與真實值相差很大,那么MSE就會很大)
注:
L1范數和L2范數的區別(范數是具有“長度”概念的函數。在向量空間內,為所有的向量的賦予非零的增長度或者大小。不同的范數,所求的向量的長度或者大小是不同的。):
(1)L0范數是指向量中非0的元素的個數。(L0范數很難優化求解)
(2)L1范數是指向量中各個元素絕對值之和,可以進行特征選擇,即讓特征的系數變為0,L1范數和L0范數可以實現稀疏,L1因具有比L0更好的優化求解特性而被廣泛應用。
(3)L2范數是指向量各元素的平方和然后求平方根,可以防止過擬合,提升模型的泛化能力,有助於處理 condition number不好下的矩陣(數據變化很小矩陣求解后結果變化很大),L2對大數,對outlier離群點更敏感!
(4)下降速度:最小化權值參數L1比L2變化的快
(5)模型空間的限制:L1會產生稀疏 L2不會。
(6)L1會趨向於產生少量的特征,而其他的特征都是0;而L2會選擇更多的特征,這些特征都會接近於0。
4、R-Squared--決定系數-R2
上面的幾種衡量標准針對不同的模型會有不同的值。比如說預測房價 那么誤差單位就是萬元。數子可能是 3,4 ,5 之類的。那么預測身高就可能是 0.1,0.6 之類的。沒有什么可讀性,到底多少才算好呢?不知道,那要根據模型的應用場景來。 看看分類算法的衡量標准就是正確率,而正確率又在 0~1 之間,最高百分之百,最低 0 。如果是負數,則考慮非線性相關。很直觀,而且不同模型一樣的。那么線性回歸有沒有這樣的衡量標准呢?
R-Squared 就是這么一個指標,公式如下:
ymean即y的均值,表示所有測試樣本標簽值的均值。
分子:需要衡量的模型
分母:基准模型(將均值作為預測值)
注:基准模型:將y的均值作為預測值。分子對應的的是需要衡量的模型,分母對應的是基准模型。
(1)R2=1,模型對所有的數據預測准確,模型的性能最優;
(2)R2=0,模型的性能與基准模型相同;
(3)R2<0,模型的性能低於基准模型,可以考慮該數據不線性相關。