SVM的損失函數(Hinge Loss)


損失函數

是用來衡量一個預測器在對輸入數據進行分類預測時的質量好壞。損失值越小,分類器的效果越好,越能反映輸入數據與輸出類別標簽的關系(雖然我們的模型有時候會過擬合——這是由於訓練數據被過度擬合,導致我們的模型失去了泛化能力)。
相反,損失值越大,我們需要花更多的精力來提升模型的准確率。就參數化學習而言,這涉及到調整參數,比如需要調節權重矩陣W或偏置向量B,以提高分類的精度。

Hinge Loss

多分類svm:

損失函數的計算方法為:L_i={\sum_{}^{j\neq{y_i}}}max(0,s_j -s_y_i + \Delta ),其中i代表第i個樣品,j代表第j個種類,那么y_i代表第i個

樣品的真實種類。

其中,常用的數學表達式為:s_j=w_{T}^{j}x_i,但為了與代碼中的統一,從而稍微變動以下s_j=x_iw_j,對於y_i來說同理。

計算正確類的預測值,和其他類的預測值之間的差距,如果正確類的預測值大於所有不正確的預測值則損失函數為0,證明當前的W和b所計算得到的效果很好。
當把損失值推廣到整個訓練數據集,則應為:
在這里插入圖片描述

兩分類SVM:

在二分類情況下,鉸鏈函數公式如下:

L(y) = max(0 , 1 – t⋅y)

其中,y是預測值(-1到1之間),t為目標值(1或 -1)。其含義為:y的值在 -1到1之間即可,並不鼓勵 |y|>1,即讓某個樣本能夠正確分類就可以了,不鼓勵分類器過度自信,當樣本與分割線的距離超過1時並不會有任何獎勵。目的在於使分類器更專注於整體的分類誤差。

計算案例

 

 三個圖片的損失和整體損失:


免責聲明!

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



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