SVM & 核技巧(数学推导)
1 简介
- 一种二分类模型,线性分类器,同时可以通过核变换来处理非线性问题,类似于感知器,但是SVM要求在特征空间上的间隔最大化
- 一句话介绍SVM
SVM是一种二分类模型,他的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔大使它有别于普通的感知机,通过核技巧隐式的在输入空间直接求解映射空间中特征向量的内积,使其成为一个非线性分类器。SVM的学习策略是间隔最大化,可形式化为一个求解凸二次规划问题。
2 核技巧(Kernel trick)
-
如果我们选取一个半正定的核函数 K ( x , y ) K(x,y) K(x,y),那么就存在函数 ϕ ⃗ ( x ) = ( ϕ k ( x ) ∣ k = 1 , 2 , . . . , r ) \vec{\phi}(x) = (\phi_k(x)|k=1,2,...,r) ϕ(x)=(ϕk(x)∣k=1,2,...,r),使得
-
K ( x i , y i ) = ϕ ⃗ ( x i ) T ϕ ⃗ ( x j ) = ∑ l ϕ ( l ) ( x i ) ϕ ( l ) ( x j ) K(x_i,y_i) = \vec{\phi}(x_i)^T \vec{\phi}(x_j)=\sum_l\phi^{(l)}(x_i)\phi^{(l)}(x_j) K(xi,yi)=ϕ(xi)Tϕ(xj)=l∑ϕ(l)(xi)ϕ(l)(xj)
-
我们不需要去显式地计算 ϕ k ⃗ ( x i ) \vec{\phi_k}(x_i) ϕk(xi), 因为我们只需要内积 ϕ ⃗ ( x i ) T ϕ ⃗ ( x j ) = K ( x i , y i ) \vec{\phi}(x_i)^T \vec{\phi}(x_j) = K(x_i,y_i) ϕ(xi)Tϕ(xj)=K(xi,yi) 的结果来计算分离最大间隔的超平面。
-
核函数是两个变量的对称函数,强调:核函数是半正定的,因为 K ( x , y ) K(x,y) K(x,y)是一个内积
-
为什么核函数必须是半正定的?
- 半正定矩阵的特征值非负
- 核函数必须是正半定的,以便它们具有合理的(非负)距离。 那就是margins是正的。
-
常用的Kernel 有
- 多项式核: K ( x 1 , x 2 ) = ( x 1 T x 2 ) 2 K(x_1,x_2)=(x_1^Tx_2)^2 K(x1,x2)=(x1Tx2)2
- 高斯(RBF)核: K ( x 1 , x 2 ) = e − γ ∥ x 1 − x 2 ∥ 2 K(x_1,x_2)=e^{-\gamma\|x_1-x_2\|^2} K(x1,x2)=e−γ∥x1−x2∥2
-
Mercer’s Theorem: 任何 半正定的对称函数都可以作为核函数
-
任何两个核函数的和、乘积也是核函数
-
一个核函数的n次方也是核函数
2 算法原理
2.1 最大化间隔(Maximum Margin)
-
首先考虑点 x x x 到超平面 ( w , b ) (w,b) (w,b) 的距离,距离 d d d 可以写为:
- r = ∣ w T + b ∣ ∥ w ∥ r = \frac{|w^T+b|}{\|w\|} r=∥w∥∣wT+b∣
-
-
求解能够正确划分训练数据集并且使几何间隔最大的分离超平面
-
分离超平面: ω x + b = 0 \omega x + b = 0 ωx+b=0
-
我们的任务是找到一个由正交向量 w , a w,a w,a 和一个临界值 b b b 定义的分离平面,使得
-
y k ( w ∥ w ∥ ∗ x k + b ) ≥ Δ y_k\big(\frac{w}{\|w\|}\ast x_k + b\big)\ge\Delta yk(∥w∥w∗xk+b)≥Δ
其中 y i ∈ { 1 , − 1 } y_i \in \{1,-1\} yi∈{ 1,−1}, x ∈ R n , Δ x\in R^n, \Delta x∈Rn,Δ是margin
-
-
为了使分类更加精准,我们需要最大化 margin Δ \Delta Δ
-
对上式两边同时除以 Δ \Delta Δ,得到
- y k ( w Δ ∥ w ∥ ∗ x k + b Δ ) ≥ 1 y_k\big(\frac{w}{\Delta\|w\|}\ast x_k + \frac{b}{\Delta}\big)\ge1 yk(Δ∥w∥w∗xk+Δb)≥1
-
令 w ^ = w Δ ∥ w ∥ , b ^ = b Δ \hat{w}= \frac{w}{\Delta\|w\|}, \hat{b} = \frac{b}{\Delta} w^=Δ∥w∥w,b^=Δb ,有
-
y k ( w ^ T