资源描述
人工神经网络模型描述
先给出单个人工神经网络的一般模型描述
给定n个输入变量:x1,x2,······,xn以及相对应的权值变量w1,w2,······,wn,一个传递函数f (·),激发阈值变量θ,输出变量为y,有如下神经元模型:
w1
w2
wm
xm
x2
x1
......
......
f (·)
y= fi=1mwixi-θ
i=1mwixi-θ
θ
-1
其中x1~ xm这m个变量是与此神经元连接的上一层神经元的输出,或者为网络的原始输入变量。在实际操作中,可以将-1看作此神经元的第m+1个输入,把激发阈值变量θ作为相应的权值变量。神经元模型的传递函数f (·)一般采用sigmoid函数,给出表达式如下:
f(x)=11+e-x
此表达式为sigmoid函数的单极形式,另也有双极形式的sigmoid函数。当神经元的加权输入和i=1mwixi大于激发阈值θ时,神经元处于激发态,网络的输出 fi=1mwixi-θ为正,否则为抑制态,输出为负。
当多个神经元组合起来时,人工神经网络的总体结构如下:
输入层
隐 藏 层
-1
-1
-1
∑ f
∑ f
......
......
......
......
xm
x2
x1
......
......
......
......
y1
y2
yn
∑ f
∑ f
∑ f
∑ f
∑ f
∑ f
∑ f
-1
输出层
......
......
为简洁起见,各层神经元之间的连接权值wij与激发阈值变量θj未在图中标出。以上是在全连接下的人工神经网络结构图。
人工神经网络在本质上是由许多小的非线性函数组成的大的非线性函数,反映的是输入变量到输出变量间的复杂映射关系。映射的准确程度是由各层权值与各神经元结点的激发阈值变量共同决定的,同时也与人工神经网络的结构有关,结构变量包括隐藏层的层数与每层结点数,以及网络的连接状态是否为全连接的。
首先将人工神经网络中需要优化的变量——各层权值变量w与各神经元结点的激发阈值变量θ进行编码,表示成相应的目标函数。对于人工神经网络而言,运用进化算法优化的目标是,使网络的实际输出与理论输出之间的差值越小越好。
设网络共输入K个样本,每个样本的输出属性为N个,则网络总体误差δANN可表示为
δANN=k=1Kn=1Nδkn22
其中δkn表示第k个样本在第n个属性上的误差。网络优化的目标是确定一组权值W与阈值Θ,使全局误差δ最小。通过以上分析,可以将网络的输出误差看作W与Θ的函数。如果将Θ对应的权值看作神经网络的额外输入连接,则可将Θ与W合并,记为Wexp,表示扩展的权值向量组。由此可以得到以下的目标函数表达式:
min δANN (Wexp)= k=1Km=1MδknWexp22
接下来分析粒子的编码方式。对于一个具有m个输入与n个输出的人工神经网络,设共有L个隐藏层,层数编号依次为1,2, ······,L,相应的每层结点总数为P1,P2, ······,PL,则第l层第p个结点的编号为lp,其中l∈(1,2,······,L),p∈(P1,P2,······,Pl)。权值与阈值的排列顺序按照输入层向输出层的方向排列,可以得到以下编码:
Wexp=[w(11,21)w(12,21)······w(1P1,21)θ11][w(11,22)w(12,22)······w(1P1,22)θ12]······[w(11,2P2)w(12,2P2)······w(1P1,2P2)θ1P2][w(21,31)w(22,31)······w(2P2,31)θ21]······[w(21,3P3)w(22,3P3)······w(2P2,3P3)θ2P3]······[w((l-1)1,l1)w((l-1)2,l1)······w((l-1)P(l-1),l1)θ(l-1)1]······[w((L-1)1,LPL)w((L-1)2,LPL)······w((L-1)P(L-1),LPL)θ(L-1)PL]
以上编码为直观起见,将Wexp用方括号进行了分段,其中每个方括号中的数组表示上一层所有结点对应下一层某一个结点的权值变量与该结点的阈值变量。将网络结构记为数组
S=[m,P1,P2,······,PL,n]
表示输入层、隐藏层与输出层各自的结点数。若将S中的各个元素记为s1,s2,······,sL+2,则将神经网络权值确定问题转换为粒子群算法的优化问题后,问题解空间的维度即Wexp的长度为:
D=i=1L+1sisi+1+i=2L+2si
式中等式右边的第一项为权值变量数,第二项为神经元结点的阈值变量数。
关于神经网络的隐藏层数与每层结点数的确定问题,本文统一采用单隐藏层,其中的结点数目参考经验公式
P=m+n+a
来确定,其中a是一个取值介于1~10之间的整数常量。
关于测试数据集中训练集的与验证集的选取比例,可选用3:2的比例,即随机选取测试集中60%的数据作为训练集,剩余的40%为验证集。输入变量各个属性维度的数据分别采取最大-最小归一化方式,归一化区间为[0,1]。
人工神经网络的评价指标主要采用均方误差MSE进行。定义均方误差的数学表达式如下:
MSE=k=1Kn=1Nδkn2K
MSE表示网络理论输出与实际输出之间的差距,除总体误差MSEann外,还有针对训练集的均方误差MSEtrain与针对验证集的均方误差MSEtest,分别衡量网络的拟合能力与泛化能力。此外也可用分类正确率进行衡量。
展开阅读全文