損失函式綜述

磐石001發表於2018-05-06

損失函式(loss function)又叫做代價函式(cost function),是用來評估模型的預測值與真實值不一致的程度,也是神經網路中優化的目標函式,神經網路訓練或者優化的過程就是最小化損失函式的過程,損失函式越小,說明模型的預測值就越接近真是值,模型的健壯性也就越好。

常見的損失函式有以下幾種:

(1) 0-1損失函式(0-1 lossfunction):

0-1損失函式是最為簡單的一種損失函式,多適用於分類問題中,如果預測值與目標值不相等,說明預測錯誤,輸出值為1;如果預測值與目標值相同,說明預測正確,輸出為0,言外之意沒有損失。其數學公式可表示為:

由於0-1損失函式過於理想化、嚴格化,且數學性質不是很好,難以優化,所以在實際問題中,我們經常會用以下的損失函式進行代替。

(2)感知損失函式(Perceptron Loss):
感知損失函式是對0-1損失函式的改進,它並不會像0-1損失函式那樣嚴格,哪怕預測值為0.99,真實值為1,都會認為是錯誤的;而是給一個誤差區間,只要在誤差區間內,就認為是正確的。其數學公式可表示為:

(3)平方損失函式(quadratic loss function):

顧名思義,平方損失函式是指預測值與真實值差值的平方。損失越大,說明預測值與真實值的差值越大。平方損失函式多用於線性迴歸任務中,其數學公式為:

接下來,我們延伸到樣本個數為N的情況,此時的平方損失函式為:

(4)Hinge損失函式(hinge loss function):

Hinge損失函式通常適用於二分類的場景中,可以用來解決間隔最大化的問題,常應用於著名的SVM演算法中。其數學公式為:

其中在上式中,t是目標值{-1,+1},y為預測值的輸出,取值範圍在(-1,1)之間。

(5)對數損失函式(Log Loss):

對數損失函式也是常見的一種損失函式,常用於邏輯迴歸問題中,其標準形式為:

上式中,y為已知分類的類別,x為樣本值,我們需要讓概率p(y|x)達到最大值,也就是說我們要求一個引數值,使得輸出的目前這組資料的概率值最大。因為概率P(Y|X)的取值範圍為[0,1],log(x)函式在區間[0,1]的取值為負數,所以為了保證損失值為正數要在log函式前加負號。

(6)交叉熵損失函式(cross-entropy loss function):

交叉熵損失函式本質上也是一種對數損失函式,常用於多分類問題中。其數學公式為:

注意:公式中的x表示樣本,y代表預測的輸出,a為實際輸出,n表示樣本總數量。交叉熵損失函式常用於當sigmoid函式作為啟用函式的情景,因為它可以完美解決平方損失函式權重更新過慢的問題。

以上為大家介紹了較為常見的一些損失函式以及使用場景。接下來的文章中會結合經典的例項——MNIST手寫數字識別,為大家講解如何在深度學習實際的專案中運用啟用函式、損失函式。

 

 


相關文章