基于人工神经网络的建筑能耗预测_第1页
基于人工神经网络的建筑能耗预测_第2页
基于人工神经网络的建筑能耗预测_第3页
基于人工神经网络的建筑能耗预测_第4页
基于人工神经网络的建筑能耗预测_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要——-2-—目录21490_WPSOffice_Level1第1章绪论 630601_WPSOffice_Level21.1选题背景及意义 631642_WPSOffice_Level21.2国内外研究发展现状 730601_WPSOffice_Level31.2.1国内研究状况 731642_WPSOffice_Level31.2.2国外研究状况 719189_WPSOffice_Level21.3本课题研究内容 87916_WPSOffice_Level21.4本课题研究方法 930601_WPSOffice_Level1第2章神经网络 97905_WPSOffice_Level22.1神经网络概述 919189_WPSOffice_Level32.2.1神经网络的发展 97916_WPSOffice_Level32.2.1神经网络模型 107905_WPSOffice_Level32.2.2神经网络功能 119640_WPSOffice_Level32.2.3神经网络类型 1120178_WPSOffice_Level32.2.4神经网络的学习 129640_WPSOffice_Level22.2BP神经网络 1213687_WPSOffice_Level32.2.1BP神经网络工具箱 1325716_WPSOffice_Level32.2.2BP神经网络模型及结构 1311075_WPSOffice_Level32.2.2BP算法的缺陷和修正 1620178_WPSOffice_Level22.4本章小结 2131642_WPSOffice_Level1第3章神经网络预测模型 2226247_WPSOffice_Level23.1遗传Levenberg-Marquardts算法 229521_WPSOffice_Level3(1)遗传算法部分 2212101_WPSOffice_Level3(2)LM算法寻优部分 2317088_WPSOffice_Level23.2预测模型的建立 2316548_WPSOffice_Level33.2.1影响因子的确定 2330754_WPSOffice_Level33.2.2能耗预测初始数据选择 2424451_WPSOffice_Level33.2.3网络结构选择 2427962_WPSOffice_Level23.3数据的预处理 2619904_WPSOffice_Level33.3.1去除不良数据 2627675_WPSOffice_Level33.3.2归一化处理 2729897_WPSOffice_Level23.4预测结果分析 2715317_WPSOffice_Level23.5本章小结 2719189_WPSOffice_Level1第4章总结与展望 2813687_WPSOffice_Level24.1工作总结 2825716_WPSOffice_Level24.2未来展望 287916_WPSOffice_Level1参考文献 287905_WPSOffice_Level1致谢 31第1章绪论随着人类科学技术的进步,生活条件的不断改进和完善,能源使用情况日益得到人们的关注。其中建筑能耗占能源消耗总结构中的很大比例,得到了政府及各界的关注,投入大量的精力寻求控制建筑能耗的方法。由于依旧缺少高效的措施和管理,又因为影响建筑物能耗的因素种类有很多,他们之间存在着非线性耦合关系,因此动态计算受到了广泛的欢迎。本课题就以此为背景,采用人工神经网络对某特定建筑物的能耗进行预测和研究,对神经网络进行训练与学习后,最终的数据结果证明神经网络适用于建筑能耗预测。1.1选题背景及意义在节约能源的战略中,建筑能耗占比越来越高,我国作为世界上人口众多的国家,建筑能耗的增长水平已经快速的赶上发达国家。我国的建筑节能,随着“十二五”规划的开始行动进入了一个全新的时期。我国建筑节能共经历了如下的四个主要阶段:1986年前的理论探索阶段,这一阶段主要是进行初步相关理论的学习,了解西方建筑节能的政策和措施,对我国的建筑节能进行了初步的计划于考量。第二阶段为1987至2000年,为试点示范和推广阶段,2001至2005为一个承上启下的过渡阶段,2006至今为全面推广阶段,开展出台了多项标志性政策与任务。如今,我国正处在一个工业飞速发展带来的城镇化发展的时期,如今的建筑在接下来的很多年间,采暖,空调等将带来大量的能源消耗。专家表示如果可以使建筑能耗的数目降低50%,那么将会很大程度上减少能源建设的投资。因此建筑的节能工作对于城市的可持续发展,对于国家的能源战略可持续发展具有重大意义,必须探讨出适合我国各地的高效的建筑节能方法,更好的服务于我国的经济发展。想要对建筑进行节能改造,首先就要找到消耗能源的源头,通过进行建筑能耗的预测,对已经建成投入使用的建筑可以进行节能优化,通过研究发现对该建筑能源消耗最大的因素,然后有方向的进行创新修正,达到节能环保的目的。另外,对建筑进行能耗预测可以有利于对建筑能源消耗进行检测,有利的保证数据的趋势变化在正确范围内。同时通过建筑能耗预测可以对建筑建造初期的设计与规划进行指导,作为节约能源的指标。所以进行建筑能耗预测在很大程度上可以应用于实际工程中。本课题把人工神经网络与专业领域的建筑能耗相结合起来,利用神经网络的非线性处理功能和时效性,有机结合起来。同时也用到了对计算机的使用,通过计算机的辅助,能够更好的对数据进行分析,解决之前不能解决的问题。1.2国内外研究发展现状1.2.1国内研究状况我们国家的研究学者在接触到神经网络的时候,就开始了对这种算法的不懈研究,并且随着计算机网络的快速发展,不仅在神经网络本身的基础上有了更深入的了解,而且将神经网络应用在很多产业中,有了飞速发展。名称研究内容长春工业大学杨宏韬采用遗传算法优化神经网络的初始权值和闽值,建立了基于遗传算法的钢铁企业人工神经网络预测模型,得出GA-BP网络在预测精度和预测时间上优于纯BP网络[6]。中南大学张全运用BP神经网络算法建立数学模型,用MATLAB作为后台数据处理工具,用VB与MATLAB的混合编程开发了钢铁企业能耗预测系统。系统具有较好的预测效果[7]。重庆大学雷娅蓉运用GM(1.1)与BP人工神经网络组合预测系统模型,编写了重庆市居住建筑生活能耗预测系统,得出预测结果具有较高的预测精度和较好的拟合效果[8]。刘长俊广西大学校园节能监管平台研究中,运用遗传算法与神经网络理论建立了针对大型建筑能耗的分析统计模型,得出经过训练的遗传审计网络在能耗预测的精确度与运算上优于标准的BP神经网络蒋毅以能源审计数据为依据,对民用建筑能耗的报表制度进行研究,并建立了数据库,运用BP神经网络理论建立了民用建筑能耗预测模型,利用Delphi6.0建立了能耗统计平台与预测系统。侯林波在基坑工程中运用遗传神经网络算法对基坑岩土系数进行优化分析[9]。由上所述可知遗传算法与神经网络的结合已在多个研究领域有应用,并且经过遗传算法优化的网络大多数变得更加高效和精确。1.2.2国外研究状况国际上的建筑节能自上世纪70年代石油危机后启动,西方国家建筑节能工作在这个时期开始展开。名称研究内容雅典大学的S.Karatasou,M.Santamouris和V.Geros用人工神经网络建模预测建筑能耗,还专门讨论了怎样将人工神经网络应用于建筑能耗预测[10]。伊朗大学的A.Azadeh和S.F.Ghaderi与布一阿里大学的S.Tarverdian,M.Saberi通过随机程序综合人工神经网络和基因工程来预测电能耗,结果表明,预测值与真实值非常接近[11]Kazanasmaz对一办公建筑的照明能耗进行了三个月的数据测试,并用人工神经网络方法对其进行了分析和预测[12]。就世界目前的能源预测模型来说,由于能源供应和消耗的动态性和不确定性,能源模型具有强烈的动态特性,涉及的因素更多更复杂。Kelesoğlu利用人工神经网络预测了建筑砖墙和管道的热损失,并获得了较满意的结果Yang等在输入变量不变的情况下,研究了人工神经网络的适用性,提高了ANN预测建筑能耗的能力Kalogirou利用人工神经网络预测了被动式太阳能建筑的能耗,结果表明ANN较之动态模型工具,具有快速准确预测建筑能耗的能力;Gonzalez利用ANN方法预测了建筑的电力消耗,也取得了较准确的结果Olofson利用人工神经网络在短期的测试数据的基础上建立了建筑的能耗预测模型,并取得90%~95%的准确率Azadeh通过随机程序综合人工神经网络和基因工程来预测电能耗[13]。1.3本课题研究内容(1)对人工神经网络基本情况进行研究,通过比较论证选择适合于建筑能耗预测的算法,并尝试寻找优化后的合适高效的算法。(2)构建网络模型,确定网络参数结构,对数据进行处理,进行神经网络的训练学习,得到网络训练曲线图,误差曲线图,进行比较与分析,得到最合适的预测模型。1.4本课题研究方法(1)通过查阅国内外学者的研究文献并请教老师了解已经提出的多种建筑能耗预测模型,按照不同的分类标准深入学习各类预测模型的具体过程,整理比较各类模型的差别,掌握各类预测模型的核心内容。(2)针对影响建筑物能耗因素存在非线性耦合的问题进行预处理,分析各类要素的影响,将处理后数据进行总结归类,构建好合适的网络空间后,输入网络开始进行训练学习。(3)重点研究神经网络中经常面对的问题:容易陷入局部最小值,考虑如何正确利用不同的算法解决这一问题,为提高神经网络预测精度并考虑到实际应用中数据库的扩展和维护,需要对传统的神经网络进行反复训练和测试,以验证程序的正确性,证明预测值与计算值吻合,人工神经网络达到要求。第2章神经网络本章根据对神经网络具体情况内容的研究与了解,提出了基于神经网络模型的建筑能耗预测的优势与可行性,通过对不同算法优缺点的考量,最终确定了既能够不影响算法训练速度,而且提高精确度,避免常见问题的合理的算法。2.1神经网络概述2.1.1神经网络的发展19世纪,Cajal提出了神经元学说,神经元若是受到不相同的刺激和信息,通过轴突相互连接,构成一张整体的网,将得到的信息传递给人体的中枢神经系统,神经系统再对信息进行处理加工后,从控制理论的观点来看:这一过程可以看作多输入单输出的动态过程。1943年,精神病学家McCulloch和数学家Pitts提出了神经元模型的不同应用类别,这是在研究学习了大量的神经元系统和应用数据来提出的新理论,引起了学术界的关注,他们的模型最后定义名称为MP模型。这个模型的提出最大的意义是让学术界的研究专家明确了一个原理:就是通过神经元之间的相互作用,在类似于人类神经系统的处理模式下,可以处理任意函数模型。在20世纪60年代感知器开始兴起,人们简单的认为将已成的模型连在一起就可以模拟大脑神经网络的运作模型,研究人员投入了大量的资金和精力,在识别领域取得了一定的成绩。但在随后深入的研究中发现感知器并不能很好的解决问题,甚至有很大的局限性。但在当时人工智能出现了新的高潮,随着微电子技术的发展,科学家们发现可以使人工智能从实验走向应用,导致NN的研究进入了萧条期。神经网络发展的约十年的萧条期由以下原因导致:没有合适的支持进行研究的大型实验室和计算机,另外没有足够的技术资金的启动及支持,导致心理上处于悲观的状态等。但幸运的是在数十年间仍旧有许多科学家孜孜不倦的努力,没有放弃对神经网络的学习和发展,尽管进程缓慢,但是为之后更多的发展奉献了很多努力。美国加州理工学院生物物理学家J.Hopfield教授于1982年和1984年在美国科学院院刊发表的两篇著作和1986年Rumelhart与McClelland的著作标志着神经网络研究到达了新的高潮。在此后的时间里,产生了大量关于神经网络的论文以及有关于神经网络应用的新技术,随着计算机技术的快速发展,不断涌现新的理论和学说。这些背景的发展表示神经网络的发展时机已经成熟,发展势头在日益壮大,会伴随着计算机技术的成熟应用于更多的技术和工程。2.1.2神经网络模型人工神经元是神经网络的基本单元,其模型如图所示:图2-1人工神经元模型其中,——输入信号;——k的突触权值;——输入信号线性组合器的输出;——阈值;——激活函数;——神经元输出信号。激活函数有如下几种类型:函数类型函数表达域值函数当自变量的值小于零时,输出结果为0,当自变量的值大于等于零时,输出结果为1,可以如下表示:分段线性函数该函数在(-1,+1)范围内的输出值与函数是一致的,当大于+1的时候输出值为+1,当小于—1的时候输出的值为—1,可以如下表示:非线性转移函数该函数为实数区域R在[0,1]上的非连续函数,是状态连续神经元模型,最常用的是Sigmoid函数,称其为S型函数,可以表示:2.1.3神经网络功能神经网络是由无数的神经元网络相互连接,相互作用形成的数据空间,神经网络不仅可以处理许多非线性问题,而且这些信息一部分的错误并不会影响其他神经元的学习,因此即使出错也并不会影响最后的输出结果;神经网络还具有信息并行处理能力,可以允许各个神经元同时处理信息,从而提高了运算速度很快的出具结果;神经网络还具有自组织自学习能力,可以通过训练与学习进行精确度的提高,只需要确定训练目标之后,神经网络便可以自行进行学习与训练,直到达到要求。正是因为神经网络这些优势,使其十分符合建筑能耗预测的要求。2.1.4神经网络类型神经网络有很多种类型,可以根据不同的标准进行分类;分类方式分类网络性能连续型与离散型,确定性与随机性网络网络结构反馈网络和前向网络学习方式有教师指导学习和无教师指导学习网络连接方式前向网络,互相结合型网络2.1.5神经网络的学习神经网络的学习过程即为神经网络的训练过程,是网络在接受外部刺激后通过调整相关参数去适应外界变化而改变输出的过程。能够通过外界变化及时学习,从而适应该环境提高自身能力,这是神经网络最突出最具意义的特征,正是因为这一优势神经网络才可以自主去了解数据环境,进而适应环境,提高运算准确度。神经网络的学习方式分为如下三种:学习方式学习内容有导师学习也可以称作为监督学习法。这个方法需要有正确的输入和输出的历史数据,在起始端输入正确的起始数据,得到最后的输出与正确的输出进行比较,得到相对误差,根据误差去修正连接权值,使得网络的训练能够不断提高精确度,逼近最合适的结果。无导师学习也可以称作为无监督学习法。这个方法需要输入数据,这时连接权值设置为一个小正数,不断的利用输入数据来刺激网络,当网络发现与之前相同情况的刺激时,权值某一系数改变,增大到接近1的某刻。通过这样的方法训练使得网络拥有了自己的记忆力,当外界刺激时便会做出相应的反应。再输入相同的刺激时网络便会输出应有的结果。再励学习也可以称作为强化学习。这种学习方式可以综合前两种方式。并不需要给出确定的输出数据,网络又可以通过学习训练来提高自身的性能。2.2BP神经网络BP神经网络是目前应用最广泛的网络模型之一,是一种按照误差逆传播算法训练的,多层前馈型网络,由输入层,隐含层和输出层构成,输入层的作用是接收输入数据和信号,然后将其传递给之后各层的神经元;隐含层的作用是用来进行信息处理,可以根据信息的复杂程度决定用单层或者多层隐含层;输出层用来输出最终的结果。BP网络的信息处理过程分为两个阶段:信息正向传递和误差的反向传递,当输出层输出的结果与历史数据预期的输出结果差别较大时,误差便开始进行反向传播,逐层修正权值,直至最终的输出结果达到想到的程度为止。BP神经网络的主要特点如下:(1)输入和输出互不干扰,并行模拟;(2)网络最终的输出是由各层的连接权值和阈值决定的,没有函数算法关系(3)经常用到的传递函数都是可微的(4)隐含层的层数越多,神经网络的精确度越高(5)网络中个别权值的错误不会影响整个神经网络的精度2.2.1BP神经网络模型及结构BP网络可以学习各种输入和输出之间的映射关系,并且不需要对两者之间的关系进行任何函数的描述。BP网络采用的是最速下降法同时又是有教师指导的方法,将误差反向传播不断修正连接权值去逼近最优解。首先,数据样本从输入层输入神经网络模型,外界刺激信息经过加权处理,输入第一层各神经元,若是该数值超过这个神经元的阈值,则继续输入下一层的各神经元,进行到最后,输出层会给出各个神经元的响应数据输出。然后将该输出与期望数据比较,以误差平方和来作为参考值。如果误差不超过所预期的范围,那么学习进程便到此停止。相反,如果误差不在可以允许的范围之内,那么这个信号便会立刻反向传播,依次经过各层神经元,对神经元之间的连接权值进行修改,修改后的数据信息按着原来的途径进行传递,继续重复之前的过程,一直到最终的误差范围在可允许的范围内结束神经网络的训练过程。为了更深刻得研究理解BP算法的本质,现以一个基础的模型为例:该模型为一个三层的BP神经网络。其中为输入层和隐含层的权值,为隐含层和输出层的权值,隐含层的传递函数为,输出层的传递函数为。网络的结构如图2-2所示。图2-2BP神经网络模型神经元的输出模型: 设样本对为,隐含层神经可表示为,设为输入层于隐含层间网络权值,为隐含层与输出层神经元之间的网络权值。为隐含层神经的阀值,为输出层神经元的阀值。则隐含层神经元输出为:,其中为隐含层传递函数。输出层神经元输出为:,其中为输出层的传递函数。则训练误差为:(2-13)(2-14)误差对输入层与隐含层神经元间的权值求偏导得到:(2-15)通过权值调整公式得到调整后的权值为:(2-16)其中分别为隐含层和输出层的学习步长。同理根据阀值在调整过程中的原则就是要是朝向误差降落最迅速的方向。根据以上步骤可以看出BP算法的步骤为:(1)将某一矩阵数据进行初始化,输入为模型的权值与阈值。(2)某一组学习数据进入输入层,使得信息正想传播得出隐含层的输出结果,最后传递至输出层得到最后结果。(3)计算并记录所有结果的标准偏差(4)若学习样本数量达到数据数量,则说明此样本的训练过程结束,继续重复步骤2(5)修改各层权值(6)继续进行信息的正向传递,当最终的误差在可允许范围内则终止计算,否则继续重复步骤2下面是对BP模型各个部分结构设计的研究。结构名称设计内容输入层的设计输入层的神经元常常根据实际求解的问题和数据来确定。一般情况下,求解问题涉及到的输入参数有多少个,选取的神经元个数即定为多少个。输出层的设计输出层的维数可根据设计者想要获得输出参数的个数来确定。隐含层的设计BP网络隐含层的数目有一个到多个,所以设计隐含层包含两部分:确定隐含层的数目及隐含层神经元的个数。这往往需要根据实际问题和设计者的经验与多次实验来确定,目前还未有一个理想的解析式来给定。针对一般的问题,1个隐含层已经足够,而神经元的个数一般根据输入层输入参数的多少而定,有些参考文献将隐含层神经元个数定为输入参数的2倍再加1。传递函数的选择传递函数的选择在模型的构建中起着很重要的作用。传递函数是相互连接层神经元间的连接方式,在神经网络中起着非常重要的作用。传递函数的选择由研究问题的性质决定。在常见的预测BP模型中,常用传递函数有:线性传递函数purelin;sigmoid函数即S型函数,而S型函数有对数函数logsig、正切函数tansig。算法的确定BP网络最基本的算法是梯度下降法,但是由于梯度下降法学习收敛速度太慢,而且不能保证收敛到全局最小点,在实际工作中很难胜任工作的要求,因而出现了许多改进的算法。如LM算法就是几种改进算法中比较常用的一种算法。原始数据进行处理在实际问题中一般有多个输入参数,而每个输入的量纲可能不一样,数量级也未必相同,同时系统又非线性,为了有利于训练时学习过程达到局部最小以及尽量让训练能够收敛,数据初值的选取不可忽视。为此在建立模型之前要对原始数据进行处理。本文输入样本有多种数据,各量纲不一样,为了让输入的各个参数能够统一,则必需对其进行归一化,变成无量纲的数据,作为输入初值。本文采取将各个输入单独进行归一化,使之在区间[-1,1]之间,以某一输入参数的序列为例,归一化公式为:(4-17)归一化前的序列;则归一化后的序列。其他输入参数依此方法归一化。2.2.2BP算法的缺陷和修正根据之前的研究了解到,BP神经网络模型采用的是梯度下降法的算法,它最明显的优势在于泛化能力高,具有良好的精确度。但是,BP网络也有着明显的缺陷:(1)收敛速度比较慢从而影响训练速度。主要是由于误差曲面坡度不均匀,有的比较光滑而之后有突然地势走高,这样的影响之下会导致在误差调整的过程中需要修正的权值和阈值的范围变化不均衡,进一步便会使得最终的输出结果变化不再预期范围之内,最终致使误差修正太过或者不明显。同时,还会有其他因素的影响,例如当调节的方向不明确而与出现误差的传播路径不同时,误差的调节在图像上就会表现为远离误差曲面的最小点,这样也同样会降低收敛速度图2-7训练误差曲面训练过程中容易陷入局部极小。正常的BP网络算法误差只会向着减小的方向变化,也就是当函数处于局部极小值时,误差梯度此时也是最小,误差便不再会继续传递从而影响训练进程,没有办法去寻找到全局最优解训练新的样本存在着去忘记旧样本的可能。训练方向只受当前误差梯度的影响,而不会根据之前的误差梯度来调整当前的样本学习,导致的影响就是训练过程会来回摇摆不能前进。(4)隐含层个数的确定并没有准确的依据,常用的是经验公式或者是实验。根据以上的学习,BP算法精确度高,能够快速的寻找到局部最优解,搜能力强,但是缺陷也很明显,就是收敛趋势容易受到影响,易陷入局部最小值,收敛速度不平稳,因此寻求BP算法的改进方法也很重要。常用的改进算法有如下几种:名称内容Levenberg-Marquardts算法由于BP算法是基于梯度下降的算法,所以不可避免会产生收敛速度慢和陷入局部最小值的问题,通过对算法的修正,会对BP网络性能有部分改善,但是并不能从根本上解决问题,经常的做法就是采用其他算法辅助BP算法来修正神经网络。Levenberg-Marquardts由列文伯格、马夸尔特两位科学家提出,简称LM算法。LM算法基于高斯牛顿法和梯度下降法,误差信号以近似二阶导数的收敛速度减小,收敛速度远大于最速梯度下降BP算法,并具有很强的局部搜索能力。该算法的调整规则为:式中:为雅克比矩阵,u为大于零的常数,I为单位矩阵LM算法整体以近似二阶收敛速度进行训练,并且高斯牛顿法还存在着误差越小精度越高的特点。因此,利用LM算法在大大提高收敛速度的同时,也保证了较高的精度。基于该算法的神经网络流程如图2-9所示。变步长BP算法传统BP算法的学习率为一个常数,整个学习过程中没有变化,学习率是训练过程的一个重要影响因素。学习率太小,权值调整不明显,训练效果不理想,延长了训练过程;学习率太大,权值浮动过大,造成训练过程振荡;但需要事先确定最佳的学习率是不可能的。因此,如何让算法可以根据训练的具体情况做适当的自我调整,是解决BP神经网络收敛速度慢的一个有效途径。变步长BP算法是一种兼顾学习速度和训练过程稳定的改进方法。根据误差曲线的实际收敛情况做出相应的调整。如果误差以减小的趋势进行训练,说明负梯度方向正与误差减小方向相符,可以适当增加学习率来提高训练速度;若误差以增大的方式进行训练,说明负梯度方向正远离误差极小点,有可能是过调导致的,这时应该适当减小学习率,避免训练过程振荡延长训练时间。(3)遗传神经网络模型遗传算法是基于达尔文的进化学说与孟达尔的遗传学说形成的一种算法,它的性能类似于生物界中基因的遗传,在大量的实验数据中,经过交叉变异,构成与之前不同的种群,变异后的样本才能后更好的适应数据环境的变化,算法通过不断的重复以上的过程从而寻求到最优解。因此很多术语与遗传学很接近。在生物学中的一个种群指的是神经网络算法中的一组解,而变异在算法中表示为编码中的某一部分发生变化,适者生存则是表示转变为性能更优良的样本。相较于BP算法,遗传算法最突出的优势在于它的训练过程与误差梯度无关,不受其他刺激的影响,只是按照类似于生物遗传规律进行随机搜索与训练,最终的评价标准采用的是适应度函数。遗传算法首先会着手对一个数据集合进行处理,同时对单个的样本个体进行修正,所以当面对像BP网络这样陷入局部最小值的循环后,遗传算法能够专注于某一个个体而不受制于梯度导数,很快的跳出这个循环,继续进行学习,从而不影响收敛。遗传算法只是依赖于程序编码,所以只要所学习的部分可以进行编码便可以采用遗传算法。同时,遗传算法的判定标准是适应度函数,适应度函数并不要求连续可导,定义域也没有更多的限制。所以遗传算法的另一大好处就在于适应的范围广,可以学习训练多种数据。遗传算法的随机性并不是盲目的,随机性搜索也并不是没有依据的,这个算法搜索的基础是交叉概率和变异概率,能够使得算法沿着正确的方向寻求最合适的结果,这种特性我们称之为内在启发随机搜素特性。综上所述,我们可以发现遗传算法的适用范围很广,不会陷入局部最优解的问题,同时又有内在启发随机搜索的特性。接下来我们将更深入的研究BP算法与遗传算法的相同和相异之处。BP算法进行的过程为在寻求的最优解的范围中选取合适的点,然后分析数据样本的性能,由上一个点转移到下一个点,周而复始,而遗传算法是在一组随机数当中进行搜索。BP算法与遗传算法最大的不同在于(1)BP算法的起始点由训练者给出,是只有唯一的一个,而遗传算法的起始点可以有很多,并不需要给定;(2)BP算法的输出过程是由一个点转移到下一个点,遗传算法的输出过程是最终会产生一个系列的种群集合,从而导致遗传算法的训练速度很慢,但是遗传算法又可以在某些问题上解决BP算法的不足,所以我们要结合两者的差异和优势进行对建筑能耗预测的探讨。遗传算法的基本流程包含以下内容:参数编码解码的方法、初始种群、个体适应度计算、遗传算子、终止条件。所以这些步骤中的任何影响因素也同样会影响遗传算法,包括编码参数、选取初始种群、设计适应度函数、遗传操作、确定算法控制参数以及约束条件的处理等。为深入研究遗传算法,我们需要对这些影响因素进行深入的学习。编码是对数据空间的翻译,将空间中可以进行表述的段落通过编程,利用函数映射关系改变其数量级单位,使其转变为方便进行处理的数码,也可以理解为数据的传递。到输出层得到最后的结果之后还需要逆向将数码转变为原来的数据。这是遗传神经网络中首要的一环,数据空间中有多少区域可以进行编程,编码的结果是否统一,能不能保证遗传寻优过程的顺利。目前来说可以用来编码的方法有三种:第一种是最常用的二进制编码,将数据映射成0和1,然后进行组合整理,形成一系列简单的数串,这是应用最为广泛的方法,使用方便,简单。除了明显的优势,二进制方法可能会导致空间区域的离散化从而影响编码过程,而且对于这样一个包含因素种类很多数据庞大的算法来说,二进制的编程方式太过于精简,甚至无法很好的完成任务。所以这个算法经常用于普通的,简单的编程。第二种编码的方法叫做浮点编码,这种编码相对来说应用范围比较广。之所以称作为浮点编码,是每个数据样本均可以被浮点数来表示,所以每一个数据就已经确定了它的编码数据和长度,这样就很好了避免了第一种方法的漏洞,可以应用于数据复杂要求比较高的算法。第三种方法是实数编码,就是直接利用数据本身的情况进行排列编码。由于是相当于直接对数据本身进行的编码,没有映射关系,所以也就不需要输出结果之后再映射回原本的数据,这一步相比较之前的两种算法较少了很多的计算量,特别是当处理的数据比较多,维度比较高的时候,这一优势会很明显。综合上述研究,考虑到遗传算法需要进行交叉变异,种类十分丰富,在编码是对于每一个数据的描述种类也要求有很多,变化也十分丰富,所以决定采用实数编码。在进行运算的过程中,因为数据个体要进行遗传变异很多操作,所以需要筛选出适应性强的个体,才能更好的遗传基因。如同自然界中的生存法则,这里的基因选择也要遵循物竞天择,适合生存的法则,所采用的标准就是之前所提到的适应度函数。通过筛选,可以存留下来很多优良基因,使得算法的性能更好。交叉变异是遗传算法中最为重要的环节,也是遗传算法最突出的特征。具体行为就是两条数据编码进行交叉,交叉的部位基因呼唤从产生新的物种。通过这种方式产生更多新的物种。变异对于基因组的改变更为明显,就是在基因序列中的某一部分,基因直接发生改变,产生新的物种。这种变异对于基因来说是随机产生的,不仅可以产生新的基因,而且可以弥补算法训练过程中产生的误差,保证算法的准确。交叉变异两者的功能有所不同,对于交叉概率来说决定的是算法的全局搜索水平,对于变异概率来说,决定的是局部搜索水平。所以说依靠二者任何一个都不能很好的完成学习,最好能够做到是两者有序的结合起来,发挥各自的优势。变异概率能够起到的作用为:提高遗传算法的局部搜索能力,避免网络陷入局部最小值的问题,当出现这样的情况时,可以采用针对某一数值进行基因变异,使算法跳出局部最小值。同时,利用基因的变异,产生性能更优良的基因,有助于算法整体向着有利的方向发展,淘汰有问题的基因,逐渐提高算法收敛的速度。用基适应度函数的选取是遗传算法中的精华,甚至直接决定遗传算法的性质。适应度函数可以作为筛选基因的标准,通过适应度函数可以选择出性能更好的算法。适应度函数的具体要求:最终结果必须为非负,计算过程最好比较简单等。用基控制参数的选择对于遗传算法来说是至关重要的一环,参数分别包括种群大小、交叉概率、变异概率和遗传代数。种群大小能够显示出起始数据空间大小和多样性。如果种群大小偏小,那么数据空间初始的多样性不够,数据可能不够有代表性。种群大小如果偏大,那么会增大计算量,延长算法收敛的时间。交叉概率主要是用来控制交叉算子遗传的,交叉概率如果比较大,那么基因可以进行足够的交换,所产生的新的基因种类就比较多,但是若交换的基因数量过大,则容易引起遗传误差,扰乱优良基因的遗传,稳定性不高,可能会影响到算法的搜索方向。如果交叉概率过小,那么新的基因数量就比较小,上下两代相似基因比较多,需要经过很多次训练才能够产生满足条件的新基因,从而会影响搜寻的速度。变异概率用来控制基因的变异频率。如果变异的概率偏大,会产生大量的新基因,丰富物种,但是也会造成良好的基因受到破坏,不能稳定的遗传给下一代。如果变异的概率偏小,那么许多基因会过早的产生成熟的现象。经过多种实验研究证明,变异概率比较小的网络相对来说稳定性比较高,但是这样稳定的搜索当面临陷入局部最小值时,不容易从中调出来,而影响算法的学习。这个时候可以继续增加变异概率,使种群中变异的可能性增大,提高跳出局部最小值的影响,从而继续进行全局的搜索。经过以上研究发现,设计高校合理的遗传算法可以在数据空间中,多个编码同时进行全局搜索,以最高的效率,有效的避免过程中的缺陷,完成搜索。但是即使目前的遗传算法功能在理论上,是可以在整个数据空间中寻找到最优解,但是遗传网络本质上仍有明显的缺陷,容易增加训练的时长,这在能耗预测中是不允许的,所以仍旧需要神经网络算法来进行修正。2.4本章小结本章首先进行对神经网络基本原理的了解,并通过神经网络的历史发展情况,学习其适用的学科及内容。紧接着引出对采用范围最广,广泛接受的BP神经网络模型的研究,了解到BP神经网络泛化能力强,但是容易有收敛速度滞缓,陷入局部最小值的缺点。经过多种方法的比较与学习,发现了几种适合于BP网络的改进方法,其中LM算法收敛速度不会受误差梯度导数的影响,也就不会轻易陷入局部最小值的问题,遗传算法的适用范围相对BP网络要广泛的多。但是由于BP算法本身依据的是最速下降法,这个算法从最初便决定了BP神经网络的缺陷,很难去修正甚至没有明显的效果,即使采用上述两种方法也会有明显的缺点,比如会导致训练时间过长,这并不满足建筑能耗短期预测的要求,甚至降低了预测的精确度。建筑能耗预测这一课题不仅要求具有比较高的精确度,而且还要具有一定的实时性,所以如何通过修正后的网络达到收敛速度与精确度共同提高这是本文研究的重点。第3章神经网络预测模型根据BP网络的特点和不足,讨论了LM算法和遗传神经网络算法的优势,本文将根据LM算法的局部搜索能力和遗传算法的自适应性特征,提出新的算法修正原来BP算法的不足。并经过最终的误差对比证实这种修正过后的算法在所预期的范围内,可以应用于对建筑能耗的预测。3.1遗传Levenberg-Marquardts算法Levenberg-Marquardts算法是一种具有收敛性可以全局寻优的算法,它集合了遗传算法与LM算法的优势,因此这个算法分为两个部分:第一部分是利用遗传算法寻求到大致满足要求的系列解,第二部分是利用LM算法在系列解中寻求最优解,输出结果。具体来说:遗传算法部分根据提供的数据样本,算法会对需要的网络进行学习,确定需要的串码空间结构,将数据的数列转化为空间结构。遗传算法的评价标准也是基于适应度函数,本文采用如下函数来作为适应度函数,其式如下:通过之前的学习了解到遗传算法最重要的几个因素有种群规模,交叉变异概率和遗传代数,所能用到的方法包括编码技术,算子归类,交叉变异算子和终止方法。选定参数和方法后需要对数据进行处理,将数据需要编码的各段进行编程,然后统计各个数据的初始适应度值,根据之前选择的遗传算法的方法,样本数据开始进行遗传交叉变异产生一系列新的数集,形成新的种群。判断新的数集是不是在要求的范围之内,如果不满足则继续进行交叉变异,一直到种群在所想要的范围之内结束运算。LM算法寻优部分经过遗传网络的筛选之后得到暂时满足要求的样本数据,这些数据作为新的算法的输入样本,包括输入权值和阈值,这里算法开始进行新的学习数据的训练,在输出层得到最后的结果。与BP神经网络相似,比较输出结果与希望得到的结果,得到相对误差,若得到的误差超出了所允许的误差范围,算法继续修正权值与阈值,这样会保证算法是朝着使训练误差逐渐减小的方向正确的进行。但是又与BP网络不相同的是,BP网络的修正是基于误差函数的导数梯度进行的,LM算法的修正是根据二阶函数为依据,而且也没有必须连续可导,因此训练收敛速度要远远超过基础的BP网络。同时这里的算法也解决了BP网络中最明显的缺陷,就是极易陷入局部最小值的问题,但是LM算法的误差并不是最速下降的,误差也没有必要按着减小的方向变化,便解决了BP网络最大的缺陷。因此这样做提高了收敛速度,提高了算法训练的精确度。在输出结果之后考虑结果是否满足要求,如果不满足最后的要求则继续重复之前的步骤,直到满足要求。为了权衡BP网络本质性的缺陷,原先的设想是在传统的LM算法中加入遗传算法,扩大可应用范围,但是由于遗传算法计算量比较大,会明显的减缓训练速度。又由于LM算法可以提高收敛速度,所以综合考虑这样的算法改进并没有提高原本的训练速度,本课题要进行的是建筑能耗的预测,要求有比较高的实时性,因此重新考虑了新的提出了GALM算法来训练网络,理论上这种算法可以满足目标的要求。3.2预测模型的建立3.2.1影响因子的确定建筑物的能源消耗与很多因素有关,且这些因素之间呈非线性相关,对于建筑物来说能源消耗大致可以从以下三方面进行讨论:天气情况,建筑自身情况,建筑内部情况。对于某一确定的建筑物来说,建筑构造已经是确定的,能够影响建筑能耗的因素可以有天气情况,建筑周围环境状况,建筑内部人员流动情况,建筑内部设备运行情况等。同时,对于进行建筑短期能耗预测来说,建筑物的功能已经确定,建筑室内人员流动情况影响不大,几乎可以看作为一个定值。建筑内部设备运行情况也几乎不变,因此可以忽略人员流动和运行管理这两个影响因素。建筑内部构造,例如体形系数,窗墙比,墙体玻璃的传热系数,建筑朝向等也都可以作为定量参考。综上,在进行建筑短期能耗预测中,最主要的影响来源于天气情况。在考虑天气情况的影响时,考虑到有温度,包括一天中的最高温度,最低温度,平均温度;有湿度,气压露点温度等等,所涉及到的因子规模也相当大,这么多的因子再加上训练时所需样本时间也需要跨度较广,在训练过程中容易导致学习时间过长,收敛缓慢,甚至无法收敛,以至于得不到想要的输出结果。因此需要对这些因素进行分析,它们有些是有关的,有些又不具有线性相关性,应该寻找到这些因素中具有最大相关性的一组样本进行研究,这对于预测的准确性有重要的意义。本文采用名为SPSS的软件进行相关性分析,这是一款不需要编程,操作也比较简单的统计软件,目的是为了保证所有的天气数据都能完整的保存下来,并进行有效的分析,保留下来需要的最有效的成分。软件最大的功能在于可以降维,简化计算的过程,还可以分析出最主要的成分。在本文对建筑能耗的分析中考虑到的影响因素有:最高气温、平均气温、最低气温、最高露点温度、平均露点温度、最低露点温度、最高湿度、平均湿度、最低湿度、最高气压、平均气压、最低气压、最高能见度、平均能见度、最低能见度、最高风速、平均风速、降雨量、采暖度日数这19个因素,在主成分提取的最终结果中认为方差大于1的为主成分。通过对主成分的提取,将原本的将19维矩阵转换成了4维满秩矩阵。分析出主成分以后,通过进一步计算成分中各个因子的得分系数,进而得到各主成分的函数表达式。在SPSS因子分析的因子得分选项中选中“显示因子得分系数矩阵”,分析出的结果就包括了主成分各因子得分系数矩阵A。新的系数矩阵由因素变量矩阵和系数矩阵的乘积得到,由此得到各个因素向量组的数字特征,包括极大值,极小值,均值与方差,最终选定主成分中的前9个因子,作为网络中的输入因素。3.2.2能耗预测初始数据选择为了保证预测结果的可靠准确,本文对建筑能耗预测的目标定为英国伦敦查尔斯国王街FCO主楼,通过该网址可以查到该栋大楼在2018年全年中每天每个时刻的能源消耗,该网址如下:/orgs/fco/king-charles-st/本文中的天气数据均来源于该网址:.查询到关于上文提取出来的9个主要的影响因子的相关数据,即英国伦敦市在2018年全年中每天每时刻的天气变化情况。3.2.3网络结构选择上文中,已经确定了影响最大的主要因子,个数为9个,作为网络的输入因子,所以网络的输入层神经元个数为9个,输出层为电消耗的数目,也就是输出层神经元的个数为1个在这里的网络输出层是这样确定的:对于能耗量共有三个计量水准,能源数量,货币消耗,所用能的碳影响。能耗的单位采用的是千瓦时。对于电力系统来说,这个数字代表的是流出电表的电流数量,不包括电流损失,对于能耗预测中的区域供暖,这显示着进入建筑物的热量,对于气体来说,这又意味着在固定容器中燃烧气体所消耗的热量,因此虽然采用的单位是一个但是所代表的能源消耗的意义并不相同,为了更好的统计与预测将他们结合起来,确定输出为电的消耗量。现在已经确定了输入层与输出层的结构,最重要的是还需要确定隐含层的结构。按照一般原理来说,确实是隐含层层数越多,模型最终的准确率越高。但是如果隐含层层数太多反而会影响网络训练的速度,也会影响算法的性能,但是目前的研究并没有明确的规定隐含层层数。根据一部分文献研究证明,简单的三层神经网络完全可以经过良好的训练去逼近任意非线性函数,所以可以暂定隐含层的层数为一层,如果发现精确度不够可以适当增加。对于隐含层层数的规定大致有以下几点:(1)如果发现当前的精确度并不满足要求,可以根据需要来增加隐含层层数。(2)还可以有其他的实验方法,先选择数量足够多的网络空间,随着训练的不断进行可以尝试着减小训练空间,增加算法的准确度。(3)有如下公式可以用来寻找最优解:3-23-3式中:a为输入层神经元个数,b是输出层神经元个数,c为隐含层神经元个数。到目前为止,神经元算法结构模型结构基本上已经确定,下面将对神经网络的参数进行讨论。参数的选择分为两部分,分别是遗传算法部分和神经网络部分。通过对遗传算法的研究表明,影响遗传算法的因素主要有种群数量,交叉变异概率,不同的操作算法也会面对着不同的数据设定,所以遗传算法参数的设定会直接影响最终的精确度。种群规模N 会影响到种群的数量,种群的模式,种群的计算等。如果种群数量选的偏小,那么数据很有可能不具有代表性,没有办法合适的进行训练。如果种群数量选的偏大,那么会增加算法训练的负担,影响收敛速度。因此种群数量应当适当选取,本文中样本数据选为N=100。交叉概率决定着由旧的数据产生新的种群的概率,它决定着遗传算法的全局搜索能力,这对于遗传算法来说具有实质性的影响。如果交叉概率偏高,那么会使大部分旧的种群均发生交叉变异,在网络空间中都会是新的种群,这样很容易陷入局部最小值的问题。本文确定的交叉概率为变异概率指的是种群样本中产生新的种群的概率,这个概率决定了样本最终的多样性以及算法的性能,若是变异的概率偏大,那么就无法确定新的种群是否与之父母有相同的基因,提高了训练的难度,在本文中,变异概率定为。网络的学习速率定为0.2,学习目标定为0.01,最大训练次数为7000次,中间层的传递函数采用的是常用的S型函数,输出层传递函数采用的是纯线性函数,训练函数可以直接使用MATLAB神经网络工具箱中的trainlm3.3数据的预处理在进行网络的训练之前,为了尽量的避免影响算法的学习,同时又为了提高预测的精确度,需要对搜集整理的历史数据进行预处理,预处理的过程可以分为不良数据的剔除和归一化。3.3.1去除不良数据本文的历史能耗数据来源于能源协会对伦敦市外交大楼的监测,采用的是监测平台,以电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论