1. 程式人生 > >機器學習基礎(四十二)—— 常用損失函式的設計(multiclass SVM loss & hinge loss)

機器學習基礎(四十二)—— 常用損失函式的設計(multiclass SVM loss & hinge loss)

損失函式,又叫代價函式(成本函式,cost function),是應用優化演算法解決問題的關鍵。

1. 0-1 損失函式

誤分類的概率為:

P(Yf(X))=1P(Y=f(X))

我們不妨記 mfθ(x)y(其中 y{1,1}。對於二分類問題,最理想的損失函式是 0/1 損失函式,

  • fθ(x)y 有相同符號時,損失為 0;
  • fθ(x)y 符號不同時,損失為 1;

0/1 損失函式既不是處處可微(乘積,也即 m=0處, ),又不是凸函式,所以直接最小化 0/1 損失函式很困難。這就需要用到 hinge 損失函數了

2. 多類 SVM 的損失函式(Multiclass SVM loss)

在給出類別預測前的輸出結果是實數值, 也即根據 score function 得到的 score(s=f(xi,W)),

Li=jyimax(0,sjsyi+1)
  • yi 表示真實的類別,syi 在真實類別上的得分;
  • sj,jyi 在其他非真實類別上的得分,也即預測錯誤時的得分;

則在全體訓練樣本上的平均損失為:

L=1Ni=1NLi
scores = np.dot(W, X)
correct_scores = scores[y, np.arange(num_samples)]

loss = score - correct_scores + 1
loss[y, np.arange
(num_samples)] = 0

3. hinge 函式(摺頁函式)

仍然作如下記號,mfθ(x)y,hinge 函式的形式為:

Jhinge=min{0,1m}

二者的幾何圖形為:


這裡寫圖片描述

Hinge 損失的名字是源自它跟開啟 135° 的折葉(hinge)長得很像。


這裡寫圖片描述