SVM基本原理(通俗易懂版)

SVM(支持向量机)通过映射数据到高维空间找到超平面实现分类,追求最大分类间隔以提升推广能力。文章介绍了SVM的基本原理,包括最大间隔、VC维的概念,以及在libsvm中的数据预处理步骤,强调了预处理对模型性能的影响。同时,讨论了SVM的推广能力和统计学习理论的基础,指出结构风险最小化在有限样本下的重要性。
摘要由CSDN通过智能技术生成

对于很多分类问题,例如最简单的,一个平面上的两类不同的点,如何将它用一条直线分开?在平面上我们可能无法实现,但是如果通过某种映射,将这些点映射到其它空间(比如说球面上等),我们有可能在另外一个空间中很容易找到这样一条所谓的“分隔线”,将这些点分开。


SVM基本上就是这样的原理,但是SVM本身比较复杂,因为它不仅仅是应用于平面内点的分类问题。SVM的一般做法是:将所有待分类的点映射到“高维空间”,然后在高维空间中找到一个能将这些点分开的“超平面”,这在理论上是被完全证明了是成立的,而且在实际计算中也是可行的。


但是仅仅找到超平面是不够的,因为在通常的情况下,满足条件的“超平面”的个数不是唯一的。SVM 需要的是利用这些超平面,找到这两类点之间的“最大间隔”。为什么要找到最大间隔呢?我想这与SVM的“推广能力”有关,因为分类间隔越大,对于未知点的 判断会越准确,也可以说是“最大分类间隔”决定了“期望风险”,总结起来就是:SVM要求分类间隔最大,实际上是对推广能力的控制。


我想说到SVM的基本原理,有两个概念不能不提到,一个就是上面说到的“最大分类间隔面”,另一个是关于“VC”的概念。最大分类间隔面比较好懂,从字面上也能知道它的大致含义。但是VC维的概念,我有必要在这里着重说一下。
VC维(Vapnik-Chervonenkis Dimension)的概念是为了研究学习过程一致收敛的速度和推广性,由统计学习理论定义的有关函数集学习性能的一个重要指标。


传统的定义是:对一个指标函数集,如果存在H 个样本能够被函数集中的函数按所有可能的2的K次方种形式分开,则称函数集能够把H个样本打散;函数集的VC维就是它能打散的最大样本数目H。若对任意数 目的样本都有函数能将它们打散,则函数集的VC维是无穷大,有界实函数的VC维可以通过用一定的阀值将它转化成指示函数来定义。


VC维反映了函数集的学习能力,VC维越大则学习机器越复杂(容量越大),遗憾的是,目前尚没有通用的关于任意函数集VC维计算的理论,只对一些特殊的函数集知道其VC维。例如在N维空间中线形分类器和线形实函数的VC维是n+1。

 

libsvm中的数据预处理

名词解释:

(1) SVM(Support Vector Machine)是从瓦普尼克(Vapnik)的统计学习理论发展而来的,主要针对小样本数据进行学习、分类和预测(有时也叫回归)的一种方法,能解决神 经网络不能解决的过学习问题。作者以为,类似的根据样本进行学习的方法还有基于案例的推理(Case-Based Reasoning),决策树归纳算法C4.5等,以后将详细阐述这两种方法。

(2)过学习问题:训练误差过小导致推广能力下降,即真实风险的增加。

(3)推广能力:generalization ability,也可以说是泛化能力,就是对未知样本进行预测时的精确度。


原文:A practical guide to support vector classification.

libsvm中的样本预处理的原则有2个:

1 非数值属性(Categorical Feature)

    由于SVM要求被处理的数据都是实数,因此对于属性值为类别的属性要进行转换。例如{red, green, blue},可以转换成3个属性

red    (1, 0, 0)

green (0, 1, 0)

blue   (0, 0, 1)

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值