一种基于GA-BP神经网络算法的城市生态建设评价方法与流程

文档序号:14390304阅读:511来源:国知局
一种基于GA-BP神经网络算法的城市生态建设评价方法与流程

本发明属于智慧城市生态建设领域,涉及一种基于ga-bp神经网络算法的城市生态建设评价方法。



背景技术:

随着人们生活水平的提高,生态意识的加强,以及可持续发展共识的形成等因素,城市生态建设越来越成为世界关注的焦点。城市生态理念强调以人和自然为对等中心,兼顾社会、自然、环境等因素,很好的体现了可持续、和谐发展的理念。近年来城市经济状况不断改善,伴随而来的是整体环境质量的下降以及对自然系统的威胁等问题的不断增加,城市的可持续发展面临着巨大的压力。另一方面,随着社会经济的不断发展,人们越来越关注居住的环境质量,创造良好的人居环境既是社会理想也是人民生活的基本需求。而建设城市生态城市能够非常好的解决上述问题,满足社会的发展需求和人们的居住需求。故目前“城市生态”受到政府和城市建设管理者强烈地关注和支持,建设城市生态已经成为世界城市发展的新趋势,尤其在当今国内城市飞速地发展浪潮下变得越来越重要。众所周知,建立一个城市生态建设评价体系是发展宜居城市生态的前提和必要条件,为城市生态的建设提供决策支撑。因此在城市生态的建设过程中,急需建立一个可靠、准确、完善、智能的城市生态建设评价体系。

目前,用于综合评价城市城市生态的传统方法有层次分析法、数据包络分析法、topsis(techniquefororderpreferencebysimilaritytoanidealsolution,双基点法)评价法、模糊综合评价法、灰色关联度分析法、灰色聚类法等。比如通过模糊综合评价法综合评价城市城市生态性、通过对城市环境质量指标的分析研究;运用多层次模糊评价法对城市环境质量进行了综合评价;借助topsis方法综合评价城市城市生态程度,运用数据包络分析方法对城市的建设能力进行了评价研究。还有基于灰色关联度分析方法,对城市宜居水平进行了解析。总的说来,这些方法在统计上简单易行,不足之处是具有较强的主观性,而且面对大量的指标数据,只是简单地统计和计算,对数据挖掘的深度不够,尤其是不易发现隐性关联指标。这会导致评价结果的科学性、说服力和智能性不强。近年来随着大数据和人工智能的火热兴起,利用数据分析、数据挖掘、神经网络等方法构建城市生态评价体系也成为该领域的一个研究热点。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于ga-bp(geneticalgorithms-backpropagation,遗传算法-反向传播)神经网络算法的生态宜居评价方法,其构建了基于ga-bp神经网络的城市城市生态建设评价模型。该发明能够实现城市生态评价功能,有利于发现隐性关联指标,具有更高的科学性、智能性和实用性。

为达到上述目的,本发明提供如下技术方案:

一种基于ga-bp神经网络算法的城市生态建设评价方法,该方法包括以下步骤:

步骤1:构建城市生态评价评价指标体系;

步骤2:生成用于训练和测试城市城市生态评价神经网络的数据样本;

步骤3:确定用于城市生态评价的神经网络结构;

步骤4:利用遗传算法来优化神经网络的初始权值和阈值;

步骤5:利用训练数据集通过神经网络训练,生成城市生态评价模型,并利用测试数据集进行优化。

进一步,所述步骤1具体为:筛选出影响城市城市生态性的8大影响因素作为一级指标;根据remap(relevant,environmentallysound,measurable,attainable,professionalscope)原则对8大一级指标下的2级指标进行筛选,构建城市城市生态评价指标体系。

进一步,所述步骤2具体为:根据构建的城市生态评价指标体系,采集对应的城市指标数据;针对采集的数据,通过专家打分法来对城市的生态性进行评分,构造用于训练和测试神经网络的样本数据;并对用于训练和测试神经网络的样本数据进行离差标准化处理,对样板数据进行线性变换,使结果落到[0,1]区间。

进一步,所述步骤3具体为:城市生态评价模型的神经网络结构采用三层的bp神经网络,包括一个输入层,一个隐含层和一个输出层;输入层神经元个数为城市生态评价指标数d,输出层神经元个数l定为5个,分别代表优、良、一般、较差、差五个等级,隐含层神经元个数q由公式(d+1)/2确定;隐含层和输出层神经元都采用sigmoid函数作为激励函数,用于神经元由输入计算输出,学习率取0-1之间的数值,网络训练的终止条件包括误差阈值和迭代次数,误差阈值取0.001-0.0001之间的数值,迭代次数取1000次,初始权值和阈值通过ga函数确定。

进一步,所述步骤4具体为:遗传算法采用实数编码,将网络所有的权值和阈值,包括输入层与隐含层之间的权值、隐含层与输出层的权值、隐含层阈值和输出层阈值,按顺序级联形成染色体;在连接权值和阈值范围内,随机产生p个染色体,形成初始化群体;确定适应度函数为网络误差平方和的倒数,根据适应度函数计算每个个体的适应度值,当群体中适应度最高值满足精度要求,则返回适应度最高值所对应的染色体,否则进行遗传进化操作;对初始群体进行选择、交叉、变异操作,产生新一代群体;计算新群体成员的适应度值,选取最优适应度值,判断最优适应度值是否满足条件,若满足,则输出最优适应度值所对应染色体,若不满足,则反复迭代,直到满足条件为止。

进一步,所述步骤5具体为:输入具有d维指标向量的k个样本进入bp网络输入层,根据遗传算法返回的初始权值和阈值,计算出当前样本的输出,进而计算出期望输出与实际输出的均方误差,判断均方误差是否达到精度要求,若达到,则结束训练,否则进入后续步骤;根据均方误差更新连接权值和阈值,输入样本数据,依据更新后的连接权值和阈值,计算出均方误差;将输出的均方误差与设定的误差阈值进行比较,若均方误差满足误差要求,则停止训练,否则反复迭代,直至满足精度要求或达到训练次数,训练结束。

本发明的有益效果在于:本发明利用专家评分法生成神经网络训练和测试样本数据,有效保证了神经网络的训练精度,提高了评价模型可信度;采用ga-bp神经网络算法对城市城市生态进行评价,通过对已知样本信息的学习和训练,挖掘并掌握专家评价的知识和规律,相比传统的具有很强主观性的城市生态综合评价方法,更具有智能型、科学性;采用遗传算法优化bp神经网络的初始权值和阈值,相比bp神经网络算法,避免了局部最优,提高了网络训练精度和速度。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本方法流程图。

图2为bp神经网络的结构示意图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

为解决现有技术存在的问题,本发明提出了一种新的基于ga-bp神经网络的城市城市生态评价方法,通过首先确定bp神经网络的结构和相关参数,然后利用遗传算法优化初始权值和阈值,接着输入样本数据训练bp神经网络模型,最终构建出城市城市生态评价模型。

如图1所示,实现一种基于ga-bp神经网络算法的城市生态建设评价方法的流程图,它包括以下步骤:

步骤1:构建城市生态评价评价指标体系;

步骤2生成用于训练和测试城市城市生态评价神经网络的数据样本;

步骤3:确定用于城市生态评价的神经网络结构;

步骤4:利用遗传算法来优化神经网络的初始权值和阈值;

步骤5:利用训练数据集训练,形成城市生态评价模型,并利用测试数据集验证与优化模型。

步骤1进一步为:根据城市生态城区评价的各大标准和指南,结合专家的指导和建议,选定影响城市城市生态性的8大影响因数作为一级指标,一级指标分别是可再生能源利用、节能减排、水资源循环利用、自然生态、环境质量、微气候环境、绿色建筑、绿色交通出行;然后根据remap原则对8大一级指标下的2级指标进行筛选,构建出具有14个二级指标的城市城市生态评价指标体系,其中r:与生态发展目标密切相关,e:符合可持续发展价值导向,m:指标可量化,a:数据可获取,可监测,可统计,p:专业领域共识性,可参考国家标准。构建的指标体系为:可再生能源应用比例、单位建筑面积能耗、非传统水源利用率、本地植物指数、年径流控制率、人均公共绿地面积、地表水环境质量达标率、空气质量好于等于2级标准的天数、区域环境噪声达标覆盖率、生活环境垃圾覆盖率、人行区域风速、城市热岛强度、二星级及以上绿色建筑比例、绿色交通出行率;

步骤2进一步为:根据评价指标体系,采集对应的城市指标数据;针对采集的数据,通过专家打分法来对城市的城市生态性评分,并对采用最大值最小值方法对指标原始数据进行标准化处理,由此构造出用于训练和检验神经网络的样本数据;

步骤3进一步为:确定本发明设计中bp神经网络的拓扑结构和相关参数。

如图2所示,本发明采用的城市生态评价网络拓扑结构如下:网络采用多输入多输出的前向式三层网络结构,包括一个输入层,一个隐含层和一个输出层。

输入层:将城市生态评价评价指标设置为神经网络输入层,即网络输入层神经元个数为14个,其所对应的输入向量为x=(x1,x2,x3,…,x14);

输出层:将输出神经元个数定为5个,分别代表优、良、一般、较差、差五个等级,其所对应的输出向量为y=(y1,y2,y3,y4,y5),五种评价状态分别用(1,0,0,0,0)、(0,1,0,0,0)、(0,0,1,0,0)、(0,0,0,1,0)、(0,0,0,0,1)五个向量来表示;

隐含层:神经元个数q由公式(d+1)/2设定,其中d为输入层个数,l为输出层个数,故神经元个数为10个。

bp神经网络相关参数设计如下:

激活函数:隐含层和输出层神经元都采用sigmoid函数作为激励函数,用于神经元由输入计算输出,即f(x)=1/(1+exp(-x));

学习率:学习率取0-1之间的数值,本神经网络学习率取值为0.9,即η=0.9;

训练终止条件:终止条件包括误差阈值和迭代次数,误差阈值取0.001-0.0001之间的数值,本网络将误差阈值设置为0.0001,迭代次数取1000次。

步骤4具体步骤为:

(1)配置遗传算法相关参数:设定适应度函数为fitness,指定遗传终止判据的阈值为fitness_threshold,取群体中包含的成员数量为p个,每一步中通过交叉取代群体成员的比例为r,每一步的变异率为m;

(2)初始化群体:本遗传算法采用实数编码,将网络所有的权值和阈值(包括输入层与隐含层之间的权值,隐含层与输出层的权值、隐含层阈值和输出层阈值)按顺序级联形成染色体。在连接权值和阈值范围内,随机产生p个染色体,形成初始化群体p;

(3)计算适应度值:将bp网络误差平方和的倒数作为本遗传算法的适应度函数,对于群体中每一个成员h,计算其适应度为:fitness(h)=1/e(h)。对群体中适应度值作如下判断,当群体中适应度最高值满足精度要求,则返回适应度最高值所对应的染色体,否则进行遗传进化操作;

(4)产生下一代群体:对初始群体进行选择、交叉、变异操作,产生新一代群体,具体步骤如下:

a)选择:利用轮盘赌选择方法选择p的(1-r)p个成员加入ps。从p中选择成员hi的概率pr(hi)用下面公式计算:

b)交叉:依据计算得到的pr(hi),按概率从p中选择r.p/2对成员,对于每对成员<h1,h2>,利用单点交叉算子对成员进行交叉操作,产生两个后代,把所有的后代加入ps;

c)变异:使用均匀的概率从ps中选择m%的成员,对于选出的每个成员,在它的染色体中随机选择一位,改变其值;

d)更新群体:用遗传所得到的ps群体替换初始群体p;

(5)重复迭代遗传:计算新群体成员的适应度值,选取最优适应度值,判断最优适应度值是否满足条件,若满足,则输出最优适应度值所对应染色体,若不满足,则反复迭代,直到满足条件为止;

步骤5具体步骤为:

(1)信息的正向传递:

a)提供训练集:给定训练集d={(x1,y1),(x2,y2),…,(xk,yk),…,(xm,ym)},xk∈r14,yk∈r5,即输入具有14维指标向量的m个样本;

b)输入训练样例:将训练样例(xk,yk)输入bp神经网络进行训练,其中,i={1,2,…,14},k={1,2,…,m};

c)计算隐含层输入和输出:设定隐含层输入隐含层输出h={1,2,…,10},k={1,2,…,m}。则计算第h个隐含层神经元的输入,计算公式为:

计算第h个隐含层神经元的输出,计算公式为:

d)计算输出层输入和输出:设定输出层输入输出层输出j={1,2,…,5},k={1,2,…,m}。则计算第j个输出神经元的输入,计算公式为:

计算第j个输出神经元的输出,计算公式为:

e)计算网络均方误差:在输出层把实际输出与期望输出进行比较,计算实际输出与期望输出的均方误差,计算公式为:

(2)误差的反向传播:

a)计算输出层梯度项:计算网络输出层神经元梯度项gj,计算公式为:

b)计算隐含层梯度项:计算网络隐含层神经元梯度项eh,计算公式为:

(3)更新权值和阈值:

a)更新连接权值:重新计算隐含层与输出层的连接权值输入层与隐含层的连接权值计算公式为:

b)更新阈值:重新计算输出层阈值隐含层阈值计算公式为:

(4)重复迭代训练:

输入样本数据,依据更新后的连接权值和阈值,计算出网络均方误差,将输出的均方误差与误差阈值进行比较,若均方误差满足误差要求,即ek<0.0001,则停止训练,否则反复迭代,更新连接权值和阈值,直至满足精度要求或达到1000次训练,训练方可结束;

(5)检验神态宜居评价网络模型:

将测试样本数据输入训练好的模型中,比较实际输出值与期望输出值,计算网络的系统误差e,若误差不能满足网络精度要求与城市生态评价的正确率,则需要调整网络相关参数,重新进行神经网络的训练,直至检验达到精度要求。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1