參考: http://blog.csdn.net/luo123n/article/details/48878759
Hinge Loss
也叫 max-margin objective 其最著名的應用是作為SVM的目標函數
其二分類情況下,公式如下:
y是預測值(-1與1之間,t是目標值+/-1)
其含義為,y的值在-1到1之間就可以了,並不鼓勵|y|>1,即並不鼓勵分類器過度自信,讓某個可以正確分類的樣本距離分割線的距離超過1並不會有任何獎勵。從而使得分類器可以更專注整體的分類誤差。
from PRML:
The Hinge Loss E(z) = max(0,1-z) is plotted in blue, the Log Loss in red, the Square Loss in green and the misclassification error in black.
換用其他的Loss函數的話,SVM就不再是SVM了。
知乎:正是因為HingeLoss的零區域對應的正是非支持向量的普通樣本,從而所有的普通樣本都不參與最終超平面的決定,這才是支持向量機最大的優勢所在,對訓練樣本數目的依賴大大減少,而且提高了訓練效率。
hinge loss是一個凸函數,很多常用的凸優化技術都可以使用。不過它是不可微的,只是有subgradient
參考: http://www.cnblogs.com/ooon/p/5539687.html
SVM求解使通過建立二次規划原始問題,引入拉格朗日乘子法,然后轉換成對偶的形式去求解,這是一種理論非常充實的解法。這里換一種角度來思考,在機器學習領域,一般的做法是經驗風險最小化 ERM ,即構建假設函數為輸入輸出間的映射,然后采用損失函數來衡量模型的優劣。求得使損失最小化的模型即為最優的假設函數,采用不同的損失函數也會得到不同的機器學習算法,比如這里的主題 SVM 采用的是 Hinge Loss ,Logistic Regression 采用的則是負 log 損失,
紅色的線是log損失,E(x) = -log(P(Y|X))
對於二分類問題,假設分類器為y = wx+b, 根據經驗風險最小化原則,這里引入二分類loss hinge loss:
SVM可以通過直接最小化如下損失函數二求得最優的分離超平面:
多分類問題:
單個樣本多分類問題 s = wx+b s為向量,每個分量都是一個類的得分, y標簽類別為1,其他為0
單個樣本多分類的inge loss如下:
對每個分量進行hinge loss求和
所以k分類線性分類SVM的Hinge Loss表示為:
變種
實際應用中,我們的y值域並不是[-1,1],比如我們希望y更接近於一個概率,值域是[0,1], 另一方面,我們希望訓練的是兩個樣本之間的相似關系,而非樣本的整體分類,所以用以下公式:
其中,y是正樣本的得分,y'是負樣本的得分,m是margin
我們並不希望正樣本分數越高越好,負樣本分數越低越好,但二者得分之差最多到m就足夠了,差距增大並不會有任何獎勵
比如,我們想訓練詞向量,我們希望經常同時出現的詞,他們的向量內積越大越好;不經常同時出現的詞,他們的向量內積越小越好。則我們的hinge loss function可以是:
其中,w是當前正在處理的詞,w+w+是w在文中前3個詞和后3個詞中的某一個詞,w−w−是隨機選的一個詞
也就是說 1-正+負<=0 正-負>=1