动态全参数自校正BP神经网络模型的改进_神经网络模型论文

动态全参数自调整BP神经网络模型的改进,本文主要内容关键词为:神经网络论文,模型论文,参数论文,动态论文,BP论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

中图分类号:C931

文献标识码:A

引言

人工神经网络理论是20世纪80年代在国际上迅速发展起来的一个前沿研究领域。近年来,更是掀起了一股人工神经网络研究、开发应用的热潮。人工神经网络的理论的应用已渗透到各个领域,并在智能控制、模式识别、计算机视觉、自适应滤波和信号处理、非线性优化、自动目标识别,生物医学工程等方面取得了显著成效。BP神经网络模型是人工神经网络的重要模型之一。通常,BP算法是通过一些学习规则来调整神经元之间的连接权值,在学习过程中,学习规则以及网络的拓扑结构不变[1~6]。

然而,一个神经网络的信息处理功能不仅取决于神经元之间的连接强度,而且与网络的拓扑结构(神经元的连接方式)、神经元的输入输出特性和神经元的阀值有关[7,8]。因而,神经网络模型要加强自身的适应和学习能力,应该知道如何合理地自组织网络的拓扑结构,改变神经元的激活特性以及在必要时调整网络的学习参数等。所以,BP神经网络的学习不仅涉及到权值的学习,而且还涉及到网络结构、神经元的输入输出特性,甚至学习规则本身的学习。许多学者在这方面做了大量的研究工作,提出了不少的改进方法[9~13]。我们在文献[14]中综合、改进了以前学者的研究,提出了BP神经网络动态全参数自调整学习算法。本文在此基础上又做了如下改进:一是用逐步搜索法确定初始权值,以改善局部极小的问题;二是在隐节点数目的确定方面,从小网络出发,根据网络的收敛性能好坏,对隐节点数进行增加;三是在实际问题中结合自组织算法来确定输入层维数。通过应用实例表明,本文得到的新的改进的BP网络模型不仅加快了网络的收敛速度,而且优化了网络的拓扑结构,从而增强了BP神经网络的适应能力。

一、BP人工神经网络模型的构造和评述

式中b为学习速率,在传统BP算法中,b为常数,它取值的大小直接影响到算法是否收敛或算法的收敛速度。

(二)传统BP网络的评述

传统BP网络具有思路清晰,结构严谨,工作状态稳定,可操作性强等特点,并由由于隐节点的引入,使得一个三层的非线性网络可以以任意精度逼近任何连续函数,从而在模式识别、非线性映射、复杂系统仿真等许多领域得到广泛应用。但存在以下几个缺陷:

(1)传统的BP网络既然是一个非线性优化问题,这就不可避免地存在局部极小问题。网络的极值通过沿局部改善的方向一小步一小步进行修正,力图达到使误差函数E最小化的全局解,但实际上常得到的是局部最优点。

(2)学习过程中,下降慢,学习速度缓,易出现一个长时间的误差平坦区,即出现平台。

(3)网络结构选择不一,网络过大,在训练中效率不高,而且还会由于过拟合造成网络性能脆弱,容错性下降,浮点溢出,而太小的网络可能根本不收敛。在实际应用中,网络结构人为性较大,缺乏规则指导。

我们在文献[14]中对BP算法主要作了如下改进:在确定隐节点个数时,开始放入足够多的隐节点,然后通过学习进行删除或合并,把那些不起作用的隐节点逐步去掉,一直减少到不可收缩为止,依此优化网络,提出了动态全参数自调整学习算法。本文在此基础上又做了进一步改进。

三、BP网络的再改进

(一)初始权值的选取

虽然随机产生初始权值可以提高误差函数E取得全局最优的概率,但仍具有一定的盲目性和随机性。在BP算法中由于采用sigmoid函数:,实际输出值在[0,1]之间。因而初始权值不宜太大,一般都选在[-1,1]之间。这里我们采用逐步搜索法,即先将初始权值区域(记为H)N等分。在这N个区域内分别随机产生初始权值进行学习,选取对应误差函数E最小的那个区域再N等分,再在这N个小区域内重复上述步骤,当误差函数E不再减小时,我们认为找到了最优点并停止迭代。可以证明,只要区域取得足够小,这种方法可以比较有效地避免局部行为。

(二)隐节点数的确定

对于隐节点数的确定,我们采用由小到大增长的方法,选取对应误差最小的那个数目作为隐节点数。同时,结合隐节点的删除与合并算法[14],最终得到一个较合适的神经网络BP模型。

(三)输入待定的BP网络输入维数的确定

传统的BP网络都研究输入、输出层维数确定的建模问题。然而,当我们研究复杂系统建模时,例如社会、经济系统,系统内各因素间的复杂关系还不能由我们现有的理论知识完全合理地进行解释,即是不明确哪些因素(自变量)对我们所关心的变量(因变量)关系密切些。这时,为避免对因变量有重要影响的因素的漏选,常用的方式是用定性分析方法先选出数量较多的对因变量较有影响的那些自变量来,再着手建立系统的模型。当这些因素(自变量)很多时,把它们都作为BP网络的输入,显然会增加网络的复杂度,降低网络性能,大大增加计算运行的时间,影响计算的精度。

自组织算法[15]是自组织理论与方法中最重要的方法之一,它又称为归纳学习算法、分类法、heuristics方法或数据分组处理方法(Group Method of Data Handling(GMDH),它对一些复杂的经济问题的研究取得了令人满意的效果[16]。自组织算法为解决BP网络输入维数这一难题提供了较好的方法。由于自组织算法应用不完全归纳法,可以对大量的输入变量进行处理,因此,应用它时选取变量(因素)可尽量全面、广泛,不必经过专门的主观筛选。这样,我们先用自组织算法筛选出对因变量(网络输出)最有影响作用的变量(自变量)作为BP网络的输入节点,再用BP算法进行学习。这样作的思想在于,虽然自组织算法在筛选出对因变量最有影响的因素(自变量)方面有独到的优点,但其预测精度往往不如BP算法(由于自组织算法主要使用线性逼近来得到结果)。因而,取长补短,将两种方法有机地结合起来,增强了BP网络对复杂系统建模的能力。

三、改进的BP算法步骤

综合一,二部分,我们得到了如下的改进的BP算法,步骤如下:

(1)根据实际问题,选入对因变量有影响的变量(自变量),运用自组织方法筛选出对因变量最有影响的变量,以此确定输入节点的个数。

(2)设定输出层节点的个数,并初始化(包括给定学习精度ε,规定迭代步数MO,隐节点数上限R,学习参数b,动量项系数a,初始隐节点数r为2,N等分初始权值的容许区域H,记为

(3)输入学习样本,使样本参数变为[0,1]之间;

(4)在选定的小区域上随机产生初始权值;

(5)按BP算法对网络进行学习;

(6)判断迭代步数是否超过规定步数,是,转(7),否,转(8);

(7)隐节点数r加1,若r超过上限R,则终止,否则,转(9);

(8)判断学习精度是否达到要求,是,转(9),否,返回(5);

(9)调用隐节点的删除与合并算法,若有删除或合并,则转(5),否则,终止。

四、应用实例

能源是国民经济发展的基础,是一种极其宝贵的自然资源。随着社会的发展,人们生活质量的提高,对它的需求量日益增大。能源消费量不仅与一个国家的经济结构、科学水平、生产模式等因素有关,而且与地理条件、人民生活习惯、国家的发展政策等因素有关。能源的消费量与影响它的因素之间存在着复杂的关系。在此,选取影响我国能源的主要因素(国民生产总值指数、广义节能率、煤炭产品出厂价格指数、煤炭在能源消耗中的比例、天然气产品出厂价格指数、天然气在能源消耗中的比例、水电出厂价格指数、水电在能源消耗中的比例、石油产品出厂价格指数、石油在能源消耗中的比例、能源产品出厂价格综合指数等),建立它们与反映我国能源消费量之间的关系,并进行预测。由于经济信息折旧快,过早的数据不能真实地反映当前特征,样本区间太小又会导致模型本身不够精确,故我们选取1978年至2002年之间的数据,作为样本区间(数据详见《中国统计年鉴》1978~2002年)。下面我们分别利用自组织方法(GMDH)、动态全参数目调整学习算法和本文改进的BP神经网络模型来建模并加以比较。

(一)能源消费水平的自组织建模

利用自组织方法通过计算机筛选与我国能源消费有关的重要变量。输入的变量有:国民生产总值指数、广义节能率、煤炭产品出厂价格指数、煤炭在能源消耗中的比例、天然气产品出厂价格指数、天然气在能源消耗中的比例、水电出厂价格指数、水电在能源消耗中的比例、石油产品出厂价格指数、石油在能源消耗中的比例、能源产品出厂价格综合指数等。我们选取1978年~1998年的样本数据(共21对),对其进行模拟优选,得到的模型为:

运用已建立的模型来预测我国1999年~2002年的能源消费量。预测结果及其误差分析见表1(表略,见原文,下同)。

(二)利用BP动态全参数自调整学习算法建立模型

由于影响我国能源消费量的变量主要有11个国民生产总值指数、广义节能率、煤炭产品出厂价格指数、煤炭在能源消耗中的比例、天然气产品出厂价格指数、天然气在能源消耗中的比例、水电出厂价格指数、水电在能源消耗中的比例、石油产品出厂价格指数、石油在能源消耗中的比例、能源产品出厂价格综合指数),因此选择BP网络的结构为:输入层节点数11个,输出层节点数1个。隐层节点数取大一些,这里取28个。并令迭代步数=20000,误差上限ε=0.002,学习速率b=0.5,惯性参数a=0.1。将1978年至1998年的数据作为学习样本,1999年至2002年的数据作为预测样本。将输入节点的数据化为(-1,1)之间,经过该算法的学习,多次筛选,得到最优化的BP神经网络结构11-15-1(即输入层节点为11个,隐层节点为15个,输出层节点为1个)。

运用该模型预测1999年~2002年的我国能源消费量,预测结果及其误差分析见表1。

(三)用改进的BP算法(输入待定的BP网络模型)建模

我们利用本文改进的BP算法来建立预测模型。将11个变量(国民生产总值指数、广义节能率、煤炭产品出厂价格指数、煤炭在能源消耗中的比例、天然气产品出厂价格指数、天然气在能源消耗中的比例、水电出厂价格指数、水电在能源消耗中的比例、石油产品出厂价格指数、石油在能源消耗中的比例、能源产品出厂价格综合指数)的1978年至1998年的数据作为学习样本输入该算法中,先用自组织方法筛选出对因变量(网络输出)最有影响作用的变量(自变量)作为BP网络的输入节点,经过优化,得到输入节点为3个(见四、(一)部分)。取隐层节点数为2,其它初始化参数同(二)部分。经过该算法的学习,多次筛选,得到最优化的BP神经网络结构3-4-1,如图2(图略)。

同时得到模型的最优连接权值W、V距阵为:

运用该模型预测我国1999年~2002年的能源消费量,预测结果及其误差分析见表1。

从表1中显然可以看出,采用改进BP算法所得到的模型的预测精度较高,最大相对误差不超过1.02%,较自组织算法和动态全参数自调整学习算法优越!并且该算法的运行时间也较直接应用BP动态全参数自调整学习算法运行的时间短,从而提高了算法的效率。

五、结束语

本文在传统BP算法以及近期成果综合改进的基础上,对BP神经网络中初始权值的选取,隐节点的确定及输入维数的确定三个问题加以改进,提出新的BP算法,该算法具有以下特点:

(1)在BP网络初始权值的选取中使用逐步搜索法,避免了盲目性和随机性,不仅加快了网络的收敛速度,而且提高了网络误差函数E取得全局最优的概率。

(2)使用BP神经网络进行预测,所得的准确性较好,但变量之间的解释性极差,文中结合自组织方法确定网络输入层节点数,不仅可以减少网络的输入变量,使网络的计算量变小,学习速度加快,而且可增强模型的可解释性,使人们更好地理解复杂系统因变量与自变量之间的关系。

(3)在确定隐层节点中使用了从小到大增加的思想,并结合删除和合并算法,从而使得隐层节点在选取中有规可依,避免了以往依靠经验的不科学方法。

(4)将自组织方法与删除和合并算法结合,分别确定网络的输入层节点数和隐层节点数,便于网络根据实际问题动态调整自己的输入层和隐层节点数,避免了人为因素的干涉,这不仅加快了网络的收敛速度,而且可以优化网络的拓扑结构,从而增强了BP神经网络的适应能力。

由以上特点以及文末的实例分析结果可以看出,本文建立的BP算法学习能力非常强,网络性能很好,这说明了此种算法是可行的、有效的,在实际问题中具有一定的应用价值。

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  

动态全参数自校正BP神经网络模型的改进_神经网络模型论文
下载Doc文档

猜你喜欢