SVM、SVR原理简单介绍

1 篇文章 0 订阅
1 篇文章 0 订阅

首先第一次做总结,是个好习惯,希望能保持下去。

首先先学习的是支持向量机,下面是超平面的通俗理解。

如下图所示,在二位平面有两组数据,我们想用一条线把它们尽可能分开,另外一个点出现时,我们也可以利用这条线成功判断出它属于哪一边。

如下图所示,当二组数据呈现在三维空间时,根据超平面的定义,需要二维的超平面(即平面)来把它们分开;以此类推更高维的。

下面以二维坐标轴来解释下svm的基本原理。如下图由两个星标数据划出的直线能够很好的分开这两组数据,这两个星标数据称作我们的支持向量。这两条虚线中间的实线即分隔这两组数据的超平面。那为什么会选这两个数据作为支持向量呢?这是由于由这两个数据作为支持向量而构建的两条虚线间(正、负超平面)的间隔(Margin)最大,而间隔越大说明这两组数据的区分度越大,我们区分起来就更容易。

下面给出了三条直线的表达式,值得注意的是,这里不再用y作为纵坐标,用x2更符合这里的标准,以及x3等等.....

对上述三个式子进行适当调整,两边同除c,然后把左边的w1/c变成新的w1,得到下图,正、负超平面一边分别对应着一组数据,中间是决策超平面。

刚才考虑的是比较理想化的情况,如果我们在上图再加上一个不太合群的点,情况会如何呢。这就要谈到我们的软、硬间隔的问题了。如图,硬间隔就是像之前一样,把新来的那个点作为新的支持向量,构建了新的超平面,这样的话间隔会损失很多,不是好的选择;而软间隔则接受了这个点不合群的事实,并尝试用一些手段补救;就像我们做生意,间隔相当于收入,而这个点的脱离相当于损失,我们要同时考虑这两点,让利益最大化。

首先讨论硬间隔。

下面进行一些公式的推导,我们分别进行两组推导。第一次我们在决策超平面上找了两个向量点,相减后得到式子8,由此我们知道向量w会垂直超平面;然后在正、负超平面上分别取一个向量点也相减,进行一番推导后最后得到,间隔L会等于2除去向量w的模;于是为了让间隔最大,我们转而研究让w的模最小。

下面我们开始进行最优化,需要运用到我们微积分的拉格朗日乘子法。首先构建合理的约束条件,在这里我们把上下两组数据提供一个代表其本质的变量y,绿点的y为1,黄点的y为-1,这样的话不管黄点还是绿点,它们的yi*(w*xi+b)大于等于1恒成立。(公式可看下图,文字中向量符号未输入)

随后进行拉格朗日乘子法。将w的模平方后除2,不影响求w的最小值,同时又方便了求导。最后得到了拉格朗日函数L。

对该拉格朗日函数对各变量分别求偏导,得到以下四个式子,根据式子3、4,再结合实际情况会发现每个λ其实会大于等于0,于是得到了我们著名的kkt条件,把这些条件带入回去,我们就能解出最终的决策超平面了。

下面简单介绍下SVM对偶性,它能帮我们对SVM决策超平面进行更方便的求解。首先我们先用一个简单的例子理解一下对偶性的优点。

如下图,我们要求在约束条件x大于等于1的条件下,求解x平方的最小值,我们很容易能够解出当x=1时,f(x)有最小值1;根据对偶性,我们先用拉格朗日乘子法构建了如下新方程(注意根据KKT条件,λ大于0),不同的是,我们把新方程求偏导并令其等于0后,新方程的自变量变成了λ,对q(λ)求极值后,发现当λ为2时,x为1,q(λ)有最小值1;总结一下,相当于f(x)在x=1和q(λ)在λ=2对应着同一种情况,都得到了我们需要的答案。利用这一特性,我们也许能更方便求出决策超平面。

如下图所示,和上面简单例子的原理相似,经过一系列的推导,最右边是关于向量w的函数f(w),他会大于等于它的最优解f(w*),然后结合推导的不等式,得到下图黄色部分式子。然后看到第二张图,我们寻找最优q(λ*)满足如图所示不等式,于是求f(w)最小值转而求q(λ)最大值。然后是一个很重要的强弱对偶的问题,当q(λ*)<f(w*)时我们称之为弱对偶,不是很理想,即f(w)最小值不能完全转而求q(λ)最大值;而当q(λ*)=f(w*)时我们称为强对偶,求f(w)最小值可以完全转而求q(λ)最大值。

看似很简单,但是我们在映射时,就会发现当变量增多时,映射到高维空间的维度是呈指数增长的,计算起来十分困难,这时候就需要核函数(kernel function)了。核函数也是将特征从低维到高维进行转换,但是它是先在低维上进行计算,实际的分类效果表现在高维上。这样,我们就避免了在高维上复杂的计算,仍得到相同的结果。

SVR介绍

SVM和SVR最终都是要最大化间隔,只是最大化间隔的目的稍有区别,因此优化目标均包含 min1/2||w||平方项,具体地:

SVM:使支持向量到超平面间的距离最大(即最大化支持向量与超平面的间隔),换言之,SVC通过最大化间隔使得与超平面间距离最小的样本点尽可能分开。

SVR:使由 ε 指定的误差带包含的数据点最多(即最大化由ε 指定的误差带的几何间隔),换言之,SVR通过最大化间隔使得绝大多数样本点可以包含在超平面周围由 ε指定的误差带之间。

svr分为线性硬间隔SVR、线性软间隔SVR、非线性(映射,核函数)。

主要参考:【数之道】支持向量机SVM是什么,八分钟直觉理解其本质_哔哩哔哩_bilibili

(20 封私信) 为什么支持向量回归的目标也是最小化||w||的平方? - 知乎 (zhihu.com)

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
鱼鹰算法优化支持向量机(OOA-SVR)是一种基于鱼鹰算法的支持向量机优化方法。支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,用于分类和回归问题。 鱼鹰算法是一种基于自然界中鱼鹰捕食行为的优化算法。它模拟了鱼鹰在捕食过程中的搜索和追踪策略,通过不断调整搜索空间中的候选解来寻找最优解。 OOA-SVR方法将鱼鹰算法应用于支持向量机的优化过程中,以提高支持向量机的性能和精度。其原理如下: 1. 初始化种群:根据问题的特点和要求,初始化一定数量的鱼鹰个体作为初始种群。 2. 评估适应度:根据支持向量机的目标函数,计算每个个体的适应度值,评估其性能。 3. 更新位置:根据鱼鹰算法的搜索策略,通过调整个体的位置来更新种群。这里的位置表示支持向量机模型中的参数,如权重和偏置。 4. 更新速度:根据个体之间的位置差异和适应度值,更新个体的速度。速度的更新可以帮助个体更好地搜索最优解。 5. 选择操作:根据适应度值,选择一部分个体作为下一代的父代,用于产生新的个体。 6. 交叉和变异:通过交叉和变异操作,生成新的个体,并加入到下一代种群中。 7. 终止条件:根据预设的终止条件,判断是否满足停止迭代的条件。如果满足,则输出最优解;否则,返回第3步继续迭代。 通过以上步骤,OOA-SVR方法能够通过鱼鹰算法的优化策略,不断调整支持向量机模型的参数,以找到更优的分类或回归模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值