1.模型表示
寻找一个超平面
wTx+b=0能够将训练样本正确分类,也就是满足:
yi(wTxi+b)=∣f(xi)∣>=1(1)
即:
- 当
yi=+1时,
wTxi+b>=+1
- 当
yi=−1时,
wTxi+b<=−1
样本点到超平面上的距离(点到直线的距离公式):
γgeo=∣∣w∣∣∣wTx+b∣
A=w,B=0,C=b
函数间隔与几何间隔
函数间隔:
γfun=y(wTx+b)=yf(x)=∣f(x)∣
几何间隔:
γgeo=∣∣w∣∣∣wTx+b∣=∣∣w∣∣∣f(x)∣=∣∣w∣∣γfun
两个异类支持向量(使得式1中等号成立的样本点)到超平面的距离之和:
γ=∣∣w∣∣2
目标:最大化间隔<=>最小化
∣∣w∣∣2
因此,SVM模型表示为:
min∣∣w∣∣2(2)
s.t.yi(wTxi+b)≥1i=1,...,m
2.模型求解
参考本人博客《拉格朗日乘子法和KKT条件》
https://blog.csdn.net/weixin_38493025/article/details/84176756
第3节:不等式条件下求解最优问题【KKT条件】
构造拉格朗日函数,
利用KKT条件求解
- L关于w,b的偏导为0
-
αi≥0,i=1,...,n
-
αig(xi)=αi(1−yi(wTxi+b))=0
如果
αi=0,条件3自然成立;
如果
αi̸=0,为了满足条件3,则必须有
yi(wTxi+b)=1,此时的样本即为支持向量,我们的目标就是找出这些支持向量对应的
αi
令偏导为0
代入拉格朗日函数L中,得到
因此,原始问题的对偶问题为:
只要求出拉格朗日乘子a,则由
w=∑i=1nαiyixi可得w,由
wx+b=0则得b。
拉格朗日乘子a的求解
解法1:拉格朗日乘子法(慢)
对偶问题的约束条件为等式约束,再次运用拉格朗日乘子法即可求解a
参考本人博客《拉格朗日乘子法和KKT条件》
https://blog.csdn.net/weixin_38493025/article/details/84176756
第2节:等式条件下求解最优问题【拉格朗日乘子法】
解法2:SMO算法(快)
参考:http://bitjoy.net/2016/05/02/svm-smo-algorithm/
SMO算法通过启发式方法选择一对
αi、αj当变量,固定其他参数
αk,然后用解析的方法求解两个变量的二次规划问题。
乘子的选择(启发式方法):
3.非线性形式
对于非线性的情况,选择恰当的核函数代替内积,通过将数据映射到高维空间,在这个空间中构造最优超平面,解决在原始空间中线性不可分的问题。(如果原始空间是有限维,那么一定存在一个高维特征空间使得样本线性可分。)
对偶形式:
计算内积:
寻找一个合适的二元函数,它的输入是原空间的两个向量,它的输出是映射到高维空间的两个向量的内积,这个函数就是核函数,表示为:
K(x,z)=<ϕ(x),ϕ(z)>
常用核函数:
4.SVM的变形
4.1软间隔支持向量机
在式(2)里面是要求超平面能够将训练样本正确分类(称为“硬间隔”),事实上我们可以允许某些样本不满足约束
yi(wTxi+b)≥1,当然在最大化间隔的同时这类样本要尽可能地少。
模型表示为:
w,bmin21∣∣w∣∣2+Ci=1∑mmax(0,1−yi(wTxi+b))(3)
当C无限大时,模型退化为硬间隔SVM。
软间隔SVM 的损失函数可以看作是 L2-norm 和 Hinge loss 之和。Hinge损失
lhinge(z)=max(0,1−z)表示如果被正确分类,损失是0,否则损失就是 1−z 。
引入松弛变量
ξi≥0,式(3)可以重写为:
w,b,ξmin21∣∣w∣∣2+Ci=1∑mξi(4)
s.tyi(wTxi+b)≥1−ξi
ξi≥0,i=1,...,m
4.2 模糊支持向量机
4.2.1 基于标准模型的模糊支持向量机
在实际应用中,数据集常常带有孤立点或噪声。然而,标准支持向量机对噪声点或孤立点敏感,因此就有学者通过对不同的样本赋予不同的误差权重,提出了基于标准模型的模糊支持向量机。
w,b,ξmin21∣∣w∣∣2+Ci=1∑msiξi(5)
s.tyi(wTxi+b)≥1−ξi
ξi≥0,i=1,...,m
4.2.2 双边加权模糊支持向量机
考虑到在实际问题中,一个样本可能以不同的隶属度属于不同的类,有学者提出了双边加权模糊支持向量机。
w,b,ξmin21∣∣w∣∣2+Ci=1∑m(si+ξi++si−ξi−)(6)
s.tyi(wTxi+b)≥1−ξi+
yi(wTxi+b)≤−1+ξi−
ξi≥0,ηi≥0,i=1,...,m
4.2.3 双边加权模糊最小二乘支持向量机
为了解决带噪声的回归问题,将目标函数中
ξi变成
ξi2,用等式约束代替不等式约束,有学者提出了双边加权最小二乘模糊支持向量机。
w,b,ξmin21∣∣w∣∣2+2Ci=1∑m(si+ξi+2+si−ξi−2)(7)
s.tyi(wTxi+b)=1−ξi+
yi(wTxi+b)=−1+ξi−
ξi≥0,ηi≥0,i=1,...,m