改进的支持向量机

2024-10-12

改进的支持向量机(精选12篇)

改进的支持向量机 篇1

支持向量机 (SupportVectorMachine, SVM) 一经提出, 就得到国内外学者的高度关注。因为其具有强大的非线性处理能力和良好的泛化推广能力, 使得它在机器学习领域获得了高度的重视和广泛应用, 并涌现出了大量理论研究成果以及各种经典算法。这些算法大部分都要求解一个二次规划问题, 如Osun等提出的分解算法[1], 它主要利用解的稀疏性, 以需要大量的存储空间以及进行大量的矩阵运算的方式来加快求解二次规划速度;Platt提出的序贯最小优化 (sequential minimaloptimization, SMO) 算法[2], 也是针对求解二次规划问题的计算量和计算复杂度的算法, 它主要利用快速迭代的方式来加快求解速度。这些方法虽然确实提高了速度, 但还是需要解决二次规划问题, 所以无法从根本上来降低求解的复杂度。

最近机器学习的研究者们另辟蹊径, 从支持向量机所体现的几何原理进行研究, 提出了一些算法。如Keerrhi等所提出的最近点算法[3] (nearest pointalgorithm, NPA) 及Roobaert提出的DIRECTS-VM算法[4]等, 这些算法比较直观, 容易理解, 把二次规划求得的支持向量机解从几何角度描述出来有些研究者根据样本点违背KKT条件时在几何空间上的分布, 从理论上指出了支持向量机可以有增量学习方式[5], 但没有给出明确的算法表达式。本文也是从几何角度分析SVM的解结构, 从而提出一种新的支持向量机改进算法, 该算法不仅可以进行增量学习, 而且可以在保证精度的前提下显著提高求解速度, 从而可以运用在一些要求在线学习等实时性要求较高的问题中。

1 传统支持向量机算法

SVM方法是从线性可分情况下的最优分类线提出来的, 考虑如图1所示的二维两类线性可分的情况, 图1中实心点和空心点分别表示两类的训练样本, H为把两类没有错误地分开的分类线, H1H2分别为过各类样本中离分类线最近的点且平行于分类线的直线, H1和H2之间的距离叫做两类的分类空隙或分类间隔。所谓最优分类线就是要求分类线不但能把两类无错误地分开, 而且要使两类的分类空隙最大。前者是保证经验风险最小, 而且通过后面的讨论可以看到, 使分类空隙最大实际上就是使推广性的界中的置信范围最小, 从而使真实风险最小。推广到高维空间, 最优分类线就成为最优分类超平面, 也称为支持超平面。

设线性可分样本集为 (xi, yi) , i=1, …, n;, xd, y∈{+1, -1}是类别标号, d维空间中的线性判别函数的一般形式为:

g (x) =w·x+b (1)

分类面为:

w·x+b=0 (2)

将判别函数式 (1) 进行归一化, 使两类样本都满足|g (x) |≥1, 即使离分类面最近的样本的|g (x) |=1, 这样分类间隔就等于2/‖w‖, 因此使间隔距离最大等价于使‖w‖或‖w‖2最小;而分类线对所有样本都正确分类, 就要满足:

yi[ (w·xi) +b]-1≥0;i=1, 2, …, n (3)

因此, 满足条件式 (3) 且使‖w‖2最小的分类面就是最优分类面。该问题可以表示为如下的约束优化问题:即在约束式 (3) 下求函数

φ (w) =12w2=12 (ww) (4)

的最小值。为此可定义如下的Lagrange函数:

式 (5) 中αi>0为Lagrange系数, 我们的问题是对wb求Lagrange函数的极小值。

通过求偏导可以转化为一个简单的对偶问题:在约束条件

i=1nαiyi=0, αi0;i=1, 2, …, n (6)

之下对αi求解下列函数的最大值:

Q (α) =i=1nαi-12i, j=1nαiαjyiyj (xixj) (7)

α*i为最优解, 则

w*=i=1nαi*yixi (8)

即最优分类面的权系数向量是训练样本向量的线性组合。求解可以得到最优的分类函数是:

sgn () 为符号函数。由于非支持向量对应的αi均为0, 因此式子中的求和实际上只对支持向量进行。而b*是分类的阈值, 可以由任意的一个支持向量用式 (3) 求得。

注意到, 上述的最优和线性分类函数, 其最终的分类判别函数式 (9) 中只包含待分类样本与训练样本中支持向量的内积运算 (x·xi) , 同样, 它求解过程也只涉及到训练样本之间的内积运算。一个问题中只涉及向量间的内积运算, 我们就可以尝试在必要时通过适当改变内积将问题转化到另一个空间中处理。因此选择适当的内积函数——这里把这种特殊的内积函数称之为核函数K (x·xi) , 我们就可以把一个非线性可分的问题转化到高维空间的线性可分问题进行求解。这时, 我们可以得到类似式 (9) 的结果:

f (x) =sgni=1nαi*yiΚ (xix) +b* (10)

这就是支持向量机的基本原理。

2改进的支持向量机算法

同样从简单的线性可分问题出发来进行研究, 设S1是正类样本的凸包, S2是负类样本的凸包, 则最优分类平面可以视为S1和S2的距离连线的垂直平分面。因为我们的问题讨论的分类样本都是有限集, 故两个凸包之间的距离可以表示为S1某个最外面的点xi (+) S2中某个凸组合点x (-) *的距离, 如图2所示。

因此为了求解该最优分界面, 只需找出对应的两个点xi (+) x (-) *就可以求得。规定超平面的法向量为负类指向正类, 即为:

(xi (+) -x (-) *) (11)

故这种表示形式下的最优的分类函数是

式 (12) 中b*是一个限定超平面位置的实数。因为只要超平面法向量已经确定, 再加多一个实数就可确定超平面方程。而确定b*的大小可以通过:先令b*=0代入训练样本求 (x·xi (+) ) - (x·x (-) *) 的值, 取得负类最大值xmax (-) 和正类最小值xmin (+) , 最后取b*= (xmax (-) +xmin (+) ) /2, 也可以用Fisher判别函数的方法求得。我们下面的求解就是围绕式 (12) 来进行的, 求解的关键是确定超平面的法向量。

为了方便下面讨论, 这里规定了几个定义:

定义1:定义由一个正类样本点xi (+) 和一个负类样本点xj (-) 组成的一组样本集{xi (+) , xj (-) }称为一组样本对, 样本对差向量特指从负类样本指向正类演样本的差向量 (xi (+) -xj (-) ) 。

定义2:支持超平面的法向量也特指从负类样本集指向正类样本集的向量 (xi (+) -x (-) *) 。

定义3:样本对差向量和指的是多个样本对差向量单位化后相加后得到的向量。

定义4:误分类样本数指的是把正类样本误分为负类和把负类样本误分为正类的样本总数。

统计性原理:一般数据样本中, 支持超平面的法向量与样本对差向量和有较小的夹角。

上述统计性原理是一种几何直观, 这里暂时不能给出完善的证明, 但可以对它进行粗略的描述:对一个线性可分问题, 每个样本对差向量可分解为一个在支持超平面的法向量上的投影分量和一个其他方向的分量。其中投影分量都同为正的, 这些投影的加和不会因为方向不同而抵消, 而其他方向的分量则加和相互抵消 (零和) , 因此样本对差向量和可分解为一个长的支持超平面的法向量投影分量, 和一个短的其他方向的分量, 即支持超平面的法向量与样本对差向量和有较小的夹角。

下面三个方案中, 方案三是本文所推荐的方案, 方案一和方案二是方案三的基础。

2.1方案一

取样本对差向量和为支持超平面的法向量, 按统计性原理可知, 当样本对足够多时, 本方案所得的支持超平面的法向量与真实解超平面有较小的夹角, 直接体现为误分类样本数可通过添加样本对个数来控制。根据上面描述我们可以这样来求解:

1) 初始化解平面的法向量为0, 解为f (x) = (x·0) +b

2) 依次取得一组样本对{x1 (+) , x1 (-) }, 计算样本对方向并单位化 (x1 (+) -x1 (-) ) (x1 (+) -x1 (-) )

3) 把2) 中的样本对差向量添加到解上去:

f (x) = (xx1 (+) ) (x1 (+) -x1 (-) ) - (xx1 (-) ) (x1 (+) -x1 (-) ) +b

4) 重复2) 、3) 步骤直到指定的样本对数目n为止, 得到:

f (x) =i=1n[ (xxi (+) ) (xi (+) -xi (-) ) - (xxi (-) ) (xi (+) -xi (-) ) ]+b (13)

5) 先令b=0代入训练样本求式 (13) 的值, 取得负类最大值xmax (-) 和正类最小值xmin (+) , 最后取b= (xmax (-) +xmin (+) ) /2。

至此, 我们就可以得到一个解超平面, 这种做法的好处是只求了一次阈值b, 速度很快, 不会陷入局部极小值, 缺点是所用的支持向量多 (一个样本对就是两个支持向量) , 求解的过程没有删除不良的样本对方向。

本方案的算法复杂度可作如下分析:设正类样本数为m, 负类样本数为n, 样本维数为d, 则步骤1) 至步骤4) 是一个循环结构, 它的执行时间取决于步骤2) 中的求向量长度的时间, 这个时间又与所选取的核函数有关, 一般来说可认为是○ (d2) 的复杂度。所有不同的样本对总数为m×n, 故循环体最大循环次数为m×n, 整个循环体的复杂度为○ (dm×n) ;步骤5) 的复杂度只有○ ( (m+n) ×d2) ;故整个算法的复杂度为○ (dm×n) , 是多项式的时间复杂度。

2.2方案二 (贪婪算法)

在方案一的求解过程中, 只选取能使误分类样本数减少的样本对添加到解中:

1) 初始化解平面的法向量为0, 解为f (x) = (x·0) +b, 初始误分类样本数为所有样本总数。

2) 随机取得一组样本对{x1 (+) , x1 (-) }, 计算样本对方向并单位化 (x1 (+) -x1 (-) ) (x1 (+) -x1 (-) ) ;

3) 把2) 中的样本对差向量添加到解上去:

f (x) = (xx1 (+) ) (x1 (+) -x1 (-) ) - (xx1 (-) ) (x1 (+) -x1 (-) ) +b

4) 求b值, 并计算误分类样本数, 如果误分类样本数大于原来的误分类样本数, 则删掉临时加上去的方向, 否则继续下一步。

5) 如果误分类样本数小于指定值, 跳到8) 。

6) 如果训练样本对数目大于指定值, 跳到8) 。

7) 转到步骤2) 。

8) 得到式 (14) 并结束。

f (x) =i=1n[ (xxi (+) ) (xi (+) -xi (-) ) - (xxi (-) ) (xi (+) -xi (-) ) ]+b (14)

本方案比方案一速度稍慢, 求解过程中使用的支持向量少, 完美体现了支撑向量机解的稀疏性。但本方案出现了新的问题:由于训练是向误差减少的方向进行的, 属于贪婪算法, 故也出现了贪婪算法的通病:有可能陷入局部最小值。即训练的过程中可能出现训练一定步骤后误差不再减少的问题。

2.3方案三 (惩罚训练)

为了避免训练过程中陷入局部最小值, 重新设计出方案三。由于对一个线性可分的问题, 错误的分类的样本组成的样本对差向量能较好地修正解的方向。因此, 误分类样本对可以引导解的法向量向正确方向靠拢。故做法如下:

1) 初始化解平面的法向量为0, 解为f (x) = (x·0) +b, 初始误分类样本对数为所有样本总数。

2) 求b值, 并计算误分类样本数, 如果误分类样本数大于原来的误分类样本数, 则删掉最后一次加上的样本对方向。

3) 如果误分类样本对数小于指定值, 跳到8) 。

4) 如果训练样本对数目大于指定值, 跳到8) 。

5) 取得样本中误分类的一个样本, 这里不妨设它为正类样本误分为负类, 为xi (+) , 再随机取一个负类样本组成一组样本对{xi (+) , xi (-) } , 计算样本对方向并单位化

(xi (+) -xi (-) ) (xi (+) -xi (-) )

6) 把5) 中的向量添加到解方向上去:

f (x) = (xxi (+) ) (xi (+) -xi (-) ) - (xxi (-) ) (xi (+) -xi (-) ) +b

7) 转到步骤2) 。

8) 得到式 (15) 并结束。

f (x) =i=1n[ (xxi (+) ) (xi (+) -xi (-) ) - (xxi (-) ) (xi (+) -xi (-) ) ]+b (15)

方案三在核空间线性可分的条件下避免了陷入局部最小值, 但是在核空间线性不可分时, 训练可能会出现不收敛。当然, 支持向量机也只能对线性可分的样本空间进行正确求解, 当原空间线性不可分时, 假设它转化到高维核空间后是线性可分的。

上面讨论的方案只是线性可分的情况, 由于求解过程中只牵涉到内积运算, 故跟支持向量机传统算法一样, 上面求解空间可以实用核函数转化到核空间, 转化的方法、方式都跟传统的支持向量机方法一致。

3实验结果及分析

在仿真实验中, 选择了来自于UCI机器学习知识库的“Connectionist Bench (Sonar) ”数据库。该数据库常用于检测分类算法的训练速度和最终的泛化效果。该数据集共有208条样本记录。每条记录的属性有60维。随机取其中的104个样本组成训练集, 其他104个样本为测试集。支持向量机核函数选取径向基函数, RBF参数取为σ=0.7。实验环境为Celeron (R) 2.40 GHz 的CPU, 768 MB的内存, 本文方案使用C#语言编程, 参考方案LSSVM使用Matlab编程。

其中使用方案一进行统计性原理验证, 通过控制不同数量的训练样本对来检测训练效果和分类效果。5次实验的平均结果如表1。

从表1可看到, 随着样本对的增多, 方案一的训练精度以及测试精度不断提高, 实验表明文中所提的统计性原理是正确的。方案一最终完全达到Matlab的SVM工具箱的LSSVM训练效果, 同时所用的时间远远小于LSSVM方法。而方案二和方案三所用时间都小于LSSVM方法, 特别是方案三, 具有使用支持向量少、精度高、速度快等显著优点。

4结论与讨论

本文提出了一种基于几何思想的改进快速算法 (方案三) , 该快速算法克服了经典算法中必须求解二次规划问题的缺点, 它可直接根据两类数据的几何分布, 利用迭代的方法快速找出支持超平面法向量, 进而求出最优超平面, 算法简单直观。实验结果显示, 本快速算法的识别率略优于其他算法, 且算法的训练速度非常快, 用到的支持向量少。而且, 由于解的过程中法向量的修正是按训练样本对增加的, 故可以实现增量学习, 训练结果可以用到下一次训练中去。

本算法的方案一一般不能直接用于求解, 而可用于增量学习中求得初始解。而方案二和方案三则可以直接用于问题的求解。

对于方案中的统计性原理的合理性, 除了通过大量的实验来间接证明之外, 也可以考虑从原理上来证明。该假设可以描述为问题:样本对的平均方向可以正确地把线性可分的两类样本分离。如当两类样本各自只有一个点时, 我们的问题显然成立。当增加一个样本点时, 问题还是成立的。所以可以考虑用数学归纳法来证明本问题。具体的证明还需要进一步探讨。

摘要:为了快速的求解支持向量机问题, 降低求解规模, 根据支持向量机的几何原理以及数据样本的统计特性, 提出了一种改进的支持向量机快速算法。该算法通过迭代修正支持超平面的法向量, 采用数值逼近而非解二次规划的方式来求解问题。算法具有速度快、增量学习、使用的支持向量少等显著优点。

关键词:支持向量机,快速算法,增量学习

参考文献

[1]Osuna E, Freund R, Girosi F.An improved training algorithm for sup-port vector machines.In:Principe J, Gile L, Morgan N, et al.eds, Pro-ceedings of the1997IEEE Workshop on Neural Networks for Signal Processing, New York:IEEE, 1997:276—285

[2]John C P.Fast training of support vector machines using sequential minimal optimization.Scholkopf B, et al.eds.Advances in Kernel Methods-Support Vector Learning.Cambridge, MA:MIT Press, 1999:185—208

[3]Keerthi S S.A fast iterative nearest point algorithm for support vector machine classifier design.India:Indian Institute of Science Banga-lore, 1999

[4]Roobaert D, Direct S V M.A fast and simple support vector machine perception.Proceedings of IEEE Signal Processing Society Workshop.Sydney, Australia:IEEE, 2000:356—365

[5]曾文华, 马健.支持向量机增量学习的算法与应用.计算机集成制造系统, 2003;9 (专刊) :144—148

改进的支持向量机 篇2

支持向量机用于液体火箭发动机的故障诊断

支持向量机(Support Vector Machine,简称SVM)是一种基于机器学习的模式分类算法,其在解决小样本、非线性及高维模式识别等问题中都表现出许多特有的优势.用SVM对液体火箭发动机的故障数据进行检测和诊断.通过对发动机仿真模型的9种故障数据的学习,能检测出18组故障数据中的17组,但有4组出现误报.对误报故障进行二次学习和再检测,能对这4种故障正确检测.经过对C75试车4种故障数据的`学习.能正确检测其故障类型.进一步验证了该方法的正确性和可行性.

作 者:何浩 胡小平姜志杰 刘伟强 He Hao Hu Xiaoping Jiang Zhijie Liu Weiqiang 作者单位:国防科技大宇航天与材料工程学院,湖南,长沙,410073刊 名:火箭推进英文刊名:JOURNAL OF ROCKET PROPULSION年,卷(期):34(3)分类号:V434关键词:支持向量机 液体火箭发动机 故障诊断 模式识别

改进的支持向量机 篇3

1引言:

入侵检测系统(intrusion detection system,IDS)作为防火墙之后的第二道安全闸门,能够发现网络入侵行为,因此网络入侵检测已成为网络安全领域的研究热点[1]。网络入侵检测分为误用检测(misuse intrusion detection,MID)和异常检测(anomaly intrusion detection,AID)两类[2]。误用检测技术只可以检测已知入侵行为,不能对未知或变入侵行为进行检测,而异常检测可以较好对未知入侵行为进行检测,成为入侵检测中的主要研究方向[3]。传统网络入侵异常检测算法有:模式匹配算法、BM算法、QS算法等,这些算法均属于单模式的网络入侵检测算法,难以适应现代大规模网络安全检测要求[4]。近年来,随着人工智能技术的发展,出现了隐马尔可夫模型、支持向量机和神经网络等入侵检测模型,其中支持向量机(support vector machine,SVM)较好的克服了神经网络等传统机器学习算法的过拟合、泛化推广能力差等缺陷,对于高维、小样本的网络入侵检测具有明显优势[5-7]。大量实验表明,基于SVM的网络入侵检测模型性能与其参数:惩罚因子C和核函数参数等直接相关。为了获得较优SVM参数,学者们提出采用遗传算法(GA)、粒子群算法(PSO),在一定程度上优化了SVM的入侵检测性能[8-10]。蚁群算法(ant colony optimization algorithm,ACO)是一种源于大自然中生物世界的新仿生类算法,吸收了蚂蚁的行为特性,通过其内在的搜索机制,易于与其他启发式方法相结合[11,12]。

为了提高网络入侵检测率,提出一种变异蚁群算法(mutation ant colony optimization algorithm,MACO优化支持向量机的网络入侵检测模型(MACO-SVM),并通过仿真实验对其有效性进行检验。

变异蚁群算法

蚁群算法是由意大利学者M Dorigo等人在1991年受到蚂蚁搜索食物过程中依据同伴遗留下的信息激素进行最短路径选择的启发而提出的一种新的仿生优化计算方法,具有正反馈、分布式计算和贪婪启发式搜索等特点,但是基本蚁群算法存在过早收敛以及局部聚集等问题,为此,本文探路过程中,对蚂蚁进行高斯变异,打破蚁群严重聚集的情况(局部极值),产生一种变异蚁群算法(MACO),以便探索新的路径,提高问题求解的效率。

MACO算法优化SVM参数原理

采用MACO算法对SVM的参数C和σ优化过程,节点值表示C和σ,以入侵检测率作为目标函数,激素物质遗留在蚂蚁所走过的每个节点上,MACO算法所搜索出的最终路径表示最优网络入侵模型参数。SVM 参数优化的蚁群系统根据目标函数值来更新信息素的浓度,目标函数中包含各蚂蚁所爬行过的全部节点信息以及所建模型的网络入侵检测率。待优化的变量为SVM的参数C和σ,程序终止时,从蚁群的最优化路径中得到相对应的SVM的参数C和σ值,原理如图1所示。

MACO算法优化SVM参数过程

1)设蚁群规模为m,每只蚂蚁k均有一维数组pathk。其中依次存放第k只蚂蚁经过n个节点的纵坐标,n为所优化参数的总有效位,这些纵坐标连接在一起组成该蚂蚁的爬行路径。

2)全部蚂蚁置于起始点O,循环次数N=0,时间计数器t=0,最大迭代次数为:Nmax,初始化节点上信息量△τ(xi,yi,j,0),并设Δτ(xi,yi,j)=0。

3)设置变量i=1。

4)根据式(7)计算蚂蚁的转移概率,在线段Li上,根据概率以赌轮算法选择每只蚂蚁下一个转移节点,并将蚂蚁转移到相应节点上,并将该节点的纵坐标存入pathk的第i个元素中。

5)i=i+1,如果i>n,跳转到步骤6),不然跳转到步骤4)继续爬行。

6)根据数组pathk计算该路径对应的C和σ。

7)将训练集平均分成k个子集S1,S2,…,Sk。

8)SVM根据获得的{C,σ}对训练集进行学习,计算kfold交叉验证的检测率。

9)以kfold交叉验证中最优检测率作为适应度值,检测率最高对应路径作为本次循环的最优路径。

10)N=N+1,t=t+n,更新每个节点上的信息浓度,pathk中的全部元素置零。

11)对蚂蚁进行高斯变异,打破蚁群严重聚集的情况(局部极值),以便探索新的路径,并将新的路径与原有路径进行比较,选出最优蚂蚁。

12)如果迭代次数大于最大迭代数,则表示算法结束,并计算输出最优路径对应的SVM参数C和σ值。

13)SVM根据最优C和σ值对训练集重新学习,建立最优的网络入侵检测模型。

网络入侵检测多分类器构建

网络入侵检测实质上一个多分类问题,但SVM只能求解两分类问题,必须通过组合策略构建网络入侵检测器,本文采用有向无环图将两分类的SVM组合在一起,构造的网络入侵检测器如图2所示。

在CPU 2.8 GHz,RAM 1 GB 环境上,采用Libsvm 2,98实现仿真实验。按照一般的做法,实验采用KDD CUP 99数据集中的10%的数据(约10万条记录)中随机抽取的的正常连接记录作为训练样本。MACO算法的参数为:蚂蚁数m=10,最大迭代次数Nmax=100,Q=100,α=2,β=4。

为了使MACO-SVM模型检测更具说服力,在相同条件下,采用遗传算法优化SVM(GA-SVM)和基本蚁群算优化SVM(ACO-SVM)作为对比实验。模型性能评价指标为:检测率、误报率和运行速度。检测率和误报率定义如下:

检测结果对比

GA、ACO、MACO算法对SVM参数选择的结果见表3。然后采用表3的参数建立相应的网络入侵检测模型,GASVM、ACOSVM和MACOSVM的检测结果见表3。从表3可知,相对于对比模型GASVM、ACOSVM,MACOSVM的中支持向量数更少,但检测结果最佳,这表明 MACO算法比GA、ACO在SVM参数优化方面具有更好的较强的全局搜索能力,获得更优的SVM参数C,σ,可以降低网络入侵检测误报率,有效提高了网络入侵检测率。

运行速度对比

为了检测模型的运行速度,采用模型对验证集的检测时间(秒,s)作为衡量指标,各模型的检测时间见图3。从图3可知,相对于GASVM、ACOSVM,MACOSVM检测速度大幅度提高,主要由于MACOSVM减少了支持向量点数量,收敛速度加快,满足了现代网络入侵检测系统的实时性要求。

改进的支持向量机算法及应用综述 篇4

支持向量机是以统计学习理论为基础, 以结构风险最小化为原则建立起来的机器学习算法, 运用最优化方法可借助最大分类间隔的几何图形来描述其基本原理。通过控制参数自动调节模型结构, 实现经验风险和结构风险最小化, 在解决小样本、高维问题和非线性问题等方面表现出对训练样本具有良好的预测性能及对测试样本优异的推广能力, 广泛应用于文本过滤分类、人脸检测、数据挖掘、计算机入侵检测、基因分类、函数回归、时间序列预测、非线性系统控制、图像分析识别、数据压缩、信号处理、模式识别等诸多领域[1]。

2支持向量机基本原理

对于线性可分问题, 支持向量机运用优化算法通过最大化分类间隔来实现待求问题;而对于非线性问题, 支持向量机利用二次型寻优算法, 通过适当的内积函数将输入空间变换到高维空间将非线性问题线性化实现高维空间线性可分, 然后在新空间中求取最优线性分类面, 进而将原始数据从属于两类的类别中区分开来, 如图1所示。图中原始数据由空心点和实心点组成, 分别表示两个不同类型的数据, H、H1、H2是实现区分两类数据的分类面。其中H1, H2正好是经过两类数据的边缘分类面, 它们之间的距离margin就是两类之间的分类间隔, 而图中位于边缘分类面H1, H2上的空心点和实心点即为支持向量。支持向量机实现非线性映射的目的就是找到一个最优的分类面使得分类间隔margin最大[2], 同时在映射的复杂性和对样本数据的学习泛化能力方面达到最佳。

3改进的支持向量机算法

基本的支持向量机算法有块算法、分解算法、序列最小优化算法、增量算法等, 基本思想是在二次规划的基础上不断迭代寻找支持向量, 此处不再介绍。在基本支持向量机的算法中随着研究的深入出现了各自的缺陷, 因而针对实际研究问题的需要通过增加函数项、引入变量或系数等处理方法产生特定研究的优势。

3.1最小二乘支持向量机 (Least Square Support Vector Machine, LSSVM) 。基本支持向量机算法中的块算法和分解算法在求解大型QP问题时存在维数灾难和求解速度过慢的问题, 为保证一定的学习精度和速度, 在处理不等式约束时用等式约束代替以简化求解过程, 不敏感损失函数用最小二乘损失函数代替以简化寻优过程, 从而得到最小二乘支持向量机算法。

3.2中心支持向量机 (Proximal Support Vector Machine, PSVM) 中心支持向量机算法也是将标准支持向量机算法中的不等式约束用等式约束来代替, 求解的分类面不再是通过支持向量的边界超平面, 而是寻求中心超平面使不同类别的样本分布在中心超平面附近[3]。

3.3几何方法支持向量机 (Geometry Algorithm Support Vector Machine) 。M H Yang等[4]利用几何方法简化支持向量机算法, 提出了卫向量 (输入空间线性可分的向量) 的概念。先建立点与直线间的对偶变换, 然后将线性规划经对偶变换来提取卫向量, 形成卫向量集, 再在卫向量集中去除线性相关的支持向量对卫向量集进行精简, 从而简化求解问题。张文生等[5]在几何空间中SVM存在合适核函数的前提下设计出基于邻域原理的支持向量算法, 通过引入几何上的领域概念来简化内积Hessian矩阵, 每次迭代计算时消除Hessian矩阵的多行多列, 简化计算的同时减小计算机的存储容量, 加快算法收敛速度。

3.4模糊支持向量机 (Fuzzy Support Vector Machines, FSVM) , 顾名思义, 模糊支持向量机是结合模糊数学而构成的支持向量机, 主要通过在训练样本数据集中增加每个样本的隶属度项, 不同的样本赋予不同的隶属度, 如对样本中的噪声数据和孤立点给予较小的隶属度, 降低其对分类最优平面的影响, 从而对不同的样本起到调节惩罚作用, 具有较强的抗干扰作用。模糊支持向量机算法中隶属度值的确定方法有两类[6]:一类是基于时间序列的度量方法, 根据样本的采集时间来确定样本的模糊隶属度;另一类是基于样本空间的K近邻的模糊隶属度方法, 由样本数据点到其K个近邻点的距离来确定隶属度, 从而决定其对分类的影响, 该方法计算量较少, 鲁棒性较强。

3.5粒度支持向量机 (Granular Support Vector Machines, GSVM) 。粒度支持向量机是基于粒度计算的一种改进支持向量机学习算法, 其主要思想是通过分组、关联规则及聚类等方式进行粒度划分, 构建粒度空间获得样本的信息粒, 然后学习信息粒上的信息, 最后得到SVM决策函数。目前, 粒度划分主要研究有:基于关联规则的粒度支持向量机[7,8], 利用关联规则挖掘样本数据集的频繁模式, 分割样本特征空间进行粒度划分, 最后在各个粒度特征空间上训练学习。基于聚类的粒度支持向量机[9]是利用聚类方法对样本空间的数据进行粒度划分, 然后选择其中含有较多信息的粒来解决分类或回归问题。

3.6多类训练算法。用SVM来解决多分类问题, 其实质还是基于两类分类器的分类思想, 主要通过目标函数和分类器来实现。需构造多类SVM分类器, 对应的构造方法主要有两种:一种是通过决策函数来实现多类分类, 以Weston提出的多类算法为代表, 它将原始的两分类支持向量机通过选取合适的目标函数来实现k类分类支持向量机。但这种算法选择的目标函数变量多, 求解过程比较复杂, 一般只用于小型问题的求解。另一种构造方法是组合多个两类分类器, 这类方法主要有一对多算法、一对一算法、决策导向无环图。一对多算法由每个问题构造两类分类器, 将某一类样本与剩余的样本构造一个最优分类面, 视剩余的样本为一个整体, 如果总样本有k个类只需构造k个分类器, 样本对应的决策函数最大即为所对应的类。一对一算法是在两类分类器的基础上, 对k类训练样本中的任两类构造一个分类器, 如有k个类别两两组合需构造k* (k-1) /2个分类器, 然后在这些分类器中使用投票法累计分类结果的投票数, 得票最多的类为样本点所属的类。当k较大时所需的决策函数多, 影响预测速度。针对此缺点, Platt等提出了一个新的学习架构[10]:决策导向无环图。对于k类问题, 决策导向无环图含k* (k-1) /2个分类器, 每个分类器对应两类, 类似于二叉树, 在分类过程中由顶部开始逐步向下分类, 提高了支持向量机的分类速度和性能。

3.7基于贝叶斯理论的支持向量机。贝叶斯统计的主要特点[11]是从样本的统计模型出发, 获取样本的先验知识, 得到样本观测值后, 综合样本观测值与先验知识提供的信息, 利用贝叶斯准则公式得到后验分布。结合样本的先验知识和后验分布对支持向量机中参数进行优化调整, 实现对样本数据的分类。

4改进的支持向量机应用

4.1模式识别

支持向量机在模式识别领域的应用最广泛, 已成功地解决了诸如手写体、图像处理、语音识别、故障诊断等许多识别和分类问题。在手写字体识别方面, 当采用1个输入层、3个中间层和1个输出层的5层神经网络算法时, 其识别的错误率为5.1%;贝尔实验室[12]最先将SVM应用于手写字体识别研究, 当采用三种不同核函数时, 运用支持向量机方法得到的识别错误率分别为4.0%, 4.1%和4.2%, 对比两种算法表明支持向量机方法具有良好的性能。柳回春等[13]将SVM与RBF神经网络相结合用于UK心理测试自动分析系统的手写体数字识别问题。

在人脸识别方面, 周志明[14]等人提出基于小波和支持向量机相结合的技术, 由小波变换提取人脸特征, 并将特征向量输入到SVM中, 结合最近邻分类器进行分类, 使分类器具有很好的鲁棒性和分类性能。在图像处理方面, 段立娟等[15]提出了多层次特定类型图像识别方法, 该方法利用人类视觉识别特征结合计算机视觉图像处理, 在决策识别过程中首先建立了肤色检验模型、然后利用支持向量机对建立的肤色模型进行检验, 最后运用最近邻方法进行校验, 实验结果表明运用支持向量机可有效提高识别准确率。针对语音识别问题, 忻栋等[16]提出了基于SVM和隐式马尔可夫模型的混合模型。

在中文网页分类问题上, 贺海军等[17]在二分类问题的基础上, 把SVM方法与二叉决策树相结合构成多类分类器, 用于网页文本分类。在网络入侵检测分类方面, 徐文龙等[18]提出了一种直推式支持向量机, 从易于获取的未标记样本中提出特征添加到入侵检测算法的设计中, 提高了测试样本的分类准确度。另外还有相关研究人员将支持向量机用于汽轮发电机组的故障诊断, 模拟电路故障诊断等领域。

4.2回归预测。回归预测法利用预测的相关性原则作基础, 确定影响预测目标的各因素, 然后找出这些因素和预测目标之间的函数关系。

在石油期货价格预测方面, 张玉[19]提出了一种改进的支持向量机预测算法, 采用一种滞后阶数寻优方法, 将石油期货价格序列的一阶差分及其若干滞后值作为输入, 并使用验证集中技术获得参数最佳值。李元诚等[20]将粗糙集与SVM相结合, 用于短期负荷预测。将粗糙集作为前置系统, 结合SVM的容错及抗干扰能力, 组成SVM数据预测系统。

另外SVM在疾病预测, 天气预测, 市场预测, 股价预测, 实时业务预报等都有广泛的应用。

4.3系统建模与系统辨识。在未知非线性系统建模方面, 由于被控对象的数学模型未知, 张浩然等[21]在非线性系统的控制结构设计中根据对象的输入输出数据集, 以SVM作为辨识器, 采用SVM建模获取动态特性, 在控制器中采用指数梯度法来求控制作用。

在非线性系统的辨识方面, 崔万照等[22]将支持向量机的核函数选择为小波核函数, 并结合最小二乘法构造一种最小二乘的小波支持向量机, 应用于单输入单输出的非线性系统辨识, 通过仿真实验, 结果表明此方法能大大减少计算工作量, 并有效提高辨识效果。

5结论与讨论

SVM以统计学习理论为基础, 存在全局优化、泛化性能好等优点, 同时也存在诸多缺陷, 有很多问题需深入研究。

5.1支持向量机的核函数选取及其参数选择对SVM的预测及泛化能力有很大影响, 针对特定的研究问题, 究竟使用哪种核函数并找到一组最优的核参数至关重要。因此, 如何快速准确地选择与数据相匹配的核函数类型及核参数是值得深入研究的问题。

5.2在大规模系统及实时性要求较高的系统中, 求解问题的收敛速度和系统规模的复杂程度制约了SVM应用。线性SVM由于自身特点, 可设计出更好的训练算法, 但在设计非线性SVM训练算法, 尤其是处理大规模数据的快速算法, 解决样本规模和速度间的矛盾, 提高训练算法的效率和精度, 是需进一步研究解决的问题。

5.3如何有效地将二类别分类器有效地扩展到多类别问题上, 多类SVM的优化设计也是今后研究的内容。

5.4目前的SVM研究侧重于从理论研究, 真正的实践应用还有一段距离。

改进的支持向量机 篇5

支持向量机在害虫预测预报中的应用

对支持向量机回归(SVR)在害虫预测预报中的应用进行了研究.用一步预测法对1个害虫发生量样本集进行预测,结果表明:SVR在所有参比模型中预测精度最高,具有较强的.泛化推广能力,在害虫预测预报领域具有广泛的应用前景.

作 者:张永生 作者单位:湖南农业大学生物安全科学技术学院,湖南长沙,410128刊 名:现代农业科技英文刊名:XIANDAI NONGYE KEJI年,卷(期):“”(14)分类号:S431.9关键词:害虫 预测预报 支持向量机 非线性

支持向量机在投资决策中的应用 篇6

[关键词] 支持向量机投资决策统计学习理论

企业进行项目投资可选用内部收益率来作决策,决策规则:设置基准贴现率Ic,当内部收益率IRR>=Ic时则方案可行,否则不行。用这种方法来进行决策比较合理,但计算过程很复杂一般需要一次或多次测算。

支持向量机是Vapnik等人根据统计学习理论提出的一种机器学习方法.由于支持向量机(SVM)出色的学习性能,已成为国际上机器学习领域的研究热点.目前在手写体数字识别、文本分类、人脸检测等模式识别问题以及函数逼近、信息融合等领域中获得了应用.但目前在经济领域的应用还只是尝试,本文做了基于支持向量机的银行客户信用评估系统研究,可见SVM在经济上的应用还是很有前途的。我们知道,应用SVM作入侵检测最好的效果是检测正确率达到88%左右,但是如果在投资经济领域的能大到这样的效果就非常好了,因为这本身就是一个不可确定的结果,即便是经验丰富的人做出的决策结果也存在不确定性,能有88%的正确率,说明可能性已经很大了。因此用SVM做投资决策时是具有经济意义的。

一、支持向量机

1.广义最优分类面假设有一线性可分的样本集(xi,yi),i=1,…,n,x∈Rd,y∈{+1,-1},为了将yi=1和yi=-1两类点尽可能正确地区分开,可构造分离超平面x·w+b=0,使得

归一化得yi[(w·xi+b)]-1≥0,i=1,…,n (1c)

{(xi,yi)}到分类超平面的距离可定义为1/‖w‖,若样本集到该超平面的最小距离最大,则为最优分类面。所以要使x·w+b=0为最优,当且仅当(w,b)是下面优化问题的解:

这个二次规划问题有惟一的极小点,可以用Lagrang乘子法把(2)化成其对偶形式:

i=1可以证明解中只有小部分ai不为0,称对应的xi为支持向量。于是最优超平面方程为: (4a)

最优判别函数为: (4b)

对于线性不可分的情况,可以在条件(式2b)中增加一个松弛项ξi≥0,成为:yi[ω·xi+b]-1+ξ≥0,i=1,…,n 5)

目标函数改为求:

最小,其中C>0是个预先给定的常数,它控制对错分样本惩罚的程度。最优分类面的对偶问题与线性可分情况下几乎完全相同,只是条件(式3c)改为0≤ai≤C,i=1,…,n。

2.支持向量机。对于非线性问题,作非线性映射Φ(x):Rd→F, F是高维内积空间称为特征空间,Φ(x)称为特征映射;然后在F中构造(广义)最优超平面。实际上不用知道Φ(x)的K(xi,xj)满足Mercer条件,它就对应某一变换空间的内积。因此,采用适当的核函数K(xi,xj)就可以实现某一非线性变换后的线性分类,此时最优分类面中目标函数就变为确切表达式,只需在高维空间进行内积计算。根据泛函的有关理论,只要一种核函数:

相应的判别函数也变为:

这就是支持向量机。

简单地说,支持向量机就是首先通过内积核函数将输入空间变换到一个高维空间,然后在这个空间求广义最优分类面。

SVM中不同的内积核函数形成不同的算法,常用的核函数有:

多项式核函数K(xi·xj)=[(xi·xj)+1]q,q是自然数径向基核函数(RBF):

两层神经网络核函数K(xi·xj)=S(a(xi·xj)+t)其中S是sigmoid函数,a,t为常数。

二、SVM在投资决策中的应用

1.可行性分析。对于独立的方案的决策,常用的评价指标是净现值和内部报酬率。一个独立方案的净现值如为正值,说明该方案可实现的报酬率大于所用的贴现率,经济上可行;如净现值为负值,说明该方案可实现的投资报酬率小于要求达到的最底报酬率,经济上不可行。内部报酬率是指用它来对投资方案的现金流入量进行贴现,使所得的总现值恰好与现金流出量的总现值相等,从而使净现值等与零的利率。也就是投资项目本身可以达到的的报酬率。该指标比较合理,但计算很复杂,有时要经过多次的测算。

SVM理论是在统计学习理论的基础上发展起来的。由于统计学习理论和SVM方法对有限样本情况下模式识别中的一些根本性的问题进行了系统的理论研究,很大程度上解决了以往的机器学习中模型的选择与过学习问题、非线性和维数灾难问题、局部极小点问题等,所以它们在20世纪90年代以来受到了很大的重视。

2.支持向量机的构造。根据常用的评价指标选取以下特征向量作为SVM输入向量:输入向量x的属性及含义;对应的输出y为两类:可行与不可行,用1代表可行,-1代表不可行。

输入数据根据用内部收益率指标已经算的结果来给定。例如:原始投资为5500元,净现金量为11000元,残值为500元,折现年数为10年,通过用测算内部投资收益率为0.157,那么所有基准收益率大于0.157方案为不可行,小于等于0.157的方案为可行。这样可以得到许多组输入向量。根据以上方法我用30个数据做实验,用13个做测试。

3.核函数的选取。支持向量机在实际应用中关于参数选择的问题还没有很好的解决,比如多项式学习机器的阶数问题,径向基学习机器中的函数宽度问题,以及Sigmoid机器中函数的宽度和偏移问题等,统计学理论目前对这些问题只是给出了一些建议和解释。笔者采用径向基核函数做试验。

三、训练和测试

根据数据按内部收益率指标的计算,笔者可以的到一组数据。这样笔者采用了30个数据来作为训练数据。部分数据如下图:

经过训练后,用13个数据做测试,得到测试结果(部分数据)如下:

根据试验结果发现用SVM作投资决策,13个测试数据中有11个判断正确,其正确率达84.6%。

四、结论

1.支持向量机是在统计学理论的基础上发展起来的一种新的学习算法,解决了实际问题中样本有限的问题。

2.本文研究了SVM在投资决策的应用,结果表明用支持向量机作投资决策的应用取得了较好的结果。

3.本文的研究的数据虽然具有一定的典型性,但对支持向量机应用于经济领域的研究提供了依据,有很重要的实际意义。

本文存在的不足之处是试验数据具有典型性,因为笔者在编程试验时很难找到真实的数据,只能根据其特征来组合,所以试验结果还不能完全说明SVM会在所有的投资决策应用中显示出明显的效果。但是,此次试验证明了SVM在经济领域里有着广泛的应用前途。

参考文献:

[1]李丽娜侯朝桢:基于支持向量机(SVM)的工业过程辨识.北京理工大学学报,2003年10月

[2]王小平沈玉娣:支持向量机在轴承故障诊断中的应用.机床与液压,2003.No.4

[3]姚奕叶中行:基于支持向量機的银行客户信用评估系统研究,系统仿真学报,2004年4月

[4]姬水旺姬旺田:支持向量机训练算法综述.微机发展,2004年1月

[5]蓝汉民杨修法:管理会计学.长沙:湖南出版社,1993

改进的回归型支持向量机学习算法 篇7

支持向量机 (SupportVectorMachine, 简为SVM) [1、2]是由AT&T贝尔实验室的Vapnik及其研究小组于1995年提出来的一种新的机器学习算法SVM的方法最早是针对模式识别问题提出的, 随着Vapnik对ε不敏感损失函数的引入, 已将其推广应用到非线性回归估计和曲线拟合中, 得到了用于曲线拟合的回归型支持向量机方法 (SupportVector MachineforRegression, 简为SVR) , 并且表现出很好的学习效果。用于回归估计的支持向量方法在非线性系统辨识、预测预报、建模与控制等领域都有潜在的广泛应用, 使得对其进行研究显得非常重要。

但是, 用于回归估计的标准SVR算法在求解大规模问题时存在学习速度过慢的问题。因此, 如何减少计算时间和存储空间成为用于回归估计的SVR学习算法的研究热点[3]。由于O.L.Mangasari等人提出的用于模式识别的SOR (Successive Over relaxation for Support Vector Machine) 算法[4]适合迭代求解并能用于解决大规模问题。因此, 现考虑将这一方法推广到回归估计问题中, 对用于回归估计的标准SVR算法的优化式加以改造, 得到了一种回归型支持向量的改进算法。这一新的算法具有能减少计算复杂性、提高学习速度和在一定程度上能提高回归估计的精确性等方面的优点。

1标准的回归型支持向量机 (SVR) 算法

先简要介绍一下用于回归估计的标准支持向量机学习算法。

假设给定了训练数据{ (xi, yi) , i=1, 2, …, l}, 其中xiRd是第i个学习样本的输入值, 且为一d维列向量xi=[xi1, xi2, …xid]T, yiR为对应的目标值。先定义ε线性不敏感损失函数为

即如果目标值y和经过学习构造的回归估计函数的值f (x) 之间的差别小于ε, 则损失等于0。

支持向量机的基本思想是:将输入样本空间非线性变换到另一个特征空间, 在这个特征空间中构造回归估计函数, 而这种非线性变换是通过定义适当的核函数K (xi, xj) 来实现的。其中K (xi, xj) =ϕ (xi) ϕ (xj) , 回归函数为

f (x) =ωTϕ (x) +b (2)

我们的目标就是寻找ω, b对使在式 (1) 固定的条件下最小化置信范围。这样一来, 最优化问题为

当约束条件不可实现时, 可以引入松弛变量ξi, ξ*i;这样最优化问题就转化为

其对偶最优化问题为

{maxαα*[-12i=1lj=1l (αi-αi*) (αj-αj*) Κ (xixj) -εi=1l (αi+αi*) +i=1lyi (αi-αi*) ]s.t.i=1l (αi-αi*) =00αiC0αi*C (5)

其中只有部分参数 (αi-α*i) 不为零, 它们就是问题中的支持向量 (SV) 。从而通过学习得到的回归估计函数为

f (x) =xiSV (αi-α*i) K (xi, x) +b (6)

式 (6) 中

b=1ΝΝSV{0<αi<C[yi-xiSV (αi-α*i) K (xj, xi) -ε]+0<αi<C[yi-xjSV (αj-α*j) K (xj, xi) +ε]}。

上式中NNSV为标准支持向量数量。

2改进的回归型支持向量机算法

将Mangasarian提出的用于分类的LSVM方法推广到回归估计问题中, 便可得到改进的用于回归估计的支持向量机 (LSVM-R) 。类似于文献[4]中LSVM的设计方法, 将式 (4) 改造成如下最优化问题

{minω12ωΤω+12b2+C2i=1l (ξi2+ξi*2) s.t.yi-ωϕ (xi) -bε+ξiωϕ (xi) +b-yiε+ξi*i=12, l (7)

可以利用拉格朗日乘子法来求解这个约束最优化问题, 为此构造如下拉格朗日函数

LΡ=12ω2+12b2+C2i=1l (ξi2+ξ*i2) -i=1lαi[ε+ξi-yi+ωϕ (xi) +b]-i=1lα*i[ε+ξ*i+yi-ωϕ (xi) -b] (8)

根据最优化理论, 将LP分别对求ω, b, ξi, ξ*i偏导数并令其为零得

将式 (9) 代入式 (8) , 得到对偶最优化问题

通过学习我们可以得到的回归估计函数为:

f (x) =xiSV (αi-α*i) K (xi, x) +b (11)

根据最优化的充要条件 (KKT条件) 可知:

{αi*[ε+ξi-yi+ωϕ (xi) +b]=0αi**[ε+ξi*+yi-ωϕ (xi) -b]=0

(12)

这样可以计算出估计函数中的参数b的值:

上式中NNSV为标准支持向量数量。

3结论

将标准的回归估计支持向量算法中的式 (4) 进行了改进, 最后得到了与标准的回归估计支持向量算法的对偶最优化问题式 (5) 相似的改进的对偶最优化问题式 (10) 。将式 (5) 和式 (10) 进行比较可以发现:一方面, 式 (10) 中变量没有上界约束;另一方面, 式 (10) 中没有等式约束条件, 从而简化了二次规划问题的求解过程。因此, 这样的改进有一定的优越性:不仅可以减少计算的复杂性, 提高学习的速度;同时在一定程度上能提高回归估计的精确性, 特别是用于解决大规模样本问题。

参考文献

[1]张学工.统计学习理论的本质.北京:清华大学出版社, 2000

[2]Vapnik V N.The nature of statistical learrning springer theory.New York:1995

[3]杜树心, 吴铁军.用于回归估计的支持向量机方法.系统仿真学报, 2003;15 (11) :1580—1585

改进的支持向量机 篇8

Vapnik在1995年提出了一种新型统计学习方法—支持向量机(Support Vector Machines,SVM),支持向量机具有完备的统计学习理论基础和出色的学习性能,已成为机器学习界的研究热点,并在很多领域得到了成功应用[1]。支持向量机训练的实质为求解一个带有界约束和线性等式约束的凸二次规划问题。

支持向量机理论是基于VC维理论和结构风险最小化原理的[2]。支持向量机理论最先是针对分类问题而提出来的,但是通过引入不敏感损失函数ε的概念,支持向量机也可以解决线性与非线性函数的回归问题,因此可以应用于工业过程的建模。

粒子群优化算法(Particle Swarm Optimization,PSO)是由J.Kennendy和Eberhart等人受鸟群觅食行为的启发而提出的一种仿生型群体智能优化算法,它是一种具有随机性的多点搜索算法,具有隐含的内在并行性,能够在多维空间中快速找到问题的最优解。基本的P S O算法只能求解无约束优化问题,L P S O(Linear Particle Swarm Optimization,LPSO)算法可用于求解含有线性等式约束的优化问题,但是LPSO算法存在严重的早熟收敛问题,本文对LPSO算法进行了改进,用于支持向量机的训练,并和基于分块算法、分解算法和序列最小优化算法(Sequential Minimal Optimization,SMO)的SVM训练方法进行了比较。

2 算法描述

2.1 基本PSO算法

D维搜索空间中,有m个粒子,其中第m个粒子的位置是速ur度为),记第i个粒子搜索到的最优位置为,整个粒子群搜索到的最优位置)。单个粒子状态更新操作如下[3,4]:

其中i=1,2,L,m;d=1,2,L,D;w是非负常数,称为惯性因子;学习因子c1和c2是非负常数;r1d(t)和r2(dt)是介于[0,1]之间的随机数;vid∈[-vmax,vmax],vmax是常数;t为当前迭代次数。

2.2 求解线性等式约束问题的LPSO算法

LPSO算法专用于解决线性约束问题,传统的粒子群算法,速度和位置的更新公式如(1)和(2)所示,为每一维粒子分别设定了速度和位置的更新。对于所有维的向量,学习因子r1d(t)和r2(dt)保持常数,则速度更新的计算作为速度和位置向量的线性组合[5,6]。

LPSO解决的问题形式:

最小化:f(x),x∈Rn

约束条件:Ax=bA∈Rm×n,b∈Rm(5)

即:初始化每一个粒子的位置ix(0),使其满足A xi(0)=b,所有粒子的速度初始化为iv(0)=0;使用公式(3)和(4)对速度和位置进行更新。

通过实验表明,LPSO算法可以满足约束条件,但存在严重的早熟收敛问题。因而要对LPSO算法进行改进,以克服早熟问题。

2.3 改进的LPSO算法

如果粒子的初始速度v(0)=0,处在全局最优位置的粒子将不再进行搜索,其余每一个粒子将不再进行整个超平面的搜索,而是找到此最优位置即可。

在另一种情况下,如果xi=pi=pg,则粒子速度的更新仅仅依赖于w⋅vi(t)。当w和iv(t)为零时,则此粒子不再进行搜索,出现早熟现象,此时粒子位置作为全局最优位置,其它粒子将继续搜索此全局最优位置。

为了克服此早熟现象,选择处于最优位置的粒子θ,并对其速度进行更新,速度更新公式如下[5]:

式中:ρ(t)是比例因子,v(t)满足Av(t)=0

此时位置更新公式为:

采用这种新的速度与位置的更新方法仅限于处在最优位置的粒子,其余粒子的速度与位置更新仍应用公式(3)和(4)。

3 基于改进LPSO算法的支持向量机训练

3.1 SVM算法

SVM对于非线性回归问题引入核函数的概念,通过某一个非线性函数ϕ(x)将训练集数据x映射到一个高维线性特征空间,且此核函数K满足K(x i,xj)=ϕ(x i)⋅ϕ(x j),不需要显式的知道K和该特征空间,只要选择合适的核函数,就可以确定高维空间里的内积K(x i,xj),从而可以避免高维特征空间引起的维数灾难问题。因此非线性函数回归的问题利用对偶原理可以转化为如下的二次规划问题[1]:

目标函数:

约束条件:

由上式可求解得到拉格朗日乘子αi和αi*,从而可求得非线性回归估计函数为

3.2 训练算法步骤

(1)对粒子群的速度与位置进行初始化,其中每个粒子分别代表α和α*,使得其满足等式约束条件同式(7)

(2)定义适应度函数为

(3)根据粒子群算法,将各粒子的当前适应值F(X i)与该粒子自身的最优适应值F(Pibest)进行比较,如果F(X i)

(4)将各粒子的自身最优位置的适应值F(Pibest)与所有粒子的最优位置的适应值F(Pgbest)比较,若F(Pibest)

(5)根据粒子群优化算法的进化方程(3)和(4)对粒子的速度和位置进行进化调整,对处在全局最优位置的粒子,根据方程(6)和(7)对其进行速度与位置的进化调整,即得到新的支持向量机参数值。

(6)判断所有粒子的最优位置的适应值或迭代次数是否满足要求,若满足,则结束计算,并保存此时的粒子群的整体最优位置值。若不满足则返回流程第(3)步继续计算。

4 实验与仿真

大多数的生化反应通常都是极其复杂的,反应过程中的非线性、时变性和不确定性严重,而且目前缺少对重要过程参数的在线检测仪器,针对生化过程的特点,采用机理建模的方法来建立模型比较困难。目前较多的用于微生物发酵过程建模与预测的是基于神经网络的建模方法。但由于基于神经网络建模的方法是基于经验风险最小化原则,即训练误差最小原则,所以容易导致模型过拟和,因此此类模型往往泛化预测能力差。

支持向量机(SVM)具有小样本学习能力强、非线性处理能力好,数学理论基础较严密等特点,同时支持向量机的内部优化是基于结构风险最小化原理,其目标函数包括经验风险和置信区间。因此SVM的泛化能力要比神经网络等传统非线性函数逼近方法好。近年来已经有人利用S V M来进行过程建模的研究与应用。

谷氨酸发酵是典型的生化反应过程。谷氨酸发酵过程中通常可在线测量的变量为溶氧浓度、通风量、PH值、CO2浓度、温度等,残糖浓度、菌体浓度、谷氨酸浓度等为离线化验值。由于发酵过程中的温度以及PH值在整个过程中的变化不大,为了减小建模的复杂度,因此不采用这个变量。而溶氧DO(t)是重要的辅助变量,并且在发酵过程中还存在较为严重的底物和产物抑制作用,所以将t时刻的菌体浓度X(t)、谷氨酸浓度P(t)、残糖浓度S(t)纳入输入变量中对于建模有着实际物理意义。由于发酵过程本身的动态性,采样时间(t)被作为另一个输入,输出则为预估下一时刻的谷氨酸浓度P(t+1)。

本文在实验中分别采用分块算法、分解算法、序列最小优化算法、LPSO算法以及改进的LPSO算法对支持向量机进行训练。

分块算法的基本思想是:去掉对应于非支持向量机的Lagrange乘子iα=0的那些训练点,而只对支持向量计算相应的Lagrange乘子αi,选块算法需要通过某种迭代方式逐步排除非支持向量,选出支持向量对应的块。

分解算法基本思想是:将SVM中大型的QP问题转化为一系列的求解规模一定的子QP问题,每一步都要保持问题满足KKT条件,将上一步子QP问题中不满足KKT条件的数据点对应的拉格朗日乘子引入到子QP问题中,同时去掉一个拉格朗日乘子,这里的拉格朗日乘子不一定为零,这点不同于分块算法,构成新一步的子QP问题。这样使目标函数值进一步下降,直至最后所有的拉格朗日乘子都满足KKT条件,就得到问题的最优解。

序列最小优化(SMO)算法是分解算法中选取工作集|B|=2的特殊情形,即每次迭代过程中只调整相应于两个样本点(x1,y1)和(x2,y2)的αi*-αi和αj*-αj,它只求解一个具有两个变量的最优化问题。

在实验中,采用8批生产数据,每批60组数据,均表示一个完整的发酵过程,采用其中5批数据进行训练,剩余的3批数据作为检验样本来做预估,检验其泛化能力。选取C=100,σ=0.5,γ=0.35,w=0.7,c1=c2=1.4。仿真结果如图1,不同训练方法比较结果如表1所示:

实验结果表明:利用改进后的LPSO算法对谷氨酸发酵过程进行训练,虽然训练时间并非最短,但具有较高的训练精度,使LPSO的早熟收敛问题得到了明显的改善。该算法还具有很强的泛化能力,由于它在进行支持向量机训练时,采用较少的支持向量个数。当所有其它αi=0时,改进的LPSO算法寻找的支持向量机个数始终少于其它算法。

5 结束语

通过实验仿真,改进的LPSO算法的特性说明了它在解决凸二次规划问题方面十分有效,用于训练支持向量机时,该方法训练精度高,泛化能力强。

摘要:训练支持向量机需要求解二次规划问题,LPSO算法对于求解含线性约束优化问题是一种直观、简单的方法。改进后的LPSO算法较好的解决了早熟收敛问题。对谷氨酸发酵过程建模的实验表明本文提出的方法训练精度高,泛化能力强。

关键词:支持向量机,粒子群优化算法,线性约束优化

参考文献

[1]邓乃扬,田英杰.数据挖掘中的新方法—支持向量机[M].北京:科学出版社,2004.

[2]VLADIMIR CHERKASSKY,YUNQIAN MA.Practical selection of SVM parameters and noise estimation for SVM regression[J].Neural Networks(S0893-6080),2004,17(1):113-126

[3]Kennedy J,Eberhart R C.Particle Swarm optimization[C]//Proc of IEEE International Conference on Neural Networks,1995:1942-1948

[4]U PAQUET,A P.ENGELBRECHT.Training support vectormachines with particle swarms[C]//Proc of International Joint Conference on Neural Networks,2003:1593-1598

[5]U PAQUET,A P.ENGELBRECHT.A new particle swarm optimizer for linearly constrained swarms[C]//Proc of IEEE Con-gress on Evolutionary Computation,2003:227-233

改进的支持向量机 篇9

手写体数字识别在商业、教育以及邮政、银行等诸多领域有广泛的应用前景, 尽管人们已提出一些识别算法, 但这些算法的性能, 特别是其识别精度仍有待进一步提高。

支持向量机 (SVM) 是一种建立在统计学习理论上的机器学习模型, 在解决小样本、非线性及高维的模式识别问题中表现出许多特有的优势。但是, 手写体数字识别[1]是一个典型的多类分类问题, 而经典的SVM算法[2,3]只能解决二类分类问题, 因此需要将其推广到多类分类模型。

基于SVM的多类分类问题最常用的思路是将多类问题分解为多个两类问题求解, 再将分类结果采用某种策略组合起来。常用的组合策略有:“一对余”1-v-r (one-versus-rest) 、“一对一”1-v-1 (one-versus-one) 、决策有向无环图DDAG (decision directed acyclic graph) 、决策树DT (decision tree) [4,5,6]。其中, 前三种策略在样本数目及类别数目较多时, 训练和分类速度都比较慢, 而且前两种方法还存在不可分区域。决策树多类分类方法在识别速度上具有一定的优势, 不过, 决策树分类器存在着误差积累的问题。

误差积累是指决策树上层节点的分类错误将会直接影响其下层节点的分类结果。为了解决基于SVM的决策树的误差积累问题, 前人作出了一些有益尝试:文献[7]利用遗传算法来优化决策树的生成过程, 文献[8]利用双支持向量机来提高决策树节点处的分类精确度;文献[9]和文献[10]则试图改进样本类间距离的度量方式。但遗憾的是这些方法仍然不能在不同的实际应用中都取得理想的效果。

为了更好地解决误差积累问题, 本文提出一种改进的基于支持向量机的决策树多类分类方法。该方法通过投影向量计算类间分离度, 并据此构建非平衡层次决策树。为减小误差积累的影响, 提高分类精度, 在训练分类器时, 该方法对正负类样本设置不同的惩罚因子[11];同时引入KNN算法[12]的思想对特定错分样本进行二次分类。实验测试结果表明, 该方法提高了手写体数字识别的精度, 取得了良好的识别效果。

1 基本理论

1.1 支持向量机理论[3]

SVM是定义在特征空间上的间隔最大的分类器, 它通过构建最优分类超平面来最大限度地区分不同类样本, 其实质是构建如下二次规划问题:

其中C为惩罚因子, φ (·) 为映射函数。上述二次规划问题可以通过引入Lagrange函数进行求解, 最终转换成如下对偶问题:

其最优解为a*= (a1*, a2*, …, aN*) T, 其中ai*>0, 对应的样本构成支持向量。相应地, 最终的决策函数可以表示为:

1.2 决策树SVM多类分类方法

决策树方法是将所有类别首先分离为两个子类, 然后再将每个子类又分离为两个子子类, 如此循环下去, 直到分离出最终类别。非平衡决策树每一层节点的分类器是将一种类别与其余类别分离。利用非平衡决策树进行分类时, 首先需要根据训练样本的分布情况生成误差积累更小、分类精度更高的决策树生成算法。一般思路是将最容易分的样本类别优先分离出来, 从而尽可能避免在上层节点出现错分情况。在此过程中, 不同样本类别之间的分离性度量的合理性对最终生成的决策树的性能具有重要影响。文献[10]通过投影向量[13]预选取支持向量, 在此基础上提出了一种分离性度量, 取得了较好的实际效果。

对于k类样本数据集, 设第i类样本的集合为Xi={x1, x2, …, xli}, 其中li为第i类的样本个数, 1≤i≤k, 于是, 该类样本的类中心点为:

定义1对于两类样本Xi和Xj, 将Xi的类中心mi到Xj的类中心mj的方向作为Xi的投影划分方向。

定义2样本类Xi中的样本xi在高维特征空间中到本类投影划分方向上的投影点为φ (xig) , 则该投影点到本类样本的类中心点mi的投影距离为:

若Xi和Xj中的最大投影距离分别为r1、r2, 令Xi和Xj的类中心的特征距离为d=‖mi-mj‖, 则当r1+r2

当r1+r2

当r1+r2>=d时, 若Xi中满足样本投影距离在[d-r2, r1]范围的样本数为count1, Xj中满足样本投影距离在[d-r1, r2]范围的样本数为count2, 则Xi和Xj的类间的分离性度量为:

在此基础上定义样本类Xi与其余类别样本的分离性度量为:

2 改进的训练和识别方法

SVM二次规划问题中的惩罚因子C决定了有多重视离群点带来的损失, C值定得越大, 表明对目标函数的损失越大, 也就暗示着越不愿意放弃这些离群点。对于不平衡数据集, 给样本规模较小的样本更大的惩罚因子, 表明越重视这部分样本。所以在处理不平衡数据集时, 可以对两类样本选取不同的惩罚因子, 对二次规划问题的方程进行如下修改:

其中:λ+为正类样本的惩罚因子, λ-为负类样本的惩罚因子, N+为正类样本数, N-为负类样本数。

数据的不平衡程度与样本的数目以及样本的分布情况都有关系[14]。从样本数目来看, 分类超平面会偏向样本数目较少的类别;而从样本分布情况来看, 分类超平面会偏向样本分布较为集中的类别。因此文献[15]采用样本的平均密度作为算法惩罚因子的选择, 由如下公式算出:

其中ra+和ra-分别表示正类和负类样本在高维特征空间中的超球体平均半经, 由如下公式算出:

其中m+和m-分别为正类和负类的类中心。

由于非平衡决策树的每一节点处都将一类样本与其余类样本分离, 所以决策树节点处的正类和负类数据可能会出现不平衡的现象。对于多类分类的非平衡决策树方法, 每一节点处将要分离出去的类别标为+l, 其余类别标为-l, 由非平衡决策树的结构可以看出, 误差积累由两方面因素构成:1) 负类样本误判为正类, 此时负类样本在上层节点分类错误, 将没有机会进入下层节点, 也就是说没有机会在该类决策节点处分类。2) 正类样本误判为负类, 此时本身分类错误的样本进入下层节点后将进行无意义的分类。所以要解决好误差积累问题, 必须平衡好每一节点处正类和负类样本各自的分类精确度。

对不平衡数据采取利用式 (9) 改进的SVM方法显然可以提高小类样本的分类精确度, 但是同时却可能降低了大类样本的精确度。所以如果只是单纯引入该方法到多类分类决策树各节点中去训练数据集, 在改善误差积累一种因素的同时对另一因素可能产生影响, 最后的精确度可能有所提高, 但提高率是有限的。

本文采用一种思想:尽可能保证负类样本分类精确度的同时, 对分类错误的正类样本采取二次分类。

2.1 决策树节点处训练方法

决策树节点处数据集中正负类样本的密度关系存在三种情况:正类样本的密度大于负类样本, 此时采用原始方法得出的分类面会偏向负类样本, 使负类样本的分类精确度较低, 如果加大负类样本的惩罚因子, 则会有效缓解数据不平衡性, 改善负类样本识别率同时不会对正类样本的识别率造成太大的损失;正类样本的密度类似于负类样本, 此时采用原始方法得出的分类面并不会偏向任何类别, 如果稍微加大负类样本的惩罚因子, 则会最大程度提高负类样本的识别率;正类样本的密度小于负类样本, 此时采用原始方法得出的分类面会偏向正类样本, 负类样本的识别率比较理想。

为了尽可能保证负类样本的分类精确度, 本文采用如下方法对决策树每一节点处的数据集进行训练:

a) 如果R≤1+n, 其中:n为值较小的常量 (此值控制正负类样本之间的密度关系) , 此时表示正类样本的密度大于或略小于负类样本, 由如下公式算出正负类惩罚因子:

b) 如果R>1+n, 表示负类样本的密度大于正类样本, 此时正负类样本选取相同的惩罚因子, 采用标准的SVM进行训练。

2.2 引入KNN算法的二次分类

上节的训练方法尽可能地保证了负类样本的精确度, 使负类样本误判为正类样本的可能性降低, 但是同时也降低了正类样本的分类精确度。对正类样本误判为负类样本的分布进行分析, 发现错分样本大多都在分界面附近, 所以可以利用分界面附近样本提供的信息对可能的误判样本进行二次分类。

以分类器的支持向量为标准, 根据KNN算法的思想进行二次分类。给定一个分类阈值a, 对于识别为负类的样本, 比较SVM分类器的决策函数求取的该样本点的决策值, 如果该值在给定阈值a之内, 表明该样本在分类面附近, 也就说明该样本可能是误判样本, 所以以该分类器的支持向量为标准, 利用KNN算法二次分类求出该样本类别。

3 改进的SVM多类分类过程

3.1 训练过程

a) 根据类间分离性度量公式计算Sepi。

b) 如果分离完Sepi值, 则转e) , 否则将分离性度量值按从小到大的顺序排列, 如果出现相同的分离性度量值, 则将样本数较大的类别排在前列。

c) 将序列中排在第一位的分离性度量值Sepj所代表的类别优先分离出去:将样本集中该类养本类别的标签改为+l, 其余类样本标签全部标为-l, 然后计算两类样本间的密度关系, 根据两类样本的密度大小选择合适的SVM进行训练, 得出分类器并生成叶子节点。

d) 重新计算剩余分离性度量值:Sepi-Sepij, 并将去除了分离类别样本的样本集传入下一节点作为训练样本集, 然后转b) 。

e) 非平衡决策树生成。

3.2 识别过程

设T为测试集, a为分类阈值, 具体分类过程如下:

a) 如果T=Φ, 分类结束, 停止;否则, 从T中选择一个样本x, 从根节点处开始遍历。

b) 将样本x带入决策树节点处的分类器中进行识别, 如果样本x的分类走向为叶子节点, 转e) ;否则转c) 。

c) 此时分类器将样本x识别为负类。利用分类器的决策函数得出决策值, 如果该值在分类阈值之外, 则样本x进入决策树下一层决策节点, 转b) ;否则转d) 。

d) 利用KNN算法对样本x进行分类:将决策树节点处分类器的支持向量集合SiSV作为KNN代表点集合, 计算样本x与每个支持向量在特征空间的距离, 从中选出距离最小的k个距离所代表的支持向量作为x的k个邻近, 如果k个邻近中多数支持向量类别为+l, 则样本x进入决策树下一层的叶子节点, 转e) ;否则, 样本x进入决策树下一层决策节点, 转b) 。

e) 样本x已完成分类, 进入的叶子节点所代表的类别即为该样本的类别, T=T-{x}, 转a) 。

4 仿真实验

将该算法应用到手写体数字识别中, 采用手写体数字识别数据集Mnist、USPS以及UCI数据库中Pendigits手写体数字识别数据集进行实验, 其中Mnist数据集中包含60 000个训练样本、10 000个测试样本, 从中随机选取6003个训练样本和2003个测试样本, 表1列出了三个数据集的基本信息。

对数据集进行相关处理之后, 为了测试本文算法在手写体数字识别应用中的性能, 分别采用“one-versus-one”方法, 文献[9]和文献[10]所介绍的决策树方法以及本文改进的决策树方法进行在三个数据集上进行训练与识别。

仿真实验采用Java语言编程, 并在Eclipse环境中实现, 两类SVM分类算法在libsvm工具包的基础上修改完成。系统运行环境为主频2.0 GHz, 内存2 GB, 操作系统为Windows XP。分类器所选的核函数为高斯径向基核函数:

仿真时需要设置的参数有:核参数δ2, 惩罚因子C, 常量n, 进行KNN算法用到的k值和分类阈值a。其中高斯径向基核函数中的核参数δ和标准SVM方法中的惩罚因子C通过交叉验证和网络搜索法确定, 常量n和分类阈值a根据不同决策树节点处的分类数据集的特性而定, 在三个不同数据集中, 本文的分类阈值a都为[-0.5, 0.5], k值选用3。表2列出了分类精度, 表3列出了分类时间。

从表2、表3中的仿真结果可以看出:

在分类精度方面:“OVO”方法在分类精度上还是比较理想的, 在三个数据集中精度都好于文献[9]的方法, 与文献[10]相比, 两者的精度也互有优势, 在Mnist和Pendigits数据集上要好于或等于文献[10]方法的精度, 仅在USPS数据集上略逊些。在三个数据集中, 文献[10]中的方法分类精度总体优于文献[9]提出的决策树方法, 仅在Mnist数据集上略逊些。本文在文献[10]的方法基础上进行了改善, 所以分类精度有了大幅度的提高, 明显优于其他三种方法。

在算法效率方面:由于“OVO”方法训练的分类器比较多并且识别时每个样本都要经过全部分类器, 所以它的训练和测试识别时间最长, 其中测试识别时间要远远长于决策树方法。文献[9]和文献[10]的决策树方法在训练和测试识别时间上类似, 相差不多。本文的方法在训练时间上与其他两种决策树方法类似, 但是在识别时加入了KNN方法的思想, 所以损失了一些测试识别时间, 但是识别时间还是明显好于“OVO”方法。

决策树分类方法之间的分析比较:

图1、图2、图3分别表示为三种决策树分类方法在三个不同数据集上各类别的分类精度。其中横坐标表示数据集的10种类别, 纵坐标表示分类精度 (%) 。

从三张图可以看出, 由于文献[9]和文献[10]采用不同的类分离性度量生成决策树, 它们决策树的层次类别是不同的, 所以各类别的分类精度差异比较大, 但是文献[10]所代表的线段整体趋势还是处于文献[9]所代表线段的上方。本文方法生成的层次决策树与文献[10]生成的一样, 采用的改进措施使本文的方法在各类别处的识别率都高于或等于文献[10]方法的识别率。

综上所述, 本文算法的分类精度有了很大的提高, 在四种算法中是最优的, 虽然耗费了点分类时间, 对于手写体数字识别, 稍微耗费一些分类时间为代价来换取高精度还是合理可行的。

5 结语

本文基于向量投影的思想、不平衡数据的训练以及KNN算法的思想提出了一种SVM决策树多类分类方法, 并将该方法应用到手写体数字识别中, 向量投影的方法能更好地度量类样本间的分离性, 从而合理地构造决策树减少误差积累的影响, 同时对决策树节点处不平衡数据的训练和KNN算法的引入进一步减小了误差积累的影响, 提高了分类的精度, 仿真实验表明, 该方法在手写体数字识别中获得了满意的识别效果。下一步的工作是提高决策树方法的识别效率并合理选择参数。

摘要:针对现有支持向量机多类分类算法在分类精度上的不足, 提出一种改进的支持向量机决策树多类分类算法。为了最大限度地减少误差积累的影响, 该算法利用投影向量的思想作为衡量类分离性的标准, 由此构建非平衡决策树, 并且在决策树节点处对正负样本选取不同的惩罚因子来处理不平衡数据集的影响, 最后引入KNN算法与SVM共同识别数据集。通过在手写体数字识别数据集上的仿真实验, 分析比较各种方法, 表明该方法能有效提高分类精度。

改进的支持向量机 篇10

关键词:支持向量机,模糊支持向量机,隶属度函数

0 引 言

支持向量机(SVMs)[1]是Vapnik提出来的一种有监督的机器学习方法,它建立在统计学习的VC维理论和结构风险最小化原则基础之上,具有较强的学习、泛化能力,能较好地处理小样本情况下的学习问题;同时采用了核函数[13]思想,能把非线性问题转化为线性问题来解决。由于这些优点,支持向量机得到了广泛的应用。但SVM还存在着一些局限性,比如受训练样本中的噪声或野值点影响比较严重等。针对这一点,Lin[2]等学者在支持向量机中引入隶属度函数,构建了一种模糊支持向量机(FSVM)。模糊支持向量机根据训练样本在训练过程中所起的作用不同,对所有数据赋予隶属度值。它对噪声或野值点赋予很小的权值,从而达到消除噪声或野值点的目的。

在模糊支持向量机理论中,模糊隶属度函数的设计是最为关键的一个步骤,因为不同的隶属度函数设计方法对算法实现的难易程度以及最终的分类结果都有着重要的影响。这就要求设计的隶属度函数必须能够准确地反应出系统中样本的分布和存在的不确定性[9,10,11]。目前,构造隶属度函数的方法很多,但是还没有一个可以遵循的一般性准则。文献[2]中构造了一个以类中心为球心,以样本距类中心最大距离为半径的超球,将所有的样本包含在内。也就是将样本的隶属度值看作是样本与类中心距离的线性函数:距类中心越近,隶属度值越大;反之,则越小。文献[3]在文献[2]的基础上,考虑了样本之间的紧密程度,也就是样本点与其他样本点之间的关系,文献[4]在文献[1]的基础之上,用类内超平面代替类中心,设计了与距离成线性关系的隶属度函数。该方法减小了样本对数据集分布的依赖。以上隶属度的设计方法,在减小噪声、野值点作用的同时,也减小了支持向量机对分类超平面的作用。基于此,本文提出了一种新的隶属度函数设计方法,该方法基于类内超平面,对两个类内超平面之外、之间的点采用不同的处理方式。从而使得远离分类超平面且不可能成为支持向量的样本点、噪声以及野值点获得较小的隶属度值,而在分类面附近的有效样本获得较大的隶属度值。这样的设计方法更加符合支持向量机的分类特性[5]。

1 模糊支持向量机

模糊支持向量机就是在支持向量机的基础上,给每个训练样本赋予不同的隶属度值,从而提高算法抵抗噪声跟野值点的能力。采用模糊支持向量机进行分类时,首先对数据进行预处理,即选择一个适当的隶属度函数,对所有的样本模糊化,得到每个样本xi的隶属度值si,于是训练集就变成了模糊训练集T={(x1,y1,s1),(x2,y2,s2),…,(xl,yl,sl)},其中xiRn,yi∈{-1,1},0≤si≤1。则求解最优超平面的优化问题变为:

min12w2+ci=1lsiξi(1)s.t.yi(wxi+b)1-ξiξi0i=1,,l

其中,c为常数。

与标准支持向量机求解过程类似,首先构造拉格朗日函数:

L(w,b,ξ)=12w2+ci=1lsiξi-i=1lαi[yi(wxi+b)-1+ξi]-i=1lβiξi(2)

其中,αi,βi≥0为拉格朗日乘子。

变量wbξ在鞍点处满足如下条件:

Lw=w-i=1lαiyixi=0Lb=-i=1lαiyi=0Lξ=csi-αi-βi=0(3)

将上面三个条件代入到式(2)中,得到原问题式(1)的对偶问题

maxi=1lαi-12i=1lj=1lαiαjyiyj(xixj)(4)s.t.i=1lαiyi=00αicsii=1,2,,l

根据KKT条件可知,最优解还应当满足KT条件:

{αi[yi(wxi+b-1+ξi)]=0βiξi=(csi-αi)ξi=0

(5)

求得决策函数:

f(x)=sgn(wx+b)=sgn(i=1lαiyi(xix)+b)(6)

由模糊支持向量机的构造过程可知,如果αi=0,则ξi=0,那么对应的xi被正确分类;如果αi>0,那么对应的xi为支持向量。支持向量有两种类型:当0<αi<csi时,ξi=0,对应的支持向量xi是普通意义上的支持向量;当αi=csi时,ξi≠0,对应的支持向量xi是边界支持向量,边界支持向量是容易错分的向量。

从上面的公式可以看出,csi表示对易错分点的重视程度,即csi越大,对应的样本越被重视,xi被错分的概率就越小。由此可知,在模糊支持向量机的构造中,应尽可能让噪声或野值点的csi值小一点,则此类样本对支持向量机的训练所起的作用就大为减小了,结果就是大大降低了它们对分类面的影响。

2 一种新的隶属度函数的设计

SVM分类超平面主要是通过分类面附近的支持向量来决定,而模糊支持向量机是对样本离开分类超平面的距离(松弛因子)加权[6],故基于样本与类中心距离的传统隶属度函数设计,存在着不足之处,势必会降低远离球心但据分类面很近的样本点的作用。如图1(a)所示,分类面附近的样本点ABCD,由于其距所在类中心很远而被降低了其隶属度值。另外如图1(b)所示,样本点A1与A2,样本点B1与B2,对于将来分类面的贡献是相近的,但它们距类中心的距离完全不同,这样使得以往的设计方法会使它们有很大的区别[3]。

此外,传统的隶属度函数的设计,往往是距离类中心越远的样本点,其隶属度值越小,它们没有体现出加大对容易错分样本进行惩罚的策略,即边缘数据被赋予了较小的一个惩罚值。而且由支持向量机的特征可以知道,距离超平面较近的数据更有可能成为支持向量,相反,每类中心附近的样本不可能成为支持向量。根据SVMs 的基本思想[13],离分类超平面最近的点就是支持向量,离分类超平面次近的点对于支持向量的获取也是至关重要的。因而这些点应该赋予加大的隶属度值。

根据以上两点,本文设计出如图2所示的隶属度函数。

如图2所示,本文使用类内超平面代替类中心,用样本点到超平面距离的函数来进行隶属度函数的设计。记两类样本点的中心分别为x+、x-,则以w=x+-x-为法向量,分别过x+、x-的类内超平面为H1:wΤ(x-x+)=0;H2:wΤ(x-x-)=0则:

(1) 正负样本到各自类内超平面的距离分别为:

di+=|wΤ(xi-x+)|wdi-=|wΤ(xi-x-)|w(7)

其中x+=1n+i=1l+xi,x-=1n-i=1l-xi

(2) 两个类内超平面之间的点T′:

Τ+={x|(x--x+)(x-x+)0xΤ+}Τ-={x|(x+-x-)(x-x-)0xΤ-}Τ=Τ+Τ-(8)

(3) 两个超平面之间的距离为:

D=‖x+-x-‖ (9)

隶属度函数定义如下:

(1) 对于在两个类内超平面之外的点(如图2所示阴影部分),其隶属度定义为si+=si-=δ

(2) 对于位于类内超平面之间的点T′,其隶属度定义如下:

{si+=di+-min1jl+dj+max1jl+dj+-min1jl+dj+di+λDsi+=δdi+>λD{si-=di--min1jl+dj-max1jl-dj--min1jl-dj-di-λDsi-=δdi->λD(10)

其中δ为一个很小的正数,l+、l-分别为位于类内超平面之间的正负样本点的个数,λ是一个在[0,1]之间的数值,它的取值主要依据到类内超平面最远点的距离及类内超平面之间的距离关系决定。

对于非线性的情形,引入映射ϕ(x),则特征空间中,正、负类的中心分别为:ϕ(x+)=1n+i=1n+ϕ(xi),ϕ(x-)=1n-i=1n-ϕ(xi),则利用核技巧有:

(1)W˜=ϕ(x+)-ϕ(x-)(11)

(2)D2=ϕ(x+)-(x-)2=1n+2i=1n+j=1n+Κ(xi,xj)+1n-2i=1n-j=1n-Κ(xi,xj)-2n+×n-i=1n+j=1n-Κ(xi,xj)(12)

(3) 在类内超平面之间的点T′+、T′-分别满足条件:

valuek+=(ϕ(x-)-ϕ(x+))(ϕ(xk)-ϕ(x+))=1n-i=1n-Κ(xi,xk)+1n+2i=1n+j=1n+Κ(xi,xj)-1n+i=1n+Κ(xi,xk)-1n+×n-i=1n+j=1n-Κ(xi,xj)0

valuek-=(ϕ(x+)-ϕ(x-))(ϕ(xk)-ϕ(x-))=1n+i=1n+Κ(xi,xk)+1n-2i=1n-j=1n-Κ(xi,xj)-1n-i=1n-Κ(xi,xk)-1n+×n-i=1n+j=1n-Κ(xi,xj)0

(4) 正负样本到各自类内超平面的距离分别为:

dk+=|WΤ(xk-x+)|W=|valuek+|Ddk-=|WΤ(xk-x+)|W=|valuek-|D(13)

同样根据式(10)得到特征空间中的隶属度函数。

由上面对隶属度的定义可以看出:(1) 在类内超平面间隔之外的样本点以及类内超平面附近的样本点,其隶属度值都很小,从而体现了每类中心附近的样本不可能成为支持向量这一特征;(2) 通过λ的设定,使得支持向量与噪声点得以区分开来,使得有效样本的隶属度值较大,而噪声、野值点的隶属度值很小,如图2中的A1、A2、B1、B2点。从而加大了对易错分样本的惩罚。

3 实验结果与分析

为了检测新隶属度的模糊支持向量机的有效性,本文分别采用SVM算法、文献[2]中传统的模糊支持向量机算法(SFSVM)、文献[4]中基于类内超平面的模糊支持向量机算法(HSVM)以及本文的算法,在人工数据集及机器学习库的UCI标准数据集上进行测试。

3.1 人工数据集

本实验先采用了400个随机产生的两类二维样本,其中正、负样本点的个数均为200个,并在正、负样本中随机地加入了2.5%的噪声作为训练样本。采用200个测试样本,同样,测试样本中也随机地加入了2%的噪声数据。四种支持向量机的参数选择一样(C=100)。则各种算法的分类结果如图3-图6所示,图中‘+’、‘*’分别代表不同类别的样本点,红圈圈出来的点表示支持向量;分类的正确率、支持向量的个数由表1给出。

由图3及表1可以看出,传统SVM所获得的支持向量的个数最多,其中包含了噪声数据,影响了分类的精度,SFSVM虽然与SVM的正确率相同,但是支持向量的个数却大大减少。本文提出的新隶属度支持向量机有效地识别了噪声数据,对分类面的构造几乎不起作用,从而分类精度得到提高,支持向量的个数精简到3个。此外,该方法得到的分类间隔也是最大的,从而提高了泛化能力。

3.2 UCI标准数据集

选取UCI标准数据breast cancer wisconsin(WDBC),Pim a Indians Diabetes(PD),bupa,cancer4个数据集进行实验(表2),它们都是两分类问题。其中核函数为RBF核函数。则当参数Cσ取不同的值时,各数据集的实验结果见表3-表6。

由表3-表6可以看出,本文提出的改进的模糊隶属度设计方法相对于其他三种支持向量机,在分类精度上有了一定的提高。这是因为该方法对不可能成为支持向量的样本、远离类内超平面且在错分面的样本赋予了较小的隶属度值,从而降低了它们对最优分类面的作用,提高了分类的精度。而且在选择不同参数的情况下,分类结果相对来说比较稳定。

4 结 语

本文提出了一种基于样本点到类内超平面距离的隶属度函数设计方法。该方法不仅克服了传统模糊支持向量机对数据集球型分布的依赖,而且通过对分类面附近的有效点赋予较大的隶属度值、野值点赋予很小的值来实现了对噪声跟支持向量的区分。从实验结果可以看出,本文提出的改进方法,在分类精度上得到了一定的提高,从而证实了算法的有效性。实验数据WDBC、PD以及CANCER都是来自UCI标准数据集中的都是生物学数据,从而应该可以将该方法用到实际生活中的生物数据中,有待进一步研究实验。

改进的支持向量机 篇11

摘要:国民经济的现代化建设离不开水利现代化的保障,而水利信息化是水利现代化的基本标志和重要内容。针对洪涝灾害这一问题,本文提出了用于泄洪的基于结构化支持向量机(Structured Support Vector Machine)的联动技术。通过历史的洪涝信息训练学习模型,并根据观测到的水文信息对洪涝灾害进行预测,生成各水泵的工作策略向量。并根据该向量通过远程监控系统进行水泵的控制与调度,尽可能预防洪涝灾害。

关键词:水泵;远程控制;物联网

中图分类号:TP391.41

文献标识码:A

DOI:10.3969/j.issn.1003-6970.2015.09.017

0 引言

由于我国的地理位置情况,我国的气候受季风影响较大,降水量的地区、时间分布不均匀,从而导致河流的流量和水位变化较大。以我国秦岭淮河以北、黄河流域下游地区为例,每年七八月份,由于亚热带季风影响,降雨量骤升,河流水量剧增,水位快速上升,从而会引发洪涝灾害,从而导致大量的生命、财产损失。产生洪涝的原因除了降雨之外,还有一些其他的气象和水文因素,例如:温度、湿度、降水间隔、水流流速、风速、风向等。而随着气象技术、传感器技术的发展与成熟,人类已经可以获取到持续的气象和水文数据;同时,随着大数据时代的到来,大数据处理和分析技术的成熟,对长期的气象、水文数据进行数据分析和挖掘已经成为了可能,从历史的信息中挖取和洪涝灾害有关的信息,从而进行防洪预警已经成为了当前的研究热点。

气象与水文是洪涝灾害的客观原因,同时,洪涝灾害往往也由一些人为原因造成,比如排水能力差,排水不及时,防洪工程响应不及时,质量不过关等因素。针对质量不过关等问题,政府需要加强对水利T程质量的监管力度。而针对响应不及时等问题,即可通过数据分析、预测方法配合防洪设备的远程控制等技术来解决。以泵站为例,可用本论文设计的泵站远程监控系统来实现水泵的远程启动与调整,调整排水量,从而减轻洪涝灾害的影响。

针对洪涝灾害这一问题,本文提出了基于结构化支持向量机(Structured Support Vector Machine)的泄洪联动技术研究。通过历史的洪涝信息训练学习模型,并根据观测到的水文信息对洪涝灾害进行预测,生成各水泵的工作策略向量。并根据该向量通过远程监控系统进行水泵的控制与调度,尽可能预防洪涝灾害。

1 基于结构化支持向量机的泄洪联动设计

防洪泄洪作为水利水文监控系统的重要功能需求之一,如何准确地进行洪涝信息的预测预警,实现其智慧化是目前国内外的研究热点。目前较为经典应用较广的洪水预测调度模型主要包括流域水文模型(如新安江模型)、河道演算水文学和水力学模型(如Muskingum Method、动力波演进模型)和据流域特制模型(如陕北模型、河北雨模型)。在“新安江模型”中检测站实时监测流域温度、相对湿度、河流径流量等;然后对所采集监测数据进行数据挖掘处理,通过各种拟合方法确定该地区植被覆盖面积、土壤渗透系数、饱和蓄水量等相关水文参数的置信区间;最后在已确立的模型基础上对水文数据(如降水量、水位等)进行演算,修正模型参数。目前来说,国外的河流代表模型有TOPMODEL模型(Topography BasedHydrological Model)和SWAT模型(Soiland WaterAssessment Tool)等。

结构化支持向量机(Structured Support VectorMachine)是一种机器学习算法,它泛化了机器学习中支持向量机(Support Vector Machine)的分类器(classifier),从而使得其可以预测复杂的结构。结构化支持向量机可以用于预测树状结构(Tree),有序表结构(Sequence),当然也可以用于预测向量(Vector)。在实际的水文信息分析中,往往需要考虑到众多的影响因素,比如上文提到的降雨量、降雨间隔、水位、湿度、温度等,这些影响因素也被成为分析问题的指标。

而对于气象和水文信息而言,这些指标往往存在以下两大特征:

指标规模庞大:

对于水文数据而言,由于每时每刻的气象和水文情况都在改变,即每时每刻都有新数据产生,数据规模庞大。而且对于气象和水文信息而言,一段较长时间内的数据才对分析工作有着重要作用,往往需要分析一年,十年甚至一世纪的数据才能得到有效分析结果,因此,对于指标而言,数据规模庞大是一个明显的特征。

指标之间存在重叠:

水文数据指标间往往不是独立的,而是存在重叠的,比如降雨指标会影响水位指标,也会影响湿度指标。这些重叠的指标一方面会导致分析问题变难,分析工作变重,也会导致大量的计算浪费。

针对以上问题,本文首先采用主成分分析法来降低数据的维度,即只选取关键的指标,从而减少重叠指标造成的影响,也可以显著的减少计算量,再引入结构化支持向量机进行联动处理。本方法旨在利用降维的思想,把多指标转化为少数几个综合指标。其步骤如下:

2 基于结构化支持向量机的泄洪联动技术实现

本文设计的泄洪联动技术主要涉及到以下两部分工作:1)通过主成分分析法对数据进行降维,从而减少计算量和由数据重叠问题造成的结果不准确;2)通过结构化支持向量机根据历史的气象、水文信息对水泵策略进行预测。而这两部分则均为数据分析任务,计算量较大,计算速度较慢,因此本文将以上两个算法作为离线程序,每天定时运行,生成相应的结果,便于管理员进行决策。数据的输入系统包括:

(1)泵站采集数据处理系统

泵站采集数据处理系统对泵站数据进行远程监测,功能主要包括:统计和记录主要电气设备的动作(将系统采集到的泵机运行状态等数据进行分类处理并保存);事故及异常统计记录;参数越限统计(对参数越限等异常进行必要的统计,同时在必要时进行警示,并可根据需求生成报表);运行日志及报表打印。

(2)远程自动化控制系统

可通过本系统所设计开发出的主体水利信息化管理软件来对泵机进行启停控制。系统根据实时运行状态,按照预设控制参数和模型实现对泵站机组的自动控制。站点泵机的控制可通过切换开关转换到“手动操作”或者“远程控制”。

当控制方式被切换到远程控制方式时,除了站点值守人员操作站点上位机实现对机组的控制外,中控室和有权限人员也可以直接实现对站点设备的相应控制,从而实现泵站的少人甚至无人操作,大大减轻人员工作量。

在现场安装的传感终端远程监测模块,完成对站内机组、电气设备及周边设施环境的实时监控,同时提供和管理上位机的远程通讯接口。通过485串行总线等通信方式,站点管理人员可以实时监测该站点动态数据和了解各操作中的主要工作过程。

站点监测的对象主要包括:机组电压、电流;机组温度;水位等。

站点上位机对监测的数据可以以数字和图形两种形式进行实时显示,它通过各种动态的图文来表示整个泵站各种设备的实时状态,给人以生动、直观的操作效果。

(3)泵站远程监控软件系统

泵站远程监控软件系统是为了实现抗旱与排涝泵站组成的泵站集群的信息化、智能化的开发、管理,因此是整个系统的核心组成部分之一。通过该软件系统可以实时显示各个分站的运行情况,如泵机电压电流、泵机温度、进水口水位、排灌量等重要信息。远程控制机组的启、停转换;且能对系统故障进行白诊断,能有效地保护机组的安全运行,进而帮助运行人员发现事故隐患等。

基于主成分分析法的水文信息降维法关键算法实现:

1.标准化矩阵:

function std=cwstd(vector)

cwsum=sum(vector.1);%对列求和

[a,b]=size(vector);%矩阵大小,a为行数,b为列数

for i=l:a

for j=l:b

std(i,j)=vector(i,j)/cwsum(j);

end

end

2.计算主成分:

Function result=cwfac(vector);

std=CORRCOEF(vector)%计算相关系数矩阵

[vec,val]=eig(std)%求特征值(val)及特征向量(vec)

newval=diag(val);

[y,i]=sort(newval);%对特征根进行排序,y为排序结果,I为索引

For z=1:1engm(y)

newy(z)=y(1ength(y)+l-z);

end

rate=y/sum(y);

newrate=newy/sum(newy)

sumrate=0:

newi=[];

for k=length(y):-l:l

sumrate=sumrate+rate(k);

newi(length(y)+l-k)=k;

if sumrate>0.85 break;

end%记下累积贡献率大85%的特征值的序号放入newi中

end

基于结构化支持向量机的泵站策略预测关键算法实现如下:

pann.pattemS=pattems;

pann.1abels=labels;

pann.10ssFn=@lossCB;

parm.constraintFn=@constraintCB;

pann.featureFn=@featureCB;

parm.endIterationFn=@iterCB;

parm.dimension=10;%经过主成分分析法后的数据维度为10

pann.verbose=l;

1nodel=svm_stmct_1eam('-c 10-o 2-v l-e 0.00l',pann);

3 结论

能源需求的支持向量机预测 篇12

能源与人民生活、工业生产以及我国经济的发展息息相关。能源消费总量指一定时期内全国物质生产部门、非物质生产部门和生活消费的各种能源的总和, 包括原煤和原油及其制品、天然气、电力, 不包括低热值燃料、生物质能和太阳能等的利用。尤其是近期以来, 许多省份出现了能源供给危机, 能源供给安全问题又一次提上了人们的议事日程。因此, 建立能源需求量模型, 对未来数年的能源需求作出预测, 并分析能源需求的特点, 对制定合理的经济发展战略和能源安全战略等有着重要的借鉴意义。影响能源实际消费量的因素有很多, 而且有些因素也难以量化, 许多影响的因素不可预知, 用常规方法很难估算来年的能源需求。文献[1]采用灰色理论对能源需求进行了预测, 文献[2]用组合模型对能源需求进行了预测。本文分别采用灰色预测、神经网络预测和支持向量机预测, 对三种方法进行了精度比较。

1 灰色预测

将序列建成具有微分、差分、近似指数律兼容的模型, 称为灰色建模[3]。1阶1个变量的GM模型记为GM (1, 1) , 若有序列x (0) :

x (0) = (x (0) (1) , x (0) (2) , …, x (0) (n) ) ,

x (0) 进行累计和:x (1) =AGOx (0) , 则方程

dx (1) dt+ax (1) =b (1)

如果令a^为参数向量, 即a^= (a, b) Τ, 则在最小二乘准则下, 有a^= (BΤB) -1BΤyΝ, GM (1, 1) 的下述形式

{x^ (1) (k+1) = (x (0) (1) -ba) e-ak+bax^ (0) (k+1) =x^ (1) (k+1) -x^ (1) (k) (2)

称为GM (1, 1) 时间响应式, 上标^表示计算值。某中小城市的1999 ~ 2006年能源需求和灰色预测数据见表1。

2 神经网络预测

人工神经网络 (NN) [4]是一类模拟生物神经系统结构, 由大量处理单元组成的非线性自适应动态系统。神经网络是通过把问题表达成单元间的权来解决问题的。这里采用三层前向神经网 (BP) , 神经网络输入神经元有1个, 隐层有3个神经元, 1个输出神经元。时间作为神经网络的输入向量, 需要预测的量为输出 (变换到[0, 1]区间内) , 然后用前10年的数据训练这个网络, 使不同的输入得到不同的输出。学习过程由正向传播和反向传播组成。正向传播过程中, 输入信号从输入经隐层单元逐层处理, 并传向输出层, 每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出, 则转入反向传播, 将输出信号的误差沿原来的连接通路返回, 通过修改各层神经元的权值, 使得误差最小。B-P及其改进算法较多, 这里不再详述。由B-P算法就可得到训练好的权值和阈值, 调用这些权值和阈值, 通过正向传播, 输出值就是预测值。经过训练好的网络所持有的权系数和阈值, 便是预测值与时间的内部表示。转移函数选的是S型函数, 动量因子为0.2, 学习率为0.5, 允许误差为0.01。1999 ~ 2006年能源需求的预测数据见表1。

3 支持向量机预测模型

支持向量机具有完备的统计学习理论基础和出色的学习性能, 是一类新型机器学习方法, 已成为机器学习界的研究热点, 并在如人脸检测、手写体数字识别、文本自动分类、多维函数预测等领域都取得了成功应用。支持向量机 (SVM) 解决回归问题的基本原理如下[5]:

设训练样本集D={ (xi, yi) |i=1, 2, , l}, xiRn, yiR

首先介绍线性回归问题, 线性回归方程为:

f (x) =<w, x>+b (3)

常用的损失函数有ε-insensitive损失函数、Quadratic损失函数、Huber损失函数和Laplace损失函数等。这里采用ε-insensitive损失函数, 其形式如下:

Lε (y) ={0|f (x) -y|<ε|f (x) -y|-ε (4)

支持向量机解决回归问题, 可转化为求解下列数学规划问题:

minw, b, ξi, ξi*Φ=12|w|2+Ci=1l (ξi+ξi*) s.t. ( (wxi) +b) -yiε+ξii=1, 2, lyi- ( (wxi) +b) ε+ξi*i=1, 2, lξi, ξi*0, i=1, 2, l (5)

其对偶问题为:

maxα, α*W=-12i=1lj=1l (αi-αi*) (αj-αj*) [xi, xj]+i=1l[αi (yi-ε) -αi* (yi+ε) ]s.t.i=1l (αi-αi*) =00αi, αi*C, i=1, 2, l (6)

解规划 (6) 式, 得到拉格朗日乘子αiα*i, 则回归方程 (3) 式中的系数为:

w=i=1l (αi-αi*) xi (7)

对于非线性回归, 回归方程为:

f (x) =i=1l (αi-αi*) Κ (xi, x) +b (8)

求解下列规划问题:

maxα, α*W=-12i=1lj=1l (αi-αi*) (αj-αj*) Κ (xi, xj) +i=1l[αi (yi-ε) -αi* (yi+ε) ]s.t.i=1l (αi-αi*) =00αi, αi*C, i=1, 2, l (9)

(9) 式中K (xi, x) 为核函数, 核函数可以有不同的形式, 如多项式核、高斯径向基核、指数径向基核、多层感知核、样条核等。这里把时间序列作为输入, 实际值作为输出。核函数K (xi, x) 采用高斯径向基核函数:

Κ (xi, x) =exp (-|xi-x|2σ2) (10)

参数设置如下:C=1 000, ε=0.1, σ=18, 采用支持向量机Matlab工具箱 (SVM工具箱网址:http://www.isis.ecs.soton.ac.uk/isystems/kernel/) 。1999 ~ 2006年能源需求的预测数据见表1。表2显示了各种方法的误差的平方和、平均相对误差和最大相对误差, 从表2可以看出, 支持向量机预测方法精度较高, 效果较差的是神经网络方法。灰色预测实质上是指数预测, 原数据具有指数递增特性时。采用灰色预测效果比较好, 反之, 效果并不如意;神经网络预测方法具有收敛速度慢和容易陷入局部极值等缺点;而支持向量机预测方法具有速度快, 精度高等优点, 效果比较好。

4 结束语

依照过去8年的主要统计数据, 能源需求呈增长趋势。对能源需求做出较为准确的预测, 希望能对相关部门和人员把握市场或进行决策有所裨益。支持向量机的训练问题本质上是一个经典的二次规划问题, 它可避免局部最优解, 并且有唯一的全局最优解。在核函数的选择上, 本文采用高斯径向基核函数, 其收敛速度快, 具有全局收敛等特性;比传统的预测方法及神经网络方法有更高的计算精度, 是一种很有价值的新方法。

摘要:对灰色、神经网络和支持向量机的三个预测模型进行了研究, 以某城市的1999—2006年能源需求为例, 对能源需求进行了预测。经过比较, 支持向量机的预测方法精度较高。

关键词:灰色系统,神经网络,支持向量机,能源

参考文献

[1]王兴艳, 佘元冠, 邵剑华.“十一五”我国能源需求预测.技术经济与管理研究, 2006; (5) :29—30

[2]卢二坡.组合模型在我国能源需求预测中的应用.数理统计与管理, 2006;25 (5) :505—511

[3]邓聚龙.多维灰色规划.武汉:华中理工大学出版社, 1990:30—35

[4]张立明.人工神经网络的模型及其应用.上海:复旦大学出版, 1994:32—47

上一篇:成人高等教育健康发展下一篇:媒体协商