基于数据数量对支持向量机和BP神经网络性能分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于数据数量对支持向量机和BP神经网络性能分析

摘要

本文在阐述创新型预测模型理论的基础上,分别利用基于BP神经网络和支持向量机的玉米开盘预测模型,在样本大小不同情况下对玉米开盘价格指数进行了研究和预测。研究结果表明,基于支持向量机的预测模型在预测精度、运算时间、最优性等方面均优于基于BP神经网络的预测模型。

近年来,以GARCH类模型、SV类模型等为代表的预测模型在资产价格预测方面获得了广泛的应用,但是这些模型在研究中往往受到样本数据分布、样本容量等方面的限制。因此,包括以神经网络、支持向量机等智能算法为基础的创新型预测模型,在金融资产价格预测方面得到了广泛的应用。本文在阐述创新型预测模型理论的基础上,分别利用基于神经网络、支持向量机的预测模型,在不同样本大小的基础上,就玉米开盘价格分别用支持向量机和单隐层和双隐层的BP神经网络做预测,比较预测结果,对比分析支持向量机和BP神经网络在样本大小不同的情况下两者的性能分析。

关键词:支持向量回归BP神经网络libsvm工具箱

一、模型介绍

1、模型介绍

1.1支持向量机回归

1.1.1

支持向量机回归模型的介绍在机器学习中,支持向量机(SVM,还支持矢量网络)是与相关的学习算法有关的监督学习模型,可以分析数据,识别模式,用于分类和回归分析。给定一组训练样本,每个标记为属于两类,一个SVM 训练算法建立了一个模型,分配新的实例为一类或其他类,使其成为非概率二元线性分类。一个SVM 模型的例子,如在空间中的点,映射,使得所述不同的类别的例子是由一个明显的差距是尽可能宽划分的表示。新的实施例则映射到相同的空间中,并预测基于它们落在所述间隙侧上属于一个类别。

除了进行线性分类,支持向量机可以使用所谓的核技巧,它们的输入隐含映射成高维特征空间中有效地进行非线性分类。

1.1.2支持向量回归求解过程图

1.1.3核函数的介绍

利用支持向量机解决回归问题时,需要根据求解问题的特性,通过使用恰当的核函数来代替内积。这个核函数不仅要在理论上要满足Mercer 条件,而且在实际应用中要能够反映训练样本数据的分布特性。因此,在使用支持向量机解决某一特定的回归问题时,选择适当的核函数是一个关键因素。在实际的应用中,最常用的核函数有4种:线性核、多项式核、径向基(简称RBF)核、多层感知机核等。函数关系表达式分别如下:

(1)线性核函数

)

(),(x x x x K i i ⋅=

(2)多项式核函数

[]+∈⋅=Z q x x x x K q

i i ,)(),(γ(3)RBF 核函数

⎪⎪⎭

⎫ ⎝⎛--=2exp ),(σx x x x K i i 式中σ为核参数,它隐式地定义了从原始空间到高维特征空间中的非线性映射。RBF 核函数与传统RBF 方法的重要区别是,这里每个基函数中心对应一个支持向量,它们及输出权值都是由算法自动确定的。

(4)sigmoid 核函数

)

)(tanh(),(c x x v x x K i i +⋅=式中v、c 为常数。这时SVM 实现的就是包含一个隐层的多层感知器,隐层节点数是由算法自动确定的,而且算法不存在困扰神经网络方法的局部极小点问题。[2]

1.1.4各参数介绍及影响

(1)核参数:在本题中用g 表示,g 能决定从低维空间到高维空间的映射状态要,首先选择合适的核函数将数据投影到合适的特征空间,得到推广能力良好的SVR 模型。

(2)误差惩罚参数c:它能够实现在回归精度和模型复杂度之间的折衷,即在确定的特征子空间中调节学习机器置信范围和经验风险的比例以使得到的回归函数的推广能力最好

(3)精度参数ε:采用ε-不敏感函数,具有一定的抗干扰能力,能够提高估计的鲁棒性。

1.1.5寻找最优参数

函数寻优方法和思想

由于本组安装matlab libsvm 工具箱内置自带K 折交叉检验法寻优函数大家只需了解交叉检验法大致思想如下:

在机器学习、数据挖掘和模式识别等领域,需要训练大量的数据来得到一个准确的模型,当数据的数量有限时,就会出现不同的问题。为了解决这些问题,交叉验证的方法就出现了。

Holdout 当数据有限时,需要将原始数据分为两份,一份用来training 一份用来testing(比例一般是2/3和1/3),或者分为三份,还有一份用来validation。以上过程就叫做Holdout

Stratified holdout(or Stratification)为了确保分割后用于training 和

testing 的数据都具有代表性,需要通过随机取样的过程来确保这一点,这就是

stratification。其达到的效果是让在每一个分割中,每个类所占的比例和总体数据中每个类所占的比例相同。

Repeated holdout重复的进行随机取样,计算每一次的error rate,然后对其取平均。

threefold cross-validation将数据分为三份,每一次都去其中一份用于testing,其余部分用于training,直到遍历完每一个fold,即每一个instance都至少用于一次testing,后面还有stratified threefold cross-validation。

Stratified tenfold cross-validation在实际的应用中,这是标准的数据处理方法,具体含义和上一个类似,在实际的应用中,往往需要重复10遍十折交叉验证,也即往往需要做100次。

具体matlab程序详见附件附录和附件(附录一最优c和g选择,核函数选择/附件:程序/最优c和g求抽样样本model选取核函数比较误差)。

1.1.6支持向量回归核函数选择

本文为了公平起见用sigmoid核函数因为BP神经网络默认的函数也为sigmoid函数,保证不受其他因素影响,尽可能使结果正确有意义。

1.1.7程序求解

解法一;将如上二次规划函数利用matlab进行求解

解法二:利用libsvm内置函数svmtrian函数求解(本文用libsvm工具箱)

1.2BP神经网络

1.2.1BP神经网络介绍

在BP神经网络中,单个样本有个输入,有个输出,在输入层和输出层之间通常还有若干个隐含层。实际上,1989年Robert Hecht-Nielsen证明了对于任何闭区间内的一个连续函数都可以用一个隐含层的BP网

络来逼近,这就是万能逼近定理。所以一个三层的BP网络就可以完成任意的维到维的映射。即这三层分

别是输入层(I),隐含层(H),输出层(O)。如下图示

相关文档
最新文档