支持向量机算法(共12篇)
支持向量机算法 篇1
引言
支持向量机 (Support Vector Machines简称S V M) 追求的是在有限样本情况下的最优解而不仅仅是样本数趋于无穷时的最优解, 它具有很好的推广性能, 对未知样本的预测有较高的准确率, 因此得到广泛应用, 目前SVM已成为国际上机器学习领域的研究热点。
1 分块算法
“块算法”基于的是这样的事实, 即去掉Lagrange乘子等于零的训练样本不会影响原问题的解。对于给定的训练样本集, 如果其中的支持向量是已知的, 寻优算法就可以排除非支持向量, 只需要对支持向量计算权值 (即Lagrange乘子) 即可。实际上支持向量是未知的, 因此“块算法”的目标就是通过某种迭代方式逐步排除非支持向量。具体的作法是, 选择一部分样本构成工作样本集进行训练, 剔除其中的非支持向量。并用训练结果对剩余样本进行检验, 将不符合训练结果 (一般是指违反KKT条件) 的样本 (或其中的一部分) 与本次结果的支持向量合并成为一个新的工作样本集, 然后重新训练。如此重复下去直到获得最优结果, 其收敛性在文献中得到了证明, 同时在文献中也对分解算法的收敛性进行了研究。这种方法当支持向量的数目远远小于训练样本数目时, “块算法”显然能够大大提高运算速度。
2 子集选择算法
把问题分解成为固定样本数的子问题:工作样本集的大小固定在算法速度可以容忍的限度内, 迭代过程中只是将剩余样本中部分情况最糟的样本与工作样本集中的样本进行等量交换, 即使支持向量的个数超过工作样本集的大小, 也不改变工作集的规模, 而只对支持向量中的一部分进行优化。
这个思想最早由Osuna等人提出来的。在Osuna算法中, 首先建立一个工作集, 保持其大小不变, 在解决每个二次规划子问题时, 先从工作集中移走一个样本, 并加入一个不满足KKT条件的样本, 再进行优化。固定工作样本集的方法和块算法的主要区别在于:块算法的目标中仅包含当前工作样本集中的样本, 而固定工作样本集方法虽然优化变量仅包含工作样本, 其目标函数却包含整个训练样本集, 即工作样本集之外的样本的Lagrange乘子固定为前一次迭代的结果, 而不是像块算法那样设为0。而且固定工作样本集方法还涉及到一个确定换出样本的问题 (因为换出的样本可能是支持向量) 。这样, 这一类算法的关键就在于找到一种合适的迭代策略使得算法最终能收敛并且较快地收敛到最优结果。
3 序列最小优化算法
Platt在中提出SMO (Sequential Minimal Optimization或SMO) 算法。将工作样本集的规模减到最小 (两个样本) 。之所以需要两个样本是因为等式线性约束的存在使得同时至少有两个Lagrange乘子发生变化。由于只有两个变量, 而且应用等式约束可以将其中一个用另一个表示出来, 所以迭代过程中每一步的子问题的最优解可以直接用解析的方法求出来。这样, 算法避开了复杂的数值求解优化问题的过程, 此外, Platt还设计了一个两层嵌套循环分别选择进入工作样本集的样本, 这种启发式策略大大加快了算法的收敛速度。
对Platt的SMO算法, Keerthi等通过对S V M算法的分析在文献中提出了重大改进, 即在判别最优条件时用两个阈值代替一个阈值, 从而使算法更合理, 更快。其收敛证明在文献中。并通过实际数据的对比, 证明确实比传统SMO快。同时也指出S M O算法应用于回归等类似的问题。Ronan将考虑了上述改进的SMO算法应用于分类和回归问题, 实现了比SVMlight更强的软件包。Pavlov提出了速度快于SMO方法的Boost-SMO方法。为了弥补SMO在求解线性支持向量机当中的不足, K a iMin Chung提出了线性支持向量机的分解算法。
4 增量式算法
文献提出一种增量式学习方法, 其将增量集合作为测试集合, 将所有违反K K T条件的样本与原先的支持向量集合作为新的训练集合, 而将所有正确分类的样本抛弃, 然而对于新的分类器的偏转和移动, 这些样本也有可能成为违反K K T条件的样本, 所以如果将这些样本抛弃, 有可能会丢失有用信息, 影响分类器的精度。
文献[1]提出一种在线训练支持向量机的方法, 其从实验结果证明了其学习速度快于S M O方法, 但其是从两个样本开始, 新的样本是一个一个地增加的, 每检测到一个违反KKT条件的样本, 都要进行一系列的循环训练, 直到全部被正确分类为止, 这样当支持向量的数量较少时, 求解二次规划的规模较小, 速度可以较快, 但当支持向量数量较多时, 每新增一个违反K K T条件的样本都求解一次大规模二次规划问题, 支持向量机的训练速度会大大降低, 这时其在线学习的时间会明显增加, 其效率明显降低。
5 SVM多类分类方法方面的研究
支持向量机最初是为两类分类问题而设计的, 如何有效地将其应用到多类分类问题, 是当前支持向量机研究的一个重要方面。目前, 构造S V M多值分类器的方法主要有两类, 一类是同时考虑多类的分类方法:V.Vapnik[2], Weston[3]在1999所提出的多值分类算法, 与前面方法对等的还有文献中所提出的方法。C r a m m e ra n d Singer在2000年提出的多类分类算法。
另一类算法的基本思想是通过组合多个二值子分类器实现对多类分类器的构造。
1-a-r (1-against-rest) 方法, 对于N类问题, 构造N个分类器, 第i个SVM用第i类中的训练样本作为正的训练样本, 而将其它的样本作为负的训练样本。最后的输出是两类分类器输出最大的那一类, 其缺点是它的泛化误差无界。
1-a-1 (1-against-1) 方法, 该算法在N类训练样本中构造所有可能的两类分类器, 每类仅仅在N类中的2类训练样本上训练, 结果共构造K=N (N-1) /2个分类器。
Platt等提出了一个新的学习架构:决策导向的循环图 (Decision Directed Acyclic Graph, DDAG) , 将多个两类分类器组合成多类分类器。对于N类问题, DDAG含有N (N-1) /2个分类器, 每个分类器对应两类, 其优点是泛化误差只取决于类数N, 和节点上的类间间隙 (Margin) , 而与输入空间的维数无关, 根据D D A G提出算法D A G S V M, D D A G的每个节点和一个1-a-1分类器相关, 其速度显著比标准算法 (1-a-r) 或最大值算法 (Max Wins) 快。
摘要:支持向量机是在统计学习理论的VC维理论和结构风险最小化原则的基础上提出的一种新的模式识别技术, 本文对于当前常用支持向量机的几种算法进行了总结和分析, 对于今后提出更精确的方法做了充分的准备。
关键词:支持向量机,机器学习,模式识别
参考文献
[1]Lau K W, Wu Q H.Online Train-ing of Support Vector Classifier[J].Pat-tern Recognition, 2003, 36:1913~1920.
[2]Vapnik V.Statistical LearningTheory[M].New York:Wiley, 1998.
[3]Weston J and Watkins C.Multiclasssupport vector machines[M].Proc.ESANN99, Brussels, Belgium, 1999.
支持向量机算法 篇2
一种改进的支持向量机模式分类方法
支持向量机(Support Vector Machine,SVM)是在统计学习理论基础上发展起来的一种新的机器学习方法,已成为目前研究的热点,并在模式识别领域有了广泛的应用.首先分析了支持向量机原理,随后引入一种改进的径向基核函数,在此基础上,提出了一种改进核函数的SVM模式分类方法.与基于IRIS数据,进行了计算机仿真实验,与基干模糊k-近邻的.模式分类仿真结果比较,结果表明改进的SVM方法分类性能比模糊k-近邻算法(Fuzzy k-Nearest Neighbor,FKNN)的分类性能更好,运算时间更短,更易于实时实现.
作 者:姜斌 和湘 孙月光 黎湘 JIANG Bin HE Xiang SUN Yue-guang LI Xiang 作者单位:姜斌,黎湘,JIANG Bin,LI Xiang(国防科技大学四院空间信息技术研究所,长沙,410073)和湘,孙月光,HE Xiang,SUN Yue-guang(通信指挥学院,武汉,430010)
刊 名:电光与控制 ISTIC PKU英文刊名:ELECTRONICS OPTICS & CONTROL 年,卷(期): 14(4) 分类号:V271.4 TN95 关键词:支持向量机 径向基核函数 模糊k-近邻 模式分类 模式识别 统计学习理论支持向量机算法 篇3
关键词:向量机;回归算法;气象预测
1.引言
全球气候变化异常,对于洪涝旱灾等自然灾害的预测带来极大困难。我国是农业大国,自然灾害成为威胁人类生命安全的极大隐患。气象预测技术可以减少洪澇灾害带来的损失,同时对于维护社会经济稳定发展,水资源优化调度等具有重要的意义。
目前,由于随着对气象统计预测技术的发展,气象的统计研究方法不断出现。随着研究的深入,神经网络等算法进行气象预测建模过程中,出现初始值、参数难以确定的等现象。支持向量机(SVM)算法在国内目前处于起步阶段,2004年,陈永义首次将支持向量机法运用于对气象统计方法中,取得了较好的预报能力。李智才采用支持向量机解决了空气样本中非线性关系问题,并在短期气象中得到很好运用。
4.结论
本文采用支持向量机算法对于气象预测中非线性问题和非线性回归问题,体现出良好的预测能力。但是通过对不同气象站的数据分析发现,对于降水预报,由于时效性和局域性要求比较高,由于本人气象知识的局限性,固参数选择样本因子不是最优,不同站点存在一定差误,有待于进一步研究和提高。(作者单位:宿州学院信息工程学院)
基金项目:安徽省大学生创新训练项目:基于支持向量机回归技术的气象预测算法研究,项目编号:201310379080
宿州学院一般科研项目:基于物联网技术农业多传感器的安全信任机制的应用研究,项目编号:2013yyb03
参考文献:
[1]冯汉中,陈义永.支持向量机回归方法在实时业务预报中的阴功[J].气象.2005,31(2):41-44.
[2]李智才,马文瑞,李素敏,张瑞兰,张红雨.支持向量机在短期气候预测中的应用[J].气象.2006,32(5).
[3]魏凤英.我国短期气候预测的物基础及其预测思路[J].应用气象学报.2011,22(1).
支持向量机算法 篇4
因此,本文在对现有几种SVM多类问题[3]的分类算法进行简单总结的基础上,提出了一种新的基于遗传算法[4]的SVM多类分类方法,并通过仿真和数据分析,得出新算法的结构特点及性能的优越性。
1 多类支持向量机
当前较为通用的方法是通过组合多个二值分类器来实现多类分类器的构造,而SVM扩展方法并不唯一,且目前没有一种方法在性能上明显优于其他方法。常见的构造方法[5,6]有:分解法、纠错输出编码支持向量机、基于决策树的支持向量机等。
1.1 分解法
(1)一对多算法[7]。该算法将一个n类分类问题转化为n个二分类问题。当类别数较大时,某一类的训练样本将远少于其他训练样本总和,这种样本不均衡将对测试精度产生明显的影响。
(2)一对一算法[8]。该算法将一个n类问题转化为个二分类问题。
该方法每个SVM只考虑两个样本,避免了样本数据不均衡问题。但当单个两类分类器不规范时,存在着不可分区域,分类器数目随类数增加而迅速增加,决策速度减慢。
1.2 纠错输出编码支持向量机
纠错编码被用于分类器输出的解码,能够解决多分类中的不可分区域问题[9]。如何根据问题确定码本、选择排练顺序及分类效果受错误码相关性影响大仍有待进一步探究,且对于类别较多的问题,处理效果不佳。
1.3 基于决策树的支持向量机
(1)有向无环图支持向量机。将多个二元分类器组合成多元分类器。对于一个n元的分类问题,经过n-1次排除可得到样本所属的类别。DDAG的结构具有冗余性,但分类结果对节点排序依赖性很大,不同的排列顺序与根节点选取会使分类结果产生不确定性。
(2)二叉树支持向量机。在每个节点上进行聚类,首先将所有类别分成两个子类,再将子类划分成两个次级子类,如此循环得到一个倒立的二叉分类树[10]。然而,若在某节点上发生分类错误,则会将分类错误延续到该节点的后续节点上。因而,分类错误在越靠近根节点的地方发生,分类性能就越差。
2 支持向量机分类算法的设计
遗传算法[11]是一类借鉴生物界的进化规律演化而来的随机化搜索方法。其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,无需确定的规则。
基于遗传算法以上特点,因而将其引入到支持向量机多类问题的分类当中。其分类过程如图1所示,依照遗传算法的流程,可分为以下几个步骤:
(1)个体编码。遗传算法的运算对象是表示个体的符号串,本题中采用的表示形式为无符号的位操作,每位都代表一个类别,低位表示基数小的类。例如:x=10110011,则表明选择了1、2、5、6、8这些类。同理,其它类数的情况也按照上述规则进行相应编码。
(2)初始群体的产生。遗传算法是对群体进行进化操作,需要准备搜索点的初始群体的数据。以8类数据样本为例,群体规模取为2,则取为互补的两种分类,即x1(11110000)和x2(00001111),必须确保每种数据类都被包含在分类的并集中。若总类别数为奇数类,则生成规则如图2所示。
两个个体交集不为空集,可根据实际需要选取交集所包含的类。图4选取的交集为第4类。因支持向量机分类必有结果,若省略其中一类,则该类失去判定过程,直接导致该类失效,因而将每一类都包含是有必要的,且需要兼顾避免数据出现不均衡的问题,这均是产生初始群体所需考虑的重要规则。
(3)适应度计算。适应度计算是用于评价个体优劣程度与遗传概率的一个过程。对于适应度函数,不需要满足连续可微等条件,要求是对于输入能够计算出能加以比较的非负的结果。
本文采用的适应度函数为所有类的编码值的和,若个体为y8,y7,…,y1,则适应度函数为(i为总的样本类数);其中最优准则为适应度A(x)能取到最小值1,此时余下的类为样本数据所归属的类。
(4)选择运算。本文为确保分类准确度,不采取概率传递的形式进行复制遗传,而是通过支持向量机的二分类判定,对于判定结果继续进行适应度计算,若A(x)值不为1,继续对其编码并进行下一步操作。
(5)交叉运算。本文选取的交叉概率为1,初始群体经过支持向量机二分类,会剔除一个个体,假设样本所属的个体为11110000,此时与00000000进行交叉,可生组样本,即可得到11000000、00110000,10010000、01100000,10100000、01010000这3组子类群体。确保类数的相等以保证样本数据能够平衡,在此基础上对以上几组数据进行等概率遗传。
对于总类别数为奇数类的个体,采用与初始群体分类一样的规则。例:当个体为1110000时,与0000000交叉后产生的两类子类个体,选取一组:1100000、01100000。
(6)变异运算。对于11000000与00110000并集11110000之外的低四位所属的类进行变异,变异概率采取自适应[12]的方式,算法运行前期由于类数收敛较快,采取较高的变异概率规避错分的风险,算法后期则采取较低的变异概率以达到算法最终的收敛。可利用函数模型或模糊控制的模糊规则建立变异概率的数学模型。
变异操作用以减少其他支持向量机分类方法中容易出现的错分情况,对分类结果能够进行多次验证,提高了算法的冗余性和判别准确率。
3 实验与结果分析
对SVM多类问题分类方法不仅与样本数据本身有关,还与SVM中核函数形式以及其他参数的选取有关,本文数据选取UCI数据库中不同类别数、样本数及特征向量数的不同样本,使实验数据更加有代表性。并统一选取相同的SMO训练方法,选取RBF径向基核函数进行训练。
(1)首先以D组数据为例,分析算法的运算过程。针对D组数据,采用无符号编码,选用的交叉概率为1,即交叉是必然发生的,对变异概率则依表2所示,采用简单的对应规则。
针对其他多类情况,也可根据具体情况设计隶属度函数对变异概率进行模糊分类。将D组数据进行3次重复调用到新算法中运行,可得到3组算法运行次数与适应度的值。图4相对应的变异情况与表3相对应,相同数据3次运行步数不相同,但最终均在A(x)=1时算法结束。
表3中,1表示变异;0表示未发生变异;“-”表示算法运行结束。
由图4和表3可得:1)对相同样本数据进行分类,分类次数受变异次数的影响而不同,进而使算法运行次数、运行时间有所差异;2)分类结果相同,均将收敛到适应度为1,但其分类的过程不同;3)第3次曲线在适应度值为2时陷入局部极小值,因此在算法分类后期,即剩余类别数较少时,降低变异的概率是非常有必要的。
(2)对A、B、C、D这4组测试数据进行测试。为保证实验结果的可靠性,对每组测试进行重复性测试,本文对每组测试均进行了6次重复测试,采集实验结果并取其均值,测试集所得测试时间长短即可反映出算法测试速度的快慢。
表4中数据为A/B格式,其中A表示判定分类时长,B表示用百分制统计的算法的准确度。“-”表示判定类别时间过短,给予忽略。
根据实验结果,对数据进行分析可得:1)OVR测试速度较慢,OVO在类别多的情况下测试速度也较慢;2)DAG算法测试速度最快,且准确率也相对较高;3)基于遗传算法的向量机兼顾了速度与准确率。分类速度快,且准确率高,因而在类别数多、对准确率要求高的场合中具有一定的优越性。
综上所述,基于遗传算法支持向量机充分利用了遗传算法结构的优点,将其运用到分类当中,且分类具有较好的精度及速度等优势。
4 结束语
针对支持向量机多类一些分类算法在分类过程中存在的数据不均衡及对分类结构依赖重且缺乏纠错的能力,对这些原因进行分析,考虑到支持向量机二分类的特点,本文结合遗传算法的一些特性,并将其交叉、变异的结构特性,合理地运用到支持向量机多类问题的分类当中,避免了分类过程对算法结构的依赖性。
根据实验仿真证明,基于遗传算法的支持向量机分类算法结构具为灵活的特点,在保证运行速度的同时,确实能使分类准确度更高,分类结果更为可靠。
摘要:针对现有部分支持向量机在多类分类过程中存在的数据不均衡性、对算法结构依赖性强的问题,提出一种新的基于遗传算法的支持向量机多类分类算法。以遗传算法中的交叉作为支持向量机中类的选择,以变异改善分类过程中的纠错能力,以适应度函数作为最优分类结果的确定。在不同特性的样本集上进行仿真测试,结果证明,该算法在类数较多的情况下,有更好的数据均衡性,在分类速度及准确度上均有一定的优越性。
支持向量机算法 篇5
研究生考查课作业
Forecasting PVT properties of crude oil systems based on support vector machines modeling scheme 基于支持向量机建模方案预测原油系统
PVT参数
课程名称:
电信学部专业英语
导师: 赵珺
研究生姓名:
李德祥
学号: 20909173
作业成绩:
任课教师(签名)
交作业日时间:2010 年12月17日
基于支持向量机建模方案预测原油系统PVT参数
摘要:PVT参数在油储工程计算中发挥着重要的作用。目前有许多种方法用来预测各种PVT参数,例如经验公式法,计算机智能法。神经网络的成就为数据挖掘建模技术打开了一扇们,同时它在石油工业中起到了重要的作用。然而不幸的是,由于仓储流体的一些特性,现有神经网络方法在其上的应用存在许多缺点和限制。本文提出了一种新的智能模型——支持向量机用来预测原油系统的PVT参数,该方法解决了现有神经网络预测的大部分缺点。文中简要介绍了预测步骤和建模算法,同时从神经网络,非线性回归以及经验公式法中分别选择了一种方法与支持向量机回归建模法进行了比较。结果表明支持向量机方法更加准确,可靠,同时优于大多数现有的公式法。这说明支持向量机建模法具有光明的前景,我们建议将其用于解决其他石油和煤气工业问题,诸如渗透率和孔隙率预测,确定持液量流动区和其他油储特性。
关键字:支持向量回归机(SVR);PVT参数预测;神经网络;1 引言
储层流动参数在石油工程计算中是非常重要的,例如物质平衡计算,试井分析,储量预测,向井流动态计算以及油藏数值模拟。众所周知,准确的PVT数据对物质平衡计算是非常重要的。这些PVT参数包括起泡点压力(Pb),石油形成层参数(Bob),这个被定义储存石油的容积。Bob的准确预测在储量和产量计算中至关重要,同时在储量动态计算,生产操作和设计以及构成评估的计算中,PVT参数也是非常重要的。这个流程的经济效益也取决与这些参数的准确预测。
现存的PVT仿真器在预测储藏流体的物理参数时,其预测精度随使用模型的类型,流体特性以及当时环境的变化而变化。因此他们在预测准确性方面都存在极大的缺陷。理想情况下,PVT参数通过对取自井底或者表面的样本进行试验研究而获得,但这样做获取试验数据代价昂贵。因此,现在多采用状态等式,统计回归,图解法以及经验公式法来预测PVT参数。用于PVT计算的相关方法一直是研究的重点,并发表了许多论文。过去十年间,有人提出了几种确定Pb和Bob的图解法和数学方法。这些研究都基于这样一个假设,Pb和Bob都是油气比,油藏温度,煤气比重以及石油比重的强函数。尽管如此,这些状态等式包含了大量的数据计算,其中需要知道储藏流体的详细成分,而得到它们即费力又费时。另外,这些方法在预测中是 不可靠的,它取决与原始应用数据的变化程度以及相似流体成分和API油比重的地理区域。此外PVT参数以基于容易测量的现场数据为基础,诸如储存压力,储存温度和石油比重。
近年来,人工神经网络(ANNs)被用于解决许多煤气和石油工业方面的问题,其中包括渗透率和孔隙率预测,岩相类型鉴定,地震模式识别,PVT参数预测,油管及油井中压降估计以及井产量预测。在机器学习和数据挖掘领域最流行的神经网络方法是前向神经网络(FFN)和多层感知器(MLP)。它们在石油和煤气工业中应有广泛。尽管如此,这些神经网络建模方法存在许多缺点,诸如识别可能因果关系的能力受到限制,在后向传播算法的构造中比较耗时,这些缺点将导致过拟合和评价函数收敛于局部极小点。另外,前向神经网络的结构参数也需要提前估计,诸如前向传播神经网络的隐层数量和大小,多层神经元之间的传递函数类型。同时,训练算法参数通过估计初始随机权重,学习率和动量而获得。
本研究的主要目的是了解支持向量机回归算法在模型化原油系统PVT参数方面的能力,同时解决上述神经网络存在的一些问题。大量的用户介入不仅减缓了模型开发,也违背了让数据说话的原则。在工作中,我们精确的研究了基于核函数的支持向量机回归算法在模型化Pb和Bob参数的能力,试验数据来源与全世界已出版的PVT数据库。我们也从神经网络,非线性回归以及各种不同的经验公式中分别选取了一种方法与支持向量机回归法进行了比较研究。
高原油采收率的预测是采收率分析的基础,这也保证了分析结果的可靠性。在统计学习理论中,建立一个高采收率预测模型属于函数逼近问题的范畴。根据Vapnik结构风险最小化原则,提高学习机的泛化能力即是对于有效训练样本的小误差能够保证相对独立的测试样本的小误差。近几年,最新的统计理论的研究结果首次运用到高采收率的分析。我们讨论了改进的后向传播人工神经网络和支持向量机。我们将神经网络同三个不同的经验公式法以及前向传播神经网络进行了对比研究,结果表明支持向量机无论在可靠性和效率上都优于大多数目前流行的建模方法。
为了说明支持向量机回归法作为一种新的计算机智能算法的有效性,我们使用三种不同的PVT参数建立了先进的支持向量机回归校准模型。在包括782个观测值的数据库中数据来自马来群岛,中东,墨西哥湾和哥伦比亚。由于宽域性和不确定分布,这些数据具有很大的挑战性。因此,我们使用了四个不同输入参数的数据库来建立预测起泡点压力和石油形成层参数的支持向量机回归模型。这四个参数分别是:油气比率,油藏温度,石油比重以及煤气相对比重。结果表明支持向量机回归学习算法比其他石油工程论文中所提方法更快,更稳定。另外,这种新型支持向量回归机建模法在绝对平均误差,标准差和相关系数上都优于标准神经网络和大多数现存的系数模型。
本论文的其余部分组织如下:第二部分是文献综述,简要介绍了在确定PVT关系中一些最常用的经验公式和神经网络建模法。应用神经网络对PVT参数建模的主要缺点也在这部分提及。同时也提出了支持向量回归机和其训练算法的最常用结构。第四部分介绍了数据获取和统计质量测度。试验结果在第五部分进行了讨论。第六部分通过给出试验结果说明了方法的性能。文献综述
PVT参数,渗透性和孔隙率,岩相类型,地震模式识别在石油和煤气工业中是非常重要的参数。过去的六十年中,工程师们认识到发展和使用试验公式预测PVT参数的重要性,因此在这一领域的研究促进了新方法的发展。在实验室预测这些参数代价高昂,因此很难确定,同时预测的准确性又是至关重要的,而我们并不能提前预知。本部分简要总结了一下预测PVT参数的一些通用经验公式和几种不同的计算机智能算法。2.1 最常用的经验模型和评价研究
过去的六十年里,工程师们认识到发展和使用经验公式对于预测PVT参数的重要性。在这一领域的大量研究促进了新的公式的发展。诸如Standing,Katz,Vasquez& Beggs,Glaso&Al-Marhoun的相关研究.Glaso针对形成层参数使用45组石油样本发展其经验公式,这些样本来自于北海的烃化合物。Al-Marboun提出了一种经验公式用于预测中东石油的起泡点压力和石油形成层参数,他使用来自中东69个油井的160组数据集来构造他的公式。Abdul-Majeed and Salman提出了一种基于420组数据集的油量层形成公式,并命名为Abdul-Majeed and Salman 经验公式。他们的模型与采用新参数的Al-Marhoun油量层参数公式类似。Al-Marthoun提出了第二种针对油量层参数的经验公式,该公式基于11728个起跑点压力上下的形成层参数试验数据点。数据集的样本来自全世界700多个油井,这些油井大部分位于中东和北美。读者也可以参考其他经验公式,诸如Al-Shammasi and EI-Sebakhy等等。本研究中,我们仅仅关注于三个最常用的经验公式,分别为Al-Marhoun,Glaso 和Standing.Labedi提出了针对非洲原油的油量层参数公式。他使用了来自利比亚的97组数据集,尼日利亚的28组数据集以及安哥拉的4组数据集来形成他的公式。DOKLa and Osman提出了用于预测阿联酋原油起泡点压力和油量层参素的系数集,他们使用51组数据集来计算新的系数。Al-Yousef and Al-Marhoun指出Dokla and Osaman 起泡点压力公式违背物理规则。Al-Marhoun 提出了另一种针 2
对石油形成层参数的公式,该公式使用11728个起泡点压力上下的形成层参素。该数据集的样本来自于全世界700多个油井,这些油井大部分来自与中东和北美。
Macary and El-Batanoney提出了针对起泡点压力和形成层参数的公式。他们使用了来自苏伊士湾30个油井的90组数据集。该新公式又与来自埃及的数据进行了对比测试,并表现出超过其他已有公式的性能。Omar and Todd提出了一种基于标准系数模型的石油形成层参数公式。该公式使用了来自马来群岛油井包含93个观察点的数据集。Kartoamodjo and Schmidt 使用全球资料库发明了一种新的预测所有PVT参数的公式,该公式使用740个不同的原油样本,这些样本从全世界采集,并包括5392组数据集。Almehaideb提出了一种针对阿联酋原油的系数集,其中使用了62组来自阿联酋油井的数据集来测量起泡点压力和形成层参数。起泡点压力公式,像Omar and Todd使用形成层参数作为输入,并排除了石油比重,煤气比重,气油混合比以及油井温度。Suttton and Farshand提出了一种针对墨西哥湾原油的公式,其中使用了天然气饱和原油的285组数据集以及代表31个不同原油和天然气系统的134组欠饱和石油数据集。结果表明Glaso公式预测形成层参数对于大多数研究数据表现良好。Petrosky and Farshad提出了一种基于墨西哥湾的新公式,并说明了Al-Marhoun公式对预测油量层系数是最好的。McCain提出了一种新的基于大规模数据的油井参数评估公式,他们建议在将来的应用中采用Standing公式来预测起泡点压力上下的形成层参数。
Ghetto基于195组全球数据集得出了一种针对PVT参数的复杂研究公式,其中使用的数据集来自地中海盆地,美洲,中东和北海油井。他们建议运用Vasquez and Beggas公式预测油量层参数。另一方面,Elsharkawy使用44组样本评估了用于科威特原油的PVT公式,结果表明,对于起泡点压力,Standing公式给出了最好的结果,而Al-Marhoun石油形成层参数公式的表现也是令人满意的。Mahmood and Al-Marhoun提出针对巴基斯坦原油的PVT估计公式,其中使用了来自22个不同原始样本中的166组数据集。Al-Marhoun指出油量层参数预测结果良好,而起泡点压力误差却是已有公式所得结果中最高的几个之一。另外,Hanafy基于Macary and EI-Batanoney公式评价预测埃及原油形成层参数,结果表明其平均绝对误差为4.9%,而Dokla and Osman公式却是3.9%。因此,研究结果表明本地公式要优于全球公式。
Al-Fattan and Al-Marhoun所著的书中,他们基于来自已有674组数据集对现有的油量层参数进行了评估,结果表面Al-Marhoun公式对于全球数据集有最小的误差。另外,他们也进行了趋势测试以评估模型的物理行为。最后,Al-Shammasi以来自世界各地的烃混合物为代表,从准确性和适应性两方面对已发表的针对起泡点压力和油量层参数的公式和神经网络模型进行了评估,并提出了一种新的起泡点压力公式,该公式基于1661个已发表的全球数据集和48个未发表的数据集。同时他也提出了神经网络模型,并且将其与数值公式进行了比较,结果表明从统计学和趋势性能分析来看,一些公式违背了烃流参数的物理特性。2.2 基于人工神经网络的PVT参数预测
人工神经网络是并行分配信息处理模型,它能识别具有高度复杂性的现有数据。最近几年,人工神经网络在石油工业中得到了广泛的应用。许多学者探讨了石油工程中人工神经网络的应用,诸如Ali,Elshakawy,Gharbi and Elsharkawy,Kumoluyi and Daltaban,Mohaghegh and Ameri,Mohaghegn,Mohaghegn,和Varotsis等人。在文献中最常用的神经网络是采用倒传递算法的前向传播神经网络,参见Ali,Duda以及Osman的论文。这种神经网络在预测和分类问题上有着良好的计算机智能建模能力。采用神经网络模型化PVT参数的研究还不多,最近,有人采用前向传播神经网络预测PVT参数,参见Gharbi and Elsharkawy以及Osman等人的论文。
Al-Shammasi提出了神经网络模型,并将其与数值公式进行了性能比较,结果表明从统计学和趋势性能来看一些公式违背了烃流参数的物理性质。另外,他还指出已发表的神经网络模型丢失了主要模型参数而需要重建。他使用神经网络(4-5-3-1)结构来预测起泡点压力和石油形成层参数,并以来自世界各地的烃混合物为例,从准确性和适应性两方面对已发表的用于预测如上两个参数的公式和神经网络进行了评价。
Gharbi 和Elsharkawy以及Osman等在前向神经网络和四种经验公式之间进行了对比研究,这四种公式分别是Standing,Al-Mahroun,Glaso以及Vasquez and Beggs经验公式,更多的结论和对比研究结果可参见他们的论文。1996,Gharbi and Elsharkawy提出了预测中东原油起泡点压力和形成层参数的神经网络模型。该模型基于具有对数双弯曲激发函数的神经系统来预测中东油井的PVT数据。同时,Gharbi和Elsharkawy训练了两个神经网络分别预测起泡点压力和形成层参数。输入数据是油气比率,油储温度,石油比重以及煤气比重。他们使用具有两个隐层的神经网络,第一个神经网络预测起泡点压力,第二个神经网络预测形成层参数。二者都使用中东地区包含520个观察点的数据集,其中498个观察点用于训练,其余22个观察点用于检验。
Gharbi和Elsharkawy在更广大区域采用了同样的标准,这些区域包括:南北美,北海,东南亚和中东地区。他们提出了一种只采用1个隐层的神经网络,其中使用了来自350个不同原油系统的5432个观察点的数据库。该数据库被分成具有5200个观察点的训练集和234个观察点的测试集。对比研究结果表明,前向神经网络预测PVT参数在减小平均绝对误差和提高相关系数方面优于传统经验公式。读者可以参看Al-Shammasi和EI-Sebkhy的论文获取其他类型的神经网络在预测PVT参数方面的应用。例如,径向基函数和诱导神经网络。2.3 神经网络建模法最普遍的缺点
神经网络相关经验已经暴露了许多技术上的限制。其中之一是设计空间的复杂性。在许多设计参数的选择上由于没有分析指导,开发者常常采用一种人为试探的尝试错误方法,该方法将重点放在可能搜索空间的小区域里。那些需要猜测的结构参数包括隐层的数目和大小以及多层神经元间传递函数的类型。需要确定的学习算法参数包括初始权重,学习率以及动量。尽管得到的可接受的结果带有偏差,但很明显忽视了可能存在的高级模型。大量的用户干预不仅减慢了模型构建也违背了让数据说话的原则。为了自动设计过程,Petrosky 和Farshad提出了遗传算法形式的外部优化标准。对于新数据在实际应用中的过拟合和弱网络泛化能力也是一个问题。当训练进行时,训练数据的拟合提高了,但是由于训练中新数据不能提前预知网络性能可能因为过学习而变坏。训练数据的一个单独部分常常保留下来监视性能,以保证完成收敛之前停止训练。尽管如此,这减少了实际训练中有效的数据量,当好的训练数据缺乏时这也是一大劣势。Almehaideb提出了一种网络修剪算法用以提高泛化能力。最常用的采用梯度下降法的后向传递训练算法在最小化误差时存在局部极小点的问题,这限制了优化模型的推广。另一个问题是神经网络模型的黑箱不透明性。相关解释能力的缺失在许多决策支持应用中是一个障碍,诸如医学诊断,通常用户需要知道模型给出的结论。附加分析要求通过规则提取从神经网络模型中获得解释设备。模型参数掩盖在大规模矩阵中,因此获得模型现象或者将其与现存经验或理论模型进行对比变得非常困难。因为模型各种输入的相对重要性信息还没有获得,这使得通过排除一些重要输入来简化模型的方法变得不可行。诸如主成份分析技术也需要额外的处理。
在本研究中,我们提出了支持向量机回归法来克服神经网络的缺点同时采用此方法来预测PVT参数。支持向量机建模法是一种基于统计学习理论和结构风险最小化原则的新型计算机智能算法。基于该原则,支持向量机通过在经验误差和Vapnik-Chevonenkis置信区间之间取得合适的平衡来得到最有效的网络结构,因此这种方法不可能产生局部极小。支持向量机回归建模法
支持向量机回归法是机器学习和数据挖掘领域最成功和有效的算法之一。在分类和回归中它作为鲁棒性工具得到了广泛的应用。在许多应用中,该方法具有很强的鲁棒性,例如在特征识别,文 4
本分类和人脸图像识别等领域。支持向量机回归算法通过最优化超平面的特征参数以确保其高度的泛化能力。其中超平面在高维特征空间中最大化训练样本间的距离。3.1 背景知识和综述
近年来,人们对支持向量机做了很多研究。从如下这些人的文章中可以获得已完成的支持向量机建模法的概述,他们是Vapnik,Burges,Scholkopt,Smola,Kobayashi以及Komaki。该方法是一种新的基于统计学习理论的机器学习法。它遵循结构风险最小化原则,通过最小化泛化误差的上界,而不是最小化训练误差。该归纳法基于泛化误差的界,而泛化误差通过加和训练误差和依赖VC维的置信区间得到。基于此原则,支持向量机通过平衡经验误差和VC维置信区间取得最优的网络结构。通过此平衡支持量机可以取得优于其他神经网络模型的泛化性能。
起初,支持向量机用于解决模式识别问题。尽管如此,随着Vapnik 不敏感损失函数的引入,支持向量机可以扩展用于解决非线性回归预测问题。例如刚刚为人所知的支持向量回归法,它表现出了良好的性能。该方法的性能取决于预定义的参数(也叫超参数)。因此,为建立一个良好的支持向量回归预测模型,我们要细心设置其参数。最近,支持向量回归法已经作为一种可供选择的强有力技术用于预测复杂非线性关系问题。因其许多特有性质和良好的泛化能力,支持向量回归法无论是在学术界还是工业应用领域都取得了极大的成功。3.2 支持向量回归机的结构
最近,通过引入可变的损失函数,支持向量回归机(SVR)作为一种新的强有力技术用于解决回归问题。这部分,我们简要介绍一下SVR.更多的细节参见Vapnik和EI-Sebakhy的论文。通常情况下,SVR的构造遵循结构风险最小化原则,它试图最小化泛化误差的上界而不是最小化训练样本的预测误差。该特征能在训练阶段最大程度的泛化输入输出关系学习以得到对于新数据良好的预测性能。支持向量回归机通过非线性映射将输入数据x映射到高维特征空间F.,并在如图1所示的特征空间中产生和解决一个线性回归问题。
图1 映射输入空间x到高维特征空间
回归估计通过给定的数据集G{(xi,yi):XiR}Rni1来预测一个函数,这里xi代表输入向量,yi代表输出值,n代表数据集的总大小。建模的目的是建立一个决策函数yf(x),在给定一组新的输入输出样本xi,yi的情况下准确预测输出yi。该线性逼近函数由下面的公式表示:
f(x)(w(x)b),:RF;wFTP(1)这里w,b是系数,(x)代表高维特征空间,通过输入空间x的非线性映射得到。因此,高维特征空间中的线性关系被映射到了低维特征空间中的非线性关系。这里不用考虑高维特征空间中w和(x)的内积计算。相应的,包含非线性回归的原始优化问题被转换到特征空间F而非输入空间x中寻找最平缓模型的问题。图1中的未知参数w和b通过训练集G预测得到。
通过不敏感损失函数支持向量回归机在高维特征空间中模拟线性回归。同时,为了避免过拟合,2并提高泛化能力,采用最小化经验风险和复杂度w2之和的正则化函数。系数w和b通过最小化结构风险函数预测得到。
RSVR(C)Remp12w2Cnni1L(yi,yi)212w2(2)这里RSVR和Remp分别代表回归风险和经验风险。w2代表欧几里德范数,C代表度量经验风险的损失函数。在公式2给出的结构风险函数中,回归风险RSVR是在给定测试样本输入向量情况下由约束函数f得到的可能误差。
(|y,y|),if|yy|L(y,y)(3)
Otherwise0,n在公式2中,第一项C/nL*(yi,yi)代表经验误差,该误差通过公式3中不敏感损失函
i1数预测得到。引入损失函数可以使用少量的数据点来获得公式1中决策函数的足够样本。第二项2w2是正则化系数。当存在误差时,通过折中经验风险和正则化系数,正则化常量C用于计算惩罚值。增大C值等于提高了相应泛化性能的经验风险的重要性。当拟合误差大于时接受惩罚。损失函数用来稳定预测。换句话说,不敏感损失函数能减小噪声。因此,能被看作如图2所示训练数据近似精度的等效值。在经验分析中,C和是由用户选择的参数。
图2 一种线性支持向量回归机的软边缘损失集
为了估计w和b,我们引入正的松弛变量i和i,从图2可知,超常的正负误差大小由i和i分别代表。假设松弛变量在,外非零,支持向量回归机对数据拟合f(x)如下:(i)训练误差通过最小化i和i得到。(ii)最小化 w2/2提高f(x)的平滑性,或者惩罚过于复杂的拟合函数。因此,支持向量回归机由最小化如下函数构造而成: 最小化:RSVR(w,C)12nw2CL(ii)(4)
*i1yiw(xi)bii*目标值:0*w(x)byiiii
这里i和i分别代表度量上下边沿误差的松弛变量。以上公式表明在同一结构函数f(x)下增大将减小相应的i和i,从而减小来自相应数据点的误差。最后通过引入拉格朗日多项式和扩展最优性约束,公式1所给决策函数有如下的形式:
nf(x,i,i)*(i1ii)K(xxi)b*(5)
*i这里公式5中参数i和i被称为拉格朗日乘子,他们满足公式i*0,i0和*i0,在i1,2....,n。公式5中的K(xi,xj)称作核函数,而核函数的值等于特征空间(xi)和(xj)中 7
向量xi和xj的内积,其中K(xi,xj)=(xi)(xj)。核函数用来表征任意维特征空间而不用精确计算(x)。假如任给一个函数满足Mercer条件,他就可用作核函数。核函数的典型例子是多项式核(K(x,y)[xy1]d)和高斯核(K(x,y)exp[(xy)2/22])。这些公式中,d代表多项式核的次数,代表高斯核宽度。这些参数必须精确选择,因为他们确定了高维特征空间的结构并且控制最终函数的复杂性。24 数据获取和统计质量度量
4.1 要求数据
研究结果基于来自三个不同的已发表研究论文的三个数据库中获得。第一个数据库引自Al-Marhoun的文章。该数据库包括来自中东69口油井的160组数据,通过它提出了一种用于预测中东石油起跑点压力和油量层参数的公式。第二个数据库来自Al-Marhoun&Osman(2002),Osman&Abel-Aal(2002)以及Osman&Al-Marhoun(2005)的文章。该数据库使用采集于沙特各地的283个数据点来预测沙特原油的起泡点压力以及该压力点附近的油层量参数。模型基于142组训练集的神经网络来建立前馈神经网络校正模型用以预测起泡点压力和油量层参数,其中71组数据集用于交叉验证训练过程中建立的关系,余下的71组数据集用于测试模型以评估精度。结果表明发展的Bob模型比现有的经验公式有更好的预测效果和更高的精度。第三个数据库来自Goda(2003)和Osman(2001)的著作,这里作者采用具有对数双弯曲传递函数的前向神经网络来预测起泡点压力附近的石油形成层参数。该数据库包括从803个实际数据点中删除了21个观察点之后的782个观察点。该数据集采集于马来群岛,中东,墨西哥湾和加利福尼亚。作者采用倒传递学习算法设计了一种单隐层的前向神经网络,其中使用4个输入神经元来隐藏输入的油气比重,煤气比重,相对煤气浓度以及油储温度,五个神经元的单隐层以及输出层构造参数的单一神经元。
使用以上三个不同的数据库来评估支持向量回归机,前向神经网络和三个经验公式建模法的性能。采用分层标准划分整个数据库。因此,我们使用70%的数据建立支持向量回归机模型,30%的数据用于测试和验证。我们重复内部和外部验证过程各1000次。因此数据被分为2到3组用于训练和交叉验证。
本研究中,382组数据集,267组用于建立校正模型,余下的115组用于交叉验证训练和测试过程中建立的关系,并以此来评价模型的精度和稳定性。对于测试数据,支持向量回归机建模法,神经网络法以及最著名的经验公式法的预测性能使用以上的数据集进行度量。起泡点压力和石油形成层参数的预测性能分别如表1-6所示。
表1 测试结果(Osman(2001)和EI-Sebakhy(2007)数据):预测Bo的统计质量量度
表2 测试结果(Osman(2001)和EI-Sebakhy(2007)数据):预测Pb的统计质量量度
表3测试结果(Al-Marhoun&Osman(2002)和Abdel-Aal(2002)数据):预测Bo的统计质量量度
表4测试结果(Al-Marhoun&Osman(2002)和Abdel-Aal(2002)数据):预测Pb的统计质量量度
表5测试结果(Osman(2001)和Goda(2003)数据):预测Bo的统计质量量度
表6测试结果(Osman(2001)和Goda(2003)数据):预测Pb的统计质量量度
在应用中,用户应该知道输入数据的范围以确保其在正常的范围内。这步叫做质量控制,它是最终取得准确和可信结果的重要一环。以下是一些主要变量的输入/输出范围。包括油气比,煤气比重,相对煤气密度,油储温度。在输入和输出层使用起泡点压力和石油形成层参数进行PVT分析。
油气比在26和1602之间,scf/stb 油量层参数在1.032和1.997之间变化 起泡点压力起于130止于3573 psia 油井温度从74F到240F API比重在19.4和44.6之间变化。 煤气相对浓度改变从0.744到1.367 4.2 评价和质量度量
在学习完成后,我们进行了拟合模型能力和质量的评价和估计。为此,我们计算了大量的质量量度。诸如实际和预测输出之间的相关系数(r),根方误差(Erms),平均相对百分误差(Er),平均绝对百分误差(Ea),最小绝对百分误差(Emin),最大绝对百分误差(Ermax),标准差(SD)和执行时间。最好的模型有最高的相关性和最小的根方误差。
支持向量机建模法的性能与神经网络和最常用的经验公式进行了比较。其中使用三种不同的数据库。执行过程采用交叉验证(内部和外部交叉)并重复了1000次。我们得到了支持向量回归机建模法的良好结果,为了简便起见,这里只记录了一些必须的点。这些点能给读者关于支持向量机建模法精度和稳定性方面一个完整的图形。4.3统计质量度量
为了比较新模型与其他经验公式在精度和性能方面的差异,我们采用统计误差分析法。选用的误差参数如下:平均相对百分误差(Er),平均绝对百分误差(Ea),最小绝对百分误差(Emin),最大绝对百分误差(Ermax),均方根误差(Erms),标准差(SD),相关系数(R2)。为了说明支持向量机回归法的有效性,我们采用了基于三个不同数据库的校正模型。(i)160个观察点的数据库.(ii)283个观察点的数据库用于预测Pb和Bob(iii)Goda(2003)和Osman(2001)发表的包含782个观察点的全世界范围内的数据库。
结果表明支持向量机回归法具有稳定性和有效性。另外,它的性能在均方根误差,绝对平均百分误差,标准差和相关系数方面也超过了最流行的经验公式中的一种以及标准前向神经网络法。实验研究
我们在所有数据集上进行了质量控制检测并且删除了多余的和不用的观察点。为了评估每一种建模方法的性能,我们采用分层标准划分了整个数据库。因此,我们使用70%的数据建立支持向量回归机模型,30%的数据用于测试和验证。我们重复内部和外部验证过程各1000次。因此数据被分为2到3组用于训练和交叉验证。而在782组数据点中,382组用来训练神经网络模型,剩下的200组用来交叉验证训练过程中建立的关系,最后200组用于测试模型以评估其准确性和趋势稳定性。对于测试数据,我们用支持向量机回归建模法,前向神经网络系统和最著名的经验公式分别预测起泡点压力和石油形成层参数,并研究了他们不同质量度量的统计总和。
通常情况下,在训练了支持向量机回归建模系统后,我们使用交叉验证来测试和评价校正模型。
同时我们将支持向量机回归模型的性能和精度同标准神经网络和三种常用的经验公式进行了对比研究。这三种常用的公式分别是:Standing,Al-Mahroun和Glaso经验公式。5.1 参数初始化
本研究中,我们采用与Al-Marhoun&Osman(2002),Osman(2001)以及Osman&Abdel-Aal(2002)同样的步骤。其中采用单或双隐层的前向神经网络,该网络基于具有线性和S型激发函数的倒传递学习算法。初始权重随机获得,学习能力基于1000元或0.001目标误差和0.01学习率获得。每个隐层包括的神经元都与其相邻层的神经元连接。这些连接都有相关的权值,并可以在训练过程中调整。当网络可以预测给定的输出时训练完成。对于这两个模型,第一层包括四个神经元,分别代表油储温度,油气比,煤气比重和API石油比重的输入值。第二层包含用于Pb模型的七个神经元和用于Bob模型的8个神经元。第三层包括一个神经元,其代表Pb或Bob的输出值。我们使用的用于Pb和Bob模型的简略图正如Al-Marhoun&Osman(2002),Osman&Abdel-Aal(2002)论文中所述。它基于1000次的重复计算使得我们可以检测网络的泛化能力,阻止对训练数据的过拟合并且对所有运行取平均。
执行过程开始于对现有数据集的支持向量机建模,每次一个观察点,到时学习过程从现有输入数据集中获得。我们注意到交叉验证可让我们监视支持向量回归机建模的性能,同时阻止核网络过拟合训练数据。在执行过程中,我们采用三种不同的核函数,分别名为多项式,S型核以及高斯核。在支持向量回归机的设计中,首先初始化那些控制模型整体性能的参数,诸如kenel=’poly’,kernel opt=5;epsilon=0.01;lambda=0.0000001;verbose=0;以及常量C为简便起见取为1或10。交叉验证方法基于均方根误差作为训练算法中的检查机制来阻止过拟合和复杂性。Bob和Pb模型的结果权重如下表格和图表中所示。同时,如下所示,每一个输入参数的相对重要性在训练过程中确定,并由Bob和Pb模型给出。
5.2 讨论和对比研究
我们可以研究除已选择的检验公式之外其他常用的经验公式,更多关于这些公式数学表达式的细节可以参考EI-Sebakhv和Osman(2007)的文章。测试中的比对结果,在表1-6中分别进行了外部交叉验证总结。从结果中我们注意到支持向量机建模法优于采用倒传递算法的神经网络以及最流行的经验公式。提出的模型以其稳定的性能在预测Pb和Bob值时表现出了很高的精度,在采用三个不同数据集的情况下该模型在其他公式中得到了最低的绝对相对百分误差,最低的最小误差,最低的最大误差,最低的均方根误差以及最高的相关系数。
我们对所有计算机智能预测算法和最著名的经验公式预测所得的绝对相对百分误差EA和相关系数绘制了离散点图。每个建模方法由一种符号表示。好的预测方法应该出现在图形的左上部分。图3所示为所用建模方法EA以及R或r的离散点,这些方法使用Osman(2001)的数据库预测Bob。11
图3基于Osman数据库的所有建模法和经验公式法预测Bob的平均绝对相对误差和相关系数 我们注意到支持向量回归机建模法落在图形的左上部分,EA=1.368%和r=0.9884,而神经网络次之,EA=1.7886%和r=0.9878,其余的经验公式则有更高的误差且更低的相关系数。例如,AL-Marhoun(1992)的EA=2.2053%,r=0.9806,Standing(1947)有EA=2.7238%和r=0.9742以及Glaso公式的EA=3.3743%,r=0.9715。图4所示为同样的图形,只不过采用同样的数据集和建模方法来预测bP。我们注意到支持向量回归机建模法落在图形的左上部分,EA=1.368%和R=0.9884,而神经网络次之,EA=1.7886%和r=0.9878,其余的经验公式则有更高的误差且更低2的相关系数。例如,AL-Marhoun(1992)的EA=2.2053%,r=0.9806,Standing(1947)有EA=2.7238%和r=0.9742以及Glaso公式的EA=3.3743%,r=0.9715。
图4基于Osman数据库的所有建模法和经验公式法预测Pb的平均绝对相对误差和相关系数 我们也对其他数据集重复了同样的执行过程,但为了简便起见,本文并没有包括这些内容。这些数据集是Al-Marhoun(1988,1992)和Al-Marhoun&Osman(2002)以及Osman&Abdel-Aal(2002)。
图5-10所示为使用三个不同的数据集的试验数据对bpp和Bob所得预测结果的六张离散图形。这些交叉点说明了基于支持向量回归机的高性能试验值和预测值之间的吻合程度。读者可以对已发表的神经网络建模法和最著名的经验公式进行比较。最后,我们的结论是支持向量回归集建模法相比其他著名的建模法和经验公式有更好的性能和更高的稳定性。
在预测bpp和Bob时支持向量机优于标准前向神经网络和最常用的经验公式,其中使用4个输入数据:油气比,油储温度,煤气比重和煤气相对密度。
图5 基于Osman数据库的支持向量回归机预测Pb和Bob的平均交会图
图6 基于Osman数据库的支持向量回归机预测bP或bPP的平均交会图
图 7 基于Al-Marhoun,Osman和Osman&Abdel-Abal数据集支持向量回归机预测Bo的交会图
图 8 基于Al-Marhoun,Osman和Osman&Abdel-Abal数据集支持向量回归机预测bP的交会图
图 9 基于已有数据集(Al-Marhoun)支持向量回归机预测Bo的交会图
图 10基于已有数据集(Al-Marhoun)支持向量回归机预测bP的交会图
6结论和建议
在本研究中,我们使用三种不同的数据集来考察支持向量回归机作为一种新型模式在预测原油系统PVT参数过程中的能力。基于得到的结果和比对研究,我们得出如下结论:
我们使用支持向量回归机及4个输入变量来预测起泡点压力和石油形成层参数。这4个变量分别是:油气比,油储温度,石油比重和煤气相对密度。在石油工程领域,这两个参数被认为是原油系统PVT参数中最重要的。
成熟的支持向量回归机建模法优于标准前向神经网络和最常用的经验公式。因此,该方法相比其他方法有着更好,更有效和更可靠的性能。另外,该方法在预测Bob值时以其稳定的性能表现出了很高的准确性,同时得到最低的绝对相对百分误差,最低的最小误差,最低的最大误差,最低的根均方误差和最大的相关系数。因此,支持向量回归机建模法在油气工业中应用灵活,可靠并有着很好的发展前景。特别是在渗透率,孔隙率,历史匹配,预测岩石机械参数,流型,液体停止多相流和岩相分类中。
参数命名
Bob 起泡点压力附近的OFVF, RB/STB Rs 油气比,SCF/STB T 油储温度,华氏温度
r0 石油相对密度(水为1.0)
rg 煤气相对密度(空气为1.0)
Er平均相对百分误差 Ei 相对百分误差
Ea平均绝对百分相对误差 Emax 最大绝对百分相对误差 Emin 最小绝对百分相对误差
支持向量机算法 篇6
关键词:病斑特征;烟草病害;支持向量机;CIE L*a*b*模型;实数编码遗传算法
中图分类号: S126;TP391.41文献标志码: A文章编号:1002-1302(2015)09-0435-04
随着计算机技术的发展和农业信息化的迫切需求,国内外学者尝试利用计算机图像处理技术和模式识别技术对作物病害进行自动定量的识别,已在水稻、小麦、黄瓜、蔬菜[1-5]等的病害识别上取得了一定的成绩。常用的模式识别工具有贝叶斯决策、神经网络、模糊集法等。常用模式识别工具是以无限多样本训练为前提的,但在实际诊断中对于某一类病害,通常不具有大量的病害样本。支持向量机(SVM)[6]是一种新的模式识别方法,它在处理非线性、小样本等问题上具有特定的优势,在生物信息、医学等领域已得到了成功应用。已有学者开始利用支持向量机对葡萄、黄瓜、小麦等的病害进行识别[2-3],取得了一定成绩。因作物种类繁多,同一类作物也会有多种病害发生,且病害特征呈现多样化、复杂化,所以至今还没有一种通用的病害识别方法,需针对不同的作物病害分别进行研究。在烟草生长期内有多种病害发生,每年造成的损失很大[7],病害防治是确保烟草产量和质量的关键技术之一。目前,烟草病害的识别主要通过人为判断,或通过书本、互联网、数据库等提供的烟草病害图片比对诊断,这对于非专业人员,往往会引起人为的误判,从而难以对症下药,造成烟叶质量下降。
本研究提出依据病害图像的病斑特征,构建实数编码遗传算法获取有效特征和支持向量机识别病害的模型以诊断烟草病害。以赤星病、野火病等4种常见又容易混淆的烟草病害图像诊断为例,通过分割彩色病斑、提取病斑特征,将提取的特征输入实数编码遗传算法优化特征和支持向量机识别病害的模型,特征通过模型,获得对应的权重,将前n个权重较高的特征向量值xi乘以对应的权重wi,即xi=wi·xi作为支持向量机的输入向量,支持向量机的分类精度作为遗传算法的适应度对个体进行评估,以在去除冗余特征的同时提高支持向量机的识别精度。试验表明,实数编码遗传算法选择病害特征比采用二进制编码及双编码具有更好的识别率和优势,构建的模型能很好地识别烟草病害,可为病害的科学防治和危害程度评价提供依据。
1材料和方法
1.1病害图像采集与硬件参数
本研究中所采集的图像来源于云南德宏潞西,在田间自然光照下,用Nikon D80数码相机(焦距18~20 mm,最大光圈f/3.5~f/5.6),采集4种烟草病害(野火病、炭疽病、赤星病、蛙眼病)500幅,以“jpg”格式存储在电脑中。
利用Intel(R) Pentium(R)CPU G3220@3.0GHZ处理器,内存4 G,硬盘500 G,在Windows 2007系统环境下用Matlab2009a软件编程实现图像增强、病斑分割、特征提取、特征筛选、病害识别等操作。
1.2研究方法
1.2.1图像预处理和病斑分割(1)图像预处理。为减少计算量和外界带来的干扰,在不损害病斑完整性的前提下,根据病斑所在的位置将图像由原来的3 872×2 592像素统一裁剪为800×600像素。由于图像是在田间自然条件下采集,难免会受采集设备、环境等因素影响,往往使采集到的图像含有噪声,若直接进行图像分割和特征提取,会给识别造成误差。为此本研究首先利用3×3矩形窗口对原图像进行中值滤波[8],以削弱或去除噪声,使病斑轮廓与细节更加清晰,利于后期病斑的分割和处理。
(2)颜色空间选择。在众多颜色模型中,因CIE L*a*b*模型符合人的视觉特征[9],与光线及设备无关,并且处理速度与RGB模型同样快,比CMYK模型快,还是一种均匀的彩色空间,适合于彩色图像的编辑和分析,所以本研究采用了CIE L*a*b*模型。从RGB空间到L*a*b*空间的转化,采用D65白点,其中Xn=0.950 456,Yn=1,Zn=1.088 754。
(3)彩色病斑分割。烟草病害图像由病斑区域和正常区域组成,而病斑区域与正常区域之间有明显的突变,即边缘,所以本研究的病斑分割,采用基于支持向量机与多特征选择的彩色病斑边缘检测方法分割[10]。通过在CIE L*a*b*颜色空间,计算图像亮度和色度通道的方差、均值差、最大梯度,以及位置像素对比度及均值色差作为特征向量,实现支持向量机对病斑边缘的识别,对识别出的病斑边缘,统计近似圆形且半径大于一定值的二值化区域,将区域内的所有像素赋值为“1”,再与原图进行“与”运算,从而获得病害图像的彩色病斑。这样分割既可以减少病害图像处理的信息量,又能描述病斑的形态特征,是进一步识别病害的基础。图1是采用上述方法对赤星病、蛙眼病和野火病图像分割的效果图。
1.2.2病斑区域特征提取(1)颜色特征提取。颜色是区分各种不同病害的重要特征,而颜色模型的选择会影响到病害识别效果。由于病害图像是在自然光照下拍的,为了消除亮度影响,采用颜色矩来描述颜色特征[11],因颜色信息主要集中在低阶,所以本研究在CIE L*a*b*颜色空间,提取L、a、b 3个分量的一阶矩σ和二阶矩σ2,共6个特征向量,其公式如下:
病斑数:E。主要用来计算病害图片上某种病害的病斑个数。
病斑面积与病斑数比值:R=SE。该参数是单个病斑的面积度量,主要用于区分大病斑和小病斑。
1.3基于实数编码遗传算法选取病斑特征与支持向量机识别病害的模型设计
(1)模型介绍。支持向量机(support vector machine,简称SVM)[13-15]是Vapnik等于1995年根据统计学理论中结构风险最小化原则提出的一种模式识别方法。它在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势。由于径向基(RBF)核函数的计算复杂度不随参数的变化而变化,且在全部参数空间满足Mercer条件,是SVM方法中最常用的核函数,因此本研究选择径向基核函数,其数学表达式为:K(x,y)=exp(-γ│x-y│2),其中x为输入特征值,y为特征值x对应的结果,γ为径向基核函数参数(γ>0)。
遗传算法(GA)是美国Holland教授于1975年提出的,是一种全局优化的随机搜索算法,特别适用于处理传统搜索方法难以解决的复杂和非线性问题[16-17]。遗传算法的思想源于生物遗传学和适者生存的自然规律,从一个随机产生的解群体出发,借助选择、交叉、变异等操作,依据适应度函数对个体的评价,使每一代中相对好的解替代前一代相对差的解,最终逼近全局最优解。将GA和SVM结合的目标是在去除冗余特征的同时,提高病害的识别精度。