支持向量机(五)SMO算法.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
支持向量机(五)SMO算法

 HYPERLINK /jerrylead/archive/2011/03/18/1988419.html 支持向量机(五)SMO算法 11 SMO优化算法(Sequential minimal optimization) SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规划优化算法,特别针对线性SVM和数据稀疏时性能更优。关于SMO最好的资料就是他本人写的《Sequential Minimal Optimization A Fast Algorithm for Training Support Vector Machines》了。 我拜读了一下,下面先说讲义上对此方法的总结。 首先回到我们前面一直悬而未解的问题,对偶函数最后的优化问题: 要解决的是在参数上求最大值W的问题,至于和都是已知数。C由我们预先设定,也是已知数。 按照坐标上升的思路,我们首先固定除以外的所有参数,然后在上求极值。等一下,这个思路有问题,因为如果固定以外的所有参数,那么将不再是变量(可以由其他值推出),因为问题中规定了 因此,我们需要一次选取两个参数做优化,比如和,此时可以由和其他参数表示出来。这样回带到W中,W就只是关于的函数了,可解。 这样,SMO的主要步骤如下: 意思是,第一步选取一对和,选取方法使用启发式方法(后面讲)。第二步,固定除和之外的其他参数,确定W极值条件下的,由表示。 SMO之所以高效就是因为在固定其他参数后,对一个参数优化过程很高效。 下面讨论具体方法: 假设我们选取了初始值满足了问题中的约束条件。接下来,我们固定,这样W就是和的函数。并且和满足条件: 由于都是已知固定值,因此为了方面,可将等式右边标记成实数值。 当和异号时,也就是一个为1,一个为-1时,他们可以表示成一条直线,斜率为1。如下图: 横轴是,纵轴是,和既要在矩形方框内,也要在直线上,因此 , 同理,当和同号时, , 然后我们打算将用表示: 然后反代入W中,得 展开后W可以表示成。其中a,b,c是固定值。这样,通过对W进行求导可以得到,然而要保证满足,我们使用表示求导求出来的,然而最后的,要根据下面情况得到: 这样得到后,我们可以得到的新值。 下面进入Platt的文章,来找到启发式有哪些信誉好的足球投注网站的方法和求b值的公式。 这边文章使用的符号表示有??不太一样,不过实质是一样的,先来熟悉一下文章中符号的表示。 文章中定义特征到结果的输出函数为 与我们之前的实质是一致的。 原始的优化问题为: 求导得到: 经过对偶后为: s.t. 这里与W函数是一样的,只是符号求反后,变成求最小值了。和是一样的,都表示第i个样本的输出结果(1或-1)。 经过加入松弛变量后,模型修改为: 由公式(7)代入(1)中可知, 这个过程和之前对偶过程一样。 重新整理我们要求的问题为: 与之对应的KKT条件为: 这个KKT条件说明,在两条间隔线外面的点,对应前面的系数为0,在两条间隔线里面的对应为C,在两条间隔线上的对应的系数在0和C之间。 将我们之前得到L和H重新拿过来: 之前我们将问题进行到这里,然后说将用表示后代入W中,这里将代入中,得 其中 这里的和代表某次迭代前的原始值,因此是常数,而和是变量,待求。公式(24)中的最后一项是常数。 由于和满足以下公式 因为的值是固定值,在迭代前后不会变。 那么用s表示,上式两边乘以时,变为: 其中 代入(24)中,得 这时候只有是变量了,求导 如果的二阶导数大于0(凹函数),那么一阶导数为0时,就是极小值了。 假设其二阶导数为0(一般成立),那么上式化简为: 将w和v代入后,继续化简推导,得(推导了六七行推出来了) 我们使用来表示: 通常情况下目标函数是正定的,也就是说,能够在直线约束方向上求得最小值,并且。 那么我们在(30)两边都除以可以得到 这里我们使用表示优化后的值,是迭代前的值,。 与之前提到的一样不是最终迭代后的值,需要进行约束: 那么 在特殊情况下,可能不为正,如果核函数K不满足Mercer定理,那么目标函数可能变得非正定,可能出现负值。即使K是有效的核函数,如果训练样本中出现相同的特征x,那么仍有可能为0。SMO算法在不为正值的情况下仍有效。为保证有效性,我们可以推导出就是的二阶导数,,没有极小值,最小值在边缘处取到(类比),时更是单调函数了,最小值也在边缘处取得,而的边缘就是L和H。这样将和分别代入中即可求得的最小值,相应的还是也可以知道了。具体计算公式如下: 至此,迭代关系式出了b的推导式以外,都已经推出。 b每一步都要更新,因为前面的KKT条件指出了和的关系,而和b

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档