从上一篇文章可知支持向量(supervector)就是指的离分隔超平面近期的那些点。整个SVM最须要的步骤是训练分类器。得到alpha,从而得到整个用于数据分类的分隔超平面。支持向量机(super vector machine。SVM)的一般应用流程例如以下:

(1)      收集数据:能够使用随意方法

(2)      准备数据:须要数值型数据

(3)      分析数据:有助于可视化分隔超平面

(4)      训练算法:SVM的大部分时间源自训练。该过程主要实现两个參数的调优

(5)      測试算法:十分简单的计算过程就能够实现

(6)      使用算法:差点儿全部分类问题都能够使用SVM。SVM本身就是一个二类分类器。对多类问题应用SVM须要对代码做一些改动

为了降低SVM的训练时间,提高效率。引入了序列最小化(Sequential Minimal Optimizaton,SMO)算法。SMO算法是将大优化问题分解为多个小优化问题来求解的。

这些小优化问题往往非常easy求解。而且对它们进行顺序求解的结果与将它们作为总体求解的结果一致。

SMO的工作原理是基于Coordinate ascent算法的。

1、  Coordinate ascent

如果优化问题为:

我们依次选择当中一个參数。对这个參数进行优化,会使得W函数增长最快。

用图1能够表示整个过程。

图1

2、  SMO

SMO算法就是在每次循环中选择两个參数进行处理。比Coordinate Ascent里多一个參数。

从上一篇文章可知优化问题表示为:

从(19)式中可知

这样子能够看出。选择出一个參数。不改变其它的參数,这个參数也不会随之改变。因此也就达不到优化的目的。

所以SMO算法就是选择两个參数来进行优化。

将结果用參数取代得

因此能够用图2来表达(20)式

图2

从图2中能够看出。。从(20)式中,能够推导出

因此可知

将作为常数,其余两个參数的优化可表示为

再根据(20)式能够得到,从而根据上一篇文章能够得到分隔超平面用于分类。

最新文章

  1. [Note] Build your SDL2 Environment in Visual Studio 2013 配置你的SDL2运行环境
  2. STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例
  3. 虚拟机中CentOS 7下PHP环境配置
  4. PHP实现RESTful风格的API实例(三)
  5. C#制作验证码
  6. LessonFifth Redis的持久化功能
  7. Android ClearEditText:输入用户名、密码错误时整体删除及输入为空时候晃动提示
  8. 1968: [Ahoi2005]COMMON 约数研究
  9. 关于 mobile sui a外链 老是出现加载失败的解决办法
  10. iOS中多控制器的使用
  11. 判断String为空
  12. underscorejs-reject学习
  13. [Linux]history 显示命令的运行时间
  14. JQUERY省、市、县城市联动选择
  15. Job 逻辑执行图
  16. android脚步---简单图片浏览器改变图像透明度
  17. Ubuntu Apache2 配置解析
  18. sql 用临时表时报错 "Chinese_PRC_90_CI_AI" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突
  19. 记录网件r6220路由器登录配置
  20. [读书笔记]Linux命令行与shell编程读书笔记02 环境变量以及其他

热门文章

  1. 自学php【一】 任务:图片上传即时可见
  2. SpringBoot(1.5.6.RELEASE)源码解析
  3. 已集成 VirtIO驱动windows server 2012, 2008, 2003的ISO镜像下载
  4. HDU_2955_Robberies_01背包
  5. Redis系列(八)--缓存穿透、雪崩、更新策略
  6. xmpp登录(2)
  7. Stuts2学习——HelloWorld
  8. Bookshelf 2(poj3628,01背包,dp递推)
  9. manacher(马拉车)算法
  10. Address already in use: JVM_Bind:8080错误的解决办法