人工神经网络(ANN)是一种通过使用电子组件或计算机软件模拟建模来模仿人脑执行特定功能或工作的算法数学模型,具有自学习和自适应的功能。人工神经网络由大量称为节点或神经元的简单处理元素组成,每个节点代表一种特定的输出函数。ANN作为人工智能工具,它能够高精度预测变量之间的线性和非线性关系(Leong et al.,2013)。因此,与传统的回归技术相比,人工神经网络能够产生更为精确的预测(Chiang et al.,2006)。一个典型的神经网络是由三种层次结构层组成的,即一个输入层,一个输出层,以及输入和输出之间的一个或多个隐藏层。本研究利用IBM SPSS Modeler 18.0建立神经网络模型,采用多层感知器(Multilayer Perceptron,MLP)进行训练。
首先,本研究采用的MLP模型是基于反向传播学习算法(王丽婧等,2006),其隐藏层和输出层节点的输出模型分别为:(www.daowen.com)
其中:f(·)为非线性作用函数,定义样本对(X,Y)为X=[X1,X2,…,Xm],Y=[Y1,Y2,…,Ym],O=[O1,O2,…,Om]为隐藏层神经元,wij、Tjk分别代表输入层和隐藏层神经元间、隐藏层和输出层神经元间的连接强度,qj、qk分别代表隐藏层和输出层神经元间的阈值。针对具有m个记录的数据样本,构建MLP网络模型的过程如下(元昌安,2009):①随机生成网络中的各权重Sij(包括wij和Tjk)和阈值θj(包括qj和qk)为区间(0,1)内的随机数,设置迭代的最大次数为M(其中M>m)和目标误差,模型误差的平方和(SSE)初始化为0。②将样本集中的记录按初始设置比例随机分为训练集和测试集。从训练集中取出输入向量x和期望的输出向量T。③计算除输入层外的其他层内各神经元相对于上一层i的输入向量Ij,将各神经元j的输出向量Oj映射到区间[0,1]内。其中,输入和输出向量的表达式如式(9-3)所示。④检验模型误差的平方和SSE。⑤根据取出的输入向量x所对应输出层的输出向量Oj,计算输出层各神经元j的误差向量EER,表达式如式(9-4)所示。⑥根据EER更新模型的各权重Sij和阈值θj,更新方法如式(9-5)所示。其中,η为学习速率。⑦当误差平方和不大于初始设置的目标误差时,网络收敛,否则返回第二步。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。