4.2.1 网络结构
本节所研究的网络结构如图4.1。
图4.1 系统结构图
其中,X∈R n,Y∈R m,y i(i=1,2,…,K)与Y同维数。任务分配器的作用是将任务分解为子任务;集成单元有选择地将对应于新样本的输出集结(如加权平均);w i(i=1,2,…,K)是子网间的连接权值,表征子网i在网络综合中的重要性。
4.2.2 子网的集成方法研究
模块化神经网络的子网动态集成问题是指对于不同的输入(广义地说是不同的环境和状态),参与集成的网络数量、集成的权重都发生与时俱进地动态调整,从而灵活机动地应对丰富的问题世界。这种模式,因其反映了人的许多启发式处理问题的特征,辅以计算机的强大计算能力,因而极具生命力。
首先,简要探讨一下动态集成子网的原因:对不同问题或同一问题的不同阶段或同一阶段但有不同输入信息或问题完全相同但系统所处的环境不同等,各子网对于整体(全局)决策的地位和作用都会有所不同,有时甚至相去甚远。这一点,在社会实践、科学研究中屡见不鲜。客观地反映这一事实,是有效运用模块化神经网络的一个关键,也是有效避免形而上学方法论的基本要求。
本节重点研究子网的选择方法与子网动态连接权(随着输入的不同,子网间的连接权值也将随之改变)的确定方法。这里子网的选择基于如下考虑:对于一个新样本,它可能完全属于原先学习时的样本空间中的某个子集,也可能远离任何一个已有子集,同时还存在“模糊”情形。因此,对于新样本,存在应选择哪些(个)网络来处理之的问题。
总的来说,本节的基本研究思路是:首先,将样本集按某种聚类算法(如采用模糊C均值算法)进行分类;然后针对每类构造并学习一个子网;最后,按选择规则以加权方式将获选子网进行综合,即:
其中,y i,w i(i=1,2,…,K)的定义如上。
下面给出5种选择、集结子网的算法。
算法一 先用模糊C均值法求出各类的聚类中心C i(i=1,2,…,K),然后求出某个新的输入X对各子网的隶属度ηi,令w i=ηi,从而按(4.1)式得到相应输出。
ηi是以这样的方式确定的:以为性能指标,其中并利用Lagrangian乘子法解出ηi,即
该算法是在文献[9]中的模糊隶属度法基础上稍作改动得来。原算法中:其中X j是第i类样本集中的样本,N i是第i类样本集的样本个数。作者认为:样本子集中并非所有点对确定新样本点都有同样作用,显然,远离样本中心的点作用不仅不大,按文献[9]的方法可能还会起到反作用,如远离样本中心且与子集中的某些点很近的点;另一方面,若样本个数庞大,那么原有方法计算量将很大。因此取最能体现子类的聚类中心来代表该类样本集,将新样本与之距离作为与该类的距离更为合理。
由(4.2)式不难看出,本算法中的连接权值实际上是归一化了的输入到各类聚类中心距离平方的倒数。输入到某一类聚类中心的距离越小,说明此输入对该类的隶属度越大,从而该类所对应的子网在综合中所占的比重应该越大。反之亦然。该算法流程图如图4.2所示:
许多时候,人类处理问题时所采用的启发式智能往往能起到一举中的,切中要害的神来功效。如“抓重点”的办法,既有深刻的辩证唯物主义的哲学基础,又有丰富的成功实践运用。因此,若将人的启发式与计算智能成功结合,往往会起到几近完美的功效。
图4.2 算法一流程框图
算法二 与算法一不同的是整个网络的最终输出不再是所有子网的加权和,而是利用所谓“主成分”(这里的主成分是指对系统输出贡献率较大的子网)的思想仅选取其中隶属度较大的几个网络来综合。该算法步骤为:
Step 1.计算X对各子网的隶属度ηi(i=1,2,…,K);
Step 2.对{ηi}由大到小排序,设排序结果为{ηi′},排序后相应的下标集为I;
Step 3.计算找出k=max{k|u k>=const,k∈I},其中const为一常数,在[0,1]间取值。令I’=I(1:k)。
Step 4.按综合I’所对应的几个子网,得到系统输出。
该算法的连接权值仍然是以输入对各类聚类中心距离平方倒数来度量的,但在综合时只选取了最近邻的几个网络,这样做是考虑到有时输入样本相对各类的隶属度差异较大,即“大的大,小的小”。这时将那些隶属度太小的子网综合进来没有太大意义,相反,将之作为“噪声”剔除出去,能够减少它们对主流网络的干扰,使隶属度较大的网络能更好地决策,同时也使计算时间大为缩短,提高了计算效率。
算法三 和算法二类似,所不同的是d i不再是绝对距离,而是一种相对距离测度。其中:
其中,表示第i类的平均距离。
该算法之所以采用相对距离测度,是考虑到在分类时出现的类别分布不均匀的情况,即有的类很大,有的类很小(从各类中的样本所占据的超球体的半径看)。本文使用平均距离来作参照。
算法四 在算法二的基础上加入启发式规则,使得权值确定更为合理。具体地,在使用“主成分”时加入如下规则:
Rule 1.如果η1′远远大于1/K,则只选用与之对应的子网络,连接权值w i=1(i=1)。
Rule 2.如果η1′接近于1/K,则选用所有子网络,连接权值w i=ηi′(i=1,2,…,K)。
Rule 3.其他情况,则使用算法二来挑选子网络,并确定相应的连接权值。
其中:η1′=max{η′i|i=1,2,…,K}。
该算法考虑了最大隶属度与连接权值的均值1/K之间的关系,并充分考虑在两个较极端情况,显然从情理上讲更具合理性。本算法的一个关键是确定合适的隶属度函数。换句话说,即如何量化模糊语言“远远大于”和“接近于”。
算法五 类似于算法四,不同的是将算法三中的绝对距离测度改为相对距离测度来确定子网间连接权重的。
4.2.3 仿真研究
应用本节方法对不同系统作了仿真研究,效果良好。限于篇幅,只对Mackey-Glass混沌时间序列预测实例作一报告。
仿真实验在MATLAB6.1环境下(处理器为PIV1.4GHz)完成,并且使用其神经网络工具箱。为克服随机取值可能带来的偶然性,研究中对实例作了五次实验。
例 Mackey-Glass混沌时间序列预测[10]
Mackey-Glass时间序列是由如下的延迟性微分方程产生的:
当τ>17时,该方程呈混沌特性。τ的值越大,混沌程度越高。这里,取τ=30。
学习目的是建立一个一步超前预测器,即需确定
其中z(t)=[x(t-1),…,x(t-n)]T,为时间序列过去的预测。这里,取n=10。
离散化(令采样周期Ts=1)后的方程为:
令τ时刻前,x在[-0.2,+0.2]上取均匀分布的随机值。取该混沌序列的前2000个点作为样本集,并将前面的1000个点作为训练集,后1000个点作为测试集。如此产生五组不同数据(令初始化不同),以供五次实验用。实验中选用10个前向BP网络,即K=10,结构如表4.1。其中,每个隐层神经元的激活函数如下:
输出层神经元的激活函数均为线性函数。
最后,训练和测试神经网络。先将每组中训练集样本分成K类,然后让每类对应一个子网,最后按类训练相应子网。训练时,训练函数采用trainlm,即采用Levenberg-Marquardt算法来调整网络的权值。训练完毕后,将网络权值加以保存,用以测试。
表4.1 子网结构
训练参数设置:训练误差限为1e-8,训练最大代数为2000代,学习率为0.02。测试时,各种参数均凭经验设置。
实验结果与分析:如表4.2所示。其中括号中的数据则是相应的参数取值。对应于算法二和算法三,只有一个参数值,它表示算法中的选择阈值。对应于算法四和算法五,有三个参数值,它们分别表示算法规则3中的选择阈值,规则1中的条件阈值和规则2中的条件阈值(准确来讲,是条件阈值的K倍)。从测试时间上看,算法一所花时间(109.73s)最长,算法二所花时间(10.98s)最短,前者几近为后者的10倍。其他三种算法所花时间则比算法二稍长一点儿。究其原因,若选择的网络少,那么所花时间也少。由表4.2知,算法二在五组数据中的选择阈值均为0.2,该值很容易满足,几乎对每个样本而言,只需选用最邻近的一个网络即可。从测试平均误差看,算法一(7.6283e-4)明显较差,后四种算法差别不大。显然对这个例子而言,分类是比较平均的,否则,算法五应占明显优势。与文献[10]中的图形结果比较而言,本方法得到的误差曲线显然要好一些。
表4.2 Mackey-Glass混沌时间序列预测结果(其中时间以s作为单位)
小结:本节针对模块化神经网络求解问题中的一个难点——子网的综合,提出了五种密切关联的算法。它们都是在线算法,即连接权值随样本的变化而变化。算法一需要全部网络参加综合;其他四种算法都是基于一种抓大放小原则——选取那些对系统输出的贡献率大的子网,剔除贡献率很小的子网,在算法一的基础上改进而来,它们之间只存在如下差别:算法二和算法四使用绝对距离测度来修正连接权值,而算法三和算法五使用的则是一种相对距离测度;另外,算法四和算法五分别是算法二和算法三在两种极端情况加以约束后的较完善版本。仿真实例表明,这种只让部分有效网络参与综合的算法不仅在速度上得到提高,而且在精度上也有一定的改善。不过就平均效果而言,算法五还是略胜一筹,而且从情理分析上,它也最为合理。
研究过程中发现还存在以下一些问题尚须解决:
(1)对子网络的选择可以引入模糊机制,但如何确定合适的隶属度函数是一个棘手的问题。
(2)较优网络选择阈值的确定缺乏指导性原则。
(3)子网综合的依据是新输入对每个子网的隶属度,而隶属度的确定只与训练样本集的分类有关(确切说是和聚类中心有关,当聚类中心一旦确定,新样本对每个子网的隶属度也就随之而定),和各个子网的性能无关,从综合的意义上讲似乎欠妥。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。