文档介绍:PSO的人工神经网络学****算法的研究
     
 
 
 
 
 
     
     
 
 
 
 
 
     
 
 
 
 
摘要:PSO算法由于具有独特的信息共享机制而得到广泛应用。本文介绍了人工神经网络的基本原理以及网络学****及泛化的方法,以此为基础将POS算法作为学****算法用于人工神经网络训练,给出了基于PSO的神经网络学****算法的设计方法,并通过实验,验证PSO算法在训练集错误率方面的优越性。
关键词:PSO算法;人工神经网络;网络学****与泛化;
粒子群算法用于神经网络优化主要包括两大方面:一是用于网络学****也称网络训练),即优化网络各层之间的连接权值;二是优化网络的拓扑结构。本文的主要工作则集中在用PSO算法进行人工神经网络训练这一方面。
1人工神经网络的基本原理
   人工神经网络模型是基于生物学中神经网络的基本原理而建立起来的一种模仿人脑工作方式的计算模型,可以被看作一种具有大量连接的并行分布处理系统,它可以通过学****获取知识和解决问题,并将知识存储在连接权值中(对应生物神经元的突触)[1]。神经元是神经网络的基本处理单元,它的模型如下图所示。
图 单输入神经元
从上图可以看出,标量输入P乘以权值w得到WP,将其送入累加器并与偏置值b相加得到的值n通常被称为净输入,它被作为参数送入传输函数f,通过f的运算产生标量输出a。神经网络的设计者可以选择特定的传输函数不并根据学****规则调整权值w和偏置值b以满足特定的需要。其中的传输函数主要包括三种类型:阶跃传输函数、线性传输函数和logsig传输函数。结构图中的f指传输函数。两个或多个并行操作的神经元组成神经网络的层,典型的神经网络可以包括一层或多层[2]。
2 人工神经网络学****和泛化
人工神经网络具有学****并获取知识的能力。所谓学****就是修改神经网络的权值和偏置值的过程。而指导神经网络进行权值更新的规则就被称为学****算法(也称训练算法)。
网络学****也称网络训练)通常有两种方式:有监督学****有教师学****与无监督学****无教师学****两者之间的差别在于在学****的过程中是否有与输入相对应的目标输出对训练进行指导。目前大多数的神经网络采用的都是有监督学****它是一个重复的过程,当每个输入作用到网络上时,网络的实际输出与目标输出相比较,然后学****规则调整该网络的权值和偏置值,使得网络的实际输出进一步靠近目标输出[3]。
网络的泛化能力主要由以下几个因素所影响:
(1)待求解问题的复杂程度。它取决于问题本身,因而无法控制。
(2)样本特性。只有当训练样本足以表征所研究问题的一些主要或基本特性时,网络通过合理的学****机制可以使其具有泛化能力,合理的样本结构是网络具有泛化能力的必要条件。
(3)网络自身的因素。这些因素包括网络结构、网络初始权值的设定和网络的学****算法等。网络的结构因素主要指网络的隐层数以及各隐层中节点的个数对泛化能力的影响。
3人工神经网络学****算法
PSO作为一种新兴的进化算法,其收敛速度快、鲁棒性高、全局搜索能力强,且不需要借助问题本身的特征信息(如梯度)。将PSO与神经网络结合,用PSO算法来优化神经网络的连接权值,可以较好地克服BP神经网络的问题,不仅能发挥神经网络的泛化能力,而且能够提高人工神经网络的收敛速度和学