欢迎来到我的范文网!

r,svm,

励志名言 时间:2020-08-10

【www.myl5520.com--励志名言】

R-支持向量机笔记
篇一:r,svm,预测

用R语言构建支持向量机

支持向量机是用来解决非线性的分类问题,与因子分析和主成分分析相反,支持向量机是通过升维的方式解决分类问题,即将低维空间中无法分类的样本映射到高维空间中从而将

??=????=??

样本分开。假设以a、b为横纵坐标,则映射方式可以为: ??=??或 ??=??或

??=??+????=??×??

??=??

??=??支持向量机中的映射函数关系也称为核函数。

??=??2+??2

1. 构造简单的支持向量机

#准备非线性分类样本,runif()用于生成服从均匀分布的随机函数,eg.生成50个0~1的随机数#

x<-c(runif(50,0,1),runif(100,1,3),runif(50,3,4))

y<-runif(200,0,1)

z<-c(rep(0,50),rep(1,100),rep(0,50))#z为类别标签#

svm.data<-cbind(x,y,z) #生成数据框

#构造支持向量机#

library(e1071)

svm.fit<-svm(z~x+y,data=svm.data)#此处的核函数为径向基核函数:radial#

summary(svm.fit)

#对于分类模型来说,最关心的是模型的准确度,即模型能否正确的为样本点分类#

head(predict(svm.fit))#predict()函数能根据模型进行预测,此处查看svm.fit模型对200个样本点的预测结果,预测结果围绕0上下波动,大于0属于类别1,否则属于类别0,绝对值越大,预测结果越准确#

svm.pre<-ifelse(predict(svm.fit)>0,1,0)#将预测变量转换成分类变量#

n<-ifelse(svm.pre==z,1,0)#与分类变量z值进行比较#

sum(n)

2. 使用其他核函数构建支持向量机

Svm()函数包含多种核函数:径向基核函数、线性核函数、多项式核函数、S型核函数。 ? 线性核函数

#线性核函数#

svm.line<-svm(z~x+y,data=svm.data,kernel="linear")#参数kernel用于指定核函数# svm.linepre<-ifelse(predict(svm.line)>0,1,0)

n<-ifelse(svm.linepre==z,1,0)

sum(n)

? 多项式核函数

#多项式核函数#

svm.poly<-svm(z~x+y,data=svm.data,kernel="polynomial")

svm.polypre<-ifelse(predict(svm.poly)>0,1,0)

n<-ifelse(svm.polypre==z,1,0)

sum(n)

? S型核函数

#S型核函数#

svm.sig<-svm(z~x+y,data=svm.data,kernel="sigmoid")

svm.sigpre<-ifelse(predict(svm.sig)>0,1,0)

n<-ifelse(svm.sigpre==z,1,0)

sum(n)

3. 优化支持向量机的参数

参数优化包括参数degree、参数cost、参数gamma。在优化参数时,往往从连续的多个值中找出最优值要用到for()循环语句。

? 参数degree仅适用于多项式核函数,代表多项式核函数的次数。

#for循环自动寻找最优参数#

for (i in 1:20) {

svm.poly<-svm(z~x+y,data=svm.data,kernel="polynomial",degree=i)

svm.polypre<-ifelse(predict(svm.poly)>0,1,0)

n<-ifelse(svm.polypre==z,1,0)

print(sum(n))

}

? 参数cost可以和四种核函数任意一种搭配,是一个正则化的参数,用于给出惩罚因子,

即支持向量机在优化模型时对导致模型预测效果变差的因素的惩罚力度。

#for循环自动寻找最优参数#

for (i in 1:20) {

svm.cost<-svm(z~x+y,data=svm.data,kernel="polynomial",cost=i)

svm.costpre<-ifelse(predict(svm.cost)>0,1,0)

n<-ifelse(svm.costpre==z,1,0)

print(sum(n))

}

? 参数gamma能与除线性核函数外的其他三种核函数相匹配,默认取值为0.5。

#for循环自动寻找最优参数#

for (i in 1:20) {

svm.gamma<-svm(z~x+y,data=svm.data,kernel="polynomial",degree=i)

svm.gammapre<-ifelse(predict(svm.gamma)>0,1,0)

n<-ifelse(svm.gammapre==z,1,0)

print(sum(n))

}

Predict()是预测函数。你的模型是基于给定样本的值建立的,在这些给定样本上做预测就是拟合。在新样本上做预测就是预测。

SVM入门教程
篇二:r,svm,预测

SVM基础

rerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr

SVM入门(一)SVM的八股简介

支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。

支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力

[14](或称泛化能力)。

以上是经常被有关SVM 的学术文献引用的介绍,有点八股,我来逐一分解并解释一下。 Vapnik是统计机器学习的大牛,这想必都不用说,他出版的《Statistical Learning Theory》是一本完整阐述统计机器学习思想的名著。在该书中详细的论证了统计机器学习之所以区别于传统机器学习的本质,就在于统计机器学习能够精确的给出学习效果,能够解答需要的样本数等等一系列问题。与统计机器学习的精密思维相比,传统的机器学习基本上属于摸着石头过河,用传统的机器学习方法构造分类系统完全成了一种技巧,一个人做的结果可能很好,另一个人差不多的方法做出来却很差,缺乏指导和原则。

所谓VC维是对函数类的一种度量,可以简单的理解为问题的复杂程度,VC维越高,一个问题就越复杂。正是因为SVM关注的是VC维,后面我们可以看到,SVM解决问题的时候,和样本的维数是无关的(甚至样本是上万维的都可以,这使得SVM很适合用来解决文本分类的问题,当然,有这样的能力也因为引入了核函数)。

结构风险最小听上去文绉绉,其实说的也无非是下面这回事。

机器学习本质上就是一种对问题真实模型的逼近(我们选择一个我们认为比较好的近似模型,这个近似模型就叫做一个假设),但毫无疑问,真实模型一定是不知道的(如果知道了,我们干吗还要机器学习?直接用真实模型解决问题不就可以了?对吧,哈哈)既然真实模型不知道,那么我们选择的假设与问题真实解之间究竟有多大差距,我们就没法得知。比如说我们认为宇宙诞生于150亿年前的一场大爆炸,这个假设能够描述很多我们观察到的现象,但它与真实的宇宙模型之间还相差多少?谁也说不清,因为我们压根就不知道真实的宇宙模型到底是什么。

这个与问题真实解之间的误差,就叫做风险(更严格的说,误差的累积叫做风险)。我们选择了一个假设之后(更直观点说,我们得到了一个分类器以后),真实误差无从得知,

但我们可以用某些可以掌握的量来逼近它。最直观的想法就是使用分类器在样本数据上的分类的结果与真实结果(因为样本是已经标注过的数据,是准确的数据)之间的差值来表示。这个差值叫做Risk of empire经验风险Remp(w)。以前的机器学习方法都把经验风险最小化作为努力的目标,但后来发现很多分类函数能够在样本集上轻易达到100%的正确率,在真实分类时却一塌糊涂(即所谓的推广能力差,或泛化能力差)。此时的情况便是选择了一个足够复杂的分类函数(它的VC维很高),能够精确的记住每一个样本,但对样本之外的数据一律分类错误。回头看看经验风险最小化原则我们就会发现,此原则适用的大前提是经验风险要确实能够逼近真实风险才行(行话叫一致),但实际上能逼近么?答案是不能,因为样本数相对于现实世界要分类的文本数来说简直九牛一毛,经验风险最小化原则只在这占很小比例的样本上做到没有误差,当然不能保证在更大比例的真实文本上也没有误差。

统计学习因此而引入了泛化误差界的概念,就是指真实风险应该由两部分内容刻画,一是经验风险,代表了分类器在给定样本上的误差;二是置信风险,代表了我们在多大程度上可以信任分类器在未知文本上分类的结果。很显然,第二部分是没有办法精确计算的,因此只能给出一个估计的区间,也使得整个误差只能计算上界,而无法计算准确的值(所以叫做泛化误差界,而不叫泛化误差)。

置信风险与两个量有关,一是样本数量,显然给定的样本数量越大,我们的学习结果越有可能正确,此时置信风险越小;二是分类函数的VC维,显然VC维越大,推广能力越差,置信风险会变大。

泛化误差界的公式为:

R(w)≤Remp(w)+Ф(n/h)

公式中R(w)就是真实风险,Remp(w)就是经验风险,Ф(n/h)就是置信风险。统计学习的目标从经验风险最小化变为了寻求经验风险与置信风险的和最小,即结构风险最小。

SVM正是这样一种努力最小化结构风险的算法。

SVM其他的特点就比较容易理解了。

小样本,并不是说样本的绝对数量少(实际上,对任何算法来说,更多的样本几乎总是能带来更好的效果),而是说与问题的复杂度比起来,SVM算法要求的样本数是相对比较少的。

非线性,是指SVM擅长应付样本数据线性不可分的情况,主要通过松弛变量(也有人叫惩罚变量)和核函数技术来实现,这一部分是SVM的精髓,以后会详细讨论。多说一句,关于文本分类这个问题究竟是不是线性可分的,尚没有定论,因此不能简单的认为它是线性可分的而作简化处理,在水落石出之前,只好先当它是线性不可分的(反正线性可分也不过是线性不可分的一种特例而已,我们向来不怕方法过于通用)。

高维模式识别是指样本维数很高,例如文本的向量表示,如果没有经过另一系列文章(《文本分类入门》)中提到过的降维处理,出现几万维的情况很正常,其他算法基本就没有能力应付了,SVM却可以,主要是因为SVM 产生的分类器很简洁,用到的样本信息很少(仅仅用到那些称之为“支持向量”的样本,此为后话),使得即使样本维数很高,也不会给存储和计算带来大麻烦(相对照而言,kNN算法在分类时就要用到所有样本,样本数巨大,每个样本维数再一高,这日子就没法过了??)。

下一节开始正式讨论SVM。别嫌我说得太详细哦。

SVM入门(二)线性分类器Part 1

线性分类器(一定意义上,也可以叫做感知机) 是最简单也很有效的分类器形式.在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.

用一个二维空间里仅有两类样本的分类问题来举个小例子。如图所示

C1和C2是要区分的两个类别,在二维平面中它们的样本如上图所示。中间的直线就是一个分类函数,它可以将两类样本完全分开。一般的,如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。

什么叫线性函数呢?在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,可以如此想象下去,如果不关注空间的维数,这种线性函数还有一个统一的名称——超平面(Hyper Plane)!

实际上,一个线性函数是一个实值函数(即函数的值是连续的实数),而我们的分类问题(例如这里的二元分类问题——回答一个样本属于还是不属于一个类别的问题)需要离散的输出值,例如用1表示某个样本属于类别C1,而用0表示不属于(不属于C1也就意味着属于C2),这时候只需要简单的在实值函数的基础上附加一个阈值即可,通过分类函数执行时得到的值大于还是小于这个阈值来确定类别归属。 例如我们有一个线性函数 g(x)=wx+b

我们可以取阈值为0,这样当有一个样本xi需要判别的时候,我们就看g(xi)的值。若g(xi)>0,就判别为类别C1,若g(xi)<0,则判别为类别C2(等于的时候我们就拒绝判断,呵呵)。此时也等价于给函数g(x)附加一个符号函数sgn(),即f(x)=sgn [g(x)]是我们真正的判别函数。

关于g(x)=wx+b这个表达式要注意三点:一,式中的x不是二维坐标系中的横轴,而是样本的向量表示,例如一个样本点的坐标是(3,8),则xT=(3,8) ,而不是x=3(一般说向量都是说列向量,因此以行向量形式来表示时,就加上转置)。二,这个形式并不局限于二维的情况,在n维空间中仍然可以使用这个表达式,只是式中的w成为了n维向量(在二维的这个例子中,w是二维向量,注意这里的w严格的说也应该是转置的形式,为了表示起来方便简洁,以下均不区别列向量和它的转置,聪明的读者一看便知);三,g(x)不是中间那条直线的表达式,中间那条直线的表达式是g(x)=0,即wx+b=0,我们也把这个函数叫做分类面。

实际上很容易看出来,中间那条分界线并不是唯一的,我们把它稍微旋转一下,只要不把两类数据分错,仍然可以达到上面说的效果,稍微平移一下,也可以。此时就牵涉到一个问题,对同一个问题存在多个分类函数的时候,哪一个函数更好呢?显然必须要先找一个指标来量化“好”的程度,通常使用的都是叫做“分类间隔”的指标。下一节我们就仔细说说分类间隔,也补一补相关的数学知识。

SVM入门(三)线性分类器Part 2

上回说到对于文本分类这样的不适定问题(有一个以上解的问题称为不适定问题),需要有一个指标来衡量解决方案(即我们通过训练建立的分类模型)的好坏,而分类间隔是一个比较好的指标。

在进行文本分类的时候,我们可以让计算机这样来看待我们提供给它的训练样本,每一个样本由一个向量(就是那些文本特征所组成的向量)和一个标记(标示出这个样本属于哪个类别)组成。如下:

Di=(xi,yi)

xi就是文本向量(维数很高),yi就是分类标记。

在二元的线性分类中,这个表示分类的标记只有两个值,1和-1(用来表示属于还是不属于这个类)。有了这种表示法,我们就可以定义一个样本点到某个超平面的间隔: δi=yi(wxi+b)

这个公式乍一看没什么神秘的,也说不出什么道理,只是个定义而已,但我们做做变换,就能看出一些有意思的东西。

首先注意到如果某个样本属于该类别的话,那么wxi+b>0(记得么?这是因为我们所选的g(x)=wx+b就通过大于0还是小于0来判断分类),而yi也大于0;若不属于该类别的话,那么wxi+b<0,而yi也小于0,这意味着yi(wxi+b)总是大于0的,而且它的值就等于|wxi+b|!(也就是|g(xi)|)

现在把w和b进行一下归一化,即用w/||w||和b/||w||分别代替原来的w和b,那么间隔就可以写成

这个公式是不是看上去有点眼熟?没错,这不就是解析几何中点xi到直线g(x)=0的距离公式嘛!(推广一下,是到超平面g(x)=0的距离, g(x)=0就是上节中提到的分类超平面)

小Tips:||w||是什么符号?||w||叫做向量w的范数,范数是对向量长度的一种度量。我们常说的向量长度其实指的是它的2-范数,范数最一般的表示形式为p-范数,可以写成如下表达式

向量w=(w1, w2, w3,…… wn)

它的p-范数为

看看把p换成2的时候,不就是传统的向量长度么?当我们不指明p的时候,就像||w||这样使用时,就意味着我们不关心p的值,用几范数都可以;或者上文已经提到了p的值,为了叙述方便不再重复指明。

当用归一化的w和b代替原值之后的间隔有一个专门的名称,叫做几何间隔,几何间隔所表示的正是点到超平面的欧氏距离,我们下面就简称几何间隔为“距离”。以上是单个点到某个超平面的距离(就是间隔,后面不再区别这两个词)定义,同样可以定义一个点的集合(就是一组样本)到某个超平面的距离为此集合中离超平面最近的点的距离。下面这张图更加直观的展示出了几何间隔的现实含义:

支持向量机(SVM)在作物需水预测中的应用研究综述
篇三:r,svm,预测

第 卷 第 期 农业水土工程研究进展课程论文 Vol. Supp. . 2015年 11月 Paper of agricultural water and soil engineering progress subject Nov.2015 1

支持向量机(SVM)在作物需水预测中的应用研究综述

(1.中国农业大学水利与土木工程学院,北京,100083)

摘 要:水资源的合理配置对于社会经济的发展具有重要意义。而在农业水资源的优化配置中常常需要提供精确的作物需水信息才能接下来进行水量的优化配置。支持向量机是基于统计学习理论的新型机器学习方法,因为其出色的学习性能,已经成为当前机器学习界的研究热点。但是目前对支持向量机的研究与应用大多集中在分类这一功能上,而在农业水资源配置中的应用又大多集中于预测径流量,本文系统介绍了支持向量机的理论与一些应用,并对支持向量机在作物需水预测的应用进行了展望。 关键词:作物需水预测;统计学习理论;支持向量机;

中图分类号:S16 文献标志码:A 文章编号:

0 引 言

作物的需水预测是农业水资源优化配置的前提和基础之一。但目前在解决数学模型中需要输入有预期的预测精度的数据时还是会遇到困难。例如,当大量的用水者的用水需求作为优化模型的输入时,预测精度太低时优化结果可能会出现偏差。此外,不确定性也存在于水的需求中,水需求受到一些影响因子和系统组成的影响(即人类活动,社会发展,可持续性要求以及政策法规),这不仅在不确定性因子间相互作用过程中使得问题更为复杂,也使得决策者在进行水资源分配过程中的风险增加。所以,准确的预测对水资源的需求对制定有效的水资源系统相关规划很重要。而提高需水量预测精度一直是国内外学术界研究难点和热点。

支持向量机(Support Vector Machine,SVM)是根据统计学理论提出的一种新的通用学习方法,该方法采用结构风险最小化准则(Structural Risk Minimization Principle), 求解二次型寻优问题, 从理论上寻求全局最优解, 较好地兼顾了神经网络和灰色模型的优点[1][2]

,克服了人工神经网络结构依赖设计者经验的缺点, 具有对未来样本的较好的泛化性能, 较好解决了高维

[3]

数、局部极小等问题。目前, SVM已成功的应用于分类、函数逼近和时间序列预测等方面, 并在水科学领

[4]

域中取得了一些成果, Liong已将SVM应用于水文预报, 周秀平等[5]已将SVM应用于径流预测, 王景雷等[6]

亦已将SVM应用于地下水位预报。而需水预测问题本身也可以看作是一种对需水量及其影响因子间的复杂的非线性函数关系的逼近问题, 但将SVM应用于作物需水预测的研究尚处于起步阶段。本文简要介绍支持向量机并对其研究进展进行综述,最后对未来使用支持向量机预测作物需水量进行展望。 ?

1 支持向量机

1.1支持向量机国内外研究现状

[1,2]

自 1970 年以来,Vapnik等人发展了一种新的学习机——支持向量机。与现有的学习机包括神经网络,模糊学习机,遗传算法,人工智能等相比,它具有许多的优点:坚实的理论基础和较好的推广能力、强大的非线性处理能力和高维处理能力。因此这种学习方法有着出色的学习性能,并在许多领域已得到成功应用,如人脸检测、手写体数字识别、文本自动分类、非线性回归建模与预测、优化控制数据压缩及时间序列预测等。

[7]

1998年,Alex J. Smola系统地介绍了支持向量机

[8]

回归问题的基本概念和求解算法。Drucher将支持向量机回归模型同基于特征空间的回归树和岭回归的集成回

[9]

归技术bagging做了比较;Alessandro verri将支持向量机回归模型同支持向量机分类模型和禁忌搜索(basic pursuit denoising)作了比较,并且给出了贝叶斯解释。通过分析得出了如下结论:支持向量机回归模型由于不依赖于输入空间的维数,所以在高维中显示出了其优越性。为了简化支持向量机,降低其复杂性,已有了一些

[10]

研究成果。比如,Burges提出根据给定的支持向量机生成缩减的样本集,从而在给定的精度下简化支持向量机,但生成缩减样本集的过程也是一个优化过程,计算

[11]

比较复杂;1998年Scholkopf等人在目标函数中增加了参数v以控制支持向量的数目,称为v-SVR,证明了参数v与支持向量数目及误差之间的关系,但支持向量数目的减少是以增大误差为代价的。Suykens等人[12]

1999年提出的最小二乘支持向量机(LS-SVM)算法具有很高的学习效率,对大规模数据可采用共轭梯度法求

[13]

解;田盛丰等人提出了LS-SVM与序贯最优化算法(SMO)的混合算法。

1.2支持向量机在水资源领域研究现状

收稿日期: 修订日期:

支持向量机是机器学习中的研究热点。它的优点也吸引了各领域的研究者们使用它来进行数据的处理。就

对需水量的预测这一方向来说,2008年张灵等[14]

基于AGA建立了珠海市的SVM需水预测模型,经过与BP神经网络方法的对比,发现AGA-SVM模型具有更好的

预测精度。2009年迟道才等[15]

基于最小二乘支持向量机(LS-SVM)对辽宁铁岭市的参考作物腾发量进行预测并对比BP神经网络计算结果,同样得出LS-SVM比BP

模型有更好的预测性能。2010年赵清等[16]

使用支持向量机建立了三江平原井灌水稻月尺度的需水量回归预报模

型,得到了较为满意的结果。2014年X,T,Zeng等[17]

使用支持向量机的到了开孔河流域几种主要农作物全生育期的用水量目标,并在此基础上对灌区内的水资源进行优化配置,得出了较为合理的配置方式。

支持向量机在水资源配置中已经有所应用,对于作物需水也有所涉及,但是相对于神经网络方法应用来说要少很多。

1.3支持向量机基本原理

1.3.1 支持向量机的基本思想

支持向量机(SVM)是Vapnik等人运用统计学习理论对神经网络进行研究时,提出的一种以VC维理论和结构风险最小原理为基础的通用学习机器方法。概括地说, 支持向量机理论最初是为两类分类问题的处理而设计的,其基本思想是线性情况下,在原始模式空间寻找最优超平面;而非线性下,先通过非线性变换,将原始空间映射到一个高维的特征空间, 然后在这个特征空间中求取最优超平面,所谓最优超平面,就是超平面与最近点(支持向量机)之间的距离最大。

而所谓的支持向量即是在设给定的训练样本

D=??x1,y1?,?,?xl,yl?,xi?Rn,y?R,i?1,?,l?。

如果训练集中的所有向量均能被某超平面正确划分,并且距离平面最近的异类向量之间的距离最大(即边缘最大化),则该超平面为最优超平面。其中距离超平面最近的异类向量被称为支持向量(Support Vector,SV)。 1.3.2 支持向量机回归算法

支持向量机回归算法源于线性分类, 可用于线性回归和非线性回归。其思路与分类十分相似, 只需引入一个修正距离的ε为损失函数, 它可以确保对偶变量的稀疏性, 同时确保全局最小解的存在和可靠泛化界的优化[23]

(1)设已知训练样本集,T=(x1,y1),(x2,y2),?,(xi, yi),?,(xk,yk),其中xi∈Rn,yi∈R,i =1,2,?,k。

(2)选择适当的正数ε,c和核函数。核函数的选择必须满足Mercer条件。本文主要应用的核函数有:①多

项式核函数K(xi,xj)=(xi xj+1)d,d =1,2,?;②径向

基函数(RBF)核函数K(x2

i,xj)=exp|r‖xi-xj‖2/2σ |(r为核函数系数);③指数核函数K(xi,xj)=exp |r‖xi

-x‖/2σ2

j|(r为核函数系数)。对于高维数据的情况, 核函数与向量的维数无关,可以避免“维数灾”。

(3)构造并求解最优化问题。

从而得到

:

(4)构造决策函数

:

1.4三种新型的支持向量机 1.4.1 粒度支持向量机

粒度支持向量机(granular support vector machines,GSVM) 的主要思想是通过常用的粒度划分方法构建粒度空间获得一系列信息粒,然后在每个信息粒上进行学习,最后通过聚合信息粒上的信息(或数据、规则知识、属性等)获得最终的支持向量机决策函数。该学习机制通过数据的粒化可以将一个线性不可分问题转化为一系列线性可分问题,从而获得多个决策函数;该学习机制还使数据的泛化性能增强,即可在SVM的训练中得到间隔r,svm,预测。

更宽的超平面[18-20]

。 1.4.2 模糊支持向量机

为了克服噪声和野值点对支持向量机的影响,研究者们将模糊数学和支持向量机相结合,提出了模糊支持向量机(fuzzy support vector machines,FSVM),主要用于处理训练样本中的噪声数据。其主要思想是针对支持向量机对训练样本内的噪音和孤立点的敏感性,在训练样本集中增加一项隶属度,并赋予支持向量较高的隶属度,而非支持向量及噪声野值点赋予较小的隶属度,从而降低非支持向量、噪声和野值点对最优超平面的影响。

但FSVM中也存在如何确定隶属度值的问题[21]

。 1.4.3 孪生支持向量机

在支持向量机的发展中,研究者们提出了一种二值数据的分类器——孪生支持向量机(又称双分界面支持向量机,twin support vectormachines,TWSVMs) 。TWSVMs在形式上类似于传统的支持向量机,不仅具有传统支持向量机的优点,而且对大规模数据具有更好的

处理能力。TWSVMs为两个类各自得到一个分类平面,属于每个类的数据尽量围绕在与之相对应的分类平面周围,然后TWSVMs通过优化一对分类平面来构建分类超

平面[22]

。也就是说,TWSVMs需要解决一对QP问题,而SVM则是解决一个QP问题,但是在TWSVMs中,其中一个类的数据要作为另一个QP问题的约束条件,反之亦然。

1.5支持向量机存在的一些问题

统计学习理论系统地研究了机器学习问题,尤其是在有限样本情况下的统计学习问题。这一理论框架下产生的SVM是一种通用的机器学习新方法,在理论和实际应用中表现出很多优越的性能。但是在目前支持向量机的发展中,仍然有一些问题还没有解决,主要有以下几个方面:

(1)、如何针对不同的问题选择不同的核函数仍然是一个悬而未决的问题;

(2)、标准的SVM对噪声是不具有鲁棒性的,如何选择合适的目标函数以实现鲁棒性是至关重要的;

(3)、支持向量机的本质是解一个二次规划问题,虽然有一些经典(如对偶方法、内点算法等),但当训练集规模很大时,这些算法面临着维数灾难问题。达不到满意的训练速度。

总的来说,支持向量机的发展还是在稳步向前的,有很多的国内外研究者在推动着支持向量机这种方法的改进与创新,逐步完善支持向量机的理论,使这种方法更合理,更实用。

2 支持向量机在作物需水量预测中的应用展望

虽然支持向量机在理论上有很突出的优势,但与其

理论研究相比,应用研究还比较滞后,目前只有比较有限的实验研究报道,且多属于仿真和对比试验。从现有研究来看,使用支持向量机预测作物的需水量主要集中于两点,即使用气象因子对参考作物的蒸腾量ET0进行预测与使用作物相关的因子对作物全生育期的需水量进行预测。这些研究所涉及的时间尺度有限,在选取支持向量回归的向量时往往根据日常经验与认识。所以,在预测作物需水量的应用上,我有以下几点展望:

(1)、支持向量机理论与算法在不断的发展,在以后作物需水量的预测中应该考虑选择一些新型的支持向量机来进行应用,提高预测的精度和可信度;

(2)、在使用支持向量机进行作物需水预测时,选择敏感的向量参数很重要,直接关系到预测精度,所以可以考虑引入参数敏感性的择优来选出敏感向量来进行更为合理的预测;

(3)、在农业水资源规划中,有很多的时间尺度,我们有时需要知道分生育期的需水量与日尺度等时间尺

度的需水量,简单的月尺度和全生育期的尺度有时并不能满足规划的需求。

综上所述,使用支持向量机来进行作物需水量的预测有很好的前景,可以为农业水管理者在制定水管理制度和种植结构等方面提供决策依据。

[参 考 文 献]

[1] Vapnik V.N. The Nature of Statistical Learning Theory [M].New

York: Spring- Verlag, 1999.

[2] Vapnik V.N. An Overview of Statistical Learning Theory

[J].IEEE Trans on Neural Networks, 1999,10(5):988- 999. [3] 李元成, 方廷健, 于尔铿. 短期负荷预测的支持向量机方

法研究[J].中国电机工程学报, 2003, 23( 6) : 55- 59. [4] Liong S Y,Sivapragasm C. Flood stage forecasting with

SVM[J]. Journal of the American Water Resources Association,2002, 38( 1) : 173- 186.

[5] 周秀平,王文圣,黄伟军. 支持向量机回归模型在径流预测

中的应用[J]. 水电能源科学, 2006, 24( 4) : 4- 7. [6] 王景雷,吴景社,孙景生等. 支持向量机在地下水位预报中

的应用研究[J]. 水利学报,2003,( 5) : 122- 128.

[7] Ales J.Smola; Bernhard Scholkopf. A tutorial on support vector

regression.Neuro COLT2 technial report series. 1998,8:1-73. [8] Harris Drucker;Chris J.C.Nurges. support vector regression

machines.

[9] Alessandro Verri. Support vector machines for regression.

[10] C. J. C.Burges, “Simplified support vector decision rules,”

Proc. 13th Int. Conf. Machine Learning, L.Saitta, Ed. San Mateo, CA: Morgan Kaufmann, 1996.r,svm,预测。

[11] Scholkopf,B.;Bartlett,P;Smola,A. Support vector regression

with automatic accuracy control. Perspectives in neural computing. 1998:111-116. .

[12] Suykens,J.A.K.;Lukas,L. Least square support vector machines

classifiers:a large scale algorithm. European conference on circuit theory and design. 1999: 839-842.

[13] 田盛丰,回归型支持向量机的简化算法,软件学报,2002,

6(13):1169-1172.

[14] 张灵,程晓宏,刘丙军,王兆

本文来源:http://www.myl5520.com/mingrenmingyan/117482.html

推荐内容