SVM入门(1)--优化目标函数的来龙去脉

在线性可分的场景下,SVM的优化目标函数为:
这里写图片描述
如果是刚接触SVM,你可能不知道这个目标函数,当然你也不知道这个w是什么,后面的这个约束条件什么意思。没关系,你现在只要记着,这个就是在线性可分类场景下,SVM最终要优化的目标函数。显然,这个目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题。对于这样的二次规划问题,有现成的二次规划优化包来求解。
现在,对于初学者来说,最想搞明白的是什么呢?显然,是这个目标函数是怎么来的? 这个w是个什么东西?约束条件为什么是个这样的不等式?为什么是≥1?如果你不能回答这些问题,不知道这个目标函数的由来,同时又非常想知道,那你就认认真真的往下看吧。否则,后面的内容你就不要耽误时间阅读了。
对于类似下图的线性可分的场景:
这里写图片描述
想要找一条线(高纬度时就说一个超平面)将这两种不同颜色的点分开。显然,这样的超平面直观上有很多。但是,哪一个是“最合适的”呢?比如,图上的点是训练样本点,那么增加要预测的点的时候,这个平面还能不能准确的预测这些点的类别?也就是泛化能力好不好?自然,那些离平面两边数据的间隔最大的平面才是最合适的。那么,如何找到有最大间隔的超平面呢?
首先,让我们从形式上定义这个超平面:
这里写图片描述
其中w是参数向量,x是维度向量。
要找到这个超平面,也就是要求这个等式中的w和b。条件是什么呢?是的,条件就是上面提到的:平面两边的数据(点)到平面的间隔要最大。有没有办法形式化这一点呢?
首先,假定对于一个点x,令其垂直投影到超平面上的对应点为x0,w是垂直于超平面的一个向量,r为样本x到分类间隔的距离,如下图所示:
这里写图片描述

又由于x0是超平面上的点,满足f(x0) = 0,代入超平面的方程这里写图片描述 即可算出:
γ=wTx+b||w||=f(x)||w||
为了得到 γ 的绝对值,令 γ 乘上对应的类别y:
γ¯ = y γ = yf(x)||w||
其中 γ¯ 即为点到超平面的距离,也叫做几何距离。而yf(x)叫做函数间隔。
于是,我们的优化目标可形式定义如下:
maxyf(x)||w||,s.t.yif(xi)||w||yf(x)||w||,i=1,...,n
其中yf(x)中的x只离超平面最近的点。约束条件的意思就是,其他点到平面的距离都要满足≥这个最近的几何距离。(稍微先提一句,这些离平面最近的点就称之为“支持向量”,为什么叫做向量?因为一个点其实就相当于从原点到该点的一个向量。为什么又叫“支持向量”呢?因为这个目标函数,其实真正起作用的是这些向量,是他们支持了分类。)。
如果我们令函数间隔yf(x)等于1,则,目标函数可以转换成:
max1||w||,s.t.yif(xi)1,i=1,...,n
显然,这个目标函数和下面的是等价的:
min12||w||2,s.t.yif(xi)1,i=1,...,n
这样,就得到本文开头提到目标函数了。
有没有明白的?如果有初学者感觉没有明白的,或者哪位熟悉的发现有什么错误,都欢迎反馈给我。本人对SVM也是刚熟悉不久,我也是从一个初学者的角度来分享下SVM,目的是希望能够帮助大家能更好理解SVM,当然也非常希望从大家的反馈中得到更多的学习。
目标函数是怎么来的就讲到这了,后面就是怎么解这个目标函数了。下期见吧~

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值