7種損失函數

更多深度學習資訊都在公衆號:DLCV

主要內容: 0-1,Hinge,Logistic,Cross Entropy,Square,Absolute,Huber
簡述: 損失函數刻畫了模型與訓練樣本的匹配程度。

分類損失

分類Loss.png
1. 對於二分類問題,Y={1,-1},我們希望signf(xi,θ)=y1sign f(x_i,\theta)=y_1

0-1損失:L01(f,y)=1f.y0L_{0-1}(f,y)=1_{f.y\leq0}
最自然的損失函數是0-1損失,表示的是,當且僅當預測爲真的時候取值爲1,否則取值爲0。該損失函數能夠直觀的刻畫分類的錯誤率,但是由於其非凸、非光滑的特點,使得算法很難直接對該函數進行優化。

Hinge損失:Lhinge(f,y)=max0,1f.yL_{hinge}(f,y)=max{0,1-f.y}
Hinge損失函數是0-1損失函數相對緊的凸上界,且當f.y1f.y\leq1時候,該函數不對其做任何處罰。由於Hinge損失在f.y=1處不可導,因此不能使用梯度下降算法優化,而是使用次梯度下降法。

Logistic損失函數:Llogistic=log2(1+exp(f.y))L_{logistic}=log_2(1+exp(-f.y))
Logistic損失函數也是0-1損失函數的凸上界,且該函數處處光滑,因此可以使用梯度下降法進行優化。但是,該函數對所有樣本點都做懲罰,因此對異常點更爲敏感。

Cross Entropy:Lcross_entropy=log2((1+f.y)/2)L_{cross\_entropy}=-log_2((1+f.y)/2)
交叉熵損失函數是常用的二分類損失函數。交叉熵損失函數也是0-1損失的光滑凸上界。

迴歸損失

在這裏插入圖片描述

1.對於迴歸問題,我們期望f(xi,θ)yif(x_i,\theta)\approx y_i

Square損失:Lsquare(f,y)=(fy)2L_{square}(f,y)=(f-y)^2
平方損失函數是光滑函數,能夠使用梯度下降法優化。然而當預測值距離真是隻越遠時,平方損失函數的懲罰力度越大,因此對異常點比較敏感。

Absolute損失:Labsolute(f,y)=fyL_{absolute}(f,y)=|f-y|
絕對損失函數相當於在做中值迴歸,相比做均值迴歸的平方損失函數,絕對損失函數對異常點更魯棒。但是,絕對損失函數在f=y處無法求導。

Huber損失:Lhuber(f,y)={(fy)2,fyδ2δfyδ2,fy>δ}L_{huber}(f,y)=\left\{\begin{array}{l}{(f-y)^2, |f-y|\leq\delta} \\ {2\delta |f-y|-\delta ^2, |f-y|>\delta }\end{array}\right\}
Huber損失函數在|f-y|較小時爲平方損失,在|f-y|較大的時採用線性損失,處處可導,且對異常點魯棒。

更多內容請關注公衆號:知識交點
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章