APP下载

SVR的树木生长过程建模及其参数优化研究

2010-06-08珊,燕

湖南农业科学 2010年3期
关键词:遗传算法树木向量

王 珊,燕 飞

(北京林业大学,北京100083)

随着计算机技术的发展,虚拟树木模型技术已经比较成熟,在一定程度上取代了实际树木在实验中的应用。树木模型易于操作,可以在短时间内进行多种实验,在以后的研究中还会发挥更重要的作用[1]。树木模型的开发和应用可以促进对树木生育规律由定性描述向定量分析的转化过程,为树木生产决策系统的开发与应用奠定了很好的基础。笔者对生长因子的生长过程建模,生长因子包括树木在生长过程中的高低粗细、光合作用、养分分配、叶片生长、干物质积累等。由于树木生长的年限较长,且短时间内生长因子的生长量变化不明显,很难实时记录其整个生长过程。研究中通常以年为单位,定时测量树木的各生长量,再对数据进行数理分析,建立预测模型,以此来模拟树木生命周期的整个生长过程。以树高为例,对树木生长过程中树高的变化进行建模。此建模方法可以推广到树木其它生长因子的建模应用中。

1 树木生长过程建模

在树木的整个生长过程中,各生长因子总生长量随年龄的生长变化规律表现为非线性关系,并呈现“S”型曲线。通常将这种关系用数学方式表达出来,便是生长方程[1]。常见的生长方程模型有Logistic模型、Gompertz模型、Richards模型以及Weibull模型等。具体到一组实测的调查因子生长量数据,选择合适的模型相当重要。各种模型都具有一些共同的性质,比如单调性、渐近性和拐点性质。但是由于各种模型表达式和参数的差异,模型曲线在具体表现形态上又有各自不同的特征。因此针对不同的生长过程,选择合适的模型才能充分反映研究对象的真实状况。

2 ε-支持向量回归机

支持向量回归机(SVR)就是通过用核函数定义的非线性变换将输入空间变换到高维空间,并在该高维空间求取回归函数的学习过程[3-4]。

给定训练集,其中 xi∈ x=Rn,yi∈y=R,i=1,…,m。ε-不敏感损失函数定义为:

其中ε为不敏感系数,并且ε>0。

选择适当的ε,ε-支持向量回归机的原始优化问题为:

其中C为事先选定的惩罚参数。

在支持向量机中,需要将训练集从输入空间映射到另外一个空间。选择适当的核函数,且满足

建立Lagrange方程如下:

得到对偶优化问题

另外,制备对照药材标准品时,因工作程序的原因,粉碎后的样品距离分装有一段时间。因此,要严格控制粉碎后对照药材贮藏环境的湿度,确保粉碎后的样品能保持在一个较低的湿度范围,减少环境因素对其水分的影响,易于后续的分装工作。

解上述问题可得最优解

构造决策函数为:

3 基于SVR的树木高度生长模型

根据以上介绍,对树木生长因子的生长过采用支持向量回归的方法,建立优化问题;用遗传算法的方法对支持向量回归模型的参数进行寻优,找到最佳参数;将最佳参数代入优化问题,并求解,便得到树木生长因子的模型。具体步骤如下:

3.1 训练数据来源

由于树木生长周期长且变化慢,生长数据的采集存在一定的困难,论文中选取树高作为研究数据。经查阅资料得某树种1~140年平均树高的变化[1]。将其进行描点得如下曲线:

图1 树高生长曲线

图中横坐标为年份,单位为a,纵坐标为高度,单位是m。对此140组数据组成的训练集进行分析,用支持向量回归的方法进行处理,建立其树高生长的数学模型。

3.2 核的选取

常用的4种核函数分别是线性核、多项式核、径向基(RBF)核。通常低维、高维、小样本、大样本等情况的数据集核函数首选RBF核函数。RBF核将样本数据非线性地映射到高维空间,并具有较宽的收敛域。其数学表达式为:

3.3 参数遗传算法优化选择

用支持向量机对数据集进行回归,需要对其参数(惩罚参数 、不敏感系数 、核参数)进行进行初始设置。惩罚参数的取值过小,易出现欠学习现象,取值过大,又会出现过学习现象。不敏感系数取值较小时,预报精度较高,但支持向量的数目较多;取的过大,支持向量数目急剧减少,但会出现欠学习现象。核参数的取值过小时,易出现过学习现象,而的值过大,又会出现欠学习现象。因此,合理选择设计参数的值,对于保证支持向量机的性能至关重要[5]。

最常用的方法是网格搜索法。依次将3个参数在设定的范围内以一定的步长进行划分,假设分别划分为M、N、L个,对它们的所有组合分别训练不同的支持向量机,估计其精度,最终选出学习精度最高的一组作为支持向量回归的参数。这种方法的缺点就是计算量大,尤其是训练大样本数据时搜索工作量太大,费时较多。

遗传算法具有很好的全局搜索能力,为了解决支持向量机参数选择的困难,论文中选用遗传算法,将支持向量机的三个参数作为遗传算法的个体,经过繁殖、交叉、变异进行搜索,找到最佳参数[6]。算法的步骤如下:(1)选取适应度函数。将遗传算法每一代的个体作为支持向量机的参数对训练集进行训练并预测。对预测结果与原数据进行比较,均方误差为:

其中f(xi)为训练集的实际值,yi为预测值,m为训练集样本个数。将此均方误差作为适应度函数,MSE越小说明个体的适应度越高,在遗传过程中被保留的几率更大。(2)创建初始种群。采用二进编码。变量数目为3,种群中的个体数目为100,最大遗传代数为100。选定三个参数的取值范围分别为:C∈[0,600],ε∈[0,4],y∈[0,0.02]。在此范围之内随机建立个体数目为100的初始种群。(3)根据适应度函数计算每个个体的适应度值。(4)繁殖。设置父代与子代的代沟为0.9,交叉概率选为0.7,变异概率选为0.001。对种群依次进行选择、交叉、变异三个遗传算法的基本操作后,生成新的种群。(5)对新的种群进行搜索。重复第(3)、(4)步,计算新种群的个体适应度,繁殖,直到遗传代数等于最大遗传代数100或者均方误差小于设定值并结束计算。此时的结果即为最优解。否则返回第(3)步。

3.4 SVR生长模型

将上述方法取得的最优参数C、ε、γ设置支持向量回归机,对前面提到的训练集数据进行训练,求解对偶优化问题,根据决策方程建立树木高度生长模型。

4 仿真结果与分析

按照以上所列步骤,依次对支持向量回归机参数进行遗传算法寻优,将最优参数代入支持向量机的最优化问题,求解该问题得到树木高度生长的最佳模型。文中所用算法在MATLAB环境下实现。采用遗传算法工具箱并编写程序,对支持向量机的参数进行遗传操作,寻找最佳参数。支持向量机利用台湾林智仁编写的LIBSVM,在MATLAB环境下运行,对其参数进行初始化,执行对训练集数据的非线性回归操作[7-8],得到生长模型决策函数,最后对预测数据集进行预测。仿真结果如下:(1)采用遗传算法对三个参数进行搜索寻优,当遗传代数为100时结束循环,采用最后的结果为最优参数,如下:C=511.627 522 46,ε=0.000 035 18,γ=1.402 523 79 。(2)首先选取训练集中奇数年份的数据作为训练数据。将上述三个参数代入支持向量回归机中,对选取的训练集数据进行训练。得:

并得到70个支持向量,由此便可得出最终的决策函数。

利用此数学模型对训练集中偶数年份的训练数据进行预测,得到预测结果均方误差和相关系数平方,如表1所示。

表1 预测结果与原始数据比较

表中列举采用支持向量回归和三种生长方程模型回归四种不同方法对训练集数据进行回归预测的结果比较。可以看出采用支持向量机建立模型的预测结果误差非常小,几乎接近于零,预测结果与原始数据的相关系数平方约等于1,也说明预测结果与原始数据的相似程度非常高。而采用三种不同生长方程对生长的非线性过程进行拟合,其结果各不相同,并且均方误差相对于支持向量机来说大得多,相关系数平方与支持向量机相比也相差很大。通过对比发现,用支持向量机来建立树木生长模型是精确的。

5 结论

针对树木生长过程这一非线性过程,采用支持向量回归对其高度生长过程建模,同时采用遗传算法对该支持向量回归机的初始参数进行优化选择,最后对所得生长模型进行预测与检验。从实验结果可以看出,实验结果基本准确地反映了树木高度的生长动态过程,并可以有效地预测未知年份的生长情况。利用支持向量回归方法建立树木生长的模型是可行并有效的。该生长过程建模方法可以应用于树木生长可视化模型的构建、对树木生理的研究等其它领域,在后续的研究中可以将树木生长过程中的树干直径、阳光等因素添加到模型中。

[1] 孟宪宇.测树学[M].北京:中国林业出版社,2006.171-201.

[2] 陈金凤.支持向量机回归算法的研究与应用[D].无锡:江南大学,2008.11-15.

[3] 李国正,王 猛.支持向量机导论[M].北京:电子工业出版社,2004.98-105.

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

[5] 李良敏,温广瑞,王生昌.基于遗传算法的回归型支持向量机参数选择法[J].计算机工程与应用,2008,44(7):23-26.

[6] 王小平,曹立明.遗传算法 [M].西安:西安交通大学出版社,2002.

[7] Chih-Chung Chang and Chih-Jen Lin.LIBSVM:a Library for Support Vector Machines [EB/OL].http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf,2009-05-27.

[8] Chih-Wei Hsu,Chih-Chung Chang,Chih-Jen Lin.A Practical Guide to Support Vector Classification [EB/OL]http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf,2009-05-19.

猜你喜欢

遗传算法树木向量
向量的分解
聚焦“向量与三角”创新题
树木之最
辨认树木
树木也睡觉
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
向量垂直在解析几何中的应用
基于改进的遗传算法的模糊聚类算法