Margin Loss 損失函數的設計


 

參考:  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個詞中的某一個詞,ww−是隨機選的一個詞

 也就是說 1-正+負<=0    正-負>=1   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM