SVM

SVM(Support Vector Machine)支持向量机

虽然说对于使用SVM来说不了解其算法与细节没有太大的影响,但是本着学习的态度还是有必要研究一下。

 

SVM是一类按监督学习方式对数据进行二元分类的线性分类器。即在特征空间中寻找最佳超平面分隔正负样本。

 

首先

1.空间中的超平面表示为: wTx+b=0

2.空间中的点x到超平面的距离为: r = |wTx+b|/||w||

3.关于x = xi,yi是其标签当其为+1时为正样本,当其为-1时为负样本

4.若Wt 与b是分隔超平面 则  wTxi+b≥1时此样本被判断为正样本,wTxi+b≤-1时样本被判断为负样本

(关于为什么是1与-1,西瓜书上有解释,即若W‘与b’能将样本正确分类,则存在缩放因子c,使W=cW’保证后面的值为正负1,因为缩放W并不会改变其代表的平面)

根据上面四点,可以得出

两个异类支持向量到超平面的距离为 r = 2/||w||,也就是我们需要优化的目标

Max2/||W||

Subject to  yiwtxi+b≥1 i=1,2,…..,m 

SVM的核心就是上面两个公式。

 

求解最优的W与b,需要先明白KKT条件

KKT条件是拉格朗日乘子的扩展,可以理解为拉格朗日乘子可以寻找在一个或者多个等式约束的优化问题的解,而KKT条件则可以解决

不等式约束的优化问题,其思想是一模一样的。

即:

对于不等式,KTT将其作为等式代入拉格朗日乘子方法处理。

可以将不等式看作等式处理的直观理解是

  1. 在不考虑不等式约束时,最优解就满足此不等式约束,那么此约束并不能改变最优解,可以不考虑,即下图左边情况
  2. 在不考虑不等式约束时,最优解不满足此不等式约束,那么将此约束考虑在内时,最优解只能在此不等式约束的边界即不等式为等号,即下图右边情况。

假设拉格朗日乘子为u,约束函数为g(x),上面第一种情况下,u为零,第二种情况下g(x),在两种情况下ug(x)都为零,这就是KKT将其看作等式处理的原因。

最终KTT将原式转化为:

Subject to ug(x)=0

与拉格朗日乘子法不同的是,还有个约束存在,即上面提到的ug(x)=0,

至于拉格朗日乘子法,推荐麻省理工的微积分公开课。

 

了解了KTT就可以使用它把SVM的优化问题转化为其对偶问题,转化为对偶问题的原因是对偶问题的解决更加高效。

运用上面的KTT公式将原问题转化为拉格朗日函数L

  1. L(w,b,a) = 1/2||w|| + i=1mai(1-yi(WTxi+b))
  2.  

对w与b分别求偏导为零得到:

2.w = i=1maiyixi

3.i=1maiyi=0

 

将2式代入1式

求得其原式的对偶问题

Max i=1mai-(i=1mj=1maiaiyiyixiTxi)

到目前为止可以看出只要求出了a就可以带入前面的式子获得W与b。

 

SVM还包括a的求解,核函数等内容(很早之前)

 

个人网站 WaveDeng-Make Some Waves

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值