机器学习之SVM(算法详细推导)

SVM

目标

寻找最大边缘超平面,即使得支持向量距离超平面距离尽可能大

支持向量

样本中距离超平面最近的一些点,SVM的决策边界完全由支持向量决定,因此当将能够被正确分类且远离决策边界的样本点加入到训练数据中,也不会影响改变SVM原来确定的决策边界。

最优化问题

最大化两间隔边界之间的距离

m a x w         2 ∣ ∣ w ∣ ∣ ⇒ m i n w     1 2 ∣ ∣ w ∣ ∣ s . t .       y i ( w T x i + b ) ≥ 1 max_w~~~~~~~\frac{2}{||w||}\\\Rightarrow min_w~~~\frac{1}{2}||w||\\ s.t. ~~~~~y_i(w^Tx_i+b)\geq 1 maxw       w2minw   21ws.t.     yi(wTxi+b)1

对偶问题

m a x λ i           f ( λ i ) = > m a x λ i    − 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j ( x i . x j ) + ∑ i = 1 n λ i s . t .       ∑ i = 1 n λ i y i = 0 ,     λ i ≥ 0 max_{\lambda_i}~~~~~~~~~ f(\lambda_i)\\=> max_{\lambda_i}~~-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j(x_i.x_j)+\sum_{i=1}^n\lambda_i\\ s.t.~~~~~\sum_{i=1}^n\lambda_iy_i=0,~~~\lambda_i\geq0 maxλi         f(λi)=>maxλi  21i=1nj=1nλiλjyiyj(xi.xj)+i=1nλis.t.     i=1nλiyi=0,   λi0

求支撑向量

∂ f ( λ i ) ∂ λ i = 0 \frac{\partial f(\lambda_i)}{\partial \lambda_i}=0 λif(λi)=0 得到 λ i \lambda_i λi ,然后验证 ∑ i = 1 n λ i y i = 0 \sum_{i=1}^n \lambda_iy_i=0 i=1nλiyi=0 ,如果满足则 λ i > 0 \lambda_i>0 λi>0 对应的样本就是支撑向量;否则分类讨论,即令其中一个 λ i = 0 \lambda_i=0 λi=0 ,求解剩余的 λ j \lambda_j λj 然后比较每次求得的 f ( λ i ) f(\lambda_i) f(λi)选择 f ( λ i ) f(\lambda_i) f(λi) 最小时候对应的 λ i \lambda_i λi ,且 λ i > 0 \lambda_i>0 λi>0对应的样本就是支撑向量。

求分界线

最优权重

w ∗ = ∑ i = 1 n λ j y i x i w^*=\sum_{i=1}^n\lambda_jy_ix_i w=i=1nλjyixi

其中 x i x_i xi是列向量

截距项

通过将任意支撑向量X(+1),代入 ∑ i = 1 K ∑ j = 1 n w i x j i + b = 1 \sum_{i=1}^K\sum_{j=1}^nw_ix_{ji}+b=1 i=1Kj=1nwixji+b=1 得到

或通过将任意支撑向量X(-1),代入 ∑ i = 1 K ∑ j = 1 n w i x j i + b = − 1 \sum_{i=1}^K\sum_{j=1}^nw_ix_{ji}+b=-1 i=1Kj=1nwixji+b=1得到

最优分界线

∑ i = 1 K ∑ j = 1 n w i x j i + b = 0 \sum_{i=1}^K\sum_{j=1}^nw_ix_{ji}+b=0 i=1Kj=1nwixji+b=0

运用梯度下降方法求解SVM

线性SVM
改进的线性SVM目标函数——软间隔

m i n       1 2 ∣ ∣ w ∣ ∣ 2 2 + C # K min~~~~~\frac{1}{2}||w||_2^2+C\#K min     21w22+C#K

其中C表示错分的惩罚力度,#K表示所分点个数,即 K = { i K=\{i K={i| y i ( w T x i + b ) < 1 } y_i(w^Tx_i+b)<1\} yi(wTxi+b)<1}

相当于
m i n       1 2 ∣ ∣ w ∣ ∣ 2 2 + C ∑ i ∈ K ( 1 − y i ( w T x i + b ) ) min~~~~~\frac{1}{2}||w||_2^2+C \sum_{i\in K}(1-y_i(w^Tx_i+b)) min     21w22+CiK(1yi(wTxi+b))

参数更新

   w : = w − α ( w − C ∑ i ∈ K y i x i ) b : = b + α C ∑ i ∈ K y i ~~w:=w-\alpha(w-C\sum_{i\in K}y_ix_i)\\ b:=b+\alpha C\sum_{i\in K}y_i   w:=wα(wCiKyixi)b:=b+αCiKyi

非线性SVM
非线性SVM目标函数

m i n       1 2 ∣ ∣ w ∣ ∣ 2 2 + C ∑ i ∈ K ( 1 − y i ( w T ϕ ( x i ) ) ) K = { i ∣ y i ( w T ϕ ( x i ) ) < 1 } ,         w = ∑ i = 1 n λ i y i ϕ ( x i ) min~~~~~\frac{1}{2}||w||_2^2+C \sum_{i\in K}(1-y_i(w^T\phi(x_i)))\\ K=\{i|y_i(w^T\phi(x_i))<1\},~~~~~~~w=\sum_{i=1}^n\lambda_iy_i\phi(x_i) min     21w22+CiK(1yi(wTϕ(xi)))K={iyi(wTϕ(xi))<1},       w=i=1nλiyiϕ(xi)

α i = λ i y i \alpha_i=\lambda_iy_i αi=λiyi故化简为

m i n       1 2 ∑ i , j α i α j ϕ ( x i ) T ϕ ( x j ) + C ∑ i ∈ K ( 1 − y i ( ∑ j α j ϕ ( x j ) T ϕ ( x i ) ) ) min~~~~~\frac{1}{2}\sum_{i,j}\alpha_i\alpha_j\phi(x_i)^T\phi(x_j)+C \sum_{i\in K}(1-y_i(\sum_j\alpha_j\phi(x_j)^T\phi(x_i)))\\ min     21i,jαiαjϕ(xi)Tϕ(xj)+CiK(1yi(jαjϕ(xj)Tϕ(xi)))

再令 K i j = ϕ ( x i ) T ϕ ( x j ) K_{ij}=\phi(x_i)^T\phi(x_j) Kij=ϕ(xi)Tϕ(xj),则最终化简为

m i n       1 2 ∑ i , j α i α j K i j + C ∑ i ∈ K ( 1 − y i ( ∑ j α j K i j ) ) min~~~~~\frac{1}{2}\sum_{i,j}\alpha_i\alpha_jK_{ij}+C \sum_{i\in K}(1-y_i(\sum_j\alpha_jK_{ij}))\\ min     21i,jαiαjKij+CiK(1yi(jαjKij))

参数更新

α i : = α i − η ( K ˉ α − C ∑ i ∈ K y i K i ˉ ) \alpha_i:=\alpha_i-\eta(\bar{K}\alpha -C\sum_{i\in K}y_i\bar{K_i}) αi:=αiη(KˉαCiKyiKiˉ)

模型分类结果

∑ j α j K i j < 0 = > y i = − 1 ∑ j α j K i j > 0 = > y i = 1 \sum_j\alpha_jK_{ij}<0=>y_i=-1\\ \sum_j\alpha_jK_{ij}>0=>y_i=1 jαjKij<0=>yi=1jαjKij>0=>yi=1

根据线性、非线性目标函数的区别以及C,高斯核的 σ \sigma σ取值的性质,判断目标函数对应的分类结果图
  1. C表示分错点的惩罚程度。当C越大的时候说明对分错点的惩罚程度就越大,也就是对错误点的容忍率越低,分错点就会越少,(也就是强行将分割面插在很近的两个异类点之间)这时候两支撑面之间的间隔就会变小, ∥ w ∥ \|w\| w 会增大。但随着C趋向无穷,也就退回到了原始SVM,没有错误点可以容忍,此时 ∥ w ∥ \|w\| w 不会改变,间隔也不会变,支撑向量数量减少(由于在改进SVM中那些容错点(两支撑面之间的点)也是支持向量)。

  2. σ \sigma σ越小,数据点越少,越容易造成过拟合


在这里插入图片描述

首先发现1,2的目标函数表示的是线性SVM,而1中的C=0.1,2中的C=1,则说明2中的SVM分错点更少一点,则1对应的图为c,2对应的图为b。

其次发现3,4,5的目标函数都是非线性SVM,且3中选择的核函数是多项式,而4,5选择的是高斯核函数,则3对应的决策边界是二次曲线则图应该为b。进而,4中的 σ 2 = 1 \sigma^2=1 σ2=1,5中的 σ 2 = 0.5 \sigma^2=0.5 σ2=0.5,则5的拟合效果会更好曲线更弯曲且可能会过拟合因此5对应的e图,4对应的是a图

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值