損失函數
是用來衡量一個預測器在對輸入數據進行分類預測時的質量好壞。損失值越小,分類器的效果越好,越能反映輸入數據與輸出類別標簽的關系(雖然我們的模型有時候會過擬合——這是由於訓練數據被過度擬合,導致我們的模型失去了泛化能力)。
相反,損失值越大,我們需要花更多的精力來提升模型的准確率。就參數化學習而言,這涉及到調整參數,比如需要調節權重矩陣W或偏置向量B,以提高分類的精度。
Hinge Loss
多分類svm:
損失函數的計算方法為:,其中i代表第i個樣品,j代表第j個種類,那么y_i代表第i個
樣品的真實種類。
其中,常用的數學表達式為:,但為了與代碼中的統一,從而稍微變動以下
,對於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時並不會有任何獎勵。目的在於使分類器更專注於整體的分類誤差。
計算案例
三個圖片的損失和整體損失: