斯坦福《机器学习》Lesson8感想-------1、SMO
从上一篇文章可知支持向量(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)式能够得到,从而根据上一篇文章能够得到分隔超平面用于分类。
最新文章
- [Note] Build your SDL2 Environment in Visual Studio 2013 配置你的SDL2运行环境
- STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例
- 虚拟机中CentOS 7下PHP环境配置
- PHP实现RESTful风格的API实例(三)
- C#制作验证码
- LessonFifth Redis的持久化功能
- Android ClearEditText:输入用户名、密码错误时整体删除及输入为空时候晃动提示
- 1968: [Ahoi2005]COMMON 约数研究
- 关于 mobile sui a外链 老是出现加载失败的解决办法
- iOS中多控制器的使用
- 判断String为空
- underscorejs-reject学习
- [Linux]history 显示命令的运行时间
- JQUERY省、市、县城市联动选择
- Job 逻辑执行图
- android脚步---简单图片浏览器改变图像透明度
- Ubuntu Apache2 配置解析
- sql 用临时表时报错 ";Chinese_PRC_90_CI_AI"; 和 ";Chinese_PRC_CI_AS"; 之间的排序规则冲突
- 记录网件r6220路由器登录配置
- [读书笔记]Linux命令行与shell编程读书笔记02 环境变量以及其他
热门文章
- 自学php【一】 任务:图片上传即时可见
- SpringBoot(1.5.6.RELEASE)源码解析
- 已集成 VirtIO驱动windows server 2012, 2008, 2003的ISO镜像下载
- HDU_2955_Robberies_01背包
- Redis系列(八)--缓存穿透、雪崩、更新策略
- xmpp登录(2)
- Stuts2学习——HelloWorld
- Bookshelf 2(poj3628,01背包,dp递推)
- manacher(马拉车)算法
- Address already in use: JVM_Bind:8080错误的解决办法