SVM(支持向量機)之Hinge Loss解釋


  • Hinge Loss 解釋

  SVM 求解使通過建立二次規划原始問題,引入拉格朗日乘子法,然后轉換成對偶的形式去求解,這是一種理論非常充實的解法。這里換一種角度來思考,在機器學習領域,一般的做法是經驗風險最小化 ERM ,即構建假設函數為輸入輸出間的映射,然后采用損失函數來衡量模型的優劣。求得使損失最小化的模型即為最優的假設函數,采用不同的損失函數也會得到不同的機器學習算法,比如這里的主題 SVM 采用的是 Hinge Loss ,Logistic Regression 采用的則是負 $\log$ 損失,

\[L(Y,P(Y|X)) = - \log P(Y|X)\]

  從二項分布的角度來考慮 Logistic 回歸: 

 

\begin{aligned}
P(Y=1|X) &= \frac{1}{1 + e^{- \theta x}}\\
P(Y=0|X) &= 1- P(Y=1|X)
\end{aligned}

  這里另 $z = \theta^Tx$ ,  $\delta$ 為 sigmod 映射,則: 

\[E(z) = - \log (\delta(z)) \]

  $E(z)$ 的圖形如下圖的紅色曲線,可見 $z$ 越接近 1 , $E(z)$ 的取值越小,即損失越小。反之另:

\[E(z) = 1- \log (\delta(z)) \]

  此時得到的圖像應該為關於 $E(z)$ 對稱的紅色的線(沒畫出),此時 $z$ 越接近 -1,$E(z)$ 的取值越小,即損失越小。

  : 圖中綠色的線為 square loss ,藍色的線為 hinge loss, 紅的的線為負 log 損失。

  • 二分類問題

  給定數據集  $T = \left \{ (x_i,y_i)\right \}_{i=1}^N $ , 要用這些數據做一個線性分類器,即求得最優分離超平面 $w\cdot x + b = 0$ 來將樣本分為正負兩類,給定數據集后只需求得最優的參數  $w , b$ 即可,為了解決這個問題,首先做出如下線性映射函數 

\[y = w \cdot x + b\]

  根據經驗風險最小化原則, 這里引入二分類的 Hinge Loss :

\[max(0, 1- y_i(w \cdot x_i + b))\]

  上圖中對應的 $E(z) = max(0,1-z)$ ,所以SVM可以通過直接最小化如下損失函數二求得最優的分離超平面:

\[ \min_{w,b} \sum_{i=1}^N max(0, 1- y_i(w \cdot x_i + b)) + \lambda ||w||^2 \]

  • 多分類問題

對於多分類問題,現在要用這些數據做一個 k 類的線性分類器 ,現在需要優化的參數變為 $W ,b$ , 此時的 $W \in \mathbb{R} ^{k \times n}$,為一個 $k \times n$ 的矩陣,$b \in \mathbb{R}^k$ 為一個向量,現在的映射關系如下 :$s =W x_i +b$,此時有 $s \in \mathbb{R}^k$  ,$s$ 中的每個分量代表分類器在該類別的得分,樣本 $x_i$ 的標簽  $y_i \in \mathbb{R}^k$ , 這里若 $x_i$ 屬於類別 $k$ ,則 $y_i$ 中除了第 $k$ 個分量外其余元素全為 0 ,比如 5 分類問題, $x_i$  屬於第 3 類,則有  $y_i = [0,0,1,0,0]$  , 用 $s_j$ 表示得分向量 $s$ 中的第 $j$ 個分量 , $s_{y_i}$ 表示對應 $y_i = 1$ 的分量,則單個樣本多分類的Hinge Loss可表示為:

\[\sum_{j \ne y_i} max(0,s_j - s_{y_i} + 1)\],

以 $k$ 分類線性分類SVM 的 Hinge Loss表示為:

\[\min_{W,b} \sum_{i=1}^N\sum_{j \ne y_i} max(0,s_j - s_{y_i} + 1) + \lambda \sum_k \sum_nW_{k,n}^2\]


免責聲明!

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



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