libsvm Guide

libsvm 教程
SVM是一种比较受欢迎的分类技术,但是不熟悉SVM的初学者通常不能得到一个满意的结果,因为他们错过了一些简单却重要的步骤。在这个教程中我们设计了一些可以得到满意的结果的步骤。
1.简介
svm是一种特别有用的数据分类的技术。虽然SVM比神经网络理解起来更加的容易,但是对于不熟悉的初学者来说依然难以得到一个满意的结果。这里我们概述了一个如何得到一个可靠结果的结构图。
这个教程不是给SVM的研究员的,也不能确保你能得到一个特别精确的结果。当然,我们也不打算去处理一些有挑战性的和特别困难的问题。我们的目的是给初学者一个可以快速获得满意结果的方法。
当然使用者不需要理解潜藏在SVM背后的理论,我们介绍了一些理解我们的理论所需要的必要的基础。一个分类任务通常包括要将数据拆分为训练集和测试集。每一个训练集的实例中都包括一个目标值(数据标签)和几个特征值。SVM的作用就是生成一个能够预测测试集中目标值的模型。
给定一系列的实例-标签组(x i ,y i ),这里的 x i ∈ R n,y ∈ {1,−1} ,SVM提出了解决这个问题的最优化方法。
这里写图片描述
问题特征和比较演示
这里的训练数据 x i 被函数 φ映射到一个很大的空间(可能是无穷大的空间),SVM通过边缘空间最大化来找的分割的超平面。C > 0是处理错误数据的参数。而且,K(x i ,x j ) ≡ φ(x i ) T φ(x j )被称为核函数,虽然新的核心程序在不断的被提出,但是初学者依然可以从书中找出如下的四个基本核心的函数。这里写图片描述
1.1 实际的例子
在第一个图中显示了一个实际的例子。这些数据集合是由我们的用户提供的,他们开始不可以获得一个合理的精确值。使用这个指导文件中提供的程序,我们帮助他们实现了更好的性能,具体的细节在附录A中。
数据集合在 http://www.csie.ntu.edu.tw/ ~ cjlin/papers/guide/
data/

1.2 推荐程序
许多的初学者使用如下的程序:
●转换数据格式为支持向量机的包
●随机的测试几个核函数和参数
●测试
我们建议初学者首先使用按照如下得步骤:
●转换数据格式为支持向量机的包
●在数据上进行简单的数据清理
●使用RBF核函数
● 使用交叉数据验证找出最合适的参数C和γ
●使用最好的参数C和γ去训练整个训练集
●测试
在下面我们将讨论这个程序的具体细节
2 数据预处理
2.1 类属特征
SVM要求每个数据代表着一个真实的数值型矢量。因此,当有一个类的属性时,我们应该首先将它转化为一个数值型的数据。我们推荐使用m个数据来代替使用m个数据属性。只用m分之一的数据是1,而剩下的数据都是0。举个例子,有一个三个属性值得数据如{red,green,blue},可以被表示为(0,0,1),(0,1,0)和(1,0,0)。我们的经验表明如果这个属性值的数量不是特别的大,使用这个编码比使用一个单一的数字更加的稳定。
2.1 数据缩放
在应用SVM前的数据缩放时非常重要的,数据清理的主要优势是避免属性是在一个特别大的范围内并将其控制在一个很小的范围之内。另一个优势是避免在在数据计算的过程中遇到麻烦,因为核函数的值是依赖于内部的特征向量。举个例子:线性核函数和多项式核函数,很大的属性值可能造成数值问题,我们建议线性的将每一个属性限制在[-1,+1]或者[0,1].
当然我们必须使用相同的函数用来处理训练集和测试集,举个例子,假设我们处理的第一个属性是将[-10,10]压缩到[-1,1],如果第一个属性的测试集是[-11,8],我们必须将测试集压缩到[-1.1,0.8],看教程B可以得到一个真实的例子。
3 选择模块
虽然在第一部分只提到了4种核函数,我们必须选择哪一个作为第一个,然后选择参数C和核函数的参数。
3.1 RBF核函数
一般来说,RBF核函数作为首选。这个核函数的非线性映射到了高维空间依然是适用的,而不像线性核函数,当类标签和属性是非线性的时候也可以进行操作。此外,线性的核函数是RBF核函数的一种特殊的例子。自从线性核函数加入了参数C,便有了和RBF加入参数 (C,γ)一样的性能。另外,sigmoid核函数在给定了一些参数之后也表现的和RBF核函数差不多。
第二个原因是超参数的数量也是影响函数选型的原因。多项式核函数可以比RBF核函数支持更多的超参数。
最后,RBF核函数还有几个数据难点,一个关键点就是 0

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值