目录

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的更多相关文章

  1. Support Vector Machine (3) : 再谈泛化误差(Generalization Error)

    目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...

  2. Support Vector Machine (1) : 简单SVM原理

    目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...

  3. Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines 论文研读

    摘要 本文提出了一种用于训练支持向量机的新算法:序列最小优化算法(SMO).训练支持向量机需要解决非常大的二 次规划(QP)优化问题.SMO 将这个大的 QP 问题分解为一系列最小的 QP 问题.这些 ...

  4. A glimpse of Support Vector Machine

    支持向量机(support vector machine, 以下简称svm)是机器学习里的重要方法,特别适用于中小型样本.非线性.高维的分类和回归问题.本篇希望在正篇提供一个svm的简明阐述,附录则提 ...

  5. 【机器学习实战】第6章 支持向量机(Support Vector Machine / SVM)

    第6章 支持向量机 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/lates ...

  6. 机器学习之支持向量机(Support Vector Machine)

    转载请注明出处:http://www.cnblogs.com/Peyton-Li/ 支持向量机 支持向量机(support vector machines,SVMs)是一种二类分类模型.它的基本模型是 ...

  7. SMO优化算法(Sequential minimal optimization)

    原文:http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html SMO算法由Microsoft Research的John C. ...

  8. Jordan Lecture Note-8: The Sequential Minimal Optimization Algorithm (SMO).

    The Sequential Minimal Optimization Algorithm (SMO) 本文主要介绍用于解决SVM对偶模型的算法,它于1998年由John Platt在论文“Seque ...

  9. 6. support vector machine

    1. 了解SVM 1. Logistic regression 与SVM超平面 给定一些数据点,它们分别属于两个不同的类,现在要找到一个线性分类器把这些数据分成两类.如果用x表示数据点,用y表示类别( ...

随机推荐

  1. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  2. 四种方式实现SQLServer 分页查询

    SQLServer 的数据分页: 假设现在有这样的一张表:CREATE TABLE test( id int primary key not null identity, names varchar( ...

  3. sysbench 安装遇到的问题

    sysbench 作为性能测试工具,提供了很多有用的参数,使用方法网络上一抓一把,这里记录下安装过程中遇到的问题已经解决办法 .tar.gz cd sysbench- ./autogen.sh ./c ...

  4. 一个奇葩的SQL

    需求 建表脚本 CREATE TABLE [dbo].[A]( ) NOT NULL, ) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[B]( ) NOT N ...

  5. Hash校验

    在项目的建设方案中,都会提到数据的安全性,数据的安全性其中又包括数据的完整性和数据保密性,      1.  数据完整性 通过使用Hash校验的方法确保数据的完整性: 传输过程的完整性受到损坏则采取数 ...

  6. Thread.join简单介绍

    百度了一下,终于明白了.这个解释最简单: 前提:join()方法肯定是被某个线程调用的.   A线程正在执行,突然执行的时候碰到了B.join(), 那么,A线程就必须要等到B线程执行完之后才能执行. ...

  7. Format specifies type 'int' but the argument has type 'struct node *'

    /Users/Rubert/IOS/iworkspace/LineList/LineList/main.c::: Format specifies type 'int' but the argumen ...

  8. 基于Angularjs+jasmine+karma的测试驱动开发(TDD)实例

    简介(摘自baidu) 测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.它要求在编写某个功能的代码之前先编写测试代码,然 ...

  9. Android Studio项目目录结构介绍

    在Android Studio中,提供了以下几种项目结构类型 我们一般常用的有以下两种结构: Project 结构类型 app/build/ app模块build编译输出的目录 app/build.g ...

  10. http://blog.csdn.net/krislight/article/details/9391455

    http://blog.csdn.net/krislight/article/details/9391455