前言:中文期刊网精心挑选了神经网络的算法范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
神经网络的算法范文1
关键词:无线传感器网络;数据融合;神经网络
中图分类号:TP393文献标识码:A文章编号:1009-3044(2010)18-5050-02
A Wireless Sensor Network Data Fusion Algorithm Based on Neural Network
YAO Li-jun1, LIANG Hong-qian2, ZHAO Lei1
(1.Hengyang Normal University, Hengyang 421008, China;2.Xi'an Wenli College, Xi'an 710065, China)
Abstruct: This paper combined the neural network model and the wireless sensor network, proposed a wireless sensor network data fusion algorithm based on neural network. Experiments show that the algorithm can effectively reduce energy consumption of network, extend network life, it is a more practical wireless sensor network data fusion algorithm.
Key words: wireless sensor network; data fusion; neural network
无线传感器网络(wireless sensor network,简称WSN)近几年来是计算机网络领域中最为热门的研究内容之一。典型的无线传感器网络由大量廉价的传感器节点所构成,相互之间通过无线方式进行数据通信。这些传感器节点可以通过其携带的各种类型的传感器采集现场的各种数据,并以接力的方式通过其它传感器节点将采集到的数据逐跳地发送到汇聚节点(Sink)[1]。其中单个传感器节点由于能量、计算、存储、感应及通信能力严格受限,所以需要高的覆盖密度来保证整个网络的鲁棒性和检测信息的准确性。这就导致相邻节点间采集的数据存在一定的冗余,网络负载随之增加。为了节省能量和通信带宽,减少原始数据的发送,传感器节点需要协同在网处理所收集的原始数据。数据融合就是在网处理的方法之一[2-3]。
神经网络(Neural Network,简称NN)是对人脑或自然神经网络若干基本特性的抽象和模拟,是一门多个学科领域的边缘交又学科。它以对大脑的生理研究成果为基础,旨在模拟大脑的某些机理与机制,实现某个方面的功能[4]。
神经网络与数据融合具有一个共同的基本特征,即通过对大量的数据进行一定的运算和处理,得到能够反映这些数据特征的结论性的结果。本文提出一种新的无线传感器网络数据融合算法,该算法基于分簇无线传感器网络模型,将其中的分簇结构与神经网络模型相结合,在簇头节点利用神经网络算法对簇成员节点的数据进行融合处理,以有效地减少网络中传输的数据量,延长网络使用寿命。
1 无线传感器网络模型与神经网络模型
无线传感器网络由大量部署于监控区域的传感器节点组成。传感器节点分为 3类:基站、簇头和普通传感节点。层次化无线传感器网络如图1所示。
本文采用的神经网络模型是典型的前馈神经网络―多层感知器(MLP)[5]。多层感知器由若干层非线性神经元组成,每个神经元都是一个感知器,每层包含多个感知器,相邻层的神经元用权连接起来。图2给出了多层感知器的结构示意图,通常情况下,层与层之间是全连接的,信号沿着前馈方向,即从左边到右边,逐层传递。
2 具体数据融合算法
本算法基于三层感知器神经网络模型,对应无线传感器网络中的一个簇。其中,输入层和第一隐层位于簇成员节点中,而输出层和第二隐层位于簇头节点中。
假设无线传感器网络中一个簇内有n个簇成员节点,每个簇成员节点采集m种不同类型的数据,那么该神经网络模型共有n×m个输入层节点、n×m个第一隐层神经元。第二隐层神经元的数量、和输出层神经元的数量k可以根据实际应用的需要进行调整,与簇成员节点的数量n并没有联系。对于不同类型的数据,第二隐层的数量可以不同。在输入层与第一隐层之间、第一隐层和第二隐层间没有采用全连接,只是对不同类型的数据分别进行处理;而第二隐层与输出层之间是全连接的,可以对不同类型的数据进行综合处理。
根据这样一种三层感知器神经网络模型,本文的数据融合算法首先在每个传感器节点对所有采集到的数据按照第一隐层神经元函数进行初步处理,然后将处理结果发送给其所在簇的簇头节点。簇头节点再根据第二隐层神经元函数和输出层神经元函数进行进一步地处理。最后,由簇头节点将处理结果发送给汇聚节点。下面以第一隐层神经元功能模型为例,叙述神经元函数信息处理过程。
第一隐层神经元位于簇成员节点。每个簇成员节点中第一隐层神经元的数量是根据传感器节点所采集的数据类型来决定的,不同类型的数据由不同的神经元来进行处理。第一隐层神经元功能模型的输入区、处理区和输出区三个功能函数如图3所示。
3 性能仿真
将本文的融合算法与基于卡尔曼滤波的融合方法进行比较,在条件相同的情况下,考察两算法性能的主要指标,包括:网络总能耗、节点平均剩余能量和平均时延三个方面。如图4所示。
图中,表示基于神经网络的融合算法, 表示基于卡尔曼滤波的融合方法,由图可知,本文基于神经网络的融合算法在这三方面均优于基于卡尔曼滤波的融合方法。
4 结论
本文将神经网络功能模型与层次化无线传感器网络相结合,提出一种基于神经网络的无线传感器网络数据融合算法,通过采用该算法,有效地减少了网络的能耗,延长了无线传感器网络的生存周期,是一种较为实用的无线传感器网络数据融合算法。
参考文献:
[1] 李建中,高宏.无线传感器网络的研究进展[J].计算机研究与发展, 2008 (1):1-15.
[2] Castelluccia C,Mykletun E,Tsudik G.Efficient aggregation of encrypted data in wireless sensor networks[J].Mobile and Ubiquitous Systems:Networking and Services MobiQuitous,2005.
[3] Chen J,Pandurangan G,Xu D.Robust computation of aggregates in wireless sensor networks:Distributed randomized algorithms and analysis[C].IPSN,2005:348-355.
神经网络的算法范文2
关键词:入侵检测 神经网络 人工鱼群算法 模型参数
中图分类号:TP18 文献标识码:A 文章编号:1674-2117(2014)20-00-01
1 前言
21世纪是网络的时代,网络已进入人们的日常生活,成为人们通信和交流的工具,人们对于网络的依赖也越来越强。
针对网络入侵检测问题,国内外许多学者进行了深入研究,提出了许多有效的网络入侵检测模型。在网络入侵检测过程,网络入侵分类器设计是网络入侵检测的关键,当前网络入侵分类器主要有基于支持向量机、K最近邻算法、神经网络等进行设计。其中出回声状态神经网络(Echo State Network,ESN)是一种新型的网络,具有简单、易实现、泛化能力优异等优点,成为网络入侵检测中的主要研究方向。人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)是一种采用自下而上信息寻优模式的智能搜索算法,具有并行性、收敛速度快等优点,为回声状态神经网络参数优化提供了一种新的工具。
2 人工鱼算法优化神经网络的入侵检测模型
2.1 回声状态神经网络
ESN是一种由输入层、内部储备池和输出层组成的非线性递归神经网络,其状态方程为:
式中,sigmoid为激活函数;Win和Wx分别为输入和储备池内部的连接矩阵;μ(t),x(t)分别表示t时刻的输入向量和储备池内部状态向量量,sin为输入项比例系数;ρ为内部储备池的谱半径。
那么ESN的输出方程为
(2)
式中,y(t)为t时刻的输出向量Wout为输出连接向量。
输出权值对ESN性能起着关键作用,常采用最小二乘法进行求解,目标函数的最小化形式为
式中 ,
,N为储备池节点数;l为训练样本数。
根据式(3)式得到解
(4)
式中,为的估计值。
从式(1)可知,参数sin和ρ的选取影响回声状态神经网络的性能,本文采用人工鱼群算法(AFSA)对参数sin和ρ的选择,以提高网络入侵的检测正确率。
2.2 人工鱼群算法
工鱼群算模拟鱼群觅食的行为,人工鱼个体的状态可表示为向量Xi=(xi1,xi2,…,xiD),食物浓度表示为Y=f(x),其中Y为目标函数值;Visual表示人工鱼的感知范围:Step表示人工鱼移动的步长;δ表示拥挤度因子。人工鱼的行为包括以下几种:①觅食行为;②聚群行为;③追尾行为;④随机行为。
2.3 人工鱼群算法优化神经网络参数
(1)初始化人工鱼群算法参数,主要包括人工鱼群数以及最大迭代次数;(2)初始位置为回声状态神经网络的参数;(3)计算适应度函数,并选择适应度函数值最大的人工鱼个体进入公告板;(4)人工鱼模拟鱼群觅食行为,得到新的人工鱼位置;(5)与公告板人工鱼的位置进行比较,如果优于公告板,那么将该人工鱼位置记入公告牌;(6)将最优公告牌的位置进行解码,得到回声状态神经网络最优参数;(7)利用最优参数建立网络入侵检测模型,并对其性能进行测试。
3 仿真实验
3.1 仿真环境
数据来自网络入侵标准测试集KDDCUP99数据集,其包括4种入侵类型:DoS、Probe、U2R和R2L,同时包括正常样本,每一个样本共有41个特征,7个符号型字段和34个数值型字段。由于KDDCup99数据集样本多,从中随机选择部分数量的数据进行测试,数据具体分布见下表。为了使本文模型的结果具有可比性,采用PSO算法优化回声状态神经网络(PSO-ESN),遗传算法优化回声状态神经网络(GA-ESN)进行对比实验。
样本集分布情况
入侵类型 训练样本 测试样本
DoS 2000 400
Probe 1000 200
R2L 500 100
U2R 100 20
3.2 结果与分析
所有模型对网络入侵数据进行建模,仿真结果如图1和图2所示。从图1和图2进行仔细分析,可以知道,相对于PSO-ESN、GA-ESN,人工鱼群算法优化神经网络的入侵检测性能最优,网络入侵检测的误报率更低,具有十分明显的优势,在网络安全领域具有广泛的应用前景。
图1几种模型的检测率比较
图2几种模型的误报率比较
4 结语
针对回声状态神经网络参数优化难题,提出一种人工鱼群算法优化回声状态神经网络参数的入侵检测模型。仿真结果表明,相对于对比模型,本文模型提高了网络入侵的检测率,同时误报率明显降低,具有一定的实际应用价值。
参考文献:
[1]唐正军,李建华.入侵检测技术[M].北京:清华大学出版社,2004.
神经网络的算法范文3
关键词:数据挖掘;数据库;遗传算法;神经网络
中图分类号:TP392文献标识码:A文章编号文章编号:1672-7800(2013)012-0129-02
基金项目:佛山科学技术学院重点项目(2010)
作者简介:刘晓莉(1961-),女,佛山科学技术学院副教授,研究方向为应用数学。
1遗传算法基本特征
遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种具有广泛适用性的通用优化搜索方法。遗传算法主要借用了生物遗传学的观点,通过自然选择、遗传和变异等作用机制来产生下一代种群,如此逐代进化,直至得到满足要求的后代即问题的解,是一种公认的全局搜索能力较强的算法。
遗传算法有良好智能性,易于并行,减少了陷于局部最优解的风险。遗传算法的处理对象不是参数本身,而是对参数集进行了编码的个体,可以直接对集合、队列、矩阵、图表等结构进行操作。同时,在标准的遗传算法中,基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估个体,并在此基础上进行遗传操作; 遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导它的搜寻方向。正是这些特征和优点,使得遗传算法在数据挖掘技术中占有很重要的地位,既可以用来挖掘分类模式、聚类模式、依赖模式、层次模式,也可用于评估其它算法的适合度。
2神经网络基本特征
神经网络是人脑或自然神经网络若干基本特征的抽象和模拟,是以大量的、同时也是很简单的处理单元(神经元)广泛地互相连接形成的复杂非线性系统。人工神经网络本质上是一个分布式矩阵结构,它根据样本的输入输出对加权法进行自我调整,从而近似模拟出输入、输出内在隐含的映射关系。建模时,不必考虑各个因素之间的相互作用及各个因素对输出结果的影响机制,这恰好弥补了人们对各个因素及对输出结果的机制不清楚的缺陷,从而解决众多用以往方法很难解决的问题。
神经网络具有大规模的并行处理和分布式的信息存储,有良好的自适应、自组织性,学习能力很强,有较强的联想功能和容错功能,在解决机理比较复杂、无法用数学模型来刻画的问题,甚至对其机理一无所知的问题等,神经网络方法特别适用,是一种用于预测、评价、分类、模式识别、过程控制等各种数据处理场合的计算方法,其应用已经渗透到多个领域,在计算机视觉、模式识别、智能控制、非线性优化、信号处理、经济和机器人等方面取得了可喜的进展。
3遗传算法与神经网络混合算法在数据挖掘中的应用
作为一种有效的优化方法,遗传算法可以应用于规则挖掘,可以单独用于数据仓库中关联规则的挖掘,还可以和神经网络技术相结合,建立基于神经网络与遗传算法的数据挖掘体系,用于数据挖掘中的分类问题。
学习能力是神经网络中最引人瞩目的特征,学习算法的研究一直占据重要地位。可以将遗传算法应用于神经网络的学习过程中,这样可以避免传统的神经网络算法容易陷入局部极小的问题。有研究者提出了一种基于遗传算法的神经网络二次训练方法,可以提高神经网络的模糊处理能力,有效解决神经网络陷入局部极小的缺点,加快收敛速率,提高学习效率。也有研究者探究了基于基因重组的遗传算法优化神经网络的方法,通过训练权值来实现分类,可以提高神经网络数据分类的准确性。因此,采用遗传算法与神经网络模型相结合方法,可以解决多维非线性系统及模型未知系统的预测、评价与优化等问题,其成功案例有很多,下面是其中的几例。
一些研究者针对当前专家系统知识获取瓶颈的难题,提出了基于神经网络与遗传算法的汽轮机组数据挖掘方法。该方法首先将汽轮机组历史故障数据进行模糊化及离散化处理后,建立神经网络模型,然后再利用遗传算法对神经网络进行优化,实现了基于神经网络与遗传算法相结合的汽轮机组数据挖掘和故障诊断仿真系统,其诊断正确率达到了84%。
综合运用人工智能、计算智能(人工神经网、遗传算法) 、模式识别、数理统计等先进技术作为数据挖掘工具,可以建立可靠、高效的数据挖掘软件平台,已在很多工业控制和优化中得到应用和实验验证,并取得了满意的应用效果。例如,某铝厂根据以往不同原料成分和原料的不同配比与产品质量关系记录的数据库,应用数据挖掘软件平台,可以挖掘出适应不同原料成分的最佳配比规律,从而提高产品质量的稳定性。又如,以往在化工产品优化配方、催化剂配方优化或材料工艺优化等研究中,基本上都是采用试验改进的方式,需经过多次试验才能达到预期目的,但也有可能失败。为降低消耗, 少做试验就能达到预期目的,可采用神经网络对产品配方实验数据建模,在此基础上,再应用遗传算法对配方模型进行优化,得到优化配方。
正是遗传算法与神经网络等算法的支撑以及计算机技术的发展,目前,数据挖掘广泛地应用于天文、地理、生物信息学、金融、保险、商业、电信、网络、交通等众多领域。例如,应用在地理数据库上,主要挖掘地质、地貌特征,为寻找矿产或进行城市规划等提供参考依据;在电信Web服务器方面,可以挖掘Web日志,根据用户兴趣动态链接Web页面,统计页面链接及权威主页等,对检索页面进行聚类,方便用户找到需要的信息;在生物医学信息和DNA数据分析方面,进行遗传、疾病等数据特征的挖掘,为疾病诊断、治疗和预防研究提供科学依据;对金融数据进行挖掘,可以分析客户信用度;在CRM(客户关系模型)上使用数据挖掘,获得客户群体分类信息、交叉销售安排及开发新客户和保留老客户的策略;在电信业中使用挖掘技术,以预防网络欺诈等;应用在商业问题的研究包括:进行客户群体划分、背景分析、交叉销售等市场行为分析,以及客户流失性、信用度分析与欺诈发现;在电子商务方面,从服务器以及浏览器端的日志记录中发现隐藏在数据中的模式信息,了解系统的访问模式以及用户的行为模式,作出预测性分析等等。
4结语
神经网络和遗传算法作为数据挖掘技术,也有一些不足和缺陷。遗传算法除了要进一步改进基本理论和方法外,还要采用和神经网络、模拟退火、最近临规则等其它方法相结合的策略,提高遗传算法的局部搜索能力,从而进一步改善其收敛速度和解的品质,提高数据挖掘技术。特别是对于单调函数或单峰函数,遗传算法在初始时很快向最优值逼近,但是在最优值附近收敛较慢;而对于多峰函数的优化问题,它往往会出现“早熟”,即收敛于局部极值。因此,研究如何改进遗传算法,采用合适的算法加快寻优速度和改善寻优质量,无论在理论上还是在实践上都有重要意义。神经网络的神经计算基础理论框架以及生理层面的研究仍需深入与加强,如何提高神经网络的可理解性问题,以及研究遗传算法、神经网络技术与其它人工智能技术更好地结合,从而获得比单一方法更好的效果等问题,值得进一步探索。
虽然数据挖掘技术已得到了广泛应用,但现有的数据挖掘方法并不能完全适应所面临的具有多样性的海量数据分析的现实,急需解决的问题是:如何研究并行处理和抽样的方法,来处理大规模的数据以获得较高的计算效率;如何利用统计、模糊数学来确定隐含变量及依赖关系,开发容噪的挖掘方法,以解决异质数据集的数据挖掘问题;如何更好地进行文本数据挖掘、Web数据挖掘、分类系统、可视化系统、空间数据系统和分布式数据挖掘等新技术的应用。因此,未来数据挖掘的研究表现在数据挖掘功能、工具、方法(算法) 的拓展与理论创新,其应用的范围和深度会进一步加强。
参考文献参考文献:
[1]孟晓明.浅谈数据挖掘技术[J].计算机应用与软件,2004 (8).
[2]李慧芳,姚跃华,陈一栋.改进的遗传算法对神经网络优化的分类[J].微计算机信息,2008(15).
[3]王东龙,李茂青.基于遗传算法的数据挖掘技术应用[J].南昌大学学报, 2005(1).
[4]宋仁国.铝合金工艺优化的遗传算法[J].材料科学与工程,1998(1).
[5]韩力群.催化剂配方的神经网络建模与遗传算法优化[J].化工学报,1999(4).
[6]郭崇慧,陆玉昌.预测型数据挖掘中的优化方法[J].工程数学学报,2005(1).
[7]杨杰.用于建模、优化、故障诊断的数据挖掘技术[J].计算机集成制造系统,2000(10).
神经网络的算法范文4
关键词 数字识别;图像预处理;特征提取;神经网络
引言
目前,识别技术已经广泛地应用到了各个领域中。为了达到对一幅图像中的数字进行识别的目的,我们要对图像进行一些处理,这些处理工作的好坏直接决定了识别的质量,这些处理技术依次为图像的读取、对读取的图像进行灰度变换、按照量化指标对灰度变换后的图像进行二值化、然后对二值化后的图像中的字符信息进行切分等。在进行完上述预处理工作后进行特征提取,再输入到已经训练好的BP网络进行识别。
1 识别的流程
识别的流程按照引言中的步骤进行,主要分为两大部分,第一部分为图像的预处理、第二部分为通过神经网络进行印刷体数字的识别。预处理部分的流程:图像输入-灰度变换-图像二值化-紧缩重排-归一化调整-图像分割-特征提取。神经网络数字识别的具体流程:样本训练-字符特征输入-识别并给出结果。
2 基于神经网络的特征提取算法概述
图像在经过了前期的预处理后,由原来杂乱无章的字符变为了整齐排列的、大小相同的一列字符,在这里图像归一化后的宽度为8像素,高度为16像素,这样就大大方便了对字符特征的提取。我们把提取的特征存储在特征向量里,然后把特征向量输入到神经网络中,这样就可以对字符进行识别了。由以上的论述我们可以得出结论,特征提取的算法是整个识别过程的关键,它的好坏直接决定了识别的成败。对图像中的字符进行特征提取的算法有很多,下面对几种重要的分别进行介绍。
2.1骨架特征提取法
由于图像的来源不同,这就使得图像的线条所使用的像素不同,在图像上表现出来就是线条的粗细的不同,这样就使得它们的差别很大。如果我们将不同的图像统一到相同的像素水平,那么它们的差别也就不那么明显了。我们使用骨架特征提取算法,就会使得识别具有一定的适应广度和宽度。
2.2逐像素特征提取法
这种图像的特征提取算法是最为常用的方法,它的特点是能够保留图像中的全部特征信息,不过这种特征提取算法对图像的噪声较为敏感,对原始图像的质量要求较高,它采用逐行扫描的办法,对图像进行扫描,为整个图像建立一个以图像中的像素个数相同的特征向量矩阵。矩阵值为0或1,图像中的黑色像素记为1,白色像素记为0。
2.3垂直方向数据统计特征提取法
此算法是对逐像素提取算法的改进,他使得特征向量矩阵的维数降低,便于后期的识别。该算法首先对图像进行水平扫描,在这一过程中,统计没一列的黑色像素数,然后进行对图像进行垂直扫描,并记录每一行上的黑色像素数,对于一个字符宽度和长度为W和H的字符,他的特征向量的维数就为W+H。
2.4特征点提取法
这一特征提取算法首先对字符进行分割,利用实现设定的四条线将字符分为八个部分,分别统计每个部分中黑色像素的数目,可以得到八个特征。然后统计水平和垂直两个方向上,穿过四条线的黑色像素数,得到四个特征,最后将整个图像中黑色像素的数目作为一个特征,一共得到十三个特征。该方法具有很强的适应性,但是由于特征点较少,使得在样本的训练过程中很难收敛。
可以看出,识别算法各有特点,根据实践需要,本识别算法中的特征提取算法采用逐像素特征提取法。原因是这种算法的执行效率高,方法简单容易实现,且对于神经网络来说有很快的收敛性,具有较好的训练效果。
3 BP网络进行数字识别算法设计
BP网中中各层中的节点数是设计BP网络最基本的一点,对于神经网络的输入层而言,其节点数为经过图像预处理里后特征向量的维数。可以直接利用每个点的像素值作为特征,这里特征提取采用逐像素提取法,归一化后图像的宽度为8,高度为16,因此对于输入样本来说,每一个样本都会由128个特征,因此神经网络的输入层的特征数为128。
对于神经网络内部隐藏层的节点数来说,其节点数没有特别的规定,总的来说,隐藏层的神经元的数目与神经网络的精度成正比,与训练时间成反比。如果神经网络的神经元设置的过多,会对识别率造成较大影响,使得识别率大幅下降。因此在这里根据多年的实践经验在神经网络的隐藏层选取10神经单元。 对于输出层而言,要根据设定的输出标准来确定输入层的节点数。在本算法中采用8421的编码进行编码。对于0-9这十个数字,分别对应十个8421码,例如,0的8421码为(0,0,0,0),1的8421码为(0,0,0,1),依次类推,因此神经元的数目选定为4,就可以表示这十个数字,然而,因为神经元的激励函数(传输函数)是S型函数,期望输出只能是大于0小于1的数,而不能是1或者0,因此用0.1来代表0,0.9代表1,否则算法将不能收敛。
神经网络搭建好后,要对神经网络进行训练,也就是确定神经网络中各个参数的权值。本程序的训练样为图片。首先将图片进行预处理,然后提取特征,将特征值输入到神经网络中进行训练。在这里使用10个字符的图片进行训练,在图片里包含了ARIAL字体0-9十个数字。
通过50个相关训练样本进行训练后,BP网络对于数字字体的识别率能够达到百分之九十以上。训练好的神经网络就可以对数数据进行识别了。
4结论
本文以VC为平台,运用人工神经网络的思想(主要采用BP神经网络),实现了对印刷体数字识别。系统实现分为图像预处理和神经网络识别两大模块。首先,扫描进入电脑的图像需保存为256色位图或者是256级灰度图像。首先对图像进行预处理,然后进行特征提取,再输入BP网络进行识别。BP神经网络进行字符识别的过程主要包括网络的训练、数据的读取、字符的判定、结果的输出等。本系统通过对样本数据进行学习和训练,形成了具有良好识别能力的网络,对印刷体数字进行识别检测,达到了一定的准确度,满足了设计要求。
参考文献
神经网络的算法范文5
关键词:BP神经网络;预测模型;METLAB仿真实验
中图分类号:F27
文献标识码:A
文章编号:16723198(2015)23006701
1 引言
人工神经网络(Artificial Neural Networks,简写为ANNs)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。20世纪80年代,美国物理学家J.J.Hopfield建立全互连神经网络模型,以及Rumelhart,McClelland等学者提出反向传播(Back Propagation,简称BP)学习算法,人工神经网络的研究才获得了飞速发展,目前,对人工神经网络理论的应用已渗透到多个领域,如在智能控制、模式识别、自适应滤波和信号处理、传感技术和机器人、非线性优化、知识处理、生物医学工程、金融预测和管理等方面都取得了令人鼓舞的成果。
本文在前人研究的基础之上,通过搜集相关的数据,建立BP神经网络模型并通过MATLAB仿真实验得出预测的结果对于郑州市政府和市民在进行房地产管理和购房上面提供了一定的参考和决策依据,从这方面来说本文具有一定的现实意义。
2 基于动量BP算法的神经网络模型构建
2.1 BP神经网络结构
在人工神经网络的实际应用中,80%-90%的人工神经网络模型都是用的BP神经网络(图1)或者是它的变形形式,它也被称为是前向网络的核心部分。
2.2 房价预测模型构建
经济因素,主要是国家、地区或城市的经济发展水平、经济增长状况、产业结构、就业情况、居民收入水平、投资水平、财政收支、金融状况。这些因素会影响房地产市场的总体供求,特别是影响需求;社会因素,包括人口、家庭、城市化状况等。其中,人口因素包括人口的数量、密度、结构(如文化结构、职业结构、收入水平结构等);影响房价的因素还有很多,比如房地产自身及其周边环境状态,建筑物的外观、设备配置状况等。但在建立BP神经网络预测模型的时候,这些因素不容易被量化,无法纳入模型的训练样本中。在本文的模型构建中,选取5个(地区GDP、人均可支配收入、常住人口数、房产开发投资、居民CPI)与房价密切相关的因素作为模型的输入变量。
本文使用动力BP算法计算出2015年的数据,即根据2004和2005年的数据预测2006年的数据,以此类推来预测2015年的数据。
3 实证分析
为了提高算法训练速度和灵敏性,现将数据进行归一化处理。利用MATLAB软件建立BP网络,输入
样本数据,初始化Epochs值和精度值,设置最大迭代
次数和误差,并设置动量因子mc、学习率。应用sim函数进行仿真,最后对结果进行反归一化。
由上图可以看出,网络在经过8次训练之后,误差低于0.1,迭代进行到12次之后,误差达到预期的目的,网络停止训练。利用编好的程序,预测2012和2013年的房价,由于2012和2013年的房价已经公布,因此可以将预测得到的值与实际值进行比较,得到表2。
通过比较可知,2013、2014年对房价预测的误差在训练要求的范围内,通过MATLAB软件进行预测得到2015年的房价为10068元/平方米。
4 结论及展望
(1)通过以上结果可以看出,利用动量BP算法进行房价的预测是有良好效果的。
(2)文中只选取了对房价影响较为重要的5个因素作为输入变量,在以后的研究中,可以考虑把较为重要的其他因素考虑进去,看看考虑多方面因素是否能够提高BP神经网络对房价预测的精准度。
参考文献
[1]TsungJung Hsieh,HsiaoFen Hsiao,WeiChang Yeh.Forecasting stock markets using wavelet transforms and recurrent neural networks:An integrated system based on artificial bee colony algorithm[J].Applied Soft Computing,2011,(11).
[2]Pan Zhili,Huang Zhongmin,Wang Na,etal.Prediction of shelf life for quickfrozen dumping based on BP neural network and effective accumulated temperature theory[J].Transactions of the Chinese Society of Agricultural Engineering,2012.
[3]Melike Bildirici.Improving forecasts of GARCH family models with the artificial neural networks:An application to the daily returns in Istanbul Stock Exchang[J]. Expert Systems with Applications,2009.
[4]Chunqiao Mi,Jianyu Yang,Shaoming Li,etal.Prediction of accumulated temperature in vegetation period using artificial neural network[J].Mathematical and Computer Modelling,2010.
[5]朱英.改进的BP神经网络预测模型及其应用[J].武汉理工大学学报(交通科学与工程版),2012.
[6]柳冬,王雯B,谢海滨等.我国房地产价格影响要素分析与趋势预测[J].管理评论,2010.
神经网络的算法范文6
【关键词】列车自动驾驶系统;神经网络;控制算法
Abstract:The speed control process for Automatic Train Operation is analyzed, and as the traditional PID algorithm lacks adaptability, a single neuron adaptive PID controller based on RBF neural network is designed. The result of simulation shows that the controller can meet the speed control requirements for Automatic Train Operation.
Keywords:Automatic Train Operation;neural network;control algorithm
引言
随着中国经济的飞速发展和城市化进程的加快,我国的城市轨道交通行业已步入了一个跨越式发展的新阶段。“十二五”期间,我国将有25个城市、完成78条线路,期间的建设规模为2500公里左右,总投资达1.2万亿元左右,到2020年末,全国建成总里程将达7000公里左右,中国已经成为世界最大的城市轨道交通市场。在城市轨道交通蓬勃发展的过程中,安全和高效始终是其追求的两大目标。在城市轨道交通系统中,列车的运行速度虽然不高,但站间距离短,列车间的追踪间距和行车间隔都比较小,行车间隔最短可达到90s,甚至更短。如此短的追踪间距和行车间隔,对司机的驾驶技术提出了更高要求,任何一点点疏忽都可能造成重大行车事故。因此必须采用机械的、电气化的、智能化的信号系统,以保证列车行车安全,保护乘客生命财产安全。这些系统包括向司机指示列车运行条件、保障列车行车安全的列车自动控制系统和联锁系统。其中,列车自动控制系统的一个重要子系统――列车自动驾驶系统ATO(Automatic Train Operation),是替代司机控制列车自动运行的设备,它在列车自动防护系统ATP(Automatic Train Protection)的安全防护下,利用车载固化信息和地面信息给出最优控制力以控制列车的牵引/制动,从而实现列车的自动驾驶。
为了确保列车能够在两站之间平稳高效地运行,ATO在控制列车的行驶速度时,需要满足准点、节能、舒适等运行指标。因此,研究ATO的一个重要内容就是对其控制算法的设计,它是使列车实现节能运行、准点运行和平稳运行的关键技术[1]。对于ATO系统的控制算法来说,首先是要根据已知信息得到一条最优目标速度曲线,该最优目标速度曲线是ATO控制列车自动驾驶的理论依据,它反映了列车运行过程中的准点、节能、舒适等运行指标的情况。其次是要输出控制量控制列车跟随最优目标速度曲线运行,然而在列车的实际运行过程中,由于受到各种内外因素的干扰,其运行轨迹很难与目标速度曲线完全重合,所以ATO在控制列车运行过程中能否给出最优控制力使列车的实际运行轨迹与目标速度曲线最为贴近,ATO的速度控制算法是至为关键的一个部分。本文主要目的就是在最优目标速度曲线已知的情况下,利用神经网络理论设计一套速度控制算法使控制器输出的控制量实施后,列车能够紧密跟随目标速度曲线运行。
1.ATO速度控制过程分析
ATO系统控制列车实现自动驾驶的过程实质上就是要根据列车运行的即时速度信息和位置信息,以及地面设备和控制中心传来的信息,科学、合理地控制列车的运行速度,其速度控制过程如图1所示。
图1 ATO速度控制过程
列车在运行过程中,ATP系统利用安装在轮轴上的速度传感器实时地测量列车的运行速度,同时由于车轮的磨损、空转、打滑等情况会造成一定的测量误差,所以还需要用加速度计对所测速度进行校正,最终计算得到实际的列车速度。有了列车的即时速度,通过对其积分就可得到列车的运行距离,该距离是列车运行的相对距离,要获得列车的绝对位置还需要通过分布在线路上的信标(应答器)进行定位校正,最终得到列车的实际位置。ATO系统根据得到的速度信息和位置信息再结合线路地理条件、ATP限速和控制中心发来的移动授权等信息就可以得到目标速度。车载控制器将实际速度与目标速度进行比较,将两者之差作为输入,再根据一定的控制算法得出控制量,并执行控制命令,控制列车的牵引/制动系统,完成列车的牵引、惰行和制动,从而实现自动驾驶。
2.传统PID算法
在工程实际应用中,最常用的控制规律为比例、积分、微分控制,简称PID控制。PID控制器因其结构简单、工作可靠、稳定性好、调整方便,自问世七十多年以来一直都是工业控制的主要技术,所以本节首先利用传统PID控制算法设计ATO速度控制器。
国防科学技术大学王洪坡等人以试验线工程样车为研究对象,通过列车主控PLC采集列车运行参数,利用最小二乘法辨识得出了列车运行模型[2],本文即采用该模型作为被控对象,其传递函数为:
(1)
PID控制器的控制效果完全取决于PID参数的设置是否合理。自PID控制器问世以来,PID控制器参数主要是由一些经验丰富的技术人员进行人工调整,这种方法不仅费时费力,而且理论上无法保证获得最佳的性能。所以,对PID控制器的参数进行整定一直都是PID控制器设计的核心内容[3]。传统的整定方法主要有极点配置和零极点对消两种方法,近年来,除了传统的整定方法外还出现了一些智能整定方法,本文即采用粒子群算法对PID参数进行整定[4]。为了衡量实际速度对目标速度的跟随性能,本文选用LAE指标作为粒子群算法的适应函数,其中,即绝对误差的积分。
粒子群算法整定PID参数的过程如图2所示:
图2 粒子群整定PID参数流程图
最终得到的最优PID参数为:
Kp=43.59;Ki=3.24;Kd=99.99。
将该PID控制器用于列车速度控制,得到的列车运行速度距离曲线如图3所示:
图3 列车运行速度距离曲线
从图3可以看出在没有施加干扰时,列车的实际速度曲线几乎与目标速度曲线完全重合,速度跟随性较好,从而确保了列车的准点、节能、舒适等各项指标都得以实现。然而列车的实际运行过程是一个非常复杂的过程,线路条件、天气情况等外部环境因素以及乘客上下车等内部自身因素的变化都会给列车的行驶造成干扰,为了说明干扰对PID控制造成的影响,本文在仿真时间第10s开始对列车施加一系列干扰信号。从图3可以看出施加干扰之后的列车运行速度距离曲线在ATO目标速度曲线之间来回摇摆,很多部分已经脱离了目标速度曲线,严重影响了列车运行的各项性能指标。这是因为列车在实际行驶过程中,随着乘客上下客以及线路条件的改变等运行条件的变化,被控对象的特性参数也在发生变化,即列车的传递函数已经发生变化,此时应当重新调整PID参数,而参数固定的PID控制器参数一旦选定之后就不再改变,所以其控制策略自然就不符合实际需求,从而无法达到满意的控制效果。为了弥补传统PID控制缺乏自适应能力的缺陷,本文接下来将利用神经网络理论设计ATO速度控制器,以取得更好的控制效果。
3.基于神经网络的ATO速度控制器
3.1 单神经元自适应PID控制器
针对传统PID控制器参数固定,无法适应环境变化而自动调节的缺陷,本文基于通用神经元模型构成单神经元网络自适应PID控制器,其控制框图如图4所示:
图4 单神经元自适应PID控制框图
本文采用增量式PID控制,控制算法为:
(2)
上式中,T为采样周期,k为采样序号,e(k)为第k时刻的误差信号,u(k)为控制量,Δu(k)为控制量的增量。由此可知该单神经元网络具有3个输入量,分别为:
(3)
相应的输入权值为:
(4)
神经网络的整定指标为:
(5)
采用梯度下降法来调节权值,使E最小,权值调整算法如下:
(6)
即:
(7)
上式算法中的η为学习速率,其在神经网络的学习过程中始终保持不变,本文为了取得更好的控制效果,对传统神经元学习算法做出了一定的改进,使神经元的学习速率随误差的改变而做出相应的调整,其调整的主要思想如下:
首先设定一个误差阈值,然后在控制过程中,不断地检测实际输出与目标输入的误差,当误差的绝对值小于该阈值时,令学习速率保持不变;当误差的绝对值大于等于该阈值时,检测误差的变化,若误差和误差的变化符号相同,说明此时误差在增大,则根据当前误差为正还是负对学习速率做出相应的调整;若误差和误差的变化符号相反,说明此时误差在缩小,则保持当前学习速率不变,调整算法如式(8)所示:
(8)
上式中,ε为误差阈值,φ为误差为正时的学习速率调整系数,δ为误差为负时的学习速率调整系数,e(k)为第k时刻的误差,η(k)为第k时刻的学习速率。式(7)中的为
Jacobian信息,反映了输出对输入的敏感度,由于该值无法直接得到,所以本文将利用RBF神经网络辨识得出Jacobian信息。
3.2 RBF网络辨识
RBF网络又称径向基函数神经网络,是由J.Moody和C.Darken于20世纪80年代末提出的一种具有单隐层的3层前馈神经网络,RBF网络能够以任意精度逼近任意连续函数,本文接下来将设计RBF网络对被控对象进行辨识以获取Jacobian信息。
将式(1)写成脉冲传递函数形式为:
(9)
将上式写成差分方程形式为:
(10)
根据式(10)的表达式,取RBF辨识网络的输入量为:
(11)
本文选取的RBF网络为4-6-1结构,其网络结构如图5所示:
图5 RBF辨识网络结构
选择RBF网络逼近的性能指标函数为:
(12)
其中,y(k)为实际输出,ym(k)为RBF网络辨识输出。输出层节点权值、隐层节点基宽参数及隐层节点中心向量的调整算法如下:
(13)
上式中,i=1,2,3,4,5,6,j=1,2,3,4,η为学习速率,α为动量因子,由式(13)可辨识得出Jacobian信息:
(14)
3.3 仿真结果分析
将RBF辨识网络加入到单神经元自适应PID控制中,最终得到的控制框图如图6所示:
图6 基于RBF网络辨识的单神经元自适应PID控制
取单神经元的初始权值为:w1=43.59、w2=3.24、w3=99.99,误差阈值ε=0.01m/s,并利用粒子群算法,以IAE为性能指标,对神经元的初始学习速率ηp、ηi、ηd及其相应的调整系数φp、φi、φd、δp、δi、δd进行优化,优化结果如下:
将单神经元自适应PID控制器用于列车速度控制,得到的列车运行速度距离曲线如图7所示,从图7可以看出,即便存在干扰的情况下,单神经元自适应PID控制器亦能使列车的实际速度紧密跟随目标速度曲线运行,从而确保了列车的准点、节能、舒适等运行指标得以实现。
图7 列车运行速度距离曲线
RBF网络辨识得到的Jacobian信息以及神经元对kp、ki、kd的调节过程如图8和图9所示:
图8 Jacobian信息
图9 kp、ki、kd调节曲线
4.结束语
在未来城市轨道交通发展过程中,自动驾驶代替人工驾驶是实现列车智能化控制的必然趋势[5]。因此,以速度控制为基础的列车自动驾驶系统是轨道交通的一个非常重要而又有研究价值的系统。本文针对传统PID算法参数固定,缺乏自适应能力的缺陷,设计了基于RBF网络辨识的单神经元自适应PID控制器,通过仿真实验表明,该控制器能够确保列车在运行过程中具有良好的速度跟随性。
参考文献
[1]唐涛,黄良骥.列车自动驾驶系统控制算法综述[J].铁道学报,2003,25(2):98-102.
[2]王洪坡.磁悬浮列车速度控制与自动驾驶系统研究[D].长沙:国防科学技术大学研究生院控制理论与控制工程系,2002.
[3]杨光,唐祯敏.基于MATLAB的磁浮列车自动驾驶控制系统的仿真[J].铁路计算机应用,2007,16(6):49-51.
[4]张家骏.基于粒子群算法的PID控制器参数优化研究[J].计算机仿真,2010,27(10):191-193.
[5]贾文婷.城市轨道交通列车运行控制[M].北京:北京交通大学出版社,2012.
作者简介: