【十大經典數據挖掘算法】SVM


【十大經典數據挖掘算法】系列

  1. C4.5
  2. K-Means
  3. SVM
  4. Apriori
  5. EM
  6. PageRank
  7. AdaBoost
  8. kNN
  9. Naïve Bayes
  10. CART

SVM(Support Vector Machines)是分類算法中應用廣泛、效果不錯的一類。《統計學習方法》對SVM的數學原理做了詳細推導與論述,本文僅做整理。由簡至繁SVM可分類為三類:線性可分(linear SVM in linearly separable case)的線性SVM、線性不可分的線性SVM、非線性(nonlinear)SVM。

1. 線性可分

對於二類分類問題,訓練集\(T = \lbrace (x_1,y_1),(x_2,y_2), \cdots ,(x_N,y_N) \rbrace\),其類別\(y_i \in \lbrace 0,1 \rbrace\),線性SVM通過學習得到分離超平面(hyperplane):

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

以及相應的分類決策函數:

\[f(x)=sign(w \cdot x + b) \]

有如下圖所示的分離超平面,哪一個超平面的分類效果更好呢?

直觀上,超平面\(B_1\)的分類效果更好一些。將距離分離超平面最近的兩個不同類別的樣本點稱為支持向量(support vector)的,構成了兩條平行於分離超平面的長帶,二者之間的距離稱之為margin。顯然,margin更大,則分類正確的確信度更高(與超平面的距離表示分類的確信度,距離越遠則分類正確的確信度越高)。通過計算容易得到:

\[margin = \frac{2}{\|w\|} \]

從上圖中可觀察到:margin以外的樣本點對於確定分離超平面沒有貢獻,換句話說,SVM是有很重要的訓練樣本(支持向量)所確定的。至此,SVM分類問題可描述為在全部分類正確的情況下,最大化\(\frac{2}{\|w\|}\)(等價於最小化\(\frac{1}{2}\|w\|^2\));線性分類的約束最優化問題:

\begin{align}
& \min_{w,b} \quad \frac{1}{2}|w|^2 \cr
& s.t. \quad y_i(w \cdot x_i + b)-1 \ge 0 \label{eq:linear-st}
\end{align}

對每一個不等式約束引進拉格朗日乘子(Lagrange multiplier)\(\alpha_i \ge 0, i=1,2,\cdots,N\);構造拉格朗日函數(Lagrange function):

\begin{equation}
L(w,b,\alpha)=\frac{1}{2}|w|^2-\sum_{i=1}^{N}\alpha_i [y_i(w \cdot x_i + b)-1] \label{eq:lagrange}
\end{equation}

根據拉格朗日對偶性,原始的約束最優化問題可等價於極大極小的對偶問題:

\[\max_{\alpha} \min_{w,b} \quad L(w,b,\alpha) \]

\(L(w,b,\alpha)\)\(w,b\)求偏導並令其等於0,則

\[\begin{aligned} & \frac{\partial L}{\partial w} = w-\sum_{i=1}^{N}\alpha_i y_i x_i =0 \quad \Rightarrow \quad w = \sum_{i=1}^{N}\alpha_i y_i x_i \cr & \frac{\partial L}{\partial b} = \sum_{i=1}^{N}\alpha_i y_i = 0 \quad \Rightarrow \quad \sum_{i=1}^{N}\alpha_i y_i = 0 \end{aligned} \]

將上述式子代入拉格朗日函數\eqref{eq:lagrange}中,對偶問題轉為

\[\max_{\alpha} \quad -\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_{i=1}^{N}\alpha_i \]

等價於最優化問題:

\begin{align}
\min_{\alpha} \quad & \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_{i=1}^{N}\alpha_i \cr
s.t. \quad & \sum_{i=1}^{N}\alpha_i y_i = 0 \cr
& \alpha_i \ge 0, \quad i=1,2,\cdots,N
\end{align}

線性可分是理想情形,大多數情況下,由於噪聲或特異點等各種原因,訓練樣本是線性不可分的。因此,需要更一般化的學習算法。

2. 線性不可分

線性不可分意味着有樣本點不滿足約束條件\eqref{eq:linear-st},為了解決這個問題,對每個樣本引入一個松弛變量\(\xi_i \ge 0\),這樣約束條件變為:

\[y_i(w \cdot x_i + b) \ge 1- \xi_i \]

目標函數則變為

\[\min_{w,b,\xi} \quad \frac{1}{2}\|w\|^2 + C\sum_{i=1}^{N} \xi_i \]

其中,\(C\)為懲罰函數,目標函數有兩層含義:

  • margin盡量大,
  • 誤分類的樣本點計量少

\(C\)為調節二者的參數。通過構造拉格朗日函數並求解偏導(具體推導略去),可得到等價的對偶問題:

\begin{equation}
\min_{\alpha} \quad \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_{i=1}^{N} {\alpha_i} \label{eq:svmobj}
\end{equation}

\begin{align}
s.t. \quad & \sum_{i=1}^{N}\alpha_i y_i = 0 \cr
& 0 \le \alpha_i \le C, \quad i=1,2,\cdots,N
\end{align}

與上一節中線性可分的對偶問題相比,只是約束條件\(\alpha_i\)發生變化,問題求解思路與之類似。

3. 非線性

對於非線性問題,線性SVM不再適用了,需要非線性SVM來解決了。解決非線性分類問題的思路,通過空間變換\(\phi\)(一般是低維空間映射到高維空間\(x \rightarrow \phi(x)\))后實現線性可分,在下圖所示的例子中,通過空間變換,將左圖中的橢圓分離面變換成了右圖中直線。

在SVM的等價對偶問題中的目標函數中有樣本點的內積\(x_i \cdot x_j\),在空間變換后則是\(\phi(x_i) \cdot \phi(x_j)\),由於維數增加導致內積計算成本增加,這時核函數(kernel function)便派上用場了,將映射后的高維空間內積轉換成低維空間的函數:

\[K(x,z)=\phi(x) \cdot \phi(z) \]

將其代入一般化的SVM學習算法的目標函數\eqref{eq:svmobj}中,可得非線性SVM的最優化問題:

\begin{align}
\min_{\alpha} \quad & \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i \alpha_j y_i y_j K(x_i,x_j) - \sum_{i=1}^{N}\alpha_i \cr
s.t. \quad & \sum_{i=1}^{N}\alpha_i y_i = 0 \cr
& 0 \le \alpha_i \le C, \quad i=1,2,\cdots,N
\end{align}

4. 參考資料

[1] 李航,《統計學習方法》.
[2] Pang-Ning Tan, Michael Steinbach, Vipin Kumar, Introduction to Data Mining.


免責聲明!

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



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