svm系列  之 对偶形式解决非线性数据

之前博客续http://blog.csdn.net/mosbest/article/details/52017312
 上面的博客讲到,svm线性形式为
 这里写图片描述 
 只需将上面的表达式转化为 标准的 二次规划形式,输入参数,相应的软件就可以帮我们把最佳解求出来.可是,上面的方程仅仅适用于 线性可分的数据,如果遇到非线性的数据,那么就应该用之前讲的,将x映射到高维的函数上处理,使用映射函数 Φ(x) ,那么svm的表达式和求解方法变为
 这里写图片描述 
 由于二次规划的复杂度与特征数目( d˜+1 即自由度)有很大关系,当自变量映射到高维的时候, d˜+1 就会变大,甚至无穷.那么用二次规划的软件来求解时,估计要算到天荒地老.
 所以,我们的目标就是让 SVM的复杂度不依靠 d˜+1
 所以,引出 对偶形式的SVM.
 我们SVM原来的形式是:
 这里写图片描述
 我们现在引入拉格朗日函数
 这里写图片描述
  从而得到
  这里写图片描述
  其实上面的方程与SVM 最初的形式是等价的. 
  因为,当 yn(wTzn+b)< ,那么 yn(wTzn+b)>0 ,由于要求 alla>=0max ,那么我们得到的 maxalla>=0L(b,w,a) 最大值一定为 无穷大.
  当 yn(wTzn+b) ,那么 yn(wTzn+b)0 ,由于要求 alla>=0max ,那么我们得到的 maxalla>=0L(b,w,a) 最大值一定0.
  当我们把上面两种情况取最小值时,得到的一定是 yn(wTzn+b) 情况的结果.
  所以,这里写图片描述  和
   这里写图片描述
   是等价的.我们就把原来的形式转化为了svm=min( maxalla>=0L(b,w,a))

我们又可以将上面的形式转化一下,
这里写图片描述

上面是弱对偶形式,因为连接符为”>=”,所以不一定会”=”.不过对于二次规划问题,如果有
1.函数是凸的 ( wTw 本就是图函数)
2.映射函数 Φ(x) 是存在的,即进行映射后可以线性分割.(如果不是,我们就没必要做了)
3.条件是线性的(条件 yn(wTzn+b) 本就是线性的)
由于我们这上面三个条件都满足,那么就可以变成强对偶,即 存在 (b,w,a)使得两边相等.

 所以,我们就得到
 这里写图片描述
 求里面的最小情况,就让其对w,b求偏导
 对b求偏导,化简
 这里写图片描述

对w求偏导.化简

 这里写图片描述 
 最终得到的形式为
 这里写图片描述
 KKT条件是说,最优解必须满足
 这里写图片描述
 求取以上等式之后,就可以得到最优解.
 很显然我们本就满足以上条件.
 现在来求取最优解
 现在我们把我们表达式都转化为求 α 的形式,将我们的表达式化简为
 这里写图片描述
 
 只是对 α 求最佳解,所以这里我们只有N个变量,而线性形式有 d+1 个,有时d可能趋近无穷大.
 我们用二次规划软件求解
 这里写图片描述 
 通过求出的 α 就可以求出b和w了.
 利用
 这里写图片描述 
 求出w.
 利用
 这里写图片描述 
 当某 αn>0 时,剩下的就必须为0.则
 这里写图片描述
 我们选出一个 αn>0 的情况对应的点就行了.当然,为了防止波动太大,可以把 αn>0 都求一边,然后取平均值.
 发现, αn>0 时有 yn(wTzn+b) 其实这就是最大边界.则 αn>0 对应的点就是支持向量. αn>0 的点一定最大边界上面,但是最大边界上面的点不一定都 αn>0

 可是对偶方法一能让模型不依靠 d 吗?你有没有发现,对偶模型的Q放在二次规划软件,如果z向量太长,那么计算Q就会非常的复杂
 这里写图片描述
 如上图,就是对偶模型最终形式,我们最后是要把他丢到二次规划的软件里计算的.当映射函数很复杂,即z域的z变量很长,那么计算zTz其实非常复杂,即 qm,n 的计算非常复杂.那么最终他的复杂度依然为 O(d)
 要想真正减少运输量,最终方法是 用核函数kernel.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值