標籤:

損失函數——MSE

損失函數——MSE

來自專欄 機器學習理論與實踐

本來主要介紹機器學習中常見的損失函數MSE的定義以及它的求導特性。


數理統計中均方誤差是指參數估計值與參數值之差平方的期望值,記為MSE。MSE是衡量「平均誤差」的一種較方便的方法,MSE可以評價數據的變化程度,MSE的值越小,說明預測模型描述實驗數據具有更好的精確度。

SSE(和方差)

在統計學中,該參數計算的是擬合數據和原始對應點的誤差的平方和,計算公式為:

SSE =sum{i=1}^mwi(yi-hat{yi})^2

其中 y_i 是真實數據, hat{y_i} 是擬合的數據, w_i>0 ,從這裡可以看出SSE接近於0,說明模型選擇和擬合更好,數據預測也越成功。

MSE(均方方差)

該統計參數是預測數據和原始數據對應點誤差的平方和的均值,也就是 frac{SSE}{n} ,和SSE沒有太大的區別,計算公式為:

MSE=frac{SSE}{n}=frac{1}{n}sum{i=1}^mwi(yi-hat{yi})^2

其中,n為樣本的個數。

RMSE

該統計參數,也叫回歸系統的擬合標準差,是MSE的平方根,計算公式為:

RMSE=sqrt{MSE}=sqrt{frac{SSE}{n}}=sqrt{frac{1}{n}sum{i=1}^mwi(yi-hat{yi})^2}

Mean-Squared Loss的概率解釋

假設我們的模型是二維平面的線性回歸模型: h_{	heta}(x_i)=	heta_0+	heta_1x ,對於這個模型,我們定義損失函數為MSE,將得到如下的表達式:

J = frac{1}{N}sum_{i=1}^N(yi-h_{	heta}(x_i))^2

下面我們試著通過概率的角度,推導出上述的MSE損失函數表達式。

在線性回歸模型中,我們最終希望對於輸入 X 進行線性組合得到值Y,考慮到輸入帶有雜訊的情況的表達式如下:

Y=	heta_0+	heta_1x+eta

為了使模型更合理,我們假設 eta 服從均值為0,方差為1的高斯分布,即 etasim N(0,1) 。所以有:

E[Y]=E[	heta_0+	heta_1x+eta]=	heta_0+	heta_1x

Var[Y]=Var[	heta_0+	heta_1x+eta]=1

所以,Y服從均值為 	heta_0+	heta_1x ,方差為1的高斯分布,則樣本點$(xi,yi)$的概率為:

p(y_i|x_i)=e^{-frac{(yi-(	heta_0+	heta_1x_i))^2}{2}}

有了單個樣本的概率,我們就可以計算樣本集的似然概率,我們假設每個樣本是獨立的:

L(x,y)=prod_{i=1}^Ne^{-frac{(y_i-(	heta_0+	heta_1x_i))^2}{2}}

對似然函數取對數,得到對數似然函數:

l(x,y)=-frac{1}{2}sum_{i=1}^N(y_i-(	heta_0+	heta_1x_i))^2

這個對數似然函數的形式和我們的MSE損失函數的定義是一樣的。所以,使用MSE損失函數意味著,我們假設我們的模型是對雜訊的輸入做估計,該雜訊服從高斯分布。

損失函數效果

缺點

使用MSE的一個缺點就是其偏導值在輸出概率值接近0或者接近1的時候非常小,這可能會造成模型剛開始訓練時,偏導值幾乎消失。

假設我們的MSE損失函數為: J = frac{1}{2}(y_i - hat{y_i})^2 ,偏導為: frac{dJ}{dW} = (y_i - hat{y_i})sigma(Wx_i + b)x_i ,其中 sigma(Wx_i + b) sigma(Wx_i + b)(1 - sigma(Wx_i + b)) 。可以看出來,在 sigma(Wx_i + b) 值接近0或者1的時候, frac{dJ}{dW} 的值都會接近於0,其函數圖像如下:

這導致模型在一開始學習的時候速率非常慢,而使用交叉熵作為損失函數則不會導致這樣的情況發生。

參考

[1]. Picking Loss Functions - A comparison between MSE, Cross Entropy, and Hinge Loss


推薦閱讀:

2.2 概率論簡要回顧
圖解機器學習:參數起點設計的重要性,symmetry breaking
《機器智能的未來》系列三:Brendan Frey--當深度學習遇上基因生物學 | 將門推薦
一起來學西瓜書!
重磅 | 吳恩達新書《Machine Learning Yearning》最新版分享

TAG:機器學習 |