SVM基础

SVM算法的效果是非常好的。对于一个线性可分的数据集(假设是二分类),以前的感知器算法就是找一条线将其分开就可以了,线的最终方程是随机的,它与分割线的初始化情况,与遇到训练点的顺序有关,因为它是遇到一个训练点,如果错误才改正。而现在的支持向量机算法就是能够在如此多的看似成功的线中找出一条最好的线,结果是唯一的。

那这个线是什么线呢?
这里写图片描述
定义距离分隔线的最近的点称为支持向量,距离支持向量距离最大的线就是我们的分割线。如上图所示,就是第三条。
为什么这条线最好呢?
很简单,所有的模型都是用来预测未知数据的。如果有一个未知数据点,它与支持向量非常相近,仅仅因为测量误差等原因有一点点波动。如果这个支持向量是‘x’,那么我们肯定这个未知数据的标签也为‘x’.但是如果放在第一个图中,支持向量几乎就在分隔线上面,未知数据有一点点波动,就会由’x’,变成‘o’。而第三个图的分割线,就会好很多,即他的泛化性能远比第一个图好。所以,支持向量到分割线的距离越大,模型的泛化性能越好,我们越有自信确定未知数据点的标签。

定义:
1.
函数距离

γiˆ=yi(wTx+b)

函数边界:就是最小的函数距离
γˆ=minγi

几何距离
γi=yi((w||w||)Tx+b||w||)

几何边界:就是最小的函数距离
γ=minγi

其中 γ = γˆ||w||
推导几何距离公式:
令点A的坐标为 xi ,分割线的单位法向量为 w||w|| ,点A到该分割线的距离为 γi ,做点A到分割线的垂线,交点为B ,坐标为 c ,则xi-c= γi w||w|| ,得c= xi - γi w||w|| ,由c在分割线上面,分割线方程为wx+b=0,代入方程,化简得
γi=yi((w||w||)Tx+b||w||)

  1. 我们最终目的是让函数边界大,还是让几何边界大呢?
    其实,真正目的应该是让函数边界大,但是最终还是转化为让几何边界大。对于函数距离 γiˆ=yi(wTx+b) ,我们最终希望的是,当 yi =1时, (wTx+b) >>0,当 yi =-1时, (wTx+b) <<0。即最终是要函数距离 γiˆ=yi(wTx+b) >>0。但是,如果我们要想达到这个目的,让w和b都成倍的增加就可了,但这样显然是错误的,所以我们必须要对w和b进行正规化。即将w,b变成 w||w|| , b||w|| ,再代入函数距离上,就变成了几何距离。所以最大化几何距离是没有错的。

现在我们开始求最优边界!
目标:最大化几何边界 γ
条件: γ 应为支持向量,即其他所有的几何距离都大于几何间距。

目标: maxγ,w,b γ
条件1: γˆ =1 既然是约束条件,那么||w||=1,和 γˆ =1都可以。(我认为是这样的,如果不是,还请告知)
条件2: γi=yi((w||w||)Tx+b||w||) >= γ
化简条件 yi((w||w||)Tx+b||w||) >= γˆ||w||
去掉||w||,即得 yi(wTx+b) >= γˆ

则可化简为
目标: maxγ,w,b γˆ||w||
条件1: yi(wTx+b) >= γˆ
条件2: γˆ =1

条件2 γˆ =1的作用?
正规化,作用同||w||,其值为1,或2,什么的都可以。
则最终优化问题为:

目标: 12 minγ,w,b ||w||2
条件1: yi(wTxi+b) >=1
正是一个二次规划问题,可用商业软件求出答案。比如LINGO软件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值