請問MAE和MSE的關係,會出現反相關的現象嗎,也就是一個下降,一個上升?
今天做實驗,調的是sklearn.metrics里的mean_square_error和mean_absolute_error方法,裡面傳的參數是一樣的,損失函數定義的也是MSE,但是迭代出來MSE不降反升,MAE倒是持續下降,求解答
首先給出答案,那就是你所描述的情況是可能出現的!下面具體說一下:
首先統一一下說法,由於你調用的是mean_square_error,所以我後面一直稱為MSE,然後將mean_absolute_error稱為MAE。MSE被叫做均方誤差,也有叫殘差平方和的。MAE為絕對誤差。
假設想要預測的變數為 ,而預測到的值為 ,MSE及MAE的定義分別如下:
,
上面的MSE和MAE分別可以對應到向量的2-範數和1-範數。若是分別使用參數向量的2-範數和1-範數作為線性回歸損失函數的正則項,那麼就可以分別得到Ridge回歸及LASSO回歸。當然這是題外話!
下面舉一個例子來說明會出現你的情況:
假如想要預測的變數的真實值為 , 而當前的預測值為 ,我們可以簡單計算出此時的MSE和MAE分別為:
然後對上面的預測值進行調整,可能由於數據噪音或者由於學習率(learning rate)設置過大等原因導致MSE發散,舉個例子,比如調整後新預測的值為 ,此時我們重新計算MSE和MAE:
顯然MSE從0.16變為了0.25是在增加的,而MAE從0.4變為了0.25,是在減少的。這裡的示例和你出現的情況一致。
具體以上面哪個為標準需要根據你的需要以及你的需求來決定。上面在你設置MSE為損失函數然後MSE還在升高,你可以嘗試降低learning rate,增加訓練數據量等方法來嘗試解決一下。
-------------
P.S. 1. 問題標題中問的是RMSE和MSE的關係,根據問題的具體描述,題主應該是想說MSE和MAE,所以直接回答的MSE和MAE。感謝wenlin和梁賦航的評論!
P.S. 2. 最初MSE和MAE公式有些問題,已經修正,感謝元峰提醒!
P.S. 3. 關於Ridge和LASSO的表述有些錯誤,已經修正。感謝三笠 阿克曼指出!
謝邀。已有的答案已經舉出例子了。
更本質的原因在於,向量的 1 範數和 2 範數之間沒有單調關係,所以完全有可能出現誤差向量的 1 範數增大而 2 範數減小(或反之)的現象。RMSE比MAE對大誤差,尤其是極值非常敏感。出現你說的情況的原因是,雖然整體上誤差絕對值在不斷減小,但誤差的分布發生了變化,兩個尾部更厚了一點。
你說的反相關是負相關吧,這兩個一般是正相關的,但是顯然能從散點圖裡面挑出來一小部分點,使得他們跟整體的規律相反。但是我覺得這不是負相關。
建議你再檢查一下迭代演算法,可能主要的問題不在RMSE和MAE這裡。
統計和機器學習我都不懂,經驗之談。
手機作圖,簡單易懂。來,看一個例子,我也訓練兩條樣本,圖中的橫縱坐標代表兩條樣本的誤差,那麼L1的等誤差線是那兩條直線,L2的等誤差線是那個圓弧。從A到D,L1上升,L2下降。從B到C,L1下降,L2上升。變成n個樣本也是一樣。只是圖變成高維空間了。
推薦閱讀:
※如何用互聯網大數據的思維 解決服裝定製行業做不大的難題?
※如何才能擊敗AlphaGo?
※如何評價索尼用人工智慧創作單曲這件事?
TAG:人工智慧 | 機器學習 | 推薦系統 | 神經網路 | 深度學習DeepLearning |