论文部分内容阅读
[摘要] 本文通过分析BP神经网络在竞争力测量中的优势,介绍通过GUI界面构建竞争力测量模型、训练模型、仿真模型、应用模型的方法,证明了BP神经网络在竞争力测量中的可行性,指出了在使用中应注意的事项。
[关键词] BP神经网络 模型构建 模型训练 模型仿真
一、BP神经网络在测量竞争力中的优势
人工神经网络(Artificial Neural Network,简称ANN)系统是借鉴于人脑和神经系统存储和处理信息的某些特征抽象出来的一种人工智能化的数字模型,具有并行分布的信息处理结构,通过对非线性函数的复合来逼近输入输出之间的映射关系。人工神经网络具有许多优秀的特性,最擅长对近似的、不确定的、甚至矛盾相关的知识环境中进行决策,可以解决人为的权重设计和相关系数的计算。神经网络通过对样本的学习可以确定稳定的人工神经网络模型,以该模型对C2C电子零售商竞争力进行动态评价和排序,计算误差小,从而可以保证评价结果的客观性。
人工神经网络本身包含非常多的网络模型,如BP网络、Hopfield网络、 Hamming 网络、Grossberg网络和竞争网络等,由于BP网络可以任意精度逼近任意连续函数,所以在已有的竞争力评价研究文献中,使用BP(Back Propagation Network)网络的居多。如高晓宏、郭军、吴晓伟(2004)建立了时序BP网络和因果BP网络,根据企业竞争力的指标体系预测了企业的竞争力;李煜华等(2006)通过BP网络对老工业基地的核心竞争力进行了评价;陈红转(2003)等通过BP网络对银行竞争力进行了评价。这些研究说明用BP网络方法评价竞争力具有可行性。
BP网络可以通过以下具体过程实现:
1.建立网络模型,初始化网络及字习参数;BP网络的建立需要借助MATLAB软件实现。通常有两种方法:
编程法:net=newff (PR,[S1,S2……Sn],{Tf1 Tf2 Tf3……Tfn},BTF,BLF,PF)
其中net中存放所建立的网络属性和网络参数,四个输入变量分别为:
PR输入向量的取值范围;
Si 第i层的神经元个数,总共N层;
Tfi第i层的传递函数,缺省值为“tansig”;
BTFBP网络训练函数,缺省值为“trainlm”;
BLFBP网络权值和阙值学习函数,缺省值为“learngdm”;
PF 性能函数,缺省值为“mse”。
GUI法:在matlab 命令窗口中输入命令nntool, 就会弹出人工神经网络的构建训练仿真窗口。
本文使用第二种方法创建BP网络。
2.提供训练模式
选实例作学习训练样本训练网络,直到满足学习要求;常使用的训练函数有批梯度下降训练函数(traingd,traingdm)、自适应修改学习率算法(traingda,traingdx)、有弹回的算法(trainrp)及共轭梯度算法(traincgf,traincgp)等。
3.前向传播过程
对给定训练模式输入,计算网络的输出模式,并与期望模式比较,若误差不能满足精度要求,则误差反向传播,否则转到2;
4.反向传播过程
BP算法是一个很有效的算法,它把一组样本的输入、输出问题变成一个非线性优化问题,并使用了优化问题中最普遍的梯度下降法,用迭代运算求解权相应于学习记忆问题,加入隐节点使优化问题的可调参数增加,从而可以得到更精确的解。
二、BP网络在C2C电子零售商竞争力评价中的应用
本文选取包含20个测量指标的C2C电子零售商竞争力评价指标体系及调查数据(赵丽,2008)来说明BP网络在竞争力测量方面的使用方法。
在设计BP网络之前,首先应该准备好数据。Matlab7.0与Excel2003相通,所以将调查数据导进Matlab7.0中,命名为“data”。然后,将其中的10个C2C电子零售商竞争力指标数据作为训练输入数据,设为“traindata”;将专家对这10个C2C电子零售商竞争力的评价结果作为目标输出量,设为“targets”;评价值越大,表明此电子零售商越有竞争力,由此构成10个训练样本对;将剩余的6个C2C电子零售商竞争力指标测量数据作为仿真数据,设为“simulatedata”。数据准备完毕,即可构建网络。
1.构建网络
网络的输入、输出神经元的数量是由问题外部描述定义的。所以,如果有4个外部变量作为网络输入,那么网络就有4个输入。同样,如果网络有7个输出,那么网络的输出层就应该有7个神经元:最后,输出信号所期望的特征有助于选择输出层的传输函数。研究已表明,两层网络在其隐层中使用s形传输函数,在输出层中使用线性传输函数,就几乎可以以任意精度逼近任何感兴趣的函数,只要隐层中有足够的单元可用(见[Host89])。
根据论文研究实际,设计BP网络评价模型如下:
A输入层:根据C2C电子零售商竞争力评价指标体系,将最低层指标数作为输入层神经元数,在本文中为20;
B隐含层:隐含层神经元数的选取关系到整个BP网络的精确度和学习效率,在本文中结合理论分析和经验选取隐含层神经元数为10;
C输出层:对C2C电子零售商竞争力的评价是一个从定性到定量然后再到定性的过程,通过BP网络模型将定性转化为定量输出,然后综合评价集和输出结果,对C2C电子零售商竞争力作出定性评价。因此,将输出层神经元设置为1个。
所以,本研究的BP网络结构是具有20-10-1结构的二层网络,在matlab7.0中构建。命名为bpnetwork,选择网络类型为Feed-forward backprop,输入数据范围根据训练样本中的输入数据确定,训练函数选择TRAINLM,自适应学习函数选择LEARNGDM,效果函数选择MSE,层数为2,第一层的神经元有10个,传输函数为TANSIG,第二层的神经元个数为1,传输函数为TANSIG。构建好的C2C电子零售商竞争力评价BP模型如图1所示:
图1 C2C电子零售商竞争力评价BP模型
2.训练网络
点击Train菜单,在Training Info中选择输入数据traindata,选择目标输出数据targets,其它默认;在Training Parameters中设最大训练步数epochs为50; goal为0.00001; show为25。其它参数time、min_grad、max_fail等均为缺省值。点击Train Network,出现训练效果图,如图2所示:
图2 模型训练效果图
图2中蓝色曲线表示训练路径图,黑色直线表示预定误差值。在第15步时,两线相交,网络误差平方和MSE达到了误差目标goal =0.00001的要求,网络模型训练结束,说明网络已初步符合要求。同时,MATLAB还提供了函数postreg用于对网络训练结果的进一步分析。函数postreg利用了线性回归的方法分析了网络输出和目标数出的关系,即网络输出变化对于目标输出变化的变化率,从而评估了网络的训练效果。将网络训练的数据导出后,在Matlab7.0的命令窗口中输入命令:
[m,b,r]=postreg(bpnetwork_outputs,targetdata)
按Enter键,就会返回三个值,m和b分别表示最优回归直线的斜率和y轴截距,当m=1且b=0时,网络输出与目标输出完全相同,此时的网络具有最优性能;r表示网络输出与目标输出的相关系数,它越接近于1,表示网络输出与目标输出越接近,网络性能越好。通过图3可知,m接近于1,b几乎为0,r等于1,这说明此网络的性能非常好。
图3 模型训练效果参数
图4绘出了函数postreg显示的图形,横坐标为目标输出,纵坐标为网络输出,“○”表示数据,理想回归直线(网络输出等于目标输出时的直线)由实线表示,最优回归直线由虚线表示。从图可以看到虚线和实现几乎重合,说明网络具有非常好的性能,可以用这一网络去判断其它C2C电子零售商的竞争力了。
图4 模型回归直线图
3.网络仿真
将剩下的6个C2C电子零售商(“C1”、“C2”、“C3”、“C4”、“C5”、“C6”)竞争力指数的各项数据作为仿真数据,命名为simulatedata,作为输入数据添加到Inputs中。点击simulate,如图5所示:
图5 模型仿真
在Inputs下拉框中选择simulatedata, outputs默认为bpnetwork_outputs,其他默认,点击Simulates Network,在Network Data Manager窗口的Outputs中就会出现输出结果值,在Errors中就会出现误差值。
打开输出结果参数,得其值如图6所示。根据输入数据与调查对象的对应关系,“C1”的竞争力为0.94224,“C2”的竞争力为0.74897,“C3”的竞争力为0.62101,“C4”的竞争力0.055052, “C5”的为0.56066, “C6”的为0.23556。根据训练设置,值越大说明竞争力越强。所以,在这6个C2C电子零售商中,竞争力最强的是“C1”,其次是“C2”和“C3”,然后依次是“C6” “C7”,最差的是“C4”。
图6 模型模拟结果
三、结论
本文通过比较竞争力综合评价方法和人工神经网络方法,指出了人工神经网络在评价竞争力应用上的优势,并通过文献发现使用BP网络具有可行性;在介绍了BP网络的基本原理之后,借助Matlab7.0软件构建了评价C2C电子零售商竞争力的二层BP网络,通过训练,使网络达到了良好的性能,并仿真得到了6个C2C电子零售商的综合竞争力,这再次说明了应用BP网络评价C2C电子零售商的竞争力具有可行性,具有较强的应用推广性。但是,在使用BP网络评价竞争力时应选择可靠的指标体系和权威的数据对来训练网络,否则计算结果会不准确。
参考文献:
[1]李煜华胡运权胡瑶瑛:基于BP 神经网络的老工业基地企业核心竞争力的综合评价.商业研究,2006,05
[2]高小红郭军:基于BP人工神经网络的企业竞争力预测模型.中国矿业,2004,08
[3]吴晓伟徐福缘:基于神经网络的企业竞争力综合评价方法.工业技术经济,2004,04
[4]陈红转王飞等:基于BP网络的银行竞争力综合评价.山东科技大学学报,2003,12
[5]闻新周露李翔张宝伟著:Matlab神经网络仿真与应用.科学出版社,2003,07
[6](美)哈根等著戴葵等译:神经网路设计.机械工业出版社,2002,09
[7]赵丽:C2C电子零售商竞争力研究.中南财经政法大学硕士学位论文,2008
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
[关键词] BP神经网络 模型构建 模型训练 模型仿真
一、BP神经网络在测量竞争力中的优势
人工神经网络(Artificial Neural Network,简称ANN)系统是借鉴于人脑和神经系统存储和处理信息的某些特征抽象出来的一种人工智能化的数字模型,具有并行分布的信息处理结构,通过对非线性函数的复合来逼近输入输出之间的映射关系。人工神经网络具有许多优秀的特性,最擅长对近似的、不确定的、甚至矛盾相关的知识环境中进行决策,可以解决人为的权重设计和相关系数的计算。神经网络通过对样本的学习可以确定稳定的人工神经网络模型,以该模型对C2C电子零售商竞争力进行动态评价和排序,计算误差小,从而可以保证评价结果的客观性。
人工神经网络本身包含非常多的网络模型,如BP网络、Hopfield网络、 Hamming 网络、Grossberg网络和竞争网络等,由于BP网络可以任意精度逼近任意连续函数,所以在已有的竞争力评价研究文献中,使用BP(Back Propagation Network)网络的居多。如高晓宏、郭军、吴晓伟(2004)建立了时序BP网络和因果BP网络,根据企业竞争力的指标体系预测了企业的竞争力;李煜华等(2006)通过BP网络对老工业基地的核心竞争力进行了评价;陈红转(2003)等通过BP网络对银行竞争力进行了评价。这些研究说明用BP网络方法评价竞争力具有可行性。
BP网络可以通过以下具体过程实现:
1.建立网络模型,初始化网络及字习参数;BP网络的建立需要借助MATLAB软件实现。通常有两种方法:
编程法:net=newff (PR,[S1,S2……Sn],{Tf1 Tf2 Tf3……Tfn},BTF,BLF,PF)
其中net中存放所建立的网络属性和网络参数,四个输入变量分别为:
PR输入向量的取值范围;
Si 第i层的神经元个数,总共N层;
Tfi第i层的传递函数,缺省值为“tansig”;
BTFBP网络训练函数,缺省值为“trainlm”;
BLFBP网络权值和阙值学习函数,缺省值为“learngdm”;
PF 性能函数,缺省值为“mse”。
GUI法:在matlab 命令窗口中输入命令nntool, 就会弹出人工神经网络的构建训练仿真窗口。
本文使用第二种方法创建BP网络。
2.提供训练模式
选实例作学习训练样本训练网络,直到满足学习要求;常使用的训练函数有批梯度下降训练函数(traingd,traingdm)、自适应修改学习率算法(traingda,traingdx)、有弹回的算法(trainrp)及共轭梯度算法(traincgf,traincgp)等。
3.前向传播过程
对给定训练模式输入,计算网络的输出模式,并与期望模式比较,若误差不能满足精度要求,则误差反向传播,否则转到2;
4.反向传播过程
BP算法是一个很有效的算法,它把一组样本的输入、输出问题变成一个非线性优化问题,并使用了优化问题中最普遍的梯度下降法,用迭代运算求解权相应于学习记忆问题,加入隐节点使优化问题的可调参数增加,从而可以得到更精确的解。
二、BP网络在C2C电子零售商竞争力评价中的应用
本文选取包含20个测量指标的C2C电子零售商竞争力评价指标体系及调查数据(赵丽,2008)来说明BP网络在竞争力测量方面的使用方法。
在设计BP网络之前,首先应该准备好数据。Matlab7.0与Excel2003相通,所以将调查数据导进Matlab7.0中,命名为“data”。然后,将其中的10个C2C电子零售商竞争力指标数据作为训练输入数据,设为“traindata”;将专家对这10个C2C电子零售商竞争力的评价结果作为目标输出量,设为“targets”;评价值越大,表明此电子零售商越有竞争力,由此构成10个训练样本对;将剩余的6个C2C电子零售商竞争力指标测量数据作为仿真数据,设为“simulatedata”。数据准备完毕,即可构建网络。
1.构建网络
网络的输入、输出神经元的数量是由问题外部描述定义的。所以,如果有4个外部变量作为网络输入,那么网络就有4个输入。同样,如果网络有7个输出,那么网络的输出层就应该有7个神经元:最后,输出信号所期望的特征有助于选择输出层的传输函数。研究已表明,两层网络在其隐层中使用s形传输函数,在输出层中使用线性传输函数,就几乎可以以任意精度逼近任何感兴趣的函数,只要隐层中有足够的单元可用(见[Host89])。
根据论文研究实际,设计BP网络评价模型如下:
A输入层:根据C2C电子零售商竞争力评价指标体系,将最低层指标数作为输入层神经元数,在本文中为20;
B隐含层:隐含层神经元数的选取关系到整个BP网络的精确度和学习效率,在本文中结合理论分析和经验选取隐含层神经元数为10;
C输出层:对C2C电子零售商竞争力的评价是一个从定性到定量然后再到定性的过程,通过BP网络模型将定性转化为定量输出,然后综合评价集和输出结果,对C2C电子零售商竞争力作出定性评价。因此,将输出层神经元设置为1个。
所以,本研究的BP网络结构是具有20-10-1结构的二层网络,在matlab7.0中构建。命名为bpnetwork,选择网络类型为Feed-forward backprop,输入数据范围根据训练样本中的输入数据确定,训练函数选择TRAINLM,自适应学习函数选择LEARNGDM,效果函数选择MSE,层数为2,第一层的神经元有10个,传输函数为TANSIG,第二层的神经元个数为1,传输函数为TANSIG。构建好的C2C电子零售商竞争力评价BP模型如图1所示:
图1 C2C电子零售商竞争力评价BP模型
2.训练网络
点击Train菜单,在Training Info中选择输入数据traindata,选择目标输出数据targets,其它默认;在Training Parameters中设最大训练步数epochs为50; goal为0.00001; show为25。其它参数time、min_grad、max_fail等均为缺省值。点击Train Network,出现训练效果图,如图2所示:
图2 模型训练效果图
图2中蓝色曲线表示训练路径图,黑色直线表示预定误差值。在第15步时,两线相交,网络误差平方和MSE达到了误差目标goal =0.00001的要求,网络模型训练结束,说明网络已初步符合要求。同时,MATLAB还提供了函数postreg用于对网络训练结果的进一步分析。函数postreg利用了线性回归的方法分析了网络输出和目标数出的关系,即网络输出变化对于目标输出变化的变化率,从而评估了网络的训练效果。将网络训练的数据导出后,在Matlab7.0的命令窗口中输入命令:
[m,b,r]=postreg(bpnetwork_outputs,targetdata)
按Enter键,就会返回三个值,m和b分别表示最优回归直线的斜率和y轴截距,当m=1且b=0时,网络输出与目标输出完全相同,此时的网络具有最优性能;r表示网络输出与目标输出的相关系数,它越接近于1,表示网络输出与目标输出越接近,网络性能越好。通过图3可知,m接近于1,b几乎为0,r等于1,这说明此网络的性能非常好。
图3 模型训练效果参数
图4绘出了函数postreg显示的图形,横坐标为目标输出,纵坐标为网络输出,“○”表示数据,理想回归直线(网络输出等于目标输出时的直线)由实线表示,最优回归直线由虚线表示。从图可以看到虚线和实现几乎重合,说明网络具有非常好的性能,可以用这一网络去判断其它C2C电子零售商的竞争力了。
图4 模型回归直线图
3.网络仿真
将剩下的6个C2C电子零售商(“C1”、“C2”、“C3”、“C4”、“C5”、“C6”)竞争力指数的各项数据作为仿真数据,命名为simulatedata,作为输入数据添加到Inputs中。点击simulate,如图5所示:
图5 模型仿真
在Inputs下拉框中选择simulatedata, outputs默认为bpnetwork_outputs,其他默认,点击Simulates Network,在Network Data Manager窗口的Outputs中就会出现输出结果值,在Errors中就会出现误差值。
打开输出结果参数,得其值如图6所示。根据输入数据与调查对象的对应关系,“C1”的竞争力为0.94224,“C2”的竞争力为0.74897,“C3”的竞争力为0.62101,“C4”的竞争力0.055052, “C5”的为0.56066, “C6”的为0.23556。根据训练设置,值越大说明竞争力越强。所以,在这6个C2C电子零售商中,竞争力最强的是“C1”,其次是“C2”和“C3”,然后依次是“C6” “C7”,最差的是“C4”。
图6 模型模拟结果
三、结论
本文通过比较竞争力综合评价方法和人工神经网络方法,指出了人工神经网络在评价竞争力应用上的优势,并通过文献发现使用BP网络具有可行性;在介绍了BP网络的基本原理之后,借助Matlab7.0软件构建了评价C2C电子零售商竞争力的二层BP网络,通过训练,使网络达到了良好的性能,并仿真得到了6个C2C电子零售商的综合竞争力,这再次说明了应用BP网络评价C2C电子零售商的竞争力具有可行性,具有较强的应用推广性。但是,在使用BP网络评价竞争力时应选择可靠的指标体系和权威的数据对来训练网络,否则计算结果会不准确。
参考文献:
[1]李煜华胡运权胡瑶瑛:基于BP 神经网络的老工业基地企业核心竞争力的综合评价.商业研究,2006,05
[2]高小红郭军:基于BP人工神经网络的企业竞争力预测模型.中国矿业,2004,08
[3]吴晓伟徐福缘:基于神经网络的企业竞争力综合评价方法.工业技术经济,2004,04
[4]陈红转王飞等:基于BP网络的银行竞争力综合评价.山东科技大学学报,2003,12
[5]闻新周露李翔张宝伟著:Matlab神经网络仿真与应用.科学出版社,2003,07
[6](美)哈根等著戴葵等译:神经网路设计.机械工业出版社,2002,09
[7]赵丽:C2C电子零售商竞争力研究.中南财经政法大学硕士学位论文,2008
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”