1. 程式人生 > >深度學習基礎--loss與啟用函式--合頁損失函式、摺頁損失函式;Hinge Loss;Multiclass SVM Loss

深度學習基礎--loss與啟用函式--合頁損失函式、摺頁損失函式;Hinge Loss;Multiclass SVM Loss

合頁損失函式、摺頁損失函式;Hinge Loss;Multiclass SVM Loss

  Hinge Loss是一種目標函式(或者說損失函式)的名稱,有的時候又叫做max-margin objective。用於分類模型以尋找距離每個樣本的距離最大的決策邊界,即最大化樣本和邊界之間的邊緣。
  其最著名的應用是作為SVM的目標函式。

定義

  在二元分類中,hinge 損失函式按以下方式定義:
  loss=max(0,1−(y′* t))

  其中,t 是真實的標籤,-1 或+1。
  y’是分類器模型的預測值(-1到1之間),計算公式是:y′=b+w_1 * x_1+ w_2* x_2+…w_n*x_n
  其含義為,y的值在-1到1之間就可以了,並不鼓勵 |y|>1 ,即並不鼓勵分類器過度自信,讓某個可以正確分類的樣本距離分割線的距離超過1並不會有任何獎勵。從而使得分類器可以更專注整體的分類誤差。

變種

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

  其變種的公式為:
  loss(y,y′)=max(0,m−y+y′)
  其中,y是正樣本的得分,y’是負樣本的得分,m是margin(自己選一個數)
  即我們希望正樣本分數越高越好,負樣本分數越低越好,但二者得分之差最多到m就足夠了,差距增大並不會有任何獎勵。

例子

  我們想訓練詞向量,我們希望經常同時出現的詞,他們的向量內積越大越好;不經常同時出現的詞,他們的向量內積越小越好。
  則我們的hinge loss function可以是:
  loss(w,w+,w−)=max[0,1−(w*w+)+(w * w−)]
  其中,w是當前正在處理的詞, w+ 是w在文中前3個詞和後3個詞中的某一個詞, w− 是隨機選的一個詞。