APP下载

基因表达式编程方法在变形监测数据处理中的应用探讨

2013-08-14张潇珑

河南科技 2013年14期
关键词:表达式预测值适应度

张潇珑

(江西理工大学 建筑与测绘工程学院,江西 赣州 341000)

0 引言

变形监测是对变形体上的监测点进行测量,是在确定外力的作用下,变形体的形状、大小及变化的空间状态和时间特征的变化量。随着GPS、甚长基线干涉测量等高新技术不断地被应用于变形监测中,变形监测数据量越来越大,及时有效从大量的数据中优化关键性的数据,是数据处理方面需解决的难题[1]。因此,在进行数据处理之前如何更有效地减小随机误差和噪声是变形监测数据处理中一大热点。

基因表达式编程(Gene Expression Programming,简称GEP)是根据生物遗传的基因表达规律提出来的一种新算法,它由葡萄牙学者Candida Ferreira2000年首次提出。他指出基因表达式编程的效率比传统的遗传算法和遗传编程高100-60000倍,在许多领域取得了良好的成果[2]。基因表达式编程(GEP)结合了遗传算法(GA)和遗传编程(GP)的优点,实现了高效准确的数据挖掘,在各个领域都得到了应用。因此,利用基因表达式编程的数据挖掘的特点,旨在有效解决变形监测中数据处理问题。

1 基因表达式编程算法

基因表达式的技术理论包括染色体构成、解译,变异算子,插串操作,适应度函数评价等部分[3]。

1.1 GEP算法思想

基因表达式编程是近十年发展起来的一种算法,采用线性串将基因形成染色体组。GEP的基因用线性编码的符号串来表示,由头部(Head)和尾部(Tail)共同决定。头部包含有函数集,也可以含有终点符号,但是尾部只能使用终点符号。头部长度h,尾部长度t满足以下函数关系:

其中,n是所需变量数最多的函数的参数个数(也称为最大操作数)。

由{Q,-,+,/,×,a,b}构成的基因,设 n=2,假设头部长度h=15,由(1)得尾部长度t=15×(2-1)+l=16,那么基因的总长度为15+16=31。基因编码为:

若将该基因转化成对应的表达式树(Expression Tree),只需要按照从左到右的顺序读取表达式结点,并按照从上至下的顺序构成表达式树[4]。

1.2 变异算子

变异在GEP中起到维持种群多样性的作用,可以发生在基因内的任何置。然而,染色体的结构要保持完整。在基因范围里,数字可以变异为0-9中的任意数字。在基因头部,任何符号都可变异成函数符或终结符。若发生在尾部,终点只能够变异成终结符。如果把函数符转换成终结符,则表达式树的结构也会发生相应的变化[5]。

1.3 插串操作

GEP中的元素能够被激活,形成片段基因进入染色体中。GEP中有三种插串。分别是:IS变换,RIS变换和基因变换。IS变换组成子串,插入到头部除第一个位置以外的任意位置。RIS变换只能插入到基因的根部,只能将函数符作为变换片段的起始元素。基因变换是整个基因换位到染色体的起始位置[6]。

1.4 GEP适应度函数的设计

GEP的重要应用是符号回归和函数挖掘,众多的研究和数学应用表明,需要建立一个目标函数来在其范围内拟合样本数据,得出优良的解。为了解决这个问题GEP在回归问题中,常用的适应度函数有:精度与选择范围适应度函数,有基于绝对误差和相对误差两种形式:

基于绝对误差的适应度函数[7]:

基于相对误差的适应度函数:

其中M是选择范围,c(i,j)是染色体个体i对于适应度样本j(来自集合中)的返回值,而Tj是适应度样本j的目标值。

2 基于GEP的变形监测数据挖掘步骤

步骤1:确定变形监测影响因子。

步骤2:选择合适的适应度函数,这里的适应度函数可参照公式(2),(3)。

步骤3:选择终结符T和函数集合F形成染色体。终止符为 T={x,y},函数集合 F={+ ,- ,* ,/,S,C,L,E,Q}。其中,C表示余弦cos,S表示正弦sin,E表示指数e,L表示对数ln,Q 表示开平方,x,y为变量。

步骤4:选择表达式树的连接函数,构成染色体,将其各个部分的子树连接成一个部分。

步骤5:选择并确定遗传算子,得到新的种群[8-10]。

3 实验结果及分析

本文以某建筑的沉降为例,对本建筑物的变形监测总共为20期。用前面15期的变形监测数据作为观测值的预测模型,后面5期的数据作为GEP预测值处理[11]。最后将结果与传统预测值作比较,来证实基因表达式编程方法精确度较高。

模型参数如表1所示[11]。

表1 遗传算子参数设计

遗传算子 参数单点重组0.4两点重组0.3基因重组0.1基因变换0.1

通过基因表达式算得1000次得到函数关系式如下[12]:

将变形监测观测数据通过matlab软件处理,处理后得到每期新的数据值,将总共20期数据用于预报和检验,原始观测值与去噪后数据对比如表2所示。

表2 原始观测值与传统预测值

图1 原始观测值与传统预测值

由图1可以看出,原始观测值和传统预测值的曲线几乎相吻合,可得出结论:传统预测值对随机误差的减少并不大,下面来分析GEP预测值对数据的处理。

将原始观测数值代入公式(5),求出本文GEP预测的精度及结果,如表3所示。由传统预测值和基因表达式预测值对比可知,原始观测值由于受到各种因素的干扰,用传统方法预测精度较低,通过GEP预测精度较高。图2中可以看出,GEP预测值消除了曲线尖峰点,有效的减弱噪声和随机误差,使曲线变得光滑。

表3 模型预测精度及结果

图2 传统预测值与GEP预测值对比

为了更进一步说明问题,比较传统预测值和GEP预测值,见图1和图2。由图可知,通过基因表达式得到的数据处理结果更平稳,光滑,精度较高。

4 结语

针对传统变形监测过程中数据处理的困难和不足,利用GEP强大的函数挖掘功能,根据提供的实验数据,得到准确的函数关系式,省去了确定变量和建模的过程。利用GEP对变形监测数据处理的实验分析,证实了GEP在变形监测数据处理方面具有一定的优势。

[1]侯建国,王腾军等.变形监测理论与应用[M].北京;测绘出版社,2008.

[2]元昌安,彭昱忠等.基因表达式编程算法原理与应用[M].北京:科学出版社,2010.

[3]曾雪,胡建华,段磊.基于基因表达式编程的话务量预测方法[J].计算机仿真,2008(7):170-173.

[4]吴勇.基因表达式编程算法及应用研究[D].武汉;武汉理工大学,2008.

[5]Zuo J,Tang CJ,LIc,et a1.Time Series Prediction based on Gene Expression Programming[C]//International Conference for web Information Age2004.Lecture Notes In Computer Science,2004.

[6]涂艳琼.基因表达式编程在函数挖掘中的应用研究[J].江西理工大学学报,2008,29(3):65-68.

[7]Ferreira C.Gene Expression Programming in Problem-Solving[C]//Invited tutorial of the 6thonline world Conference on soft Computing in Industrial Applications,2001.

[8]万程辉,欧阳平.大坝变形监测数据的小波分析处理方法[J].北京测绘,2010,1:32-35

[9]袁昌茂,文鸿雁.变形监测数据处理的小波去噪方法[J].地理空间信息,2009,7(4):136-138.

[10]张勤,蒋廷臣.小波变换在变形监测中的应用研究[J].测绘工程,2005(1):8-10.

[11]吴兆福,高飞,陶庭叶.小波变换后的噪声信息在大坝变形监测精度评定中的应用[J].地球科学进展,2008,23(6):590-593.

[12]黄晓冬,唐常杰.基于基因表达式编程的函数关系发现方法[J].计算机科学,2003,30(增刊):278-282.

猜你喜欢

表达式预测值适应度
改进的自适应复制、交叉和突变遗传算法
加拿大农业部下调2021/22年度油菜籽和小麦产量预测值
±800kV直流输电工程合成电场夏季实测值与预测值比对分析
一个混合核Hilbert型积分不等式及其算子范数表达式
表达式转换及求值探析
法电再次修订2020年核发电量预测值
浅析C语言运算符及表达式的教学误区
一种基于改进适应度的多机器人协作策略
基于空调导风板成型工艺的Kriging模型适应度研究
议C语言中循环语句