- 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}post
這裏另 $z = \theta^Tx$ , $\delta$ 爲 sigmod 映射,則: 學習
\[E(z) = - \log (\delta(z)) \]
優化
$E(z)$ 的圖形以下圖的紅色曲線,可見 $z$ 越接近 1 , $E(z)$ 的取值越小,即損失越小。反之另:spa
\[E(z) = 1- \log (\delta(z)) \]3d
此時獲得的圖像應該爲關於 $E(z)$ 對稱的紅色的線(沒畫出),此時 $z$ 越接近 -1,$E(z)$ 的取值越小,即損失越小。blog
注: 圖中綠色的線爲 square loss ,藍色的線爲 hinge loss, 紅的的線爲負 log 損失。io
- 二分類問題
給定數據集 $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\]