论文部分内容阅读
电力工程造价是一个多变量、非线性的复杂过程,以往的电力工程项目造价中经常需要分析研究人员通过经验分析和主观推测,对工程造价进行概预算定额测算。随着国家对电力行业的不断投入和支持,电力工程建设项目任务也越发繁重,市场对电力工程造价管理提出了更高的要求,传统的电力工程造价方法已经不适应实际工程需要,尤其体现在对新建工程的投资管理和审查批复方面。如何利用已建工程的历史造价资料,为新建电力工程项目造价管理提供较为科学的理论分析和较为合理的判断,需要运用新兴的数据挖掘知识。
本文基于“电力工程中诸多成本元素互相作用影响,最终表现于工程造价”这一特点,将BP神经网络应用于对电力工程造价问题的研究,构建了工程造价的快速预测模型,通过对实际数据的仿真研究,证明了该模型的有效性和可行性。
一、BP神经网络
前向三层BP网络是人工神经网络中最为重要的网络之一,也是迄今为止,应用最为广泛的网络算法,实践证明这种基于误差反传递算法的BP网络有很强的映射能力,最适合用于模拟输入、输出的近似关系,可以解决许多实际问题。因此在神经网络被引入工程项目研究起,BP神经网络工程估计模型就得到了广泛的关注。
BP网络是神经网络中一种反向传递并能修正误差的多层映射网络,其网络模型结构见图1所示,通常由输入层、输出层和隐含层构成,层与层之间的神经元采用全互连的模式,通过相应的网络权系数相互联系,每层内的神经元没有连接。当参数适当时,此网络能收敛到较小的均方差,是目前应用最广的网络之一。
BP算法通过误差函数最小化来完成输入到输出的一种高度非线性映射,映射中保持拓扑不变性,训练过程可分为两个过程:
(1)输入的信息流从输入层,经隐含层到输出层逐层处理并计算出各神经元节点的实际输出值,这一过程称为信息流的正向传递过程。在正向传播过程中样本信号经过Sigmoid函数作用逐层向前传播,每一层神经元的状态只影响到下一层神经元的状态。
(2)计算网络的实际输出与训练样本期望值的误差,若该误差未达到允许值,根据此误差确定权重的调整量,从后往前逐层修改各层神经元节点的连接权重,这一过程称为误差的逆向修改过程。
两个过程完成了一次学习迭代。这种信息的正向传递与根据误差的逆向修改网络权重的过程,是在不断迭代中重复进行的,直到网络的输出误差逐渐减小到允许的精度,或达到预定的学习次数。同时需要确定的参数有期望误差(Err-goal)、最大循环次数(Max-epoch)、学习速率、网络的层数、各层的神经元数以及其相应的激活函数等。
尽管BP算法的程序看起来复杂,在实际应用BP网络进行工程估价的过程中,却只需要做好以下两方面的工作:一方面,分析人员首先要进行输入变量的选择工作,具体对电力工程而言,“输入变量的选择”是指根据电力工程的自身特点,选取合适的“成本元素”,以全面的对工程的造价进行估计;另一方面,要对模型自身的传递函数、训练函数和系统参数加以确定,也就是财务预警模型的具体构建工作。
二、成本元素的选择
在电力工程的施工过程中,影响到电力工程成本的因素很多,在实际的估价过程中,不同的技术人员对因素的考虑也可能不尽相同,因此在估价模型的建立过程中,本文从以下三个方面考虑来选择“成本元素”:①该元素在以往工程造价研究中出现的频率;②该指标与电力工程建设的相关性;③该指标数据的可获得性。
以送电线路工程造价为例,通过对近年来该领域的造价研究成果进行梳理,结合前文所述电力自身工程的特点,考虑到“成本元素”对电力工程造价的代表性、超前性、灵敏性、全面性以及数据收集的及时性等基本原则,选取了以下8个不同的“成本元素”来描述送电线路工程的成本。
在输出方面指标的选择上,主要是参考模型使用者的应用目的,本文中估价模型的作用主要是为了快速、准确计算工程的总估价,因此本文以表1中的8个属性作为模型的输入,以总工程造价作为模型的输出。
三、BP神经网络的设计和实现
(1)隐层数的设计
理论分析已经证明,在不限制隐层节点的前提条件下,具有单隐层的前馈神经网络可以映像所有连续函数,因此在设计多层前馈网络时,一般来说先考虑设计一个隐层。虽然说增加隐层数可以降低网络误差,提高精度,但是也会使网络复杂化,从而增加了网络的训练时间,甚至会出现“过拟合”的现象。而在实际应用中,我们也可以通过增加隐层的节点设计来获取较高的精度、降低误差,而不需要多设置一个隐层。因此,本文在设计网络时,采取单隐层的神经网络结构,即网络结构为一个输入层,一个输出层和一个隐含层。
(2)输入层、输出层节点数的设计
一般来说,输入变量是选取对输出影响大而且能够检测或提取的变量。本文模型中的输入变量为截面面积、电压等级、全长、平均档距、人力运距、汽车运距、杆塔数以及绝缘子这8个成本元素,因此输入层节点数为8个。
如前所述,模型以总工程造价为输出,因此,输出层节点数为1个。
(3)隐含层节点数设计
隐含层节点数设计是模型设计的一个难点。隐含层节点的作用是从样本中提取并储存其内在的规律,每个节点有若干个权值,而每个权值都是增强网络映像能力的一个参数。一般来说,如果一个神经网络的隐含层包含有无数隐含层节点,那么该神经网络可以实现从输入到输出的任意精度的非线性映像。但是现实中我们无法实现无数个隐含层节点,我们必须根据需要确定隐含层节点数。
确定最佳隐含层节点数的一个常用的方法成为试凑法,即先设置较少的隐含节点训练网络,然后逐渐增加隐含层节点数,用同一样本集进行训练,从中确定网络误差最小时对应的隐含层节点数。我们通过公式
(m为隐含层节点数,n为输入层节点数, 为输出层节点数,a为1-10之间的常数)计算出的初始值为4,即隐层网络节点数的试验由4个开始。根据多次试验发现,当a=4的时候,即隐含层节点数为8个的时候,网络达到速度和稳定性的最佳状态,训练和检验的效果都最好。因此,在本文中隐含层节点数为8个。
(4)BP神经网络的实现
MATLAB6.5中的BP网络生成函数为newff,其格式为:
其中,PR为R×2维矩阵,表示R维输入向量中每维输入的最小值和最大值之间的范围;若神经网络有N层,则[Sl S2 … SN]中各元素分别表示各层神经元的数目;{TF1 TF2 …TFN}中各元素表示各层神经元采用的传递函数;BTF表示神经网络训练时所采用的训练函数。
根据前文对神经网络的设计可知,待建BP神经网络为包含8个输入节点、8个隐含层节点和1个输出节点的3层神经网络。三层网络的传递函数分别是trainrp、tansig和purelin函数,学习函数采用trainlm。
故神经网络的创建命令为:
四、BP神经网络的仿真及结论
为了检验模型的可靠性和计算精度,下面对某电网的89条送电线路工程进行分析。选取其中82条线路作为模型的学习样本,剩余7条线路作为模型的测试样本,进行数据采集。将82条线路的“成本元素”输入模型,对BP网络进行训练,模型在1186步时达到收敛。
从实验结果可以看出,该BP模型具有较好的收敛性。
表2对估价的实际值与预测值估算误差进行了比较,其中正值表示预测估价值大于实际估价值,负值表示预测值偏小。可见,运用BP神经网络对于电力造价的估算已经达到较高的精度。在电力工程总价上,最大误差为4.46%,最小误差绝对值为0.23 %,结果令人满意,说明该神经网络模型有比较高的泛化能力,运用此神经网络模型对于电力工程造价的估算有良好的效果。
本文从送电线路工程造价问题入手,建立相应的神经网络模型,理论分析和实验结果均证明了该模型的有效性和泛化能力。送电线路的工程造价问题只是电力工程估价众多问题中的一个,如何分析更多的电力工程估价问题的特点,建立并训练各自的网络模型,是下一步要研究的内容。相信经过一系列的研究工作,我们能运用神经网络这一数据挖掘工具,更好的帮助企业为电力工程估价提供科学可靠的依据。
参 考 文 献
【1】 韩力群.人工神经网络理论、设计及应用.北京:化学工业出版社,2002:3~7
【2】 胡伍生.神经网络理论及其工程应用.北京:测绘出版社,2006
【3】 沈荣球.我国工程造价管理中的存在问题及分析[J]四川建材,2007,(04)
【4】 颜彦.信息技术在工程造价管理中的应用及发展[J]有色冶金设计与研究, 2006,(03)
【5】 孙景飞.浅谈工程项目施工过程中成本管理的信息化[J]科技资讯, 2008,(32)■
本文基于“电力工程中诸多成本元素互相作用影响,最终表现于工程造价”这一特点,将BP神经网络应用于对电力工程造价问题的研究,构建了工程造价的快速预测模型,通过对实际数据的仿真研究,证明了该模型的有效性和可行性。
一、BP神经网络
前向三层BP网络是人工神经网络中最为重要的网络之一,也是迄今为止,应用最为广泛的网络算法,实践证明这种基于误差反传递算法的BP网络有很强的映射能力,最适合用于模拟输入、输出的近似关系,可以解决许多实际问题。因此在神经网络被引入工程项目研究起,BP神经网络工程估计模型就得到了广泛的关注。
BP网络是神经网络中一种反向传递并能修正误差的多层映射网络,其网络模型结构见图1所示,通常由输入层、输出层和隐含层构成,层与层之间的神经元采用全互连的模式,通过相应的网络权系数相互联系,每层内的神经元没有连接。当参数适当时,此网络能收敛到较小的均方差,是目前应用最广的网络之一。
BP算法通过误差函数最小化来完成输入到输出的一种高度非线性映射,映射中保持拓扑不变性,训练过程可分为两个过程:
(1)输入的信息流从输入层,经隐含层到输出层逐层处理并计算出各神经元节点的实际输出值,这一过程称为信息流的正向传递过程。在正向传播过程中样本信号经过Sigmoid函数作用逐层向前传播,每一层神经元的状态只影响到下一层神经元的状态。
(2)计算网络的实际输出与训练样本期望值的误差,若该误差未达到允许值,根据此误差确定权重的调整量,从后往前逐层修改各层神经元节点的连接权重,这一过程称为误差的逆向修改过程。
两个过程完成了一次学习迭代。这种信息的正向传递与根据误差的逆向修改网络权重的过程,是在不断迭代中重复进行的,直到网络的输出误差逐渐减小到允许的精度,或达到预定的学习次数。同时需要确定的参数有期望误差(Err-goal)、最大循环次数(Max-epoch)、学习速率、网络的层数、各层的神经元数以及其相应的激活函数等。
尽管BP算法的程序看起来复杂,在实际应用BP网络进行工程估价的过程中,却只需要做好以下两方面的工作:一方面,分析人员首先要进行输入变量的选择工作,具体对电力工程而言,“输入变量的选择”是指根据电力工程的自身特点,选取合适的“成本元素”,以全面的对工程的造价进行估计;另一方面,要对模型自身的传递函数、训练函数和系统参数加以确定,也就是财务预警模型的具体构建工作。
二、成本元素的选择
在电力工程的施工过程中,影响到电力工程成本的因素很多,在实际的估价过程中,不同的技术人员对因素的考虑也可能不尽相同,因此在估价模型的建立过程中,本文从以下三个方面考虑来选择“成本元素”:①该元素在以往工程造价研究中出现的频率;②该指标与电力工程建设的相关性;③该指标数据的可获得性。
以送电线路工程造价为例,通过对近年来该领域的造价研究成果进行梳理,结合前文所述电力自身工程的特点,考虑到“成本元素”对电力工程造价的代表性、超前性、灵敏性、全面性以及数据收集的及时性等基本原则,选取了以下8个不同的“成本元素”来描述送电线路工程的成本。
在输出方面指标的选择上,主要是参考模型使用者的应用目的,本文中估价模型的作用主要是为了快速、准确计算工程的总估价,因此本文以表1中的8个属性作为模型的输入,以总工程造价作为模型的输出。
三、BP神经网络的设计和实现
(1)隐层数的设计
理论分析已经证明,在不限制隐层节点的前提条件下,具有单隐层的前馈神经网络可以映像所有连续函数,因此在设计多层前馈网络时,一般来说先考虑设计一个隐层。虽然说增加隐层数可以降低网络误差,提高精度,但是也会使网络复杂化,从而增加了网络的训练时间,甚至会出现“过拟合”的现象。而在实际应用中,我们也可以通过增加隐层的节点设计来获取较高的精度、降低误差,而不需要多设置一个隐层。因此,本文在设计网络时,采取单隐层的神经网络结构,即网络结构为一个输入层,一个输出层和一个隐含层。
(2)输入层、输出层节点数的设计
一般来说,输入变量是选取对输出影响大而且能够检测或提取的变量。本文模型中的输入变量为截面面积、电压等级、全长、平均档距、人力运距、汽车运距、杆塔数以及绝缘子这8个成本元素,因此输入层节点数为8个。
如前所述,模型以总工程造价为输出,因此,输出层节点数为1个。
(3)隐含层节点数设计
隐含层节点数设计是模型设计的一个难点。隐含层节点的作用是从样本中提取并储存其内在的规律,每个节点有若干个权值,而每个权值都是增强网络映像能力的一个参数。一般来说,如果一个神经网络的隐含层包含有无数隐含层节点,那么该神经网络可以实现从输入到输出的任意精度的非线性映像。但是现实中我们无法实现无数个隐含层节点,我们必须根据需要确定隐含层节点数。
确定最佳隐含层节点数的一个常用的方法成为试凑法,即先设置较少的隐含节点训练网络,然后逐渐增加隐含层节点数,用同一样本集进行训练,从中确定网络误差最小时对应的隐含层节点数。我们通过公式
(m为隐含层节点数,n为输入层节点数, 为输出层节点数,a为1-10之间的常数)计算出的初始值为4,即隐层网络节点数的试验由4个开始。根据多次试验发现,当a=4的时候,即隐含层节点数为8个的时候,网络达到速度和稳定性的最佳状态,训练和检验的效果都最好。因此,在本文中隐含层节点数为8个。
(4)BP神经网络的实现
MATLAB6.5中的BP网络生成函数为newff,其格式为:
其中,PR为R×2维矩阵,表示R维输入向量中每维输入的最小值和最大值之间的范围;若神经网络有N层,则[Sl S2 … SN]中各元素分别表示各层神经元的数目;{TF1 TF2 …TFN}中各元素表示各层神经元采用的传递函数;BTF表示神经网络训练时所采用的训练函数。
根据前文对神经网络的设计可知,待建BP神经网络为包含8个输入节点、8个隐含层节点和1个输出节点的3层神经网络。三层网络的传递函数分别是trainrp、tansig和purelin函数,学习函数采用trainlm。
故神经网络的创建命令为:
四、BP神经网络的仿真及结论
为了检验模型的可靠性和计算精度,下面对某电网的89条送电线路工程进行分析。选取其中82条线路作为模型的学习样本,剩余7条线路作为模型的测试样本,进行数据采集。将82条线路的“成本元素”输入模型,对BP网络进行训练,模型在1186步时达到收敛。
从实验结果可以看出,该BP模型具有较好的收敛性。
表2对估价的实际值与预测值估算误差进行了比较,其中正值表示预测估价值大于实际估价值,负值表示预测值偏小。可见,运用BP神经网络对于电力造价的估算已经达到较高的精度。在电力工程总价上,最大误差为4.46%,最小误差绝对值为0.23 %,结果令人满意,说明该神经网络模型有比较高的泛化能力,运用此神经网络模型对于电力工程造价的估算有良好的效果。
本文从送电线路工程造价问题入手,建立相应的神经网络模型,理论分析和实验结果均证明了该模型的有效性和泛化能力。送电线路的工程造价问题只是电力工程估价众多问题中的一个,如何分析更多的电力工程估价问题的特点,建立并训练各自的网络模型,是下一步要研究的内容。相信经过一系列的研究工作,我们能运用神经网络这一数据挖掘工具,更好的帮助企业为电力工程估价提供科学可靠的依据。
参 考 文 献
【1】 韩力群.人工神经网络理论、设计及应用.北京:化学工业出版社,2002:3~7
【2】 胡伍生.神经网络理论及其工程应用.北京:测绘出版社,2006
【3】 沈荣球.我国工程造价管理中的存在问题及分析[J]四川建材,2007,(04)
【4】 颜彦.信息技术在工程造价管理中的应用及发展[J]有色冶金设计与研究, 2006,(03)
【5】 孙景飞.浅谈工程项目施工过程中成本管理的信息化[J]科技资讯, 2008,(32)■