SVM学习

SVM的学习,首推林智仁的网站

http://www.csie.ntu.edu.tw/~cjlin/

libsvm工具,有各种语言写的源码,像最常用的C++和Java。

里面有个A practical guide to SVM Classification文档,简单直观的介绍了SVM。

至于libsvm的使用,介绍的非常仔细的网页

http://ntu.csie.org/~piaip/svm/svm_tutorial.html


关于SVM原理,讲的比较好的有

李航的《统计学习方法》

林智仁的http://videolectures.net/mlss06tw_lin_svm/

一老外的http://videolectures.net/epsrcws08_campbell_isvm/

http://www.cnblogs.com/liqizhou/archive/2012/05/11/2495537.html


以下讲解的均是针对二分类

1. 什么是SVM

    SVM是一种分类器

2. SVM的分类思想

    寻找一个超平面,将两个不同类别的数据分开。

3. 怎样寻找这个超平面H

    这里涉及到另外一个概念,margin.

    margin: 距离超平面最近的点称之为支持向量(Support Vector),经过支持向量且和超平面H平行的两个超平面记为H1和H2,

    H1和H2之间的距离就称之为margin. 寻找使margin最大的H。


    问题可以转化成最优化问题:最小化

    

    构造拉格朗日函数:


   对L(w,b)分别对w和b求偏导,令偏导结果为0,将所得结果带入上式,得


    有了上式,就很自然的引入核函数的概念

    核函数有线性核函数,多项式核函数,RBF核函数,sigmoid核函数等待



接下来分析利用SVM进行多类分类问题

SVM本身是个二类分类器,如何实现多类分类?

假设现在要实现k类分类问题,有两种方法

(1) 利用二类SVM将k类数据分成两类,其中类1为一类,类2至类k为另一类。

继续对类2至类k数据进行二分类。持续下去,共需k-1个SVM分类器。

(2)为任意两类数据设计一个二类分类器,则需k(k-1)个二类分类器。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值