前馈神经网络连续二元蚁群训练模型Word文档格式.docx
- 文档编号:15157083
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:5
- 大小:20.04KB
前馈神经网络连续二元蚁群训练模型Word文档格式.docx
《前馈神经网络连续二元蚁群训练模型Word文档格式.docx》由会员分享,可在线阅读,更多相关《前馈神经网络连续二元蚁群训练模型Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
1FNNs的经典训练算法
反向传播(Back-Propagation,BP)算法是学习前馈神经网络最常见也是最有力的工具之一。
它采用梯度下降方法试图最小化网络输出值和目标值之间的误差平方:
[JZ(]E(w)≡[SX(]1[]2[SX)]&
#8226;
∑[DD(X]d∈D[DD)]∑[DD(X]k∈output[DD)](t\-\{kd\}-o\-\{kd\})\+2[JZ)][JY]
(1)
其中,output则是网络输出单元的集合,t\-\{kd\}和o\-\{kd\}是与训练样例d的第k个输出单元相关的输出值。
进而通过如下方法更新权值:
[JZ(]△w=-η&
E(w)[JZ)][JY]
(2)
w是权值的向量,▽E(w)是梯度,η是学习速率。
最基本的BP算法因为采用了一种最速下降优化技术近似方法,所以也称最速下降反传算法(SteepestDescentBack-Porpagation,SDBP)。
蚁群优化算法作为一种可以和遗传算法相比拟通用的智能优化算法在解决CO问题时已被证明是行之有效的,那么,将蚁群优化算法应用于解决前馈神经网络的学习问题不失为一种值得一试的探索,但是蚁群优化算法其本身是一种离散域上的优化方法,而前馈神经网络的学习问题为一个连续域上的数值优化问题,那么,如何将蚁群优化算法推广到连续域上将是首先要解决的问题,在下节中,就将论述一种基于不同思路的将蚁群优化算法推广到连续域上的方法。
2二元蚁群优化算法(Binary-ACO):
离散对连续的逼近
在本小节中将主要根据熊伟清等提出的模型(BinaryACO)对二元蚁群优化算法进行一个详细的阐述。
本小节将分为3个部分来详细阐述这个算法。
第一部分中将给出算法的总论,第二部分中给出解构建过程的描述,最后给出信息素轨迹更新过程的描述。
2.1算法提要
首先考虑一个d维实数空间上的优化问题:
解空间为D\+d,求解[AKX^]∈D\+d,即x\+k∈(a\-k,b\-k):
[JZ(][AKX^]=argminf(X),X∈D\+d[JZ)][JY](3)
其中f为D\+d到实数域R的映射f∶D\+d→R。
再考虑一个二元离散优化问题。
定义可行解的有限集,也即离散解空间S,元素的有限集C和费用函数F。
S定义为:
[JZ(]S={s\-1,s\-2,…,s\-n},n∈N,n∈∞[JZ)][JY](4)
每个解S\-i都是一个长度为L的二进制串,定义为:
[JZ(]s\-i=<u\+1\-i,u\+2\-i,…,u\+L\-i>,L∈N,L<∞[JZ)][JY](5)
其中每个u\+j\-i∈{0,1}。
费用函数为S到实数域R的映射:
F∶S→RF。
求解[AKs^]∈S:
[JZ(][AKs^]=argminF(s),s∈S[JZ)][JY](6)
其中离散解空间S到实数值域R的映射分为两个步骤:
首先要将离散解空间S映射到一个实数空间,对于一个解S\-i,假设要将其映射到一个d维的实数空间中,那么即是要将解s\-i中第k(0<
k≤d)个部分二进制位串<u\+\{(k-1)-L/d+1\}\-i,…,u\+\{k-L/d\}\-i>映射为一个第k维上的实数x\+k\-i∈(a\-k,b\-k),此映射定义为:
[JZ(]x\-k=a\-k+|b\-k-a\-k|&
[SX(]∑\+\{L/d\}\-\{l-1\}(2\+l&
u\+\{(k-1)L/d+l\})[]2\+\{L/d-1\}[SX)][JZ)][JY](7)
进而将解s\-i映射为实数解空间D\+d中的一个解X\-i,接下来就可以通过映射f将X\-i映射到实数域中。
事实上,此一过程就是用一个二元离散优化问题去逼近一个d维实数空间上的优化问题,进而可以通过求解这个二元离散优化问题来得到这个d维实数空间上的优化问题的近似解。
为了描述Binary-ACO算法求解过程,要给出若干定义。
首先引入可行偏序解的有限集χ,χ是S的超集。
然后引入一个二元组(U,Γ),U为顶点集定义为:
[JZ(]U={u\-1,…,u\-L}[JZ)][JY](8)
Γ为即信息素轨迹的集合,定义为:
[JZ(]Γ={τ(u\-i,c)|τ(u\-i,j)∈R,1≤i≤L,c∈{0,1}}[JZ)][JY](9)
那么,Γ即可表示为一个2×
L矩阵,Γ(i,c)=τ(u\-i,c)。
2.2解的构建
Binary-ACO算法的解的构建过程非常简单。
一个可行解s∈S,可以由一个空的二进制串开始构造,构造过程可描述为:
[JZ(]χ\-\{j-1\}=<…,u\-1,…,u\-\{j-1\}>→χ\-j=<…,u\-i,…,u\-\{j-1\},u\-j>[JZ)][JY](10)
其中第j位u\-j的值以概率q\-0按照下式确定性选择
[JZ(]U\-J=argmaxc∈{0,1})(τ(u\-j,c))(11)
以概率1-q\-0按照某个概率P在集合{0,1}中选取。
P定义为:
P=P(u\-j=c|Γ)=τ\+α(u\-j,c)[]τ\+α(u\-j,0)+τ\+α(u\-j,1),c∈{0.1}(12)
其中,α>
0是信息素的敏感度权重,α越大,那么信息素值高的边被选中的概率就越大也即算法对信息素的值大小越敏感。
重复构建过程,直至s的长度达到指定长度L为止。
2.3信息素轨迹更新
信息素轨迹的集合Γ可表示为一个2×
L矩阵。
信
息素轨迹更新采用ACS更新策略,因此分为两部分,局部更新和全局更新。
局部更新,那就是对所构建的节点排列上的信息素的一个衰减过程,定义为:
[JZ(]τ(u\-j,c)=(1-ξ)&
τ(u\-j,c)+ξ&
τ\-0[JZ)][JY](13)
其中ξ为衰减系数,0<
ξ<
1,τ\-0为信息素初始值。
[JZ(]τ\-0=[SX(]1[]F(S\-\{rnd\})[SX)][JZ)][JY](14)
局部更新是一种在线(on-line)更新,即在二进制位串的每一位被构建后立即更新其对应的信息素。
全局更新是一种离线(off-line)更新,即待每次蚁群构建解全部完成后,迄今最优解s\-\{gb\},对迄今最优解s\-\{gb\}上的信息素进行更新,定义为:
[JZ(]u\-i∈s\-\{gb\},τ(u\-i,c)←τ(u\-i,c)+Q(s\-\{gb\})[JZ)][JY](15)
其中ρ为衰减系数,0<
ρ<
1。
[JZ(]Q(s)=[SX(]1[]F(S)+|F(S\-\{gb\}|+δ[SX)][JZ)][JY](16)
其中δ为算法参数,往往取一个极小正数。
采用这种信息素更新策略是因为对于费用函数F(&
)来说,F(s)既可能是一个正数也可能是一个负数,鉴于信息素的值均必须为正,显然必须将F(s)映射到一个正数域上且满足条件:
[JZ(]ifF(s\-i)<F(s\-j),thenQ(s\-i)<Q(s\-j)[JZ)][JY](17)
才能够用于信息素的更新。
显然,采用式(5.17)就可以保证此一要求。
这是在求解一般函数时采用的设计,但是如果费用函数的值域不包括负数,例如在本文的应用中——训练FNNs的权值时,函数Q(&
)就可以简单地定义如下:
[JZ(]Q(s)=[SX(]1[]F(s)[SX)][JZ)](18)
至于信息素的初始化,在没有问题的先验知识的情况下,最合理的假设就是认为在解空间上信息素是均匀分布的。
那么信息素轨迹就初始化为:
[JZ(]τ(u\-i,c)←τ\-0,1≤i≤L,c∈{0,1}τ\-0=Q(s′)[JZ)](19)
其中,s′为一组colony_size个随机产生的解中最优的解。
3实验设置和实验结果
在这个小节中,将对Binary-ACO算法在前馈神经网络中的应用进行实验验证和分析。
3.1前馈神经网络在模式分类问题中的应用设置
在本节中所有应用于模式分类问题(如表1)的前馈神经网络均为两层网络。
采用的传输函数均采用标准sigmoid函数f(x)=1/(1+e\+\{-x\})。
输入数据个数和问题的属性个数相等,输出神经元个数和问题的分类类别个数相等,每个输出神经元代表一个样例的类别,隐层神经元个数则根据所解决的问题本身的性质确定,在文中已经给出了相应的设定(如表2)。
在用于解决模式分类问题时,当网络所有的权值均给定,将数据集中某个样例输入,那么就可以获得网络的输出,比较每个输出神经元输出信号的大小,输出信号最大的那个神经元代表的类别就成为样例的类别。
训练前馈神经网络时衡量权值性能的函数也和标准的方差函数不同,在本节算法中均使用所谓的平方误差率(SquareErrorPercentage,SEP)作为衡量标准,定义为:
[JZ(]SEP(FNN)=100&
[SX(]O\-\{max\}-O\-\{min\}[]n\-0&
|P\-t|[SX)]∑\+\{|P\-t|\}\-\{P=1\}∑\+\{n\-0\}\-\{i=1\}(t\+p\-i-O\+p\-i)[JZ)][JY](20)
其中,O\-\{max\}和O\-\{min\}分别为神经元的传输函数输出的最大值和最小值,n\-0为输出层神经元的个数,|P\-t|为训练样例集的大小(本文算法中训练样例集和测试样例集的分割比例为3∶1),t\-p\+i和O\+2\-p分别为对于第p个训练样例输入,第i个网络输出神经元应得的正确输出信号和其实际的输出信号。
3.2实验采用的对比算法及其参数设置
本文中将采用BP算法作为对比,对Binary-ACO算法的性能进行验证。
本节中具体采用的算法有:
SDBP算法,LMBP算法,SDBP和Binary-ACO的混合算法,LMBP和Binary-ACO的混合算法:
①SDBP和LMBP在可参见两种经典的BP算法;
②SDBP和Binary-ACO的混合算法,LMBP和Binary-ACO的混合算法则是受启发于TSP中的局部搜索策略,和TSP中采用的3-opt等局部搜索策略相仿,混合算法也是在每代蚁群搜索后采用SDBP或者LMBP策略对蚁群产生解进行一次改进。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 连续 二元 训练 模型