1. 程式人生 > >損失函式:Hinge Loss(max margin)

損失函式:Hinge Loss(max margin)

Hinge Loss簡介

Hinge Loss是一種目標函式(或者說損失函式)的名稱,有的時候又叫做max-margin objective。其最著名的應用是作為SVM的目標函式。

其二分類情況下,公式如下: 

l(y)=max(0,1ty)
其中,y是預測值(-1到1之間),t為目標值(±1)。

其含義為,y的值在-1到1之間就可以了,並不鼓勵|y|>1,即並不鼓勵分類器過度自信,讓某個可以正確分類的樣本距離分割線的距離超過1並不會有任何獎勵。從而使得分類器可以更專注整體的分類誤差。

變種

實際應用中,一方面很多時候我們的y的值域並不是[-1,1],比如我們可能更希望y更接近於一個概率,即其值域最好是[0,1]。另一方面,很多時候我們希望訓練的是兩個樣本之間的相似關係,而非樣本的整體分類,所以很多時候我們會用下面的公式: 

[Math Processing Error] 
其中,y是正樣本的得分,y’是負樣本的得分,m是margin(自己選一個數)

即我們希望正樣本分數越高越好,負樣本分數越低越好,但二者得分之差最多到m就足夠了,差距增大並不會有任何獎勵。

比如,我們想訓練詞向量,我們希望經常同時出現的詞,他們的向量內積越大越好;不經常同時出現的詞,他們的向量內積越小越好。則我們的hinge loss function可以是: 

l(w,w+,w)=max(0,1wTw++wTw)
其中,w是當前正在處理的詞,w+是w在文中前3個詞和後3個詞中的某一個詞,w是隨機選的一個詞。