简述
支持向量机(SVM)是一个二分类模型
找到一个超平面使得数据到这个超平面的距离最大化
实现样本分类和预测
原理推导
问题重述
对于数据集D=(Xi,yi),yi∈1,−1, 希望找到一个划分超平面
WTx+b=0
其中W=(w1,w2,...,wn)为超平面法向量,b 为位移项
任意点(Xi,yi)到平面的距离都为
r=∣∣w∣∣∣WTx+b∣
任意点的距离,无论是在超平面上方(yi=1) 还是在超平面的下方(yi=−1),都有∣WTx+b∣=yi(WTx+b) 1
则原式为
r=∣∣w∣∣yi(WTx+b)
同时我们可以根据缩放和平行
将经过支持向量且与超平面平行的面的方程设为[^平移转换]
WTx+b=1
即经过缩放 支持向量
到超平面的距离为1 则有r≥∣∣w∣∣1
此时 我们知道正负的距离相等时才是我们希望的情景,因此有
ρsum=ρ++ρ−=2r
故我们有目标方程
maxrsum=∣∣w∣∣2s.t.yi(WTx+b)≥1, i=1,2,...m
等价于
min21∣∣w∣∣2s.t.yi(WTxi+b)≥1, i=1,2,...m
这里经过SVM的过程转化为拉格朗日函数
L(w,b,α)=21∣∣w∣∣2+i=1∑mαi(1−yi(wTxi+b))
对w和b求导,偏导为0
w=i=1∑mαiyixi
i=1∑mαiyi=0
代入后求出结果
maxαi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj
s.t.i=1∑mαiyi=0,αi>=0,i=1,...,m
解除α 即可得到模型
软间隔
经典svm是将所有样本都正确分类,但在一些比较特殊的情况下,完全分类并不是最理想的结果,有时样本根本就不是线性可分的,因此需要有一个软间隔的svm
minm,b21∥w∥2+Ci=1∑ml0or1(yi(wTxi+b)−1)
l0or1(z)={1,0,if z<0ortherwise
当C是正无穷时,就是经典的svm,
但这个l的数学性质不太好 不可导且不连续
使用hinge函数代替
原式变为
minm,b21∥w∥2+Ci=1∑mmax(0,1−yi(wTxi+b))
令ξi 为max(0,1−yi(wTxi+b))
则原式的拉格朗日方程
L(w,b,α,ξ,μ)=minm,b21∥w∥2+Ci=1∑mmax(0,1−yi(wTxi+b))
+i+1∑mαi(1−ξi−yi(wTxi+b))−i=1∑mμiξi
其中αi,μi>=0为拉格朗日乘子
对w,b,ξi的偏导为0得到
w=i=1∑mαiyixi
i=1∑mαiyi=0
C=αi+μi
代入得到
maxαi=1∑mαi−21i=1∑mj=1∑mαiαjαiαjxiTxj
s.t.i=1∑mαiyi=0,C>=αi>=0,i=1,...,m
- 对于所有的支持向量(位于间隔边界上的训练样本):
- yi(wTxi+b)−1+ξi=0,ξi是松弛变量(Slack Variable)上文ξi 为max(0,1−yi(wTxi+b))。这个等式表示支持向量满足间隔边界上的约束条件。
- 对于所有的非支持向量(位于间隔边界以内的训练样本):
- yi(wTxi+b)−1+ξi≥0,ξi是松弛变量(Slack Variable)。这个不等式表示非支持向量满足间隔边界以内的约束条件。
- 松弛变量和拉格朗日乘子的关系:- αi≥0,μi≥0,αi(yi(wTxi+b)−1+ξi)=0,μiξi=0,其中αi是拉格朗日乘子(Lagrange Multiplier),μi是松弛变量的拉格朗日乘子(Lagrange Multiplier)。这个关系表示拉格朗日乘子和松弛变量之间的约束条件。
简单来说,KKT条件要求在最优解下,支持向量满足间隔边界上的约束条件,非支持向量满足间隔边界以内的约束条件,并且拉格朗日乘子和松弛变量之间存在一定的关系。
- 核函数
用于将输入数据从原始特征空间映射到一个高维特征空间,从而使得在原始特征空间中线性不可分的问题在高维特征空间中变得线性可分。
[∇wL(w,b)={n1∑i=1n−yixi+λwif yi(w⋅xi+b)<1 λwotherwise]
参考yemaolin
svm视频