本小節(jié)介紹一些常見的loss函數(shù)
1. l1_loss&l2_loss
衡量預(yù)測值與真實值的偏差程度的最常見的loss: 誤差的L1范數(shù)和L2范數(shù)
因為L1范數(shù)在誤差接近0的時候不平滑药版,所以比較少用到這個范數(shù)
L2范數(shù)的缺點是當(dāng)存在離群點(outliers)的時候,這些點會占loss的主要組成部分炼邀。比如說真實值為1陆错,預(yù)測10次灯抛,有一次預(yù)測值為1000,其余次的預(yù)測值為1左右音瓷,顯然loss值主要由1000主宰对嚼。
2.Huber Loss:
Huber Loss經(jīng)常用于回歸問題,相比與l2 loss,其對離群點(outliers)沒有那么敏感(因為如果殘差太大的話绳慎,由于是分段函數(shù)纵竖,loss為殘差的線性函數(shù))
函數(shù)定義:
其中其中tao是一個設(shè)定的參數(shù),y表示真實值,f(x)表示預(yù)測值杏愤。
這樣做的好處是當(dāng)殘差(residual)很小的時候磨确,loss函數(shù)為l2范數(shù),殘差大的時候声邦,為l1范數(shù)的線性函數(shù)
Pseudo-Huber loss function:Huber loss 的一種平滑近似,保證各階可導(dǎo)
其中tao為設(shè)置的參數(shù)摆舟,其越大亥曹,則兩邊的線性部分越陡峭
3.Hinge Loss
合頁損失常用于二分類問題,比如ground true :t=1 or -1,預(yù)測值 y=wx+b
在svm分類器中恨诱,定義的hinge loss 為
也就是說當(dāng)y越接近t的時候媳瞪,loss越小
擴展:
可以將上面的二分類loss函數(shù)擴展成C分類的loss函數(shù)
注意S=X*W+b???? shape( X: (N,D),? W:(D,C),? b:(C,) )
s_j= x_i*w_j+b 也就是為j類的分?jǐn)?shù),s_yi=x_i*w_yi+b 也就是yi類的打分
注意ground true的標(biāo)簽為 yi
其中 x_i(shape :1*D)可以表示第i張圖片照宝,w_j(shape:D*1)表示第j類的權(quán)重參數(shù)
理想情況下我們希望的是錯誤分類的打分最小蛇受,正確分類的打分最大
這種情況下 s_j - s_yi 小于0,則這時候 loss趨于0
同時可以想象厕鹃,因為打分函數(shù)是線性的 y=x*w+b,那么假如w_0能夠正確分類這些圖片兢仰,那么w_1=2 *w_0也能夠正確的分類圖片(仔細理解上面的公式,w_1讓s_j-s_yi負的更多剂碴,但最后結(jié)果因為是負數(shù)所以都是0把将,所以 w_1和w_0都能夠正確的分類。為了避免這種不確定性忆矛,一般會加入懲罰項來約束參數(shù)w,使得參數(shù)w盡可能的小
Cross-entropy loss
上面主要是說 cross-entropy loss 主要應(yīng)用在二分類問題上察蹲,預(yù)測值為概率值,根據(jù)交叉熵定義loss.注意上面的值的取值范圍:y的預(yù)測值應(yīng)該為概率,取值范圍為【0,1】
sigmoid-Cross-entropy loss
上面的交叉熵loss要求預(yù)測值是概率洽议,一般來說我們算出來的都是 scores=x*w+b,將這個值輸入到sigmoid函數(shù)就能夠壓縮值域到(0,1)
可以看到由于sigmoid函數(shù)平滑了預(yù)測值(比如直接輸入0.1和0.01和將0.1,0.01sigmoid后再輸入宗收,顯然后者的變化值會小很多),使得sigmoid-ce在預(yù)測值離label比較遠的時候loss的增長沒有那么的陡峭
softmax cross-entropy loss
首先softmax函數(shù)能夠把一組分?jǐn)?shù)向量轉(zhuǎn)換成相對應(yīng)的概率向量亚兄。下面是softmax函數(shù)的定義
如上混稽,softmax也是做到了'squashes' k維任意實數(shù)值到k維的【0,1】值域的向量,同時保證了累加和為1.
根據(jù)交叉熵的定義儿捧,需要概率作為輸入荚坞。sigmoid-cross-entropy-loss用sigmoid來將分?jǐn)?shù)向量轉(zhuǎn)換成概率向量,softmax-cross-entropy-loss則是用softmax函數(shù)來將分?jǐn)?shù)向量轉(zhuǎn)換成概率向量菲盾。
根據(jù)交叉熵loss的定義
其中p(x)表示分類x是正確分類的概率颓影,p的取值只能數(shù)0或者1。這個是先驗值
q(x)則為x種類為正確分類的預(yù)測概率懒鉴,取值范圍為(0,1)
那么具體到一個 共有C種類的分類問題诡挂,那么p(x_j),(0<=j<=C)肯定只有1個為1,C-1個為0(因為只能有一個正確的分類临谱,正確分類為正確分類的概率為1璃俗,其余分類為正確分類的概率為0)
那么就可以很自然的推導(dǎo)出softmax-cross-entropy-loss的定義了
下面是softmax-cross-entropy-loss 的定義
其中f_j表示所有可能種類的分?jǐn)?shù),f_yi表示ground true類的分?jǐn)?shù)