1.SVM概念(重点:间隔对偶核技巧)
SVM:(support machine learning),支持向量机,也称最大间隔分类器(max margin classifier)
超平面:实现高维空间中样本的线性可分。超平面公式:wTX+b=0。SVM实现分类的手段是在特征空间中找到一个超平面。超平面可以用wTX+b表示,构建一个SVM模型最终就是要求出最佳的参数w*和b*。
间隔:样本到超平面的距离(距离:几何间隔,函数间隔《统计机器学习》对应章节)SVM转化为优化问题就是求出一个超平面,使得离超平面最近的样本的间隔最大。
problem : max margin =max min distance of X = max min |wTX+b|/||w|| <=min max |wTX+b|/||w||。(max参数为w,b,min参数为x ;max min <= min max 为弱对偶关系,若要成为强对偶关系‘=’,有两种情况:①满足KKT条件;②凸优化问题,并且是线性约束)
s.t yi*(wTX+b)>0 => 【exist r>0 ,yi*(wTX+b)=r meet the constrains => set r=1 => yi*(wTX+b)=1】=> problem: min max |wTX+b|/||w|| =>min max yi(wTX+b)/||w|| =>min max 1/||w|| 。
=> problem : min max 1/||w||
s.t yi*(wTX+b)=1
【拉格朗日乘子法解带约束的优化问题:求极值=> w*】
=> soft margin 同理
最终式子:
对偶:原问题转化为优化问题1 max min ~,优化问题转化为其对偶问题,也就是优化问题2 min max~,为了求解方便所以将原问题转化为对偶问题。
核技巧:核函数(kernel function)有两个功能,一个是将样本的特征空间通过特征转换映射到高维空间以便实现线性可分;另一个功能是能够直接计算出高维数据的内积,避免庞大的计算量。(不同核函数的具体应用:待完成)
SMO算法:SVM的常用实现算法
硬间隔:不允许分类错误
软间隔:允许一点点分类错误(鲁棒性更强)
2.SVM公式推导
如何实现分类:分别将数据xi代入超平面公式,根据式子(1.1)得出yi,以下式子为二分类问题
3.SVM步骤
1)
2)
3)
4.SVM代码
参考资料:
1.https://www.jianshu.com/p/ba02b92baaaf,作者
2.https://www.zhihu.com/question/31211585/answer/640501555,作者:
原文:https://www.cnblogs.com/feynmania/p/12727338.html