机器学习 支持向量机

支持向量机(SVM)是好的现成的分类器
优点:泛化错误率低,计算开销不大,结果易解释。
缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题。
适用数据类型:数值型和标称型数据。
数据的线性可分
分隔超平面:二维中为直线,三维中为平面,更高维中为超平面
最佳拟合为间隔最大
支持向量(support vector)就是离分隔超平面近的那些点。接下来要试着大化支持向量 到分隔面的距离,需要找到此问题的优化求解方法。
为超平面的形式在这里插入图片描述
为间隔(点到分隔面的距离)在这里插入图片描述
用海维赛德阶跃函数(即单位阶跃函数)对数据作用
其中当u<0时f(u)输出-1,反之则输出+1。
求支持向量在这里插入图片描述
利用拉格朗日乘数法进行化简得
在这里插入图片描述在这里插入图片描述
若数据并非线性可分,则引入了松弛变量来允许有些数据点可以处于分隔面的错误一侧。这样我们的优化目标就能保持仍然不变,此时新的约束条件则变为: 在这里插入图片描述
SMO表示序列最小优化(Sequential Minimal Optimization)。
SMO算法的目标是求出一系列alpha和b,一旦求出了这些alpha,就很容易计算出权重向量w 并得到分隔超平面。
SMO算法的工作原理是:每次循环中选择两个alpha进行优化处理。一旦找到一对合适的 alpha,那么就增大其中一个同时减小另一个。这里所谓的“合适”就是指两个alpha必须要符合 一定的条件,条件之一就是这两个alpha必须要在间隔边界之外,而其第二个条件则是这两个alpha 还没有进行过区间化处理或者不在边界上。 辅助函数在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
利用核函数对数据进行处理,将数据转换成易于分类器理解的形式。
径向基核函数 在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
使用核函数时需要对innerL()及calcEk()函数进行的修改

发布了24 篇原创文章 · 获赞 0 · 访问量 303

猜你喜欢

转载自blog.csdn.net/weixin_45776003/article/details/103440395
今日推荐