支持向量机(二):Soft-Margin SVM & kernel
1.hinge function【表示错误分类的函数】
hinge function:(图)
2.Soft-margin SVM【将错误分类加入损失函数】
C:容忍度:可容忍错误分类的程度指标【C越大,可容忍错误分类的程度越高】
【错误分类的样本处于wTX+b=和wTX+b=1之间;表明样本(函数)只要“加上”就可以满足 yi(wTX+b)>1 约束】
3.SVM简单例子:
1) Hard-margin SVM demo:
C=λ=0.01【容忍度很小,基本没有分类错误】
2)Soft-margin SVM demo:
C=λ=0.2【容忍度适中,在支持向量和超平面之间存在样本点,但分类基本没有错误。】
【样本有一小部分处于 0<yi(wTX+b)<1 (即距离最远的蓝线之间)的范围,即支持向量和超平面之间】
3)Soft-margin SVM demo:
C=λ=0.5【容忍度较大,相当一部分样本点在支持向量和超平面之间,存在若干个分类错误的样本点。】
4.kernel function【核函数】
1)核函数在SVM中的应用
对于线性可分:硬间隔SVM;
对于基本线性可分:软间隔SVM;
对于完全非线性可分:核函数将特征空间转化到高维,在高维空间进行线性分类。【核函数另一个优点:内积计算方便】
2)核函数相关公式和定义
【xiTxi用核函数可以避免高维数据的内积计算(费时),直接计算原特征空间内向量的核函数值即可得到高维空间中向量的内积】
【k(x,x')为核函数,核函数一般满足对称性和正定性,不过存在例外】
3)常见核函数【熟悉在不同软件中的调用:matlab/python】
① linear kernel:
② polynomial kernel:
③ gaussian kernel:
④ exponential kernel:
⑤ laplacian kernel:
⑥ ANOVA kernel:【多维回归】
⑦ sigmoid kernel:【神经网络】
⑧ rational quadratic kernel:【可替代高斯核】
⑨ multiquadratic kernel:【可替代⑧ ,非正定核】
⑩ other kernel
5.SVM相关优化算法
L-BFGS算法;SMO算法等等优化算法均可以进行SVM对偶问题的优化。
【datamining/minFunc/lbfgs.m】
参考资料:
1.https://www.bilibili.com/video/BV1Hs411w7ci?from=search&seid=1584423692713473845 ,作者:shuhuai008
2.https://blog.csdn.net/wsj998689aa/article/details/47027365,核函数相关总结,作者:迷雾forest
3.github:五步实现SVM