損失函數——Hinge
本文討論Hinge損失函數,該函數是機器學習中常用的損失函數之一。
函數特性
在機器學習中,hinge loss是一種損失函數,它通常用於"maximum-margin"的分類任務中,如支持向量機。數學表達式為:
其中 表示預測輸出,通常都是軟結果(就是說輸出不是0,1這種,可能是0.87。), 表示正確的類別。
- 如果 ,則損失為:
- 如果 ,則損失為:0
其函數圖像如下,與0-1損失對比:
優化
以支持向量機為例,其模型為: ,如果用hinge損失,其求導結果如下:
變種
實際應用中,一方面很多時候我們的y的值域並不是[-1,1],比如我們可能更希望y更接近於一個概率,即其值域最好是[0,1]。另一方面,很多時候我們希望訓練的是兩個樣本之間的相似關係,而非樣本的整體分類,所以很多時候我們會用下面的公式:
其中,y是正樣本的得分,y』是負樣本的得分,m是margin(自己選一個數)
即我們希望正樣本分數越高越好,負樣本分數越低越好,但二者得分之差最多到m就足夠了,差距增大並不會有任何獎勵。
比如,我們想訓練詞向量,我們希望經常同時出現的詞,他們的向量內積越大越好;不經常同時出現的詞,他們的向量內積越小越好。則我們的hinge loss function可以是:
其中,w是當前正在處理的詞, 是w在文中前3個詞和後3個詞中的某一個詞, 是隨機選的一個詞。
參考
[1]. Wikiwand Hinge loss
[2]. 損失函數:Hinge Loss(max margin)
推薦閱讀:
※直覺版:CNN解讀part1
※機器學習Part2:如何用邏輯回歸分類
※Machine Learning: 機器學習項目Top 30 (v.2018)
※機器學習基本套路
※BOW 演算法,被CNN 打爆之前的王者
TAG:機器學習 |