Support Vector Machine (2) : Sequential Minimal Optimization
目录
Support Vector Machine (1) : 简单SVM原理
Support Vector Machine (2) : Sequential Minimal Optimization
Support Vector Machine (3) : 再谈泛化误差(Generalization Error)
Support Vector Machine Python 代码实现
Support Vector Machine(2) : Sequential Minimal Optimization
1. Sequential Minimal Optimizaion 简介
我们在SVM第一节中已经将SVM的最优化问题使用KKT条件转化为其一个对偶问题,现在我们将对偶问题的表达形式重写在这里(这里我们考虑soft SVM):
max $L^{*}(\mathbf{a}) = \sum_na_n - \frac{1}{2} \sum_n\sum_ma_na_mt_nt_mK(x_n,x_m)$ (1)
其中$\mathbf{a} 和 \mathbf{t}$ 满足:
$ C \geqslant a_n \geqslant 0$ for n = 1,2,...,N (2)
$\sum_na_nt_n = 0$ (3)
其中最大化$L^*$等价于最小化其相反数,所以我们(1)式等价于:
min $\Psi(\mathbf{a}) = \frac{1}{2}\sum_n\sum_ma_na_mt_nt_mK(x_n,x_m) - \sum_na_n$ (4)
这是一个典型的二次规划(QP)问题,SMO就是为快速解决这个QP问题而提出来的。
2. SMO解法
本来是想自己写的,但是这篇博客http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html写的实在是太好了。结合John Platt 的论文《Sequential Minimal Optimization : A Fast Algorithm for Training Support Vector Machines》去看,给人一种醍醐灌顶的感觉,是在是令人叹为观止,连自己写的欲望都没有了,以后等心情恢复了再来写吧。
/2∑n∑manamtntmxnxm
Support Vector Machine (2) : Sequential Minimal Optimization的更多相关文章
- Support Vector Machine (3) : 再谈泛化误差(Generalization Error)
目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...
- Support Vector Machine (1) : 简单SVM原理
目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...
- Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines 论文研读
摘要 本文提出了一种用于训练支持向量机的新算法:序列最小优化算法(SMO).训练支持向量机需要解决非常大的二 次规划(QP)优化问题.SMO 将这个大的 QP 问题分解为一系列最小的 QP 问题.这些 ...
- A glimpse of Support Vector Machine
支持向量机(support vector machine, 以下简称svm)是机器学习里的重要方法,特别适用于中小型样本.非线性.高维的分类和回归问题.本篇希望在正篇提供一个svm的简明阐述,附录则提 ...
- 【机器学习实战】第6章 支持向量机(Support Vector Machine / SVM)
第6章 支持向量机 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/lates ...
- 机器学习之支持向量机(Support Vector Machine)
转载请注明出处:http://www.cnblogs.com/Peyton-Li/ 支持向量机 支持向量机(support vector machines,SVMs)是一种二类分类模型.它的基本模型是 ...
- SMO优化算法(Sequential minimal optimization)
原文:http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html SMO算法由Microsoft Research的John C. ...
- Jordan Lecture Note-8: The Sequential Minimal Optimization Algorithm (SMO).
The Sequential Minimal Optimization Algorithm (SMO) 本文主要介绍用于解决SVM对偶模型的算法,它于1998年由John Platt在论文“Seque ...
- 6. support vector machine
1. 了解SVM 1. Logistic regression 与SVM超平面 给定一些数据点,它们分别属于两个不同的类,现在要找到一个线性分类器把这些数据分成两类.如果用x表示数据点,用y表示类别( ...
随机推荐
- JavaScript使用XMLHttpRequest 發送GET/Post 請求
<!DOCTYPE HTML> <html> <head> <title>Demo</title> <script type=&quo ...
- JAXB最佳实践
JAXB主要用来实现对象和XML之间的序列化和反序列化. 本文主要总结JAXB基本使用方法和注意事项! 通过下文的XML示例内容进行JAXB的简单实践 <?xml version="1 ...
- MethodInvoker 创建委托
if (this.InvokeRequired) this.Invoke(new MethodInvoker(() => { this.Close(); })); else this.Close ...
- c++ 调用模板函数时加template什么意思?
看到这么一句stack_.template Top<ValueType>()->SetObjectRaw(members, (SizeType)memberCount, GetAll ...
- 关于print和echo的区别
我的想法是print是函数,echo是语句.有一个点很难去说明就是为什么可以执行print 666.可以这样不加括号,象print(666);至于为什么一定要认为print是函数,而非网上说的语句和函 ...
- jquery mobile 登陆后页面验证
调用 pagebeforechange方法 $(document).bind("pagebeforechange", function (e, data) { if (typeof ...
- Python基础篇【第3篇】: Python正则表达式
正则表达式 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.正则表达式是一个特殊的 ...
- pointer on c
http://blog.csdn.net/daniel_ice/article/details/6857019 http://www.cppblog.com/cuigang/archive/2008/ ...
- Windows动态库学习心得
最近在工作中需要给项目组其他成员提供调用函数,决心抛弃以前“拷贝头文件/源文件”的简陋方法,采用动态库的方式对自己开发的接口进行模块化管理.因之前一直没有机会从事Windows动态库的开发,现借助这个 ...
- Python-0 简述
#1 应用广泛: 豆瓣 youtube 云存储相关 #2 初步学习内容: