首页 理论教育人工神经网络和遗传算法方法的详细介绍

人工神经网络和遗传算法方法的详细介绍

【摘要】:机器学习方法已表现出很好的解释复杂生态数据序列的能力,并能按照模型的形式将这些解释进行综合。在此将详细介绍两个机器学习方法:人工神经网络;遗传算法一、人工神经网络人工神经网络对于分析复杂的数据序列是一个很好的工具,并在多数情况下优于数理统计方法。

生态学家收集的大部分资料都有不同的问题,包括数据间的复杂相互作用和非独立的观测等。机器学习方法已表现出很好的解释复杂生态数据序列的能力,并能按照模型的形式将这些解释进行综合。结果的综合模型不能代替我们的动态建模方法,后者在很大程度上是因果关系并因此产生总体的认识或了解,但是机器学习方法可以被认为是建模方法的辅助,因为它常常能够比动态模型更好地利用数据。

在此将详细介绍两个机器学习方法:人工神经网络(ANNs);遗传算法(GA,genetie algorthms)

一、人工神经网络

人工神经网络对于分析复杂的数据序列是一个很好的工具,并在多数情况下优于数理统计方法。人工神经网络是作为生物神经模型来构建的。由于它们有较强的解释数据的能力并已在科学上广泛应用。在过去的十年间,它们在生态建模中的应用日益增加。

通常神经网络由三层组成:输入层、隐藏层和输出层。输入层包括对输出层中模拟结果具有重要意义的因子。隐藏层包括能够联系输入层和输出层之间的方程。这些方程可以是根据统计学、因果关系或其他与系统有关的知识或者三者的结合而构建的。需要有一组观测数据用于“学习”或检验可供选择的方程等,同时另外一组独立的数据用来检验模型的有效性原则上,与其他建模过程没有什么差别,不同的是当有了改进隐藏层各种关系的新的观测时,这种模型结构有助于快速改进。

生态建模中常用的两个人工神经网络模型是:反向神经网络(back propagation neuron network,BPN)和自组织只映射(self-organizing mapping,SOM)。

反向神经网络是一个强大的系统,常常能够模拟变量间复杂的关系。同时它常常也允许建立给定的输入目标的输出变量预测。BPN-ANNs的原理显示在图23-3中。数据被用来进行模型校正。目的是找到一个经过校正的,将使输入和输出进行正确关联的模型。校正系统环—输出估计—比较—误差的修正将持续进行,直到得到满意的比较。

图23-3 如何利用数据来校准模型

反向神经网络体系是自由分层的神经系统。信息流从输入层,通过隐藏层到达输出层。一个层的节点与下一层所有的节点相连,但是同层中的节点不相连。

二、遗传算法(www.chuimin.cn)

遗传算法提供了用于模型(子模型)选择的方法,并制定了一系列用于解释变量或数据组空间分布的规则。目前有几种遗传算法,它们的特点或多或少都有一些相似。BEAGLE(biological evolutionary algorithm generating logical expressions)算法将用来说明生态建模中对遗传算法应用背后的基本思想。

BEAGLE包括六个主要成分:

1.SEED(selectively extracts example data)能使数据文件一个简单的格式可读,包括ASCII文件。同时也承担下述选择功值:将数据随机分成两个子集,为时间序列添加最主要的或滞后的变量。

2.ROOT(root-orientated optimization tester)能够使用户检测一个或多个规则。如果成功,这些规则将被用来作为后来成分的起始点,但是常常很快就会被更好地规则所代替。如果没有初级规则,ROOT将随机地产生所需数量的起始规则。

3.HERB(heuristic evoluionary rule breeder)对于SEED所准备的数据文件产生新的规则。HERB评估所有现存的针对训练数据序列的规则并去除一些不成功的规则。最后它将随机的改变一些规则,清除一些语法谬误(由转变规则引入的),并依合适的造句处理法简化这些规则使之更易于了解。修改规则的整个过程就是重新检测χ2统计。

4.STEM(signature table evaluation module)使用HERB所找到的规则来构建信号表,重试训练数据并计算每次信号发生的次数。它累积每一个信号的目标表达式的平均值。

5.LEAF(logial evaluator and forecaster)使诱导规则用于额外数据序列上(与训练数据具有相同的结构)。计算规则和规则结合的成功率。

6.PLUM(procedural languageuilization module)将诱导规则转变成PASCAL程序或者FORFRAN子程序,使这些规则在实际应用中能够输出到其他的软件语言中。

生态建模中遗传算法的应用看来很有前途。它可能被广泛应用于选择子模型,以及在结构动态模型中构建目标函数更加流线型的应用。不久的将来还能看到遗传算法所产生的规则和使用目标函数改进结构动态模型的结合应用。