各種損失函數詳解

1. 損失函數、代價函數與目標函數

損失函數(Loss Function):是定義在單個樣本上的,是指一個樣本的誤差。
代價函數(Cost Function):是定義在整個訓練集上的,是所有樣本誤差的平均,也就是所有損失函數值的平均。
目標函數(Object Function):是指最終需要優化的函數,一般來說是經驗風險+結構風險,也就是(代價函數+正則化項)。

2. 常用的損失函數

這一節轉載自博客

(1)0-1損失函數(0-1 loss function)

L(Y,f(X)) = \begin{cases} 0, & \text{Y = f(X)} \\ 1, & \text{Y $\neq$ f(X)} \end{cases} 也就是說,當預測錯誤時,損失函數為1,當預測正確時,損失函數值為0。該損失函數不考慮預測值和真實值的誤差程度。只要錯誤,就是1。

(2)平方損失函數(quadratic loss function)

L(Y,f(X)) = (Y-f(X))^2是指預測值與實際值差的平方。

(3)絕對值損失函數(absolute loss function)

L(Y,f(X)) = \lvert{Y-f(X)}\rvert該損失函數的意義和上面差不多,只不過是取了絕對值而不是求絕對值,差距不會被平方放大。

(4)對數損失函數(logarithmic loss function)

L(Y,f(X)) = -logP(Y|X)這個損失函數就比較難理解了。事實上,該損失函數用到了極大似然估計的思想。P(Y|X)通俗的解釋就是:在當前模型的基礎上,對于樣本X,其預測值為Y,也就是預測正確的概率。由于概率之間的同時滿足需要使用乘法,為了將其轉化為加法,我們將其取對數。最后由于是損失函數,所以預測正確的概率越高,其損失值應該是越小,因此再加個負號取個反。

(5)Hinge loss

Hinge loss一般分類算法中的損失函數,尤其是SVM,其定義為:

L(w,b)=max(0,1?yf(x))

其中 y=+1y=?1y,f(X)=wx+b,當為SVM的線性核時。


3. 常用的代價函數

(1)均方誤差(Mean Squared Error)

MSE=\frac1N\sum_{i=1}^N{(y_{i}-f(x_{i}))}^2

均方誤差是指參數估計值與參數真值之差平方的期望值; MSE可以評價數據的變化程度,MSE的值越小,說明預測模型描述實驗數據具有更好的精確度。(i表示第 i 個樣本,N 表示樣本總數)
通常用來做回歸問題的代價函數。

(2)均方根誤差

RMSE=\sqrt{\frac1N\sum_{i=1}^N{(y_{i}-f(x_{i}))}^2}
均方根誤差是均方誤差的算術平方根,能夠直觀觀測預測值與實際值的離散程度。
通常用來作為回歸算法的性能指標

(3)平均絕對誤差(Mean Absolute Error)

MAE=\frac1N\sum_{i=1}^N\lvert{y_{i}-f(x_{i})}\lvert

平均絕對誤差是絕對誤差的平均值 ,平均絕對誤差能更好地反映預測值誤差的實際情況。
通常用來作為回歸算法的性能指標

(4)交叉熵代價函數(Cross Entry)

H(p,q)=?\sum_{i=1}^Np(x_{i})logq(x_{i})

交叉熵是用來評估當前訓練得到的概率分布與真實分布的差異情況,減少交叉熵損失就是在提高模型的預測準確率。其中 p(x)p(x) 是指真實分布的概率, q(x) 是模型通過數據計算出來的概率估計。
比如對于二分類模型的交叉熵代價函數(可參考邏輯回歸一節):

L(y,f(x))=\frac1N\sum_{i=1}^N(y_{i}logf(x_{i})+(1?y_{i})log(1?f(x_{i})))其中 f(x)可以是sigmoid函數?;蛏疃葘W習中的其它激活函數。而 y_{i}∈0,1。
通常用做分類問題的代價函數。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容