本文利用BP神经网络对美国波士顿的房价进行预测,并针对BP神经网络存在的易陷入局部极小值,收敛速度慢,网络拓扑结构不稳定等问题,提出运用GA遗传算法对BP神经网络的初始权值和阈值进行优化。分别对传统神经网络和GA_BP进行训练和仿真,结果表明,经遗传算法优化后的神经网络可以加快网络收敛速度,提高预测房价的精度。
- 概述
随着房地产市场行业快速迅猛的发展,人们越来越关注放价的走势。从宏观上来看,影响房价的因素分为房地产自身因素和房地产外部因素。自身因素主要包括:区位因素、实物因素和权益因素。外部因素主要包括:人口因素、制度因素、经济因素、社会因素和国际因素。由此可看出,影响房价的因素很多。在本文的研究中,我们只选取部分影响房价的因素进行分析。
人工神经网络是基于模仿人脑系统的结构和功能,反映人脑某些特性的一种智能信息处理系统。人工神经网络具有并行处理能力、自学习和自适应等特性。同时,它还具有非线性映射、优化计算、联想记忆等功能。目前,人工神经网络已经在很多领域得到了广泛的应用。这些应用领域主要包括智能检测、非线性预测、模式识别、机器人控制等。随着人工神经网络的进一步发展和更加深入的研究,人工神经网络应用的领域越来越广泛。因此,本文提出利用遗传算法优化的 BP 神经网络来建立房价预测模型。 - BP神经网络及遗传算法
BP 神经网络(Back Propagation Neural Network)也称为反向传播神经网络,是一种具有 3 层或 3 层以上结构的无反馈的、层内无互连的网络,其结构如图所示。
BP 神经网络除输入层和输出层外,还包括一个或多个隐含层,各个层神经元之间实现全连接,而同层内各神经元之间无连接。BP神经网络通过有指导的学习方式进行学习和训练。标准的BP学习算法采用误差函数按梯度下降的方法学习,使网络的实际输出值和期望输出值之间的均方误差最小。BP神经网络的学习过程主要是由输入信号正向传播和误差反向传播构成的。在正向传播时,输入信号从输入层输入,经过隐含层的逐层处理后,传递给输出层。若输出层的实际输出与期望输出不符,则转入误差反向传播过程。反向传播的过程就是由输出层向输入层逐层修正连接权值使误差减小。输入信号的正向传播与误差的反向传播过程是循环进行的。BP神经网络的训练过程就是不断调整连接权值的过程,这个过程进行到输出的均方误差达到要求的标准。
遗传算法(Genetic Algorithm, GA)是模拟生物在自然界进化过程中的遗传选择和自然淘汰的一种计算模型。它是一种具有很强的全局搜索能力和全局优化性能的算法。遗传算法主要包括选择、交叉和变异等操作。它的主要优点是鲁棒性强、简单通用,能够用于并行分布式处理。因此,将遗传算法与 BP 神经网络相结合,训练网络时先用遗传算法对神经网络的权值和阈值进行寻优,缩小搜索范围之后,再利用 BP 神经网络对问题进行求解。 - BP神经网络的房价预测模型设计
3.1数据选择
实验数据的选取对网络模型的预测结果影响很大,所以选取的样本数据要尽可能真实客观地反映房价的变化规律。选取的房价影响因素不仅要合理,而且还要具有代表性。分析影响房价的所有因素是不现实的,在本文的研究中,选取了13 个房价影响因素。我们使用的训练数据来自于美国,数据源地址为https://archive.ics.uci.edu/ml/machine-learning-databases/housing/。美国政府公开了很多公共数据以便社会研究,在我们使用的Keras框架中,包含了美国1970年波士顿郊区的房地产相关信息,例如犯罪率,房地产税,不同户型的房价等等。选取输入数据有以下13个
CRIM:城镇人均犯罪率
ZN:住宅用地所占比例
INDUS:城镇中非商业用地所占比例
CHAS:CHAS查尔斯河虚拟变量,用于回归分析
NOX:环保指标
RM:每栋住宅房间数
AGE:1940年前建成的自主单位比例
DIS:距离5个波士顿就业中心加权距离
RAD: