斯坦福《机器学习》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)式能够得到,从而根据上一篇文章能够得到分隔超平面用于分类。
斯坦福《机器学习》Lesson8感想-------1、SMO的更多相关文章
- 斯坦福机器学习视频笔记 Week1 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- 关于Coursera上的斯坦福机器学习课程的编程作业提交问题
学习Coursera上的斯坦福机器学习课程的时候,需要向其服务器提交编程作业,我遇到如下问题: 'Submission failed: unexpected error: urlread: Peer ...
- cs229 斯坦福机器学习笔记(一)-- 入门与LR模型
版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Dinosoft/article/details/34960693 前言 说到机器学习,非常多人推荐的学习资 ...
- 【机器学习详解】SMO算法剖析(转载)
[机器学习详解]SMO算法剖析 转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51227754 CSDN−勿在浮沙筑高台 本文力 ...
- 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- 【原】Coursera—Andrew Ng斯坦福机器学习(0)——课程地址和软件下载
斯坦福大学机器学习 课程信息 机器学习是一门研究在非特定编程条件下让计算机采取行动的学科.最近二十年,机器学习为我们带来了自动驾驶汽车.实用的语音识别.高效的网络搜索,让我们对人类基因的解读能力大大提 ...
- 斯坦福机器学习ex1.1(python)
使用的工具:NumPy和Matplotlib NumPy是全书最基础的Python编程库.除了提供一些高级的数学运算机制以外,还具备非常高效的向量和矩阵运算功能.这些对于机器学习的计算任务是尤为重要的 ...
- 斯坦福机器学习视频笔记 Week6 关于机器学习的建议 Advice for Applying Machine Learning
我们将学习如何系统地提升机器学习算法,告诉你学习算法何时做得不好,并描述如何'调试'你的学习算法和提高其性能的“最佳实践”.要优化机器学习算法,需要先了解可以在哪里做最大的改进. 我们将讨论如何理解具 ...
- 斯坦福机器学习视频笔记 Week8 无监督学习:聚类与数据降维 Clusting & Dimensionality Reduction
监督学习算法需要标记的样本(x,y),但是无监督学习算法只需要input(x). 您将了解聚类 - 用于市场分割,文本摘要,以及许多其他应用程序. Principal Components Analy ...
随机推荐
- Apache ab使用指南
Apache ab使用图例: 其中比较重要的两个指标要特别注意: Requests per second:表示平均每秒事务数,相当于LR的TPS Time per second:用户请求平均响应时间和 ...
- HDU_1242_Rescue
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1242 大意:迷宫搜索,'#'代表墙,'.'代表路,'x'代表守卫,每移动1格用1秒,杀死守卫用1秒,ang ...
- Vue.js 是什么
Vue.js 是什么 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.Vue 采用自底向上增量开发的设计. Vue 的核心库只关注视图层. 单页应用:Vue ...
- 反转链表_JAVA
package algorithms; /* * * * 输入一个链表,反转链表后,输出新链表的表头. * public class ListNode { int val; ListNode next ...
- Spring框架系列(四)--IOC控制反转和DI依赖注入
背景: 如果对象的引用或者依赖关系的管理由具体对象完成,代码的耦合性就会很高,代码测试也变得困难.而IOC可以很好的解决这个问题,把这 些依赖关系交给框架或者IOC容器进行管理,简化了开发. IOC是 ...
- HDU6189 Law of Commutation (数论)
题意:输入n和a 定义m等于2的n次方 求1-m有多少数使得 a^b = b^a (mod m) 题解:先打表找规律 发现a为奇数的答案只有b = a这一种 (不知道为什么也不想知道为什么 当a为偶数 ...
- 行内块+calc+margin 三列布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- MyBatis 中 resultMap 详解
resultMap 是 Mybatis 最强大的元素之一,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中.如在实际应用中,有一个表为(用户角色表),通过查询用户表信息展示页面, ...
- 通过request对象获取客户端的相关信息
通过request对象获取客户端的相关信息 制作人:全心全意 通过request对象可以获取客户端的相关信息.例如HTTP报头信息.客户信息提交方式.客户端主机IP地址.端口号等等. request获 ...
- 创建sum求多元素的和
a = [1, 2, 3] b = [4, 5, 6] def sum_super(* args): s = 0 for i in args: s += sum(i) return s # print ...