CN109308523A - 一种基于鸽群优化算法的多层感知器训练方法 - Google Patents

一种基于鸽群优化算法的多层感知器训练方法 Download PDF

Info

Publication number
CN109308523A
CN109308523A CN201811086479.XA CN201811086479A CN109308523A CN 109308523 A CN109308523 A CN 109308523A CN 201811086479 A CN201811086479 A CN 201811086479A CN 109308523 A CN109308523 A CN 109308523A
Authority
CN
China
Prior art keywords
pigeon
individual
expressed
multilayer perceptron
perceptron
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811086479.XA
Other languages
English (en)
Inventor
叶志伟
孙恒
孙一恒
王春枝
苏军
金灿
孙爽
郑逍
陈凤
刘伟
严灵毓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hubei University of Technology
Original Assignee
Hubei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hubei University of Technology filed Critical Hubei University of Technology
Priority to CN201811086479.XA priority Critical patent/CN109308523A/zh
Publication of CN109308523A publication Critical patent/CN109308523A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于鸽群优化算法的多层感知器训练方法,首先初始化鸽群算法的基本参数,随机初始化个体的位置和范围;然后在指南针算子阶段根据具体的公式更新鸽子的位子和速度,旨在扩大多层感知器的参数寻优范围;接下来在地表算子阶段利用具体的公式加快收敛速度和深入挖掘局部最优;在每次迭代中,用于评价个体的适应度值的函数是个体所携带的参数对应的多层感知器的均方误差;本发明与传统的BP算法在训练多层感知器的过程中,能够克服BP算法训练多层感知器易陷入局部最优解和寻优过程慢的特性,能够尽可能的挖掘出最优性能的多层感知器参数,提升了多层感知器的性能。

Description

一种基于鸽群优化算法的多层感知器训练方法
技术领域
本发明属于神经计算和智能优化技术领域,涉及一种多层感知器训练方法,具体涉及一种基于鸽群优化算法的多层感知器训练方法,可用于神经计算和智能优化算法领域。
背景技术
多层感知器在图像、语音、文本等多个领域都有广泛的应用,而多层感知器的主要训练方法是反向传播算法(BP算法)。研究表明,通过对多层感知器的连接权值和阈值进行调整,可以用来拟合复杂的函数,或者用来解决分类问题。要获得极高的拟合精度或者分类准确率,必须对多层感知器的参数进行调整。常用的训练方法是基于链式求导法则的BP算法,但是容易受到局部极小值和梯度弥散的困扰。因此研究学者将进化优化算法,如粒子群优化算法、遗传算法,应用到多层感知器的训练中,但是由于神经网络本身的参数复杂性,这些技术的效果并不是很理想。
通过模拟鸽群的归巢行为,段海滨教授提出鸽群优化算法,并将其用来解决无人机导航中的参数寻优问题。鸽群算法相较于粒子群算法、遗传算法具有参数较少,收敛速度较快,可以避免局部最优解等特点,并且已经获得了广泛的应用。该算法的显著特点是通过调整算法的迭代次数和个体选择方式在全局搜索能力和局部搜索能力之间调和。
发明内容
为了解决上述技术问题,加快多层感知器的训练速度,提升网络的性能,本发明提出了一种基于鸽群优化算法的多层感知器训练方法。
本发明所采用的技术方案是:一种基于鸽群优化算法的多层感知器训练方法,所述多层感知器是一种前向结构的人工神经网络,将一组输入映射为一组输出,多层感神经元相互连接;从输入到输出具体的映射关系为:
其中,表示多层感知器的第k组输入数据,yk表示为多层感知器的第k组输出数据,wij表示为输入层到隐含层的连接权值,βi表示为隐含层神经元阈值,vi表示为隐含层到输出层的连接权值,n表示为连接到当前神经元的上一层神经元的个数,h表示为连接到输出神经元的前一层神经元个数;
tanh表示为多层感知器神经元的激活函数,具体公式如下:
其特征在于,所述方法包括以下步骤:
步骤1:初始化鸽群规模N、指南针算子迭代次数T1和地表算子迭代次数T2,个体向量维度D、个体位置Xi=[Xi1,Xi2,...,XiD]、个体速度Vi=[Vi1,Vi2,...,ViD]、指南针因子R、个体的搜索空间Search range;随机设置个体位置和个体速度,计算种群的适应度值;个体向量维度D表示为待求解的个数,即待求解的多层感知器的参数个数。
步骤2:在指南针算子迭代阶段,更新鸽子的位置和速度;其中,更新鸽子的位置即表示为对多层感知的参数进行更新;
步骤3:计算个体的适应度值,并更新全局最优和个体历史最优;
步骤4:判断是否达到指南针算子迭代次数;
若是,则执行下述步骤5;
若否,则回转执行步骤2;
步骤5:在地标算子阶段,更新种群数目,按照适应度值对鸽子进行排序,每次迭代中将适应度值差的那一半鸽子舍弃,然后计算剩下的鸽子的种群位置中心,所有个体朝向种群中心移动,更新鸽子位置;
步骤6:更新历史最优和全局最优;
步骤7:判断是否达到地标算子迭代次数;
若是,则执行下述步骤8;
若否,则回转执行步骤5;
步骤8:输出最优鸽子位置。
本发明的有益效果是:本发明提出一种基于鸽群优化算法的多层感知器训练方法。相较于BP算法在训练多层感知器上具有较低的计算复杂度,较快的训练速度。首先是指南针算子阶段加大搜索空间,使其不易陷入局部最优解,具有较强的全局搜索能力;然后再地标阶段具有较快的收敛速度和较强局部寻优能力,可以提高原有BP训练算法后多层感知器的性能。
附图说明
图1:本发明实施例的流程图;
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
请见图1,本发明提供的一种基于鸽群优化算法的多层感知器训练方法,包括以下步骤:
一种基于鸽群优化算法的多层感知器训练方法,所述多层感知器是一种前向结构的人工神经网络,将一组输入映射为一组输出,多层感神经元相互连接;从输入到输出具体的映射关系为:
其中,表示多层感知器的第k组输入数据,yk表示为多层感知器的第k组输出数据,wij表示为输入层到隐含层的连接权值,βi表示为隐含层神经元阈值,vi表示为隐含层到输出层的连接权值,n表示为连接到当前神经元的上一层神经元的个数,h表示为连接到输出神经元的前一层神经元个数;
tanh表示为多层感知器神经元的激活函数,具体公式如下:
则方法包括以下步骤:
步骤1:初始化鸽群规模N、指南针算子迭代次数T1和地表算子迭代次数T2,个体向量维度D、个体位置Xi=[Xi1,Xi2,...,XiD]、个体速度Vi=[Vi1,Vi2,...,ViD]、指南针因子R、个体的搜索空间Search range;随机设置个体位置和个体速度,计算种群的适应度值;个体向量维度D表示为待求解的个数,即待求解的多层感知器的参数个数;
种群的适应度值即是多层感知器的性能指标,计算公式为:
其中Tk表示为第k组测试数据的输入对应的期望输出,yk表示为第k组测试数据的实际输出,均方误差E越小越好。
步骤2:在指南针算子迭代阶段,更新鸽子的位置和速度;其中,更新鸽子的位置即表示为对多层感知的参数进行更新;
更新鸽子的位置X和速度V的具体公式为:
Vi(t)=Vi(t-1)·e-Rt+rand·(Xg-Xi(t-1))
Xi(t)=Xi(t-1)+Vi(t)
式中,Xi(t)表示为第t此迭代时的个体位置,Vi(t)表示为第t次迭代时的个体速度,t表示为迭代次数;R表示指南针因子,rand表示为0到1之间的随机数,Xg表示为当前的全局最优解,通过比较当前鸽群的适应度值获得。
步骤3:计算个体的适应度值,并更新全局最优和个体历史最优;
个体的适应度值是多层感知器的性能指标,具体计算公式为:
其中,Tk表示为第k组输入数据的期望输出(所谓期望输出表示为,一组数据对应的正确的数值,进行参数更新也主要是为了不断的让模型产生的输出和真实的输出之间的差距越来越小),yk表示为第k组输入数据的实际输出,E表示均方误差,均方误差E越小越好。
步骤4:判断是否达到指南针算子迭代次数;
若是,则执行下述步骤5;
若否,则回转执行步骤2;
步骤5:在地标算子阶段,更新种群数目,按照适应度值对鸽子进行排序,每次迭代中将适应度值差的那一半鸽子舍弃,然后计算剩下的鸽子的种群位置中心,所有个体朝向种群中心移动,更新鸽子位置;
具体实现包括以下子步骤:
步骤5.1:在地标算子阶段,将鸽子按照适应度值进行排序,然后每次迭代时舍弃适应度差的一半,具体公式如下:
其中,N(t)表示为第t次迭代时的种群数量;
步骤5.2:选择适应度值好的另一半鸽子种群作为当前种群,然后确定当前种群位置中心,具体公式如下:
其中,Xc()表示为当前的种群位置中心,fitness()表示为鸽子个体的适应度值,即最小均方误差;Xi(t)表示为第t代的个体位置;
步骤5.3:鸽子朝向中心位置移动,更新鸽子的位置,具体公式如下:
Xi(t)=Xi(t-1)+rand*(Xc(t)-Xi(t-1))
其中,rand表示为0到1之间的随机数。
步骤6:更新历史最优和全局最优;
历史最优,其值为均方误差最小值,然后输出当前最小均方误差最小的个体位置X,X即表示为最优值。
步骤7:判断是否达到地标算子迭代次数;
若是,则执行下述步骤8;
若否,则回转执行步骤5;
步骤8:输出最优鸽子位置。
以下是发明人提供的实施例,以对本发明的技术方案作进一步解释说明。
本实施例以cos(x)函数为例,利用多层感知器对该函数进行拟合,多层感知器的输入层有1个神经元,隐含层有10个神经元,输出层有一个神经元。本发明具体操作流程如下:
步骤1:由cos(x)函数在区间[-2π,2π]上,随机产生30组数据。i=30,数据集为(xi,yi),i=1,2,...,i,其中yi为cos(x)在xi上的对应值。
步骤2:初始化鸽群规模N=30,指南针算子迭代次数T1=20,地标算子迭代次数T2=10,鸽子个体向量维度为D=20,[xi1,xi2,...,xiD]表示为个体搜索向量,随机初始化个体速度[V1,V2,...,VN]。搜索空间Searchspace为[-2π,2π],初始迭代为1,随机初始化权值向量[wi,w2,...w10]和阈值向量[b1,b2,...,b10]。计算多层感知器的性能,即多层感知器输出值和实际真实值的均方误差,计算公式为:
其中Tk表示为第k组输入数据的理想输出,yk表示为第k组测试数据的实际输出,均方误差E越小越好。
步骤3:在指南针算子阶段,尽可能的进行全局搜索。记录个体的历史最优值(均方误差最小)和全局的最优值,更新鸽子的位置X和速度V的具体公式如下:
Vi(t)=Vi(t-1)·e-Rt+rand·(Xg-Xi(t-1))
Xi(t)=Xi(t-1)+Vi(t)
式中,R表示指南针因子,rand表示为0到1之间的随机数,Xg表示为当前的全局最优解,可以通过比较当前鸽群的适应度值获得。
步骤4:在地标算子阶段,进行深度的局部搜索。首先将个体按照适应度值大小进行排序,即按照拟合cos(x)函数的效果进行排序,在接下来的T2迭代时,每次减少一半的适应度差的种群。并在每次迭代中计算留下较优个体的中心,具体的计算公式如下:
其中,Xc表示为当前的种群中心位置,fitness表示为鸽子个体的适应度函数。
步骤5:更新剩余鸽子个体的位置,鸽子个体朝向当前种群中心移动,并记录自己的最优值。公式为:
Xi(t)=Xi(t-1)+rand*(Xc(t)-Xi(t-1))
步骤6:迭代完成,训练出来的多层感知器可以较好的拟合cos(x)函数,将其与传统的BP算法训练出的多层感知器进行比较,本发明在速度和性能上更好。
本发明利用鸽群优化算法较强的寻优能力和后期较快的收敛速度等特性,将其应用到多层感知器的训练过程中,可显著加速多层感知器的训练速度,并且学习过程中具有较好的收敛性和较强的鲁棒性。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (6)

1.一种基于鸽群优化算法的多层感知器训练方法,所述多层感知器是一种前向结构的人工神经网络,将一组输入映射为一组输出,多层感神经元相互连接;从输入到输出具体的映射关系为:
其中,表示多层感知器的第k组输入数据,yk表示为多层感知器的第k组输出数据,wij表示为输入层到隐含层的连接权值,βi表示为隐含层神经元阈值,vi表示为隐含层到输出层的连接权值,n表示为连接到当前神经元的上一层神经元的个数,h表示为连接到输出神经元的前一层神经元个数;
tanh表示为多层感知器神经元的激活函数,具体公式如下:
其特征在于,所述方法包括以下步骤:
步骤1:初始化鸽群规模N、指南针算子迭代次数T1和地表算子迭代次数T2,个体向量维度D、个体位置Xi=[Xi1,Xi2,...,XiD]、个体速度Vi=[Vi1,Vi2,...,ViD]、指南针因子R、个体的搜索空间Searchrange;随机设置个体位置和个体速度,计算种群的适应度值;个体向量维度D表示为待求解的个数,即待求解的多层感知器的参数个数;
步骤2:在指南针算子迭代阶段,更新鸽子的位置和速度;其中,更新鸽子的位置即表示为对多层感知的参数进行更新;
步骤3:计算个体的适应度值,并更新全局最优和个体历史最优;
步骤4:判断是否达到指南针算子迭代次数;
若是,则执行下述步骤5;
若否,则回转执行步骤2;
步骤5:在地标算子阶段,更新种群数目,按照适应度值对鸽子进行排序,每次迭代中将适应度值差的那一半鸽子舍弃,然后计算剩下的鸽子的种群位置中心,所有个体朝向种群中心移动,更新鸽子位置;
步骤6:更新历史最优和全局最优;
步骤7:判断是否达到地标算子迭代次数;
若是,则执行下述步骤8;
若否,则回转执行步骤5;
步骤8:输出最优鸽子位置。
2.根据权利要求1所述的基于鸽群优化算法的多层感知器训练方法,其特征在于:步骤1中,种群的适应度值是多层感知器的性能指标,具体计算公式为:
其中,Tk表示为第k组输入数据的期望输出,yk表示为第k组输入数据的实际输出,E表示均方误差,均方误差E越小越好。
3.根据权利要求1所述的基于鸽群优化算法的多层感知器训练方法,其特征在于:步骤2中,更新鸽子的位置X和速度V的具体公式为:
Vi(t)=Vi(t-1)·e-Rt+rand·(Xg-Xi(t-1))
Xi(t)=Xi(t-1)+Vi(t)
式中,Xi(t)表示为第t此迭代时的个体位置,Vi(t)表示为第t次迭代时的个体速度,t表示为当前迭代次数;R表示指南针因子,rand表示为0到1之间的随机数,Xg表示为当前的全局最优解,通过比较当前鸽群的适应度值获得。
4.根据权利要求1所述的基于鸽群优化算法的多层感知器训练方法,其特征在于:步骤3中,个体的适应度值是多层感知器的性能指标,具体计算公式为:
其中,Tk表示为第k组输入数据的期望输出,yk表示为第k组输入数据的实际输出,E表示均方误差,均方误差E越小越好。
5.根据权利要求1所述的基于鸽群优化算法的多层感知器训练方法,其特征在于,步骤5的具体实现包括以下子步骤:
步骤5.1:在地标算子阶段,将鸽子按照适应度值进行排序,然后每次迭代时舍弃适应度差的一半,具体公式如下:
其中,N(t)表示为第t次迭代时的种群数量;
步骤5.2:选择适应度值好的另一半鸽子种群作为当前种群,然后确定当前种群位置中心,具体公式如下:
其中,Xc()表示为当前的种群位置中心,fitness()表示为鸽子个体的适应度值,即最小均方误差;Xi(t)表示为第t代的个体位置;
步骤5.3:鸽子朝向中心位置移动,更新鸽子的位置,具体公式如下:
Xi(t)=Xi(t-1)+rand*(Xc(t)-Xi(t-1))
其中,rand表示为0到1之间的随机数。
6.根据权利要求1-5任意一项所述的基于鸽群优化算法的多层感知器训练方法,其特征在于:所述历史最优,其值为均方误差最小值,然后输出当前最小均方误差最小的个体位置X,X即表示为最优值。
CN201811086479.XA 2018-09-18 2018-09-18 一种基于鸽群优化算法的多层感知器训练方法 Pending CN109308523A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811086479.XA CN109308523A (zh) 2018-09-18 2018-09-18 一种基于鸽群优化算法的多层感知器训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811086479.XA CN109308523A (zh) 2018-09-18 2018-09-18 一种基于鸽群优化算法的多层感知器训练方法

Publications (1)

Publication Number Publication Date
CN109308523A true CN109308523A (zh) 2019-02-05

Family

ID=65224923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811086479.XA Pending CN109308523A (zh) 2018-09-18 2018-09-18 一种基于鸽群优化算法的多层感知器训练方法

Country Status (1)

Country Link
CN (1) CN109308523A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110400599A (zh) * 2019-07-22 2019-11-01 陕西师范大学 基于鸽群优化算法识别关键蛋白质的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110400599A (zh) * 2019-07-22 2019-11-01 陕西师范大学 基于鸽群优化算法识别关键蛋白质的方法

Similar Documents

Publication Publication Date Title
CN110514206B (zh) 一种基于深度学习的无人机飞行路径预测方法
CN110210551B (zh) 一种基于自适应主体敏感的视觉目标跟踪方法
WO2022121289A1 (en) Methods and systems for mining minority-class data samples for training neural network
CN109993280B (zh) 一种基于深度学习的水下声源定位方法
CN112308961B (zh) 基于分层高斯混合模型的机器人快速鲁棒三维重建方法
CN105488528B (zh) 基于改进自适应遗传算法的神经网络图像分类方法
CN108021754A (zh) 一种无人机自主空战决策框架及方法
CN109670580A (zh) 一种基于时间序列的数据修复方法
CN107330902B (zh) 基于Arnold变换的混沌遗传BP神经网络图像分割方法
CN110728698B (zh) 一种基于复合循环神经网络系统的多目标跟踪系统
CN109840595B (zh) 一种基于群体学习行为特征的知识追踪方法
CN110047096B (zh) 一种基于深度条件随机场模型的多目标跟踪方法和系统
CN108805149A (zh) 一种视觉同步定位与地图构建的回环检测方法及装置
CN111860787A (zh) 一种含有缺失数据的耦合有向图结构流量数据的短期预测方法及装置
Zhang et al. Evolving neural network classifiers and feature subset using artificial fish swarm
CN111968156A (zh) 一种自适应超特征融合的视觉跟踪方法
CN114330119B (zh) 一种基于深度学习的抽蓄机组调节系统辨识方法
CN115019083A (zh) 基于少样本学习的词嵌入图神经网络的细粒度图分类方法
KR102082999B1 (ko) Rce 신경망 학습 장치 및 방법
CN109886405A (zh) 一种抑制噪声的基于人工神经网络结构优化方法
CN109308523A (zh) 一种基于鸽群优化算法的多层感知器训练方法
CN113341696A (zh) 一种运载火箭姿态控制参数智能整定方法
CN113627075A (zh) 基于自适应粒子群优化极限学习的弹丸气动系数辨识方法
CN106022293A (zh) 一种基于自适应共享小生境进化算法的行人再识别方法
CN115357862B (zh) 一种狭长空间中的定位方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190205

RJ01 Rejection of invention patent application after publication