报当前输出,BP神经网络输入向量x=[x1,x2,...xM]。输入层节点个数M个,输出层节点个数L个,隐含层只有一层且节点个数为N个,一般情况下N>M>L。设输入层神经节点的输出为ai(i=1,2,...,M);隐含层神经节点的输出为aj(i=1,2,...,N);输出层神经节点的输出为yk(k=1,2,...,L);神经网络的输出向量为yp;期望的网络输出向量为Yp。РР 3.1.2 PSO算法优化BP神经网络后的权值调整过程Р 定义每一个样本的输入输出模式对应的二次型误差函数为Р 则系统的误差代价函数为Р PSO算法将每个个体看作是在n维搜索空间中,以一定速度飞行的没有重量和体积的微粒,并依据个体(微粒)的适应值大小进行操作。Р 设Xi=(xi1,xi2,...,xin)为微粒i的当前位置,Vi=(vi1,vi2,...,vin)为微粒的当前飞行速度,Pi=(pi1,pi2,...,pin)为微粒i所经历的最好位置,也就是微粒i所经历过的具有最好适应值的位置,称为个体最好位置。由适应度函数f(x)所确定的微粒当前最好位置为РР 设群体中的微粒数为s,则群体中所有微粒经历过的最好位置, 也称为全局最好位置为:Р 则PSO算法的进化方程为:Р 其中,下标j表示微粒的第j维;i表示微粒i,t表示第t代,为惯性参数,c1、c2为加速常数,通常取0~2,r1、r2为两个互相独立的随机函数。Р 其中表示原来的微粒速度能够在多大程度上得到保留,c1调整微粒飞向自身最好位置方向的步长,c2调整微粒飞向全局最好位置方向的步长。Р 用PSO算法优化BP神经网络后的权值调整过程如下:Р (1)将BP神经网络的连接权值和阈值作为粒子群的初始位置向量元素。Р (2)对微粒群的速度进行初始化。Р (3)计算每个微粒的适应值,此时的适应度函数取BP神经网络的误差代价函数。