斯坦福《机器学习》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 ...
随机推荐
- 由DB2分页想到的,关于JDBC ResultSet 处理大数据量
最近在处理DB2 ,查询中,发现如下问题.如果一个查询 count(*),有几十万行,分页如何实现 select row_number() over (order by fid desc ) as r ...
- 动态代理在WEB与JDBC开发中的应用
WEB案例 目前有一个2005年开始,基于Struts1的Web项目A,其验证部分依赖于主站的SSO(单点登录).在请求站点A的时候,用户会被强制带去做SSO验证,通过身份验证后后,主站会自动地把请求 ...
- STM32的串口DMA收发以及双缓冲区的实现
在使用STM32的UART的DMA功能总结如下: 首先上代码,这里采用STM32 的USART1作为Demo,RX的DMA为DMA1_Channel5,TX的DMA为DMA1_Channel4.初始化 ...
- POJ_1847_Tram
Tram Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 11159 Accepted: 4089 Description ...
- SpringBoot开源项目学习总结
一.实现日期格式数据类型的转换 首先,定义DateConverter实现Converter<String, Date>接口: package com.stevlu.common; impo ...
- 05Servlet example
dgdfgdfggggggg Servlet 表单数据 在客户端,GET通过URL提交数据,数据在URL中可见:POST把数据放在form的数据体内提交.GET提交的数据最多只有1024字节:POST ...
- 解决docker容器启动时候无法映射端口的问题
当我们停止防火墙后,docker容器启动映射端口可能无法映射端口,这个时候需要重建docker0网桥. 详细的错误是这样的: docker: Error response from daemon: d ...
- 诊断:ORA-38760: This database instance failed to turn on flashback database
$ oerr ora 38760 38760, 00000, "This database instance failed to turn on flashback database&quo ...
- 爬虫之BeautifulSoup库
文档:https://beautifulsoup.readthedocs.io/zh_CN/latest/ 一.开始 解析库 # 安装解析库 pip3 install lxml pip3 instal ...
- 1.Ubuntu查看Python版本
1.输入命令:ls -l /usr/bin/python*