損失函數(shù)定義:
?在深度學(xué)習(xí)中, 損失函數(shù)是用來衡量一組參數(shù)的質(zhì)量的函數(shù), 衡量的方式是比較網(wǎng)絡(luò)輸出和真實(shí)輸出的差異。損失函數(shù)訓(xùn)練過程:
?一般使用梯度下降法:試圖找到一組參數(shù)使得損失函數(shù)的值越小越好,參數(shù)(大小和方向)的調(diào)整取決于損失函數(shù)相對(duì)于參數(shù)的偏導(dǎo)數(shù)。
1.回歸任務(wù)的損失函數(shù)
?網(wǎng)絡(luò)輸出是一個(gè)連續(xù)的數(shù)值。
?常用的損失函數(shù)為:絕對(duì)值誤差, 平方差。
1)絕對(duì)值誤差
?絕對(duì)誤差函數(shù)是非常直觀的損失函數(shù)。

?○ 得到的解會(huì)比較稀疏:因而在高緯任務(wù)中表現(xiàn)比較好、預(yù)測(cè)速度快
?○ 對(duì)異常值不敏感
2)方差函數(shù)
?是回歸任務(wù)中最常用的損失函數(shù)。

?○ 比絕對(duì)誤差函數(shù)得到的結(jié)果更精準(zhǔn)
?○ 對(duì)大的誤差輸出更敏感
?○ 對(duì)outliers很敏感
2.分類任務(wù)的損失函數(shù)
?網(wǎng)絡(luò)的輸出為一個(gè)類別。
?損失函數(shù): hinge loss, Cross-entropy loss
- 如何設(shè)計(jì)分類任務(wù)的損失函數(shù)?
首先將真實(shí)的輸出類別進(jìn)行獨(dú)熱編碼 -->One-hot encoding;
然后,將網(wǎng)絡(luò)模型的預(yù)測(cè)值與One-hot encoding后的真實(shí)類別值作為輸入,計(jì)算hinge loss與Softmax。
1)hinge loss:非概率的解釋
- 損失值:
?單個(gè)樣本的損失值:
?全部樣本的損失值:
-
hinge loss計(jì)算案例
-
原理
正確類別的輸出值,一定要大于不正確類別的輸出值(并且至少大于delta值)。
Hinge Loss.png
2)Softmax
?概率解釋,將輸出轉(zhuǎn)換為概率函數(shù)。
?概率的取值范圍為(0~1),且所有類別的概率之和為1。
softmax數(shù)學(xué)公式:
-
softmax分類的損失函數(shù):
softmax損失函數(shù)原理圖.png
單個(gè)樣本的損失值:
全部樣本的損失值:
3.案例
-
分類任務(wù)損失函數(shù)計(jì)算案例
分類損失函數(shù)計(jì)算實(shí)例(1).png
分類損失函數(shù)計(jì)算實(shí)例(2).png
4.分類任務(wù)為什么不用均方差作為損失函數(shù)?
- 方差函數(shù)多誤差的輸出懲罰非常大
- 當(dāng)softmax作為激活函數(shù)時(shí),如果使用方差函數(shù)作為損失函數(shù),梯度公式中包含
,當(dāng)輸出接近于0或者1的時(shí)候,梯度值非常小,網(wǎng)絡(luò)的訓(xùn)練就會(huì)非常慢。
1)使用均方差作為損失函數(shù)
?當(dāng)使用均方差作為softmax分類的損失函數(shù)時(shí),梯度公式為:

2)使用交叉熵作為損失函數(shù)
?當(dāng)使用交叉熵作為softmax分類的損失函數(shù)時(shí),梯度公式為:

5.多標(biāo)簽分類
- 輸出類別屬于多個(gè)類中的一個(gè)或者多個(gè)類
- 例如:一副包含貓咪的圖像可以同時(shí)屬于’貓‘,’哺乳動(dòng)物‘,’寵物‘
- 多標(biāo)簽分類:應(yīng)該每一個(gè)輸出獨(dú)立使用Sigmoid激活函數(shù)(二分類),不能直接使用Softmax激活函數(shù)。



