首页 > 文章中心 > 神经网络的算法

神经网络的算法

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇神经网络的算法范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

神经网络的算法

神经网络的算法范文第1篇

【关键词】BP算法 蚁群优化算法 放大因子 神经网络

伴随着近年来对于人工智能(Artificial Intelligence)研究的不断深入,其中一项重要的分支内容也越来越引起人们的重视,即人工神经网络,这一技术研究现已经广泛的应用到了信息处理、车辆检测、价格预测等多个领域当中。而BP网络神经算法则是应用普及程度最高的一项神经网络内容,然而这一传统的神经网络算法却存在有一些较为显著的缺陷性,如局部不足、收敛缓慢、缺乏理论指导等,因此有必要对传统的算法进行改进。据此本文主要就通过对于上述问题的分析,提出了引入放大因子以及应用蚁群优化算法两项改进手段,并通过将改进后的算法应用到瓦斯浓度检验中,有效的验证了这一算法的科学性。

1 传统BP算法的缺陷

1.1 收敛缓慢

因为BP神经网络的误差函数的曲面图像十分复杂,因此极有可能会有一些相对较为平坦曲面的存在,在起初之时的网络训练收敛值较大,然而伴随着训练的进行,在训练行进到平坦曲面位置时,依据梯度下降法,便极有可能会发生尽管误差值较大,然而误差梯度值却较小,进而也就导致权值的可调整值变小,最终仅能够采取加多训练次数的方式来逐渐退出目标区域。

1.2 局部不足

尽管BP算法能够促使均方误差达到最小化权值与阈值,然而因为多层网络结构的均方误差存在有极大的复杂性特点,既有可能导致多项局部极小值情况的出现,从而使得算法在敛收之时,无法准确的判定出是否求得最优解。

1.3 缺乏理论指导

由于仅在接近于连续函数的情况时才需多层隐含层,但是在实际情况下往往是选用单层隐含层,这就会导致一个十分明显的问题,即隐含层神经元的数量大小是对网络计算的复杂性是具有直接性影响的,从理论层面来说神经元数量越多,所得到的求值才能够越精确,然而现实情况往往都是依据经验公式,以及大量的实验验证来明确出相应的隐含层神经元数量,这必须要借助于大量的运算处理才能实现。

2 算法改进

2.1 放大因子的引入

在精确性允许的前提下,为了获得更大的几何间隔,可放宽容错性,为阈值增添以一定的松弛变量。但还在BP神经网络的学习过程当中,因为样本所出现的随机性改变,在通过归一化处置后,于初期学习阶段,样本的训练误差较大,收敛较快,然而伴随着训练的持续进行,特别是在样本训练结果无限趋近于1/0之时,这是训练便会达到平台期,也就是相对停滞阶段。

在将放大因子运用到实际训练当中,对隐含层与输出层当中的权值采取调整,所产生的神经网络训练结果影响,要明显超过输入层和隐含层当中权值调整所造成的影响,因而在本次研究当中,将放大因子应用在了隐含层和输出层权值的调整之中。

2.2 应用蚁群优化算法

蚁群优化算法是一种对离散优化问题进行求解的通用型框架。在某条具体路径当中所经过的蚂蚁数量越多,相应的信息条件密集性也就越大,从而这一路径被选取的概率也就越大,其呈现出的是一种正反馈的现状情况。每一只蚂蚁在仅穿过任一节点一次的情况之时,对被选用的权值节点进行明确的记录,从而该区域之中的节点也就组成了一组候选权值,在所有蚂蚁均完成了首次选择后,依据全局更新策略来对信息素的密度进行更新。直至满足于最大进化代数,也就得到了最佳的权值组合。

3 实验分析

3.1 变量选取

考量到瓦斯浓度影响因素所具备的的不确定性,因此可对各类因素予以筛选,在对短期预测不造成影响的情况下,来选择出影响力最大的因子。在瓦斯浓度监测的特征变量中主要包括有风速、温度、负压、一氧化碳浓度、瓦斯浓度。

3.2 参数选择

依据上述特征变量内容,此实验的BP神经网络结构便可明确为输入层4项:风速、温度、负压、一氧化碳浓度,输出层1项:瓦斯浓度。针对以上特征变量依次选用传统BP算法与改进后的算法进行测量,隐含网络层均为1个。隐含层节点可通过下列公式予以验证:

m=0.618*(input+output)

在这一公式当中input与output即为输入层与输出层节点数量。BP神经网络算法的训练数共1100,预计误差值为0.0011,其中隐含层应用Sig mod函数,在输出层之中应用线性函数。蚁群优化模型最终其规模明确为600,权值区间取[-1,1],迭代次数取1100次。

3.3 结果分析

在考量到具体运用时的科学性,可编写一项测试软件,针对数据内容予以计算处理,并将多次试验所得数据信息予以对比,改进之后的BP神经网络和传统BP网络其检测精确性如表1所示。

通过观察表1,能够明显的发现,经过改进的BP神经网络算法其训练拟合度相较于传统BP神经网络算法而言更高,同时准确率也显著提升了3.82%,收敛速度也有了显著的提升,权值选取也有了理论性的指导。

4 结束语

总而言之,传统的BP神经网络算法存在收敛速度较慢、且容易陷入到局部不足以及缺乏理论指导的设计陷阱,本文主要通过对放大因子的引入,使得BP神经网络算法在实际训练时的权值调整方式发生了转变,进而通过应用蚁群优化算法来实现了对于BP神经网络权值的选择,并构建起了相应的神经网络模型以及改进后的训练方法。最终将此改进之后的BP神经网络算法应用到瓦斯浓度预测领域之中,其效果明显优于传统的BP神经网络算法。

参考文献

[1]杨红平,傅卫平,王雯等.结合面法向和切向接触刚度的MPSO-BP神经网络算法的建模[J].仪器仪表学报,2012(08).

[2]陈桦,程云艳.BP神经网络算法的改进及在Matlab中的实现[J].陕西科技大学学报(自然科学版),2014(02):45-47.

神经网络的算法范文第2篇

关键词: 网络流量检测; 群智能算法; RBF神经网络; 网络安全

中图分类号: TN926?34; TP393 文献标识码: A 文章编号: 1004?373X(2016)20?0012?03

Abstract: The application of swarm intelligence optimizing neural network in network security and a network traffic detection model based on neural network algorithm are studied in this paper. QAPSO algorithm is used to optimize the basis function center and base function width of RBF neural network, and the connection weights of the output layer and the hidden layer as well. The detection model studied in this paper is analyzed by means of an example. The collected data is used to train the network traffic identification system and test its performance. The method researched in this paper is compared with the algorithms based on the conventional PSO and HPSO. The results show that the detection method has a faster recognition speed and better recognition accuracy, and can avoid the occurrence of local optimal solutions.

Keywords: network traffic detection; swarm intelligence algorithm; RBF neural network; network security

0 引 言

随着互联网技术不断发展和普及,互联网络中的应用和服务类型不断增加,为了提高网络安全,保护网民、公司企业以及政府部门等的财产与利益,需要对网络流量进行高效的监测[1?2]。

RBF神经网络具有强大的非线性拟合能力,即非线性映射能力,以及自学能力,同时便于计算机实现,因而在网络流量检测等网络安全领域得到了广泛应用。但是RBF神经网络的性能特别依赖网络参数选取的好坏,而传统RBF神经网络参数通常由人为按经验或随机选取,因此网络的性能具有较强的随机性[3?4]。

近年来,群智能优化算法逐渐发展并得到较为广泛的应用,其中粒子群优化算法是一种能够全局优化,具有建模速度快、收敛效率高的群智能优化算法,然而使用常规PSO算法优化神经网络仍然存在收敛速度和全局优化能力不能够达到平衡等问题[5?7]。因此本文研究一种基于量子自适应粒子群优化算法(QAPSO),对RBF神经网络的基函数中心[Ci]、基函数的宽度[σi]以及输出层与隐含层的连接权值[wi]进行优化。

1 基于群智能优化的神经网络算法

本文研究的QAPSO优化算法主要分为4部分,分别为初始化种群、估计进化状态、控制参数自适应以及处理变异[8]。

1.1 初始化种群

2 实例分析

为验证本文建立基于QAPSO优化RBF神经网络的网络流量检测模型的性能,使用基于Libsvm软件包的C#程序并结合数值计算软件Matlab R2014对网络流量进行采集、计算以及分类。网络流量检测类型如表2所示。

表2 网络流量检测类型

使用常规PSO优化算法及HPSO优化算法对RBF神经网络进行优化,并建立同样的网络流量检测模型,使用同样的训练数据样本进行训练,使用同样的测试数据样本进行性能测试。常规PSO优化算法的参数为空间维度[D=24],粒子数量[N=30],最大迭代次数[tmax=200],连接权值[w=0.9~0.4],加速系数[c1]和[c2]均为2。HPSO优化算法的参数为空间维度[D=24],粒子数量[N=30],最大迭代次数[tmax=200],连接权值[w=0.8~0.2],加速系数[c1]和[c2]均为2.5,[Vmaxd=0.5×Range]。QAPSO算法的参数为空间维度[D=24],粒子数量[N=30],最大迭代次数[tmax=200],连接权值[w=0.8~0.2],加速系数[c1]和[c2]为1.5~2.5,[Vmaxd=Range],[r1d]和[r2d]为0~1之间的随机数。

从图1可以看出,常规PSO优化算法使得适应度函数收敛到稳定值时的迭代次数为171次,HPSO优化算法使用了112次,而本文研究的QAPSO优化算法只使用了76次。同时,本文研究的QAPSO优化算法的收敛值更低,适应度函数的值即为RBF神经网络的训练误差,因此适应度函数越小,RBF神经网络的训练误差越小,性能越好。因此,本文研究的QAPSO优化算法相比另外两种PSO优化算法具有更快的收敛速度和更高的收敛精度,极大地提高了RBF神经网络的泛化能力。使用本文研究的QAPSO?RBF检测模型及常规PSO和HPSO优化RBF算法的检测模型对实验数据进行识别。表3为三种检测模型的检测准确率与反馈率对比。图2为三种模型的平均检测率和反馈率对比。

通过表3的数据可以看出,本文研究的QAPSO?RBF检测模型对12种类型网络服务与应用均有较好的识别准确率和反馈率,平均识别准确率达到了92.81%,比HPSO?RBF算法的平均识别准确率高出3.49%,比PSO?RBF算法的平均识别准确率高出6.99%。QAPSO?RBF识别算法的平均识别反馈率达到了94.81%,比HPSO?RBF算法的平均识别反馈率高出3.51%,比PSO?RBF算法的平均识别反馈率高出7.28%。可表明相比其他粒子群优化算法,本文研究的QAPSO优化算法在进行多次迭代后仍然具有较好的活跃性,跳出局部最优解,对最佳值的全局搜索能力具有非常显著的提高,加快了算法收敛速率,提高了识别准确率。

3 结 论

本文研究一种群智能优化神经网络算法的网络流量检测模型。通过实际测试验证,相比其他粒子群优化算法,本文研究的QAPSO优化算法在进行多次迭代后仍然具有较好的活跃性,跳出局部最优解,对最佳值的全局搜索能力具有非常显著的提高,加快了算法收敛速率,提高了识别准确率。

参考文献

[1] 卢金娜.基于优化算法的径向基神经网络模型的改进及应用[D].太原:中北大学,2015.

[2] 钟建坤,周永福.群智能算法优化神经网络在网络安全的应用研究[J].激光杂志,2015,36(4):143?146.

[3] 李博.粒子群优化算法及其在神经网络中的应用[D].大连:大连理工大学,2005.

[4] 蒋林利.改进的PSO算法优化神经网络模型及其应用研究[D].厦门:厦门大学,2014.

[5] 陈伟.基于群体智能算法的人工神经网络优化及其应用[D].无锡:江南大学,2007.

[6] 刘晓刚.群体智能算法在RBF神经网络中的应用[D].青岛:青岛大学,2008.

[7] 马汝辉.基于网络流量异常检测的网络安全技术研究[D].无锡:江南大学,2008.

神经网络的算法范文第3篇

关键词:粗糙集 遗传算法 BP神经网络 优化

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2015)03-0121-01

目前BP神经网络已经成为应用最为广泛的神经网络模型之一,BP神经网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过逆传播来不断调整网络的阈值和权值,使网络的误差平方和最小。BP神经网络可以应用于聚类、分类、预测等。神经网络需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。在具体问题中,要找到某些问题的一些特征,以及对应的评价数据,用这些数据来训练神经网络。

1 粗糙集理论优化BP神经网络

1.1 粗糙集理论概述

S作为一个知识表达系统粗糙集一般形式记为:S=(U,A,V,f),其中:U为论域;A为属性集;V为属性值域;;B为条件属性集合;C为决策属性集合;是一个信息函数。

定义1:对于一个知识表达系统S=(U,A,V,f),满足下列两个条件的是条件属性集C的约简:

定义2:对于一个知识表达系统S=(U,A,V,f),设,对任意集合,则X关于R的下近似集定义为:

上近似集定义为:。

定义为X的R粗糙集。上、下近似集是定义在U的幂集上的一对一元算子。集合X关于R的边界区可表述为:。通常能够肯定地将U中的对象划分为X或-X两个不关联的子集,其对象总数等于排除X的R边界的对象数目,即。

定义3:令P与Q是U中的等价关系,记为Q的P正域,即

Q的P正域是U中所有根据分类U/P的信息可以准确地划分到关系Q的等价类中去的对象集合。令P和Q为等价关系族,R,如果:

则称R为P中Q不必要的,即R为P相对于Q可以约简的。P的Q约简简称为相对约简。

1.2 RS属性约简算法

属性约简是粗糙集理论中的核心知识,也是粗糙集在本文中应用的重要知识。在实际问题中信息是大量的这样就会存在冗余,而且有些信息并不起决定作用,所以要对这些信息进行筛选,删除冗余信息,也就是要进行属性约简。

首先根据数据特征确定离散化标准,然后对连续特征进行离散化,建立出决策表。决策系统表示条件属性,D表示决策属性。定义一个的矩阵,其任一元素为:

对于满足:,或者: 且或者:。

表示区别元素的所有属性的函数,对于每个属性指定Boole变量指定一个Boole函数用来表示;如果,指定Boole常量1,则[1]

的极小析取范式中得所有合取式是条件属性集C的所有D约简。每个约简对应一个决策算法,通过比较各决策算法的相容度选定最优约简。

2 利用遗传算法优化BP神经网络研究

BP神经网络算法缺乏全局性,因为它是一种只考虑局部区域的梯度法,这样就容易陷于局部最优极值。然而遗传算法是一种全局优化方法,它是一种基于生物进化过程的随机搜索的,通过变异操作和交叉很大程度减小了初始状态的对数据的影响,将遗传算法与BP神经网络结合可以扩大神经网络系统搜索解的空间,从而摆脱了算法易陷于局部最优解的弊端,使算法具备了全局最优解的能力。

遗传算法优化BP神经网络初始权重和阈值主要包括适应度函数和染色体编码方式的选择,还有一些遗传操作如选择、交叉、变异等。这些在文献[2]中有较详细的说明。下面对基于遗传算法优化神经网络权值的学习过程进行说明:

(1)初始化种群P包括交叉规模、交叉概率Pc、突变概率Pm以及权值初始化;(2)计算出每一个个体评价函数,并将其排序。

按概率值选择网络个体,(为个体的适应度),适应度可用下面式子衡量,,

利用交叉概率Pc对个体和进行交叉操作,产生新个体和;

(4)利用变异概率Pm突变产生的新个体;(5)将交叉操作与变异突破产生的新个体插入到种群P中,并计算新个体的评价函数;(6)若找到了最优解或者满意的个体或已经达到最大的迭代次数则算法结束,否则转入第三(3)步进入下一轮迭代运算,周而复始直到得到最优解为止。如达到预先设定的性能指标后,将最终群体中的最优个体解码即可得到优化后的网络连接权值系数。

3 基于粗糙集和遗传算法的神经网络模型

种群是指一个个体表示BP神经网络的一个初始权重和阈值,所以首先,获得初始种群;接下来利用粗糙集RS对初始种群进行属性约简得到一个最小属性约简集,作为输入神经元;再通过遗传算法来优化网络参数(初始权值、阈值),进一步确定隐含层神经元个数,之后,通过BP神经网络训练和测试得到种群的适配值;最后,再通过遗传操作得新的种群,直到达到预定的进化的代数为止,粗糙遗传神经网络模型如图1所示:

4 仿真实验分析

利用本文提出的算法进行仿真实验,首先对论文献[3]中利用粗糙理论进行属性约简,得到、、和4个约简,最佳约简为,核为。

输入层神经元为元素,输出层神经元为元素,由遗传算法优化隐含层4个神经元节点。采用步长法,构造优化BP神经网络模型,根据输出误差大小自动调整学习因子来加快收敛速度和减少迭代次数,取步长,动态因子,网络误差小于0.03,从25个样本中选取取前5个作为测试样本,其余后20个作为训练集样本,由遗传算法优化的网络权值、阈值作为初始值对样本进行训练和测试。设最大迭代次数为200,当误差达到预定的目标值和预先确定的最大迭代次数时训练停止。与此同时应用基本BP算法对样本进行训练,两者比较表明粗糙遗传神经网络优于BP神经网络的学习效果,网络学习曲线反映出粗糙遗传神经网络具有学习速度快、误差小的优点。

5 结语

本文提出了利用粗糙集的属性约简结合遗传算法对BP神经网络算法进行优化的理论,对输入变元进行约简,降低了输入变元维数。仿真实验结果表明,粗糙集遗传算法优化的BP神经网络较BP神经网络学习速度快而且误差减少。

参考文献

[1]温泉彻,彭宏,黎琼.基于粗糙集和遗传算法的神经网络模型研究[J].计算机工程与设计,2007(11).

神经网络的算法范文第4篇

关键词: BP神经网络; 非线性方程组; 迭代算法; 误差收敛

中图分类号: TN911?34; TP183 文献标识码: A 文章编号: 1004?373X(2013)08?0020?03

0 引 言

神经网络具有许多优点,如大规模并行处理、分布式存储以及网络的计算时间复杂度几乎为零等[1],因此,神经网络的应用已越来越广泛。BP(Back Propagation)神经网络是采用误差反向传播学习算法的多层前馈神经网络,它是当前获得广泛应用的模型之一。BP算法的基本思想[2?4]是: 网络学习由输入信号的正向传播和误差的逆向传播两个过程组成。正向传播过程是指样本信号由输入层输入,经网络的权重、阈值和神经元的转移函数作用后,从输出层输出。

如果输出值与期望值之间的误差大于预期,则转入误差反向传播阶段,进行修正,即误差通过隐层向输入层逐层返回。网络的学习训练过程实质就是根据输出值与期望值之间的误差不断调整网络权重和阈值的过程,直到网络输出误差减小到允许值或到达设定的训练次数为止。由于 BP神经网络模型具有较强的随机性和不确定性,很多研究对BP算法进行改进,并取得了大量的成果,具体参看文献[5?6],这些算法提高了BP神经网络在实际应用中的可靠性,使得BP神经网络的应用范围越来越广泛。

神经网络求在求解非线性方程组中的应用也有了较好的研究。文献[7?9]研究了人工神经网络逼近非线性多元函数的可能性,得到了相应于几类特殊作用函数的神经网络逼近存在性定理, 这些定理保证了用单层神经网络逼近连续多元函数时,可达到任意的精确度。赵启林等提出一种权值耦合的BP神经网络模型[10],吴灵敏等提出了对形式为[x=f(x)]的多元非线方程组的神经网络求解方法[11],赵华敏等利用能量函数降能的方法寻找方程组的根[12]。

这些方法对多变元非线性方程函数形式有一定的要求。孙银慧等利用迭代BP神经网络的逼近非线性方程组的函数的反函数的方法,提出了一种通用性较强的求解方法[13]。

本文对文献[13]中所提出的方法进行了分析研究,发现存在误差收敛过早导致无穷跌代以及收敛值并非最小值的问题,并对算法进行了改进。

1 迭代的ANN算法

1.1 非线性方程组

研究如下非线性方程组的数值解问题[13]:

[y=f(x)] (1)

式中:[f:RnRn;x,y∈Rn]。

假设[x0=[x1,0,x2,0,...,xn,0]T]为它的一个解,[f(x)]的反函数 [x=f-1(y)]存在,则有:

[f(x0)=0, x0=f-1(0)](2) 尽管利用[f(x)=0]求解[x0]很不容易,但是若能求得[x=f-1(y)],则可由式(2)方便求得式(1)的解[x0]。虽然[x=f-1(y)]的显式表达式同样不易求得,但如果能够得到其映射数据,则可以利用各种拟合方法逼近[x=f-1(y)],从而得到[x0]。这种映射数据可以由[y=f(x)]很方便的得到,因而非线性方程组(1)的求解问题转化为寻求一种好的拟合方法,利用已有的映射数据来精确逼近[x=f-1(y)],采用人工神经网路(ANN)加以实现。

1.2 迭代的神经网络算法

1.2.1 算法简介

文献[13]中主要介绍了两种方法,一种是简单的ANN方法,另外一种是迭代的ANN方法,详见文献[13]。在求解算法中,给定方程组(1)的解的存在区域D,经过其中的算法1和算法2得到的输出 [x0′=[x1,0′,x2,0′,....,xn,0′]T]近似为方程组(1)的解[x0]。

对于误差的衡量,由于实际计算中[x0]并不可知,无法计算解误差[|x0-x0′|],用[Δ=||Δy||∞=max(Δyi)],其中[Δyi=|yi,0-yi,0′|,][i=1,2,...,n]来衡量,其中[y0′=f(x0′)]。此处文献中的[Δ]和[Δyi]的描述有误,本文进行了更正。在算法2的第2个步骤中,如果 [x0′∈D],则缩小区域D,实际上根据文献的实验数据的表2,作者并没有缩小区域D,而是改变了D,本文作者也认为在这种情况下没有必要缩小D,只需要根据[x0′]改变D即可,这一点也体现在本文提出的改进算法里。

1.2.2 算法实验分析

使用文献[13]中的算例进行方程组的求解:

[y1=f1(x)=2x31-x22-1=0y2=f2(x)=x1x32-x2-4=0] (3)

式中[x=[x1,x2]T,]该方程组的解为[x0=[x1,0,x2,0]T=]

[[1.234 3,1.661 5]T]。

采用两个输入的(10?2)BP神经网络结构,利用Matlab的工具箱实现,第二层隐层神经元节点个数为10,使用变换函数选正切S型函数(tansig);第三层为输出层,节点个数为2,输出层神经元传递函数为purelin函数,并且选Levenberg?Marquardt算法(trainlm)为BP网络的学习算法,训练次数100次,学习误差为0.000 1。

按照文献[13]所描述的迭代算法进行实验,在不同初始化权重和阈值的情况下,在不同的区域D按照迭代的ANN算法进行迭代求解。

大量的实验结果表明,在迭代求解的过程中[Δ]的并不是直线或者曲线下降的,而是按照波浪线下降并且最后稳定于某一个值的,也就是[Δ]可能在达到[ε]之前就不再下降,并且最后的稳定状态的值并一定是[Δ]的最小值。

图1是[Δ]随着迭代次数n的变化曲线,横坐标轴为n,竖坐标轴为[Δ],在实验过程中,D的取值为:[x1∈[1:0.01:1.5],x2∈[1.5:0.01:2]],固定网络结构和初始化参数进行迭代,当n=20时[Δ]达到了最小值,当n=35以后[Δ]便不再开始变化。改变区域D的值也有相同的试验结果。

图2中D的取值为:

[x1∈[0:0.01:0.5], x2∈[1.5:0.01:2]]

图3中D的取值为:

[x1∈[0:0.01:0.5], x2∈[2:0.01:2.5]]

图4中D的取值:

[x1∈[1 000:0.01:1 000.5], x2∈[2 000:0.01:2 000.5]时的][Δ]随着迭代次数n的变化曲线。

2 迭代的方法的改进

根据试验结果所标明的[Δ]随着迭代次数n的变化趋势和收敛分析,原来的迭代算法会出现无穷迭代,或者不能找到最小[Δ]。因此对原来迭代算法进行改进。

(1)对[Δ]达到平稳状态的判断。随着迭代次数的增加,当[Δ]的值不再发生变化时便中断迭代过程以免进入无休止的迭代求解。

(2)对[Δ]最小值的求解。由于当[Δ]达到平稳状态时的值未必是最小值,因此在迭代过程中记录[Δ]的最小值。当[Δ]达到最小值的对应的方程组的解被认为是方程组的近似解。

①设寄存器 min_delta用来记录[Δ]的最小值,寄存器min_x记录[Δ]取最小值时方程组的解,给定区域D和允许误差ε ,利用算法1[13]求得初步解[x0′],[Δ],用[Δ]初始化寄存器min_delta;

②根据[[x0′]]改变区域D,使得D满足[[x0′]∈D]得到新的求解区域D;

③以D为新的求解区域,利用算法 1 求得新的解赋值给[x0′],并计算误差 [Δ],如果[Δ]

利用改进的算法对方程组进行了求解,表1 为区域D分别为三种情况时实验的结果数据,[x1,0′],[x2,0′]为[Δ]为最小时所求得近似解。结果表明在不知道[D0]的情况下,即使D偏离[D0]很远时,也就是给一个任意的样本初始点,迭代过程也能使[Δ]收敛到一个较小值。比如D的取值为:[x1∈[800,800.5],x2∈[800,800.5]]时,经过85次迭代[Δ]达到一个稳定值,并在n=43时,[Δ]达到最小值0.052 1,[x1,0′]=1.234 2,[x2,0′]=1.667 2。

3 结 语

本文主要研究利用BP神经网络可以逼近多变元非线性方程组的函数的反函数,并利用迭代算法进行求解方程组的根,这是是一种通用的解多变元方程组的方法。

对文献[13]所提出的利用迭代神经网络求解多变元非线性方程组的方法进行了研究和实验分析,发现原算法可能由于误差[Δ]过早收敛而出现无穷迭代,并且由于误差并非一直随迭代次数的增加直线或者曲线变小,因此收敛的误差值并不一定是最小值。改进算法并根据误差[Δ]随迭代次数的变化曲线对迭代算法进行了改进,试验结果表明给一个任意的样本初始点,改进的迭代算都能能使[Δ]收敛到一个较小值,并找出[Δ]取最小值时方程组的近似解,具有较高的工程应用。由于网络的初始化权重和阈值以及对网络的迭代结果有重要的影响,神经网络结构与参数的选取和优化是值得进一步研究的问题。

参考文献

[1] 焦李成.神经网络系统理论[M].西安:西安电子科技大学出版社,1996:1? 25.

[2] 张立明.人工神经网络的模型及其应用[M].上海:复旦大学出版社,1992.

[3] ABIYEV Rahib Hidayat, ALTUNKAYA Koray. Neural network based biometric personal identification with fast iris segmentation [J]. International Journal of Control, Automation, and Systems, 2009, 7 (1): 17?23.

[4] YANG Li, SONG Ma?lin. Research on BP neural network for nonlinear economic modeling and its realization based on Matlab [C]// International Symposium on Intelligent Information Technology Application. [S.l.]: [s.n.], 2009 : 505?508.

[5] 蒋蓉蓉.一种基于遗传算法的BP网络改进方法[J].微计算机信息,2007,23(11):234?236.

[6] 王静伟.BP神经网络改进算法的研究[J].中国水运,2008,8 (1):157?158.

[7] CYBENKO G. Approximation by superpositions of a sigmidal function [J]. Math Contral Signals Systems, 1989, 2: 303?373.

[8] PALM G. On representation and approximation of nonlinear systems [J]. Discrete System Bid Cybernet, 1979, 34: 49?52.

[9] HECHT?NIELSEN R. Theory of the back propagation neural nerwork [C]// Proceedings of the International Joint Conference on Neural Nerworks. [S.l.]: IJCNN, 1989, 1: 593?608.

[10] 赵启林,卓家寿.非线性方程组的耦合神经网络算法[J].河海大学学报,2000,28(5):38?40.

[11] 吴灵敏,柳重堪.用神经网络解多元非线性方程组[J].北方交通大学学报,1997,21(2):245?248.

神经网络的算法范文第5篇

用遗传算法优化神经网络体现了遗传算法和神经网络结合的思想,遗传算法是基于达尔文进化论的思想,模拟生物进化过程的计算方法。同样,神经网络也是模拟生物大脑神经网络机制的计算模型,所以遗传算法的研究与神经网络的研究有若干共同点。

遗传算法和神经网络的不同点主要体现为:神经网络进行的是个体的学习,而遗传算法进行的是个体群的学习;从搜索方法看,神经网络基本上是一个局部搜索方法,每次在解空间的当前解的近邻来搜索下一个解,遗传算法总体上是一个全局搜索方法,其次在解空间设定一群体解,并经过选择淘汰,交叉和变异的方法来决定下一批搜索点。

显然,遗传算法和神经网络各有所长,两者取长补短,相互结合可以形成更优化的搜索算法,日前,国内外正在这方面展开积极的研究。

二、GA-BP模型求解算法

(一)GA-BP模型结构

(二)GA-BP算法描述:

1、编码方式

在初始编码中,采用实数进行编码。按照[WHI,WHO,BH,BO]的先后顺序进行编码,其中WHI为输入层至隐层权值向量,WHO为隐层至输出层权值向量,BH为隐层阈值向量,BO为输出层阈值向量。设定每一代染色体编码长度为2、解码方式

根据编码顺序反向分解得到最优解,并将得到权值阈值作为初始解带入神经网络.

3、选择操作指导

4、交叉操作指导

即在选择的两个染色体随机设定两个断点,交叉交换对应断点间的基因。没有进行交叉操作的个体进行直接复制。

5、变异操作指导

(Chromosome)随机选择基因位,随机产生一个[0,1]的随机数替换原染色体对应基因位上的基因;将新个体插入到下一代种群中Pi+1,并重新计算新个体的评价函数。

算法步骤如下:

Step 1:初始化种群和染色体;

Step 2:如果已达到最大迭代次数MaxIters,或在迭代过程中最优值连续不提高的次数达到Stag_times,迭代停止;否则转步骤3。

Step 3:根据网络样本输出与实际输出,计算适应值。

Step 5:按照BP算法计算输入层和中间层、中间层和输出层的权值阈值调整值。新计算新的神经网络权值阈值。根据新的权值阈值和样本数据,重新计算E。

Step 7:根据选择概率、交叉概率以及变异概率,进行复制、交叉、变异操作。根据遗传算法产生的网络权重作为神经网络模型下一次训练的初始权重值,返回到步骤2。

Step 8:训练结束,输出满足训练精度的神经网络权值阈值。

三、仿真实验

(一)数据与参数

鉴于黄金价格的波动和以下国际宏观经济指标密切相关,将美元指数、道琼斯指数、nymex原油指数、CRB指数选入神经网络的输入数据,输出数据为下一周的伦敦金价收盘价,从而形成GA-BP神经网络预测模型。

选取2005年1月2日至2008年6月8日的伦敦金价周收盘价及国际宏观经济指标,共180周的周数据作为训练学习数据。选取2008年6月15日至2009年4月26日的相应数据作为测试数据。

GA-BP算法初始染色体设置如下:从输入层至隐层的权值为0.5,隐层至输出层的权值为0.75;隐层和输出层的阈神经网络参数设置如下:隐层节点范围[3,13];最大迭代次数(Max Epochs)=500;训练误差(Setting Performance)=0.01。

(二)结果与分析

采用Matlab语言在PC Pentium4/CPU3.0GHz/RAM1.0G上编程实现上述GA-BP算法。为了测试算法的有效性,将针对伦敦金价的预测与传统BP算法预测效率及结果进行比较。

实验1: GA-BP算法与传统神经网络模型对网络优化比较

(1) 将本章所采用的GA-BP算法与传统BP算法、RBF算法进行比较结果(略)。GA-BP算法与传统的BP算法,在迭代次数还是预测精度上均优于后者;与 RBF算法相比,GA-BP的计算时间比RBF长,但是预测精度上要优于后者。

(2) GA-BP算法与其他神经网络算法相比,在训练ANN网络过时迭代次数上少,但是算法整体计算时间较长。这是因为GA收敛是依靠类似于穷举法的启发式搜索,再加之网络结构的复杂性,要运算的数据相当大。GA-BP算法的权值与阈值的个数为:5×9+5+5×1+1=56,50个种群就是56×50=280,对这些数进行编码、解码、交叉、变异等遗传操作,这样进行一代遗传操作相比BP算法的正、反向的一步操作,要处理的数据就相当大,因而不可避免会出现搜索时间长的问题。

实验2:GA-BP算法对伦敦黄金价格预测结果

(1) 利用GA-BP算法对2008年6月15日至2009年4月26日的伦敦金价周收盘价格作预测,GA算法经过大约120代的搜索后染色体的平均适应度趋于稳定。