【十大經典資料探勘演算法】系列
c4.5
k-means
svmapriori
empagerank
adaboost
knnnaïve bayes
cart
svm(support vector machines)是分類演算法中應用廣泛、效果不錯的一類。《統計學習方法》對svm的數學原理做了詳細推導與論述,本文僅做整理。由簡至繁svm可分類為三類:線性可分(linear svm in linearly separable case)的線性svm、線性不可分的線性svm、非線性(nonlinear)svm。
對於二類分類問題,訓練集\(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 \]
從上圖中可觀察到:margin以外的樣本點對於確定分離超平面沒有貢獻,換句話說,svm是有很重要的訓練樣本(支援向量)所確定的。至此,svm分類問題可描述為在全部分類正確的情況下,最大化\(\frac\)(等價於最小化\(\frac\|w\|^2\));線性分類的約束最優化問題:
\begin
& \min_ \quad \frac|w|^2 \cr
& s.t. \quad y_i(w \cdot x_i + b)-1 \ge 0 \label
\end
對每乙個不等式約束引進拉格朗日乘子(lagrange multiplier)\(\alpha_i \ge 0, i=1,2,\cdots,n\);構造拉格朗日函式(lagrange function):
\begin
l(w,b,\alpha)=\frac|w|^2-\sum_^\alpha_i [y_i(w \cdot x_i + b)-1] \label
\end
根據拉格朗日對偶性,原始的約束最優化問題可等價於極大極小的對偶問題:
\[ \max_ \min_ \quad l(w,b,\alpha) \]
將\(l(w,b,\alpha)\)對\(w,b\)求偏導並令其等於0,則
\[ \begin & \frac = w-\sum_^\alpha_i y_i x_i =0 \quad \rightarrow \quad w = \sum_^\alpha_i y_i x_i \cr & \frac = \sum_^\alpha_i y_i = 0 \quad \rightarrow \quad \sum_^\alpha_i y_i = 0 \end \]
將上述式子代入拉格朗日函式\eqref中,對偶問題轉為
\[ \max_ \quad -\frac\sum_^\sum_^\alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_^\alpha_i \]
等價於最優化問題:
\begin
\min_ \quad & \frac\sum_^\sum_^\alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_^\alpha_i \cr
s.t. \quad & \sum_^\alpha_i y_i = 0 \cr
& \alpha_i \ge 0, \quad i=1,2,\cdots,n
\end
線性可分是理想情形,大多數情況下,由於雜訊或特異點等各種原因,訓練樣本是線性不可分的。因此,需要更一般化的學習演算法。
線性不可分意味著有樣本點不滿足約束條件\eqref,為了解決這個問題,對每個樣本引入乙個鬆弛變數\(\xi_i \ge 0\),這樣約束條件變為:
\[ y_i(w \cdot x_i + b) \ge 1- \xi_i \]
目標函式則變為
\[ \min_ \quad \frac\|w\|^2 + c\sum_^ \xi_i \]
其中,\(c\)為懲罰函式,目標函式有兩層含義:
\(c\)為調節二者的引數。通過構造拉格朗日函式並求解偏導(具體推導略去),可得到等價的對偶問題:
\begin
\min_ \quad \frac\sum_^\sum_^\alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_^ \label
\end
\begin
s.t. \quad & \sum_^\alpha_i y_i = 0 \cr
& 0 \le \alpha_i \le c, \quad i=1,2,\cdots,n
\end
與上一節中線性可分的對偶問題相比,只是約束條件\(\alpha_i\)發生變化,問題求解思路與之類似。
對於非線性問題,線性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中,可得非線性svm的最優化問題:
\begin
\min_ \quad & \frac\sum_^\sum_^\alpha_i \alpha_j y_i y_j k(x_i,x_j) - \sum_^\alpha_i \cr
s.t. \quad & \sum_^\alpha_i y_i = 0 \cr
& 0 \le \alpha_i \le c, \quad i=1,2,\cdots,n
\end
[1] 李航,《統計學習方法》.
[2] pang-ning tan, michael steinbach, vipin kumar, introduction to data mining.
資料探勘十大經典演算法
最近想看看資料探勘是個什麼東西,因此特別的關注了下,首先看看資料探勘包含哪些演算法,網上找到了十大經典演算法 01.c4.5 是機器學習演算法中的一種分類決策樹演算法,其核心演算法是 id3演算法 02.k means演算法 是一種聚類演算法。03.svm 一種 監督式學習 的方法,廣泛運用於統計分...
資料探勘十大經典演算法
1 c4.5 2 k means 3 svm 4 apriori 5 em 6 pagerank 7 adaboost 8 knn 9 bayes 10 cart 1 c4.5 計算增益率 step1 計算資料集d的熵 單位為位元 info d step2 計算每個屬性的熵info x d step...
十大經典資料探勘演算法
c4.5演算法 機器學習演算法中的乙個分類決策樹演算法 cart 分類與回歸樹 c4.5與cart都是決策樹演算法 id3用資訊增益,c4.5用資訊增益率,cart用gini係數 knn 樸素貝葉斯 bayes 在眾多的分類模型中,應用最為廣泛的兩種分類模型是決策樹模型 decision tree ...