经典神经网络算法范文
时间:2024-03-28 17:40:54
导语:如何才能写好一篇经典神经网络算法,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词:负荷预测;神经网络;唐山电网;电力系统;电力负荷
中图分类号:TM714文献标识码:A文章编号:1009-2374 (2010)13-0124-02
一、预测意义
唐山是具有百年历史的沿海重工业城市,是河北省经济中心,同时也是中国经济发展前景最好的城市之一。特别是最近几年,随着国家产业结构与河北战略布局的调整,重大项目纷纷在唐山兴建,预计在未来几年唐山地区经济仍将快速增长。根据唐山电网用电情况统计数据,唐山电网2001年用电量158.266亿千瓦时,2008年用电量538.509亿千瓦时,平均年增长17.9%。综合考虑唐山地区经济发展与用电量增长因素,预计未来几年唐山电网电力负荷将保持较高的增长。中长期电力负荷预测是电力系统规划的基础,它在电力系统规划、新发电厂和发配电系统的建立过程中起到重要的指导作用。为了满足唐山电网负荷不断增长的需要,增加供电可靠性,对该地区进行科学合理的电力系统规划势在必行。因此,对唐山电网中长期的电力负荷进行预测具有重要意义。
二、预测方法选择
目前,电力负荷预测的研究已经十分成熟,许多方法和模型被引用到电力负荷预测中,其中比较常用的预测方法有以下几种:回归分析法、时间序列法、指数平滑法、神经网络法、灰色模型法、优选组合预测法、小波分析预测技术等。以上负荷预测的方法都有自身的优缺点以及适用范围。电力系统专家经过长期负荷预测实践,建议中长期电力负荷预测使用时间序列法与灰色模型法。由于未来几年唐山市将投产几个重大项目,唐山电网负荷将呈现不规则的跳跃式增长。因此,按照常规的预测方法对唐山电网的用电负荷进行预测将无法获得较满意的数据拟合度。神经网络算法能够实现较复杂的非线性映射,对大量的非结构性、非准确性规律具有自适应能力,应用于电力系统负荷预测,能够得到比传统预测方法更好的效果。因此,本文尝试使用神经网络算法预测唐山电网的用电负荷。
三、预测模型的建立
(一)确定神经网络输入量
输入层是神经网络结构的第一层次,该层次输入量的确定关系到神经网络训练的效率。特征量取得太少,则不能起到区分判断作用;取得太多则影响网络的训练速度。因此,合理地选择输入量,能提高网络的训练速度和预测精度。为了简化模型的结构,提高预测的精度,本文综合考虑中长期电力负荷预测的相关因素以及唐山电网的用电特点,确定以下五种影响电力负荷的经济因素作为神经网络的输入量即:“唐山地区的生产总值(GDP);第一产业用电量占总用电量的比重;第二产业用电量占总用电量的比重;第三产业用电量占总用电量的比重;生活用电量占总用电量的比重。”
(二)构造神经网络结构
本文应用的神经网络是由输入层、输出层和隐含层三层网络结构构成。理论研究已证明对于任何在闭区间上连续的函数,只要隐含层神经元数目足够多,就可以用只含一个隐含层的网络结构以任意精度来逼近,所以本文隐含层只取一层。第一层为输入层,神经网络的输入神经元为五种影响唐山电网用电负荷的经济因素,因此该层的神经元个数为5个;第二层是隐含层,隐含层神经元数根据下式求得:
或或h=lg2n (1)
其中k为样本数,n为输入层神经元数,m为输出神经元数,h为隐含层神经元数,a为1~10之间的常数。第三层是输出层,因为输出结果只有一个指标即唐山电网某年的用电量,所以输出神经元的个数是1。从而确定本文的神经网络结构为5×3×1。
(三)神经网络的训练算法
由于标准BP算法中,人为凭经验选取学习率和动量因子,往往会对网络学习速度产生较大影响,甚至会因为学习率选取不当而导致学习中发生振荡而不能收敛,这些缺点将影响整个预测的精度。本文采用改进的批处理式Vogl快速算法,进行网络训练。在网络训练过程中根据训练的实际情况自适应改变学习率η及动量因子α的大小:当前的误差梯度修正正确,则增大学习率,加入动量项;否则减少学习率,甩掉动量项。这样初始η值就可以相对随意的选取,避免上述缺点。自适应改变η及α的修正公式如下:
(2)
上式中ΔE=E(J)-E(J-1),表示神经网络前后相邻两次学习过程中误差函数的变化量。φ略大于1,β略小于1。E (J)为神经网络第J次训练过程中的误差函数:
(3)
式中:pt',和Ot分别表示神经网络对应于第t个输入向量的期望输出和实际输出。
(四)预测实施
唐山电网2001~2008年用电量、生产总值以及各产业用电占比情况的历史数据见表1:
表12001~2008年唐山电网用电情况统计
年份 生产总值
/万元 用电量
/亿千瓦时 一产用电
/% 二产用电
/% 三产用电
/% 生活用电
/%
2001年 9150473 158.266 3.8 83.4 5.5 7.2
2002年 9993543 180.420 3.3 84.6 5.5 6.6
2003年 11022878 233.638 2.2 87.7 4.8 5.3
2004年 17616311 290.260 1.7 89.1 4.5 4.7
2005年 20276374 358.800 2.4 89.1 4.0 4.5
2006年 23621410 432.752 2.1 89.3 4.2 4.5
2007年 27794190 520.020 1.3 90.5 4.1 4.1
2008年 36132447 538.509 1.2 90.0 4.4 4.4
根据2001~2008年唐山电网用电量的历史数据,分别使用时间序列法、灰色预测模型与神经网络算法对唐山电网的用电量进行预测。使用2001~2006年的历史数据预测2007年、2008年的用电量,并将预测结果与真实数据做对比,以分析三种预测方法的误差。通过
Matlab软件计算,三种预测方法的预测结果及误差情况,见表2:
表2用电量预测值及误差表
序号 年份 用电量 灰色模型 时间序列法 神经网络
预测值 误差 预测值 误差 预测值 误差
1 2007年 520.020 501.1 3.64% 487.9 6.41% 531.7 2.25%
2 2008年 538.509 512.4 4.85% 503.9 6.75% 559.4 3.88%
通过上表我们可以看出以上三种预测方法的误差除了时间序列法的误差较高外,都在允许的范围内。灰色模型与神经网络算法都可以较准确的预测出唐山电网的用电量。相比而言,神经网络算法预测对于历史数据的拟合度更高,神经网络算法更适用于唐山电网中长期的电力负荷预测。因此,本文使用神经网络算法对唐山电网未来五年的用电负荷进行预测,通过Matlab软件计算,预测结果见表3:
表3唐山电网用电负荷预测
序号 年份 年用电量(亿千瓦时) 年最大负荷(MW)
1 2009 584.282 7637.677
2 2010 625.182 8172.314
3 2011 665.819 8703.514
4 2012 725.077 9478.127
5 2013 781.633 10217.42
四、结论
本文研究了神经网络算法在唐山电网中长期电力负荷预测中的应用。研究结果表明,应用神经网络算法比时间序列法、灰色模型有更高的预测精度,神经网络算法可以较准确的预测唐山电网中长期的电力负荷。
参考文献
[1]于之虹,郭志忠.数据挖掘与电力系统[J].电网技术,2001,25(8).
篇2
关键词: 变电站变压器; 裂纹图像; 特征提取; 神经网络
中图分类号: TN911.73?34; TP181 文献标识码: A 文章编号: 1004?373X(2017)13?0066?04
Abstract: In order to guarantee the normal operation of the electric power system, and improve the identification precision of the substation transformer crack image, a substation transformer crack image recognition model based on the improved neural network algorithm is proposed. The substation transformer crack image is collected and denoised. And then the features of the substation transformer crack image are extracted, and proceeded with dimensionless processing. The neural network is used to establish the recognition model of the substation transformer crack image, and its deficiency is improved correspondingly. The simulation test of the substation transformer simulation crack image recognition was carried out in Matlab 2104R. The results show that the improved neural network can obtain better result of the substation transformer crack image recognition, and the recognition speed can meet the requirements of the substation transformer crack image detection.
Keywords: substation transformer; crack image; feature extraction; neural network
0 引 言
随着经济的不断发展,人们的生活水平日益提高,各种家用电器以及办公室的电器使用更加频繁,电力系统的稳定工作面临巨大的挑战[1]。变压器是一种重要的电气设备,变电站变压器裂纹严重影响电力系统的正常运行,因此如何对变电站变压器裂纹图像进行准确识别具有重要的意义[2]。
国内外学者对变电站变压器裂纹图像技术进行了深入、广泛的研究,提出了一些可行的变电站变压器裂纹图像识别模型[3],目前变电站变压器裂纹图像识别模型主要基于图像进行识别,通过对变压器裂纹图像进行分类,对变压器裂纹图像的类别进行正确划分。在实际应用中,变压器裂纹图像采集受到天气、环境以及采集设备的干扰,图像中难免会包含一定的噪声,这些噪声对变压器裂纹图像准确识别产生了不利影响,因此需去除变压器裂纹图像中的噪声[4?5]。变压器裂纹图像识别主要基于特征进行建模分析,因此特征对变压器裂纹图像识别结果影响十分重要,当前变压器裂纹图像识别特征很多,其中不变矩阵特征具有惟一性、鲁棒性和可分性,在目标识别、字符识别等领域得到了广泛的应用[6]。变压器裂纹图像类别与特征之间的联系十分复杂,传统方法采用欧式距离估计样本之间的特征联系,建立的变压器裂纹图像识别模型的误识率比较高[7?8]。神经网络具有很好的非线性拟合性能,可以较好地描述变压器裂纹图像类型与特征之间的变化关系,广泛应用于变电站变压器裂纹图像的识别中。然而神经网络自身也存在一定的不足,如参数的确定全凭经验进行,导致变压器裂纹图像识别结果具有一定的盲目性和主观性,识别结果不理想[9?10]。
为了保证电力系统的正常运行,提高变电站变压器裂纹图像的识别精度,提出基于改进BP神经网络[11]算法的变电站变压器裂纹图像识别。首先收集变电站变压器裂纹图像,并进行去噪处理,然后提取变电站变压器裂纹图像的特征,最后采用改进神经网络建立变电站变压器裂纹图像识别模型,在Matlab 2014R平台上仿真测试结果表明,改进神经网络提高了变电站变压器裂纹图像的识别精度,加快了变电站变压器裂纹图像的检测速度。
1 小波变换和神经网络
1.1 小波变换
小波变换可以对信号进行小波分解,小波系数描述不同分辨率上的信息,而且自适应能力强,其基本思想为:
式中:和分别表示高分辨率空间和低分辨率空间。
时,小波变换的空间分解见图1。
和是尺度空间和小波空间的正交基函数,分别定义如下:
1.2 BP神经网络
神经网络属于非线性理论中的机器学习算法,它们可以通过一个结构网络对非线性问题进行无限逼近,在图像处理、人脸识别等领域得到成功应用,其中BP神经网络的性能要优于其他神经网络,通用性更强,BP神经网络的基本结构如图2所示,包括输入层、输出层和隐含层。
在图2中,为BP神经网络的输入向量,为BP神经网络的输出向量,其中隐含层神经元的节点数量通过输入和输出的数和决定,一般情况下,采用Sigmoid函数构建隐含层的转移函数,具体如下:
BP神经网络具有反馈功能,选择输出层期望输出与预测输出的误差平方和作为反馈误差,具体为:
1.3 BP神经网络的改进
在BP神经网络的工作过程中,BP神经网络的权值直接影响其性能,传统BP神经网络采用经验确定权值,对于不同问题,神经网络的性能差别很大,为此,本文对标准神经网络进行相应的改进,采用遗传算法BP神经网络的权值进行在线优化,以提高变电站变压器裂纹图像识别的效果,遗传算法优化神经网络权值具体设计过程为:
Step1:个体编码。采用十进制对BP神经网络的权值进行编码,那么编码长度为:
式中:表示输入层与隐含层的权重;表示隐含层与输出层之间的权重。
Step2:适应度函数的构建。对个体进行解码,得到BP神经网络的权值和隐含层的输出和输出层的输出它们分别为:
式中是训练输出数据。
Step3:通过选择、交叉和变异等遗传操作,不断产生新的种群,将个体解码为BP神经网络的权值,然后根据权值对训练样本进行学习,得到反馈误差,根据反馈误差进行反馈操作,最后得到BP神经网络最优的权值。
2 变电站变压器裂纹图像识别模型
2.1 变电站变压器裂纹图像的特征提取
设变电站变压器裂纹图像为其原点矩和中心矩分别为:
2.2 变电站变压器裂纹图像识别模型的工作步骤
(1) 收集变电站变压器裂纹图像。
(2) 采用小波变换对变电站变压器裂纹图像进行去噪处理,消除噪声的干扰。
(3) 提取变电站变压器裂纹图像的不变矩特征,并进行如下处理:
(4) 采用BP神经网络对训练样本进行学习,并采用遗传算法优化权值,建立变电站变压器裂纹图像识别分类器。
(5) 采用测试样本对变电站变压器裂纹图像识别结果进行分析。
3 仿真实验
3.1 实验环境
为了测试改进BP神经网络的变电站变压器裂纹图像识别性能,在Matlab 2014R仿真平台上进行了仿真实验,选择不同类型的变电站变压器裂纹图像作为实验对象,它们共有4种类型,编号分别为1,2,3,4。
3.2 结果与分析
选择传统神经网络作为对比实验,变电站变压器裂纹图像识别结果如图3和图4所示,平均识别正确率和训练时间如表1所示。
对识别结果进行分析可以得到如下结论:
(1) 传统BP神经网络的变电站变压器裂纹图像识别正确率低,这主要是由于传统BP神经网络的权值随机确定,无法描述变电站变压器裂纹图像的类别,因此识别效果差。
(2) 改进神经网络的变电站变压器裂纹图像识别结果相对更优,这主是由于小波变换消除了变电站变压器裂纹图像中的噪声,并通过遗传算法确定BP神经网络权值,提高了变电站变压器裂纹图像识别的正确率,而且变电站变压器裂纹图像训练时间更快,加快了变电站变压器裂纹图像的识别速度。
4 结 论
变电站变压器裂纹图像具有重要的应用价值,为了解决当前变电站变压器裂纹图像识别中存在的局限性,提出改进神经网络的变电站变压器裂纹图像的识别模型,并通过具体应用实验对其有效性进行测试,具体结论如下:
(1) 针对变电站变压器裂纹图像的噪声,采用小波分析对变电站变压器裂纹图像进行变换和处理,消除外界环境以及其他因素带来的噪声干扰,便于后续变电站变压器裂纹图像特征提取和分类器建立,有助于改善变电站变压器裂纹图像的识别效果。
(2) 通过提取变电站变压器裂纹图像的不变矩图像,作为变电站变压器裂纹图像分类器的输入,建立了变电站变压器裂纹图像识别的依据,准确反映了变电站变压器裂纹图像类型。
(3) 采用改进神经网络对变电站变压器裂纹图像进行分类与识别,可以反映变电站变压器裂纹图像类型与图像特征之间的映射关系,通过神经网络的自学习建立变电站变压器裂纹图像的识别模型,提高变电站变压器裂纹图像的识别精度。
(4) 通过引入遗传算法对神经网络参数进行优化,解决了神经网络参数确定的难题,建立了结构更优的神经网络,降低了变电站变压器裂纹图像识别的错误率。
(5) 与其他识别模型相比,改进神经网络提高了变电站变压器裂纹图像识别的正确率,而且识别速度也有显著的优势,对比结果验证了改进神经网络应用于变电站变压器裂纹图像识别的优越性。
参考文献
[1] 郭创新,朱传柏,曹一家.电力系统故障诊断的研究现状与发展趋势[J].电力系统自动化,2006,30(8):98?103.
[2] 苏鹏声,王欢.电力系统设备状态监测与故障诊断技术分析[J].电力系统自动化,2003,27(1):61?65.
[3] 项新建.粗糙集理论在变压器故障诊断专家系统中的应用研究[J].科技通报,2003,19(4):288?291.
[4] 应鸿,李天云,张宇辉.变压器故障诊断的神经网络法[J].东北电力学院学报,1996,16(4):54?58.
[5] 孙才新,郭俊峰,廖瑞金,等.变压器油中溶解气体分析中的模糊模式多层聚类故障诊断方法的研究[J].中国电机工程学报,2001,21(2):37?41.
[6] 张冠军,严璋,张仕君.电力变压器故障诊断中断新方法的应用[J].高压电器,1998(4):32?35.
[7] 颜湘莲,文远芳.模糊神经网络在变压器故障诊断中的应用研究[J].变压器,2002(7):41?43.
[8] 谢可夫,罗安.遗传算法在变压器故障诊断中的应用[J].电力自动化设备,2005(4):55?58.
[9] 何成才.电力机车牵引变压器油箱体裂纹故障的分析及处理[J].郑州铁路职业技术学院学报,2009,21(1):13?14.
篇3
关键词:组合导航; 卡尔曼滤波; BP神经网络; 小脑模型神经网络
中图分类号:TN96-34文献标识码:A
文章编号:1004-373X(2010)21-0051-03
Application of CMAC-based Kalman Filtering Technology in Integrated Navigation System
ZHANG Yuan, YANG Bin, SUN Jiang-lei
(Department of Navigation, Benghu Navy Petty Officer Academy ofPLA, Benghu 233012, China)
Abstract: The conventional Kalman filter needs to assume that the statistical properties of the noise in dynamic model and observation system are exactly known, but the noise in integrated navigation system is uncertain. Soa new method that the cerebellar model articulation controller (CMAC) neural network assists Kalman filter is put forward to solve the problem. The simulation results indicate that the precision of CMAC is 2 times better and convergence time is 200 s less than those of Kalman filtering algorithm. Thus it can overcome the shortcomings of the conventional neural network, such as slow learning and poor generalization ability, and make the whole system has the adaptive capability to deal with the disturbance in dynamic situation.
Keywords: integrated navigation; Kalman filtering; BP neural network; CMAC neural network
0 引 言
卡尔曼滤波是目前组合导航系统常用的一种滤波算法,但经典卡尔曼滤波理论要求精确的系统数学模型和噪声统计特性,而组合导航系统实际上是一个复杂的动力系统,要给出其精确的数学模型以及系统噪声和测量噪声的统计特性都存在着困难。因此在实际应用中,为了给出较精确的系统描述,需要高阶的数学模型,这势必导致很大的计算量,为高阶卡尔曼滤波器的实现和算法的实时性带来了困难;如果采用简化系统模型的方法,虽减小了计算量,但同时也降低了系统精度[1-2]。
本文将小脑模型神经网络(CMAC)与卡尔曼滤波器相结合,提出小脑模型神经网络(CMAC)辅助卡尔曼滤波器进行最优估计的信息融合方法,并将算法应用于组合导航系统中。通过计算机仿真,检验了小脑模型神经网络(CMAC)辅助卡尔曼滤波的精度优于经典卡尔曼滤波算法和其他神经网络辅助卡尔曼滤波算法。
1 CMAC辅助卡尔曼滤波设计
1.1 CMAC网络模型[3]
CMAC是由Albus根据小脑在生物运动协调方面的重要作用而提出的一种小脑模型关节控制器,是一种表达复杂非线性函数的表格查询型自适应神经网络,该网络可通过学习算法改变表格的内容,具有信息分类存储的能力[4]。
CMAC的基本思想在于:在输入空间中给出一个状态,从存储单元中找到对应于该状态的地址,将这些存储单元中的内容通过求和得到CMAC 的输出;将此响应值与期望输出值进行比较,并根据学习算法修改这些已经激活的存储单元的内容。CMAC网络由输入层、中间层和输出层组成,如图1所示。
CMAC神经网络的设计主要包括输入空间的划分、输入层值输出层非线性映射的实现以及输出层权值学习算法。CMAC是前馈网络,输入/输出之间的非线性关系由两个基本映射实现。
图1 CMAC结构图
(1) 概念映射(uAC)
设输入空间向量为up=[u1p,u2p,…,unp]T,量化编码为[up],输入空间映射至AC中c个存储单元(c为二进制非零单元的数目)。Р捎檬(1)表示映射后的向量:
Rp=S([up])=[s1(up),s2(up),…,sc(up)]T
(1)
式中:sj([up])=1,j=1,2,…,c。
(2) 实际映射(ACAP)
网络的输出为AP中c个单元的权值之和。只考虑单输出:
y(t)=∑cj=1wjsj([up])
(2)
1.2 CMAC学习算法
CMAC 算法的基本思想是将学习数据存储在交叠的存储单元中,输出为相应激活单元数据的累加和,将实际值与期望输出值比较,并根据学习算法修改已激活的存储单元内容。其权值调整公式为:
wij=wi-1j+mCs(ys-ys)
(3)
ys=∑Nj=1Cswi-1j
(4)
式中:Иys为状态s的期望输出;ys为状态s的实际输出;滴学习常数;N为存储单元数;Cs为第j个存储单元是否被状态s激活的指示,当某个状态仅有m个存储单元被激活时,其Cs值为1,而其他存储单元的Cs值均为0。Ц盟惴ㄖ形蟛畋黄骄分配到所有被激活的存储单元,经多次迭代后,各存储单元由于学习历史不同,所以有不同的可信度。
为提高学习速度以满足系统要求,本文采用一种基于信度分配的CMAC神经网络模型,其权值调整公式为:
wij=wi-1j+Cs[f(j)+1]-k0∑mj=1[f(j)+1]-k0(ys-∑Nj=1Cswi-1j)
(5)
式中:f(j)为第j个存储单元的学习次数;m为某状态激活的存储单元数;k0为一平衡学习数;wij为经过┑i次迭代后存储在第j个存储单元的权值。由式(5)可以看出,f(j)越大,其存储的知识越大;k0越大,对学习次数f(j)较大的存储单元,其权值改变较小,网络学习中“已经学习知识的保持”占主导地位;反之,当k0很小时,学习次数f(j)Ф孕哦确峙涞挠跋煲步闲,网络学习中“遗忘”占据主导地位[5-7]。
1.3 基于CMAC卡尔曼滤波设计
首先确定CMAC神经网络模型的输入与输出变量,将能直接影响卡尔曼滤波估计误差的参数作为神经网络的输入。这些信号可分为三部分[1,8]:
(1) 状态向量的预测或一步动态外推与滤波估计之差[k/k-1-k/k];
(2) 实际观测值与卡尔曼估计观测值之差[Zk-h(k/k,K)];
(3) 卡尔曼增益矩阵Kk。
CMAC神经网络模型的输出量为系统状态向量的卡尔曼估计与满足误差精度的相对真值的误差:
E=[k-k/k],其中,k为相对真值。
因此借鉴文献[1]中提出的基本思想,构造基于CMAC卡尔曼滤波器如图2所示。
图2 基于CMAC卡尔曼滤波器
2 仿真结果
本文着重讨论基于CMAC卡尔曼滤波算法的可行性,利用如下简化组合导航系统模型和图3的算法结构进行讨论,并分别与经典卡尔曼滤波算法和BP神经网络辅助卡尔曼滤波算法进行比较。
Xk+1=1h01Xk+Wk,
Yk=[1 0]Xk+Vk
(6)
状态变量X1为航迹距离,X2为航迹速度,取h=10。仿真参数设置如下[9]:k0=1.2,N=10, =0.05。а盗费本根据实验选取。基于CMAC卡尔曼滤波算法、经典卡尔曼滤波算法和BP神经网络辅助卡尔曼滤波算法的仿真都通过Matlab软件来完成。基于CMAC卡尔曼滤波算法的结构如图3所示,仿真结果如图4所示。
图3 基于CMAC卡尔曼滤波算法结构图
由仿真结果可知,图4(a)~图4(c)为标准卡尔曼滤波算法、BP神经网络辅助卡尔曼滤波算法和CMAC辅助卡尔曼滤波算法所得的位移估计误差值和速度估计误差值。从图4和表1中可以看出,CMAC辅助卡尔曼滤波算法的精度和收敛时间要比前面两种算法优越。
表1 三种算法结果比较
指标
项目
位移误差(ΔS)航速误差(ΔV)
KalmanAided BPAided CMACKalmanAided BPAided CMAC
收敛时间(T)820700610920810600
稳态时段方差(σ)0.030 90.018 50.010 10.031 50.025 30.012 2
图4 仿真结果
3 结 论
理论分析和仿真结果表明,本文提出的CMAC辅助卡尔曼滤波算法具有容错性能好,收敛速度快,泛化能力强的特点,比标准卡尔曼滤波算法更为优越。
参考文献
[1]白宇骏,徐晓苏,刘国燕.神经网络辅助卡尔曼滤波技术在组合导航系统中的应用研究[J].中国惯性技术学报,2003,11(2):40-43.
[2]许丽佳,陈阳舟,崔平远.基于神经网络的组合导航系统状态估计[J].中国惯性技术学报,2004,12(2):40-46.
[3]刘金锟.智能控制[M].北京:电子工业出版社,2005.
[4]李士勇.模糊控制•神经控制和智能控制[M].哈尔滨:哈尔滨工业大学出版社,1998.
[5]SHUN F S, TED T, HUNG T H. Credit assigned CMAC and its application to online earning robust controllers[J].IEEE Trans. on Systams, Man and Cybernetics, 2003, 33(2): 202-213.
[6]LIN C S, CHIANG C T.Learning convergence of CMAC technique [J].LIEEE Trans.Neural Networks,1997,8(6):1281-1292.
[7]张伟,朱大奇,孔敏,等.基于改进的CMAC神经网络与PID并行控制的研究[J].计算机测量与控制,2005,13(12):1359-1360.
篇4
关键词: 变压器 局部放电 BP算法 遗传算法 模式识别
1.引言
随着电力系统的发展和电压等级、容量的不断提高,局部放电已经成为电力变压器绝缘劣化的重要原因,因而局部放电的检测也就成为变压器绝缘状况监测的重要手段[1]。变压器绝缘体系中的放电类型很多,不同的放电类型对绝缘的破坏作用有很大差异,因此有必要对各种放电类型加以区分,从而能够更好地进行变压器故障定位和故障处理。
人工神经网络自20世纪90年代开始就用于放电类型的模式识别,由于神经网络的结构类似于人类大脑的神经元,具有自学习的能力。因此在很多应用中取得了比较好的效果,但是它也存在局限性。由于利用梯度下降法全局寻优,因此网络收敛的速度很慢,而且常常会陷入局部极小点。
本文尝试用基于遗传算法的BP网络实现放电类型的模式识别,用遗传算法来实现全局优化以克服BP神经网络的局限性[2],提高模式识别的准确度。最后,用所提出的基于遗传算法BP与一般BP进行比对。实验结果显示前者明显提高了模式识别的准确性及快速性,这对于进一步进行变压器故障定位和故障处理有重要意义。
2.试验原理及方法
首先我们引入纯BP神经网络。BP网络是一种单向传播的多层前向网络,通常具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层。以三层BP神经网络为例,设W为第j个输入到第i个隐层节点的连接权值,θ为隐层节点的阈值,W为第k个输出节点到第i个隐节点的连接权值,q为输出节点的阈值,O为输出层的输出。三层BP网络的结构如图1所示。
根据Kolmogorov定理,本文中选用的BP网络采用N×2N+1×M的三层网络结构。其中,N表示输入特征向量的分量数,M表示输出状态类别总数。中间层神经元的作用函数为Tansig,输出层神经元的作用函数为logsig。
然后用遗传算法[3]调节BP神经网络的权值和阈值,并用优化后的BP网络进行试验,其步骤如下:
①初始化种群P,包括种群规模、交叉概率Pc及变异概率Pm,随机化W、θ、W、q,采用实数编码。
②计算每一条染色体的评价函数,按蒙特卡罗法来选择个体
p=f/f
其中,f为第i条染色体的适应度,用误差平方和来衡量,即
f=1/E(i)
E(i)=∑∑(O-T)
p为学习样本数,k为输出层节点数。
③以概率Pc对个体进行交叉操作,没有选中的直接复制,产生新的种群。采用算数交叉,即:
x(i)=αx(i)+(1-α)x(i+1)
x(i+1)=αx(i+1)+(1-α)x(i)
其中,x为选中的染色体。
④以概率Pm对个体x(i)进行变异操作,产生新的个体x'(i)。
⑤将新个体插入种群P中,重新计算种群中个体的适应值。
⑥如果搜索到满足要求的个体(达到误差要求ε),转第⑧步,否则转第三步。
⑦找到最优的个体后,将最优染色体解码即得到网络的连接权系数和阈值。
⑧利用遗传算法优化好的网络权值,用BP算法训练网络直到精度ε。
最后将BP网络所得结果和基于GA的BP网络所得结果对比分析。
3.实验及结果分析
变压器油纸绝缘结构中的四种主要放电类型,分别是悬浮放电、沿面放电、内部放电和油中针板放电。首先采用变压器超高频测量系统在不同的电压等级、不同的电极尺寸、不同的中心频率对这四种放电类型的数据进行了采集。
将采集到的数据送入计算机进行处理,生成局部放电的二维谱图并从中提取包括偏斜度Sk、突出度Ku、放电不对称度Q、相位不对称度Φ、互相关因子cc和相位中值μ等统计算子,以此作为放电的特征量来区分不同类型的放电[4]。由于变压器局部放电超高频检测系统所提取的特征量的数量比较多,太多的特征量会增加样本学习过程中的计算量,提高模型的复杂程度,结合经验,最终选择了平均放电谱图的{Q、cc、Sk+、Sk-、Ku+、Ku-}作为输入向量,来进行局部放电的模式识别[5]。
随机抽取四种放电类型的样本数据一共200组,每种模式50组,来训练神经网络。为了验证方法的有效性,又提取了每种模式30组数据对训练好的网络进行测试。
用这些训练数据对一般BP进行训练,一般21步后达到目标值0.001,训练性能为0.00029,运行时间为3.216000s。对于基于遗传算法的BP网络,选取初始种群为P=30,GA训练目标ε=0.4,遗传算法在经过大约200代的计算时,达到权值和阈值的最优,且BP算法经过8步的运算,即达到目标值0.001,训练性能为0.00016,运行时间0.605000s。可见基于GA的BP网络在运算速度上要优于一般BP算法。
用BP神经网络和GA-BP算法的模式识别结果比较如表1。由统计结果可以看出一般BP算法也可以对放电的类型进行分类,但是由于BP算法随机选取初始权值的范围较小,这样就易陷入局部最小而使训练失败,成功率比较低。而用基于GA的BP算法时,对放电类型的模式识别率明显高于纯BP算法。从实验所得结果及统计分析可知基于GA的BP网络运算速度及准确率都要优于纯BP算法。
综上所述,BP算法进行分类时,由于算法本身局限性,初始权值和阈值随机选取且选取的空间小,导致容易陷入局部极小而使训练失败。基于遗传算法的BP网络先用GA算法在全局空间上搜索权值和阈值的最优点,然后用BP算法在最优点附近寻优,达到最优值。这样就有效地克服了一般BP算法容易陷入局部最优的缺点。另外,基于遗传算法的BP网络的训练速度也明显优于一般BP算法的训练速度。
4.结语
本文所提出的基于遗传算法的BP网络可以对变压器超高频局部放电模式识别,并克服了一般BP算法的不足。实验结果表明BP算法易陷入局部极小的缺点,而用遗传算法先对权值进行整个解空间的优化,缩小优化空间,然后由BP网络进行搜索,可以克服BP算法全局搜索能力不足,易陷入局部极小的问题,同时也提高了BP算法的速度。
参考文献:
[1]王国利.油浸式电力变压器局部放电特高频检测技术研究.西安:西安交通大学,2003.
[2]郑力新.遗传算法在控制系统工程应用的研究.天津大学,2002.
[3]雷英杰等.MATLAB遗传算法工具箱及应用.西安电子科技大学出版社.
[4]王国利,郑毅,沈嵩等.AGA-BP神经网络用于变压器超高频局部放电模式识别.电工电能新技术,2003,22(2):629.
篇5
早期关于人工神经网络在水文水资源系统中的应用与研究的进展情况,文献[3]有较为详细、系统的介绍.其中,关于洪水预报的研究成果,大多处于如何应用人工神经网络算法进行洪水预报的阶段,即如何将洪水预报的实际问题概化成人工神经网络可以识别的算法模型.近期的研究成果表明,研究的问题更加深入,如LINDASEE(1999)[4]将洪水过程分为上升段、洪峰段和下降段三部分,分别建立相应的预报模型,充分考虑了不同阶段的洪水过程其演进规律的差异.Fi-JohnChang(1999)[5]引入洪峰预报误差和峰现误差作为洪水预报精度的评价标准,对于洪峰预报精度给予了高度的重视.能否保证较高的洪水峰值的预报精度,是将人工神经网络的实时洪水预报技术实际应用的关键性问题.
本文在总结大量实践经验的基础上[6,7],提出了一种能够进行峰值识别的改进BP算法(ErrorBackPropagationwithPeakRecognizer,简称BPPR).该算法在修改网络权重时偏重大值,即大值误差对权重的修改起主要作用.这种改进的BP算法使人工神经网络洪水预报模型对洪峰峰值的预报精度显著提高,从而保证了洪峰预报的可靠性.
1人工神经网络的峰值识别理论
洪水预报主要是为防汛服务的,通常对洪峰时段的水位(或流量)的准确预报尤为重要.但是,对于经典的BP算法,网络训练是根据全局误差修改网络权重的,这种权重修改方法很难控制洪峰水位(或流量)的训练精度,训练后的网络权重所贮存的信息很可能更多地反映了样本数量较大的中、低水位(或流量)的变化规律.所以,经过训练的网络对中、低水位(或流量)的预报精度相对较高,而对洪峰的预报精度往往低一些.如何提高人工神经网络模型对洪峰水位(或流量)的预报精度,是人工神经网络理论应用于洪水预报的关键问题之一.
本文是在结合实际课题广泛研究的基础上,提出了一种能够提高网络模型峰值识别精度的改进BP算法.
1.1峰值识别的基本思想经典BP算法的训练过程由信号的正向传播与误差的逆向传播两个过程组成.其中,误差的逆向传播是基于网络全局误差并按“误差梯度下降”的原则对网络权重进行修改.如果对原来基于“全局误差”的权重修改原则进行合理调整,使权重的修改倾向于减小输出值较大样本的网络映射误差,这是峰值识别原理的基本思想,其实质是在误差逆向传播的网络权重修改过程中,遵循了侧重于“峰值样本误差”的权重修改原则.
1.2峰值识别的算法峰值识别理论的实现方法,是在引入动量项和采用学习率自适应调整的改进BP算法[4]的基础上,对峰值样本的网络误差引入合理的修正系数,使网络的权重向着使峰值训练误差减小的方向修改.
首先,从经典BP算法开始.设有输入为x1(t)、x2(t)、…、xn(t)的n维输入,输出为xL1(t)、xL2(t)、…、xLm(t)、的m维输出和若干隐层组成的多输入、多输出人工神经网络模型.这里的t为样本序列号,这样的样本共有P对.
第l层中第i个神经元节点所接收到的上一层输入总和为
式中:Nl为第l层神经元节点总数;w(l)ij为第l层i节点与第l-1层j节点之间的连接权重;θ(l)i为第l层i节点的阈值.
第l层中第i个神经元节点的输出为
x(l)i(t)=f(y(l)i(t))=1/1+exp(-σy(l)i(t))(1≤l≤L,1≤i≤Nl)(2)
式中:f()为转移函数,这里采用的是对数型的单极性Sigmoid函数;σ为决定Sigmoid函数压缩程度的系数.该系数越大,曲线越陡;反之,曲线越缓.
则,当训练次数为k时,网络输出层及隐层的误差信号可表示为
式中:d(L)i(t)为训练样本的期望输出.
那么,网络权重的修改公式为
式中:η(k)为训练次数为k时的学习率;α为动量项系数.
以上为经典BP算法的基本内容.基于峰值识别的思想,实现网络误差修正倾向于输出样本的较大值,定义误差修正系数ξ
ξi=di(L)(t)/d(L)max(t)(7)
式中:d(L)max(t)为训练样本期望输出的最大值.
为了进一步提高神经网络模型的训练速度,改善网络峰值识别的精度,可以在上述修正系数的基础上,增设误差修正放大系数μ.那么,加入误差修正系数ξ及误差修正放大系数μ后,当训练次数为k时,网络输出层误差信号的向量表达式如下
应用该算法进行网络训练,能够使峰值误差修正占优,从而提高网络对峰值的映度.
2应用实例
2.1工程概况及基本模型珠江流域西江段的水系关系比较复杂,如图1所示.从柳州站、迁江站、南宁站或贵港站预报梧州站洪水目前还是一个难题.结合现有的研究成果,介绍洪水预报峰值识别理论的有效性.选取珠江流域从对亭站、柳州站、迁江站、南宁站预报江口站洪水的江口站洪水预报模型,分别以BP算法与引入峰值识别理论的BPPR算法进行网络训练.以多年实测记录数据为训练样本,并采用下一年的记录数据为测试样本,即以1988、1992~1994、1996~1998各年的水位(流量)资料为训练样本,以1999年水位(流量)资料作为测试样本.
图1珠江流域西江段主要水情站及洪水平均传播时间示意
*传播时间单位:h
传统相应水位的洪水预报方法是根据天然河道洪水波的运动原理,分析洪水波在运动过程中,波的任一相位自上游水情站传播到下游水情站的相应水位及其传播时间的变化规律,寻找其经验关系,以此进行洪水预报[8].人工神经网络对信息的分布存储、并行处理以及自学习的能力,决定了它具有对模糊信息和复杂非线性关系的识别与处理能力.网络的训练学习过程,就是网络认知事物内在规律的过程.构造基于人工神经网络洪水预报模型的首要问题,是如何将洪水过程合理地概化成人工神经网络可以映射的输入、输出关系.
以上游干流和主要支流水情站的水位(流量)资料作为网络模型的输入,以下游水情站所形成的相应水位(流量)作为网络模型的输出;同时,将下游同时水位(流量)作为网络模型的输入,以模拟下游初始水位的影响.洪水自上游水文站至下游水文站的传播时间就是网络对洪水的预见期.
本题中所建立的江口站洪水预报模型中,作为江口站的上游水文站共有对亭、柳州、迁江和南宁等站,其中的迁江站处于干流河道.值得一提的是,对亭站方向的来水属山区洪水,特点为量小、峰高、历时短,洪水过程线陡起陡落,其结果是水位的变化非常大,而实际的流量又很小,这无疑会影响水位预报模型的识别精度.为了减少这种小支流的干扰,在建立水位预报模型时,未将对亭站的水位作为输入项.在建立流量预报模型时,为了保证水量的总体平衡,仍将对亭站的流量作为一项输入.
以3h为一个间隔时段进行洪水数据采集来组织样本,以干流迁江站t时刻水位(流量)、对亭站(t-3)时刻流量、柳州站(t-3)时刻水位(流量)、南宁站(t-8)时刻水位(流量)和江口站t时刻水位(流量)作为网络的输入,江口站(t+T)时刻的水位(流量)为网络的输出.其中,T为网络的预见期,即洪水自上游迁江站传播到江口站的时间,亦为峰现时间.在组织样本时,采用洪水在各站间的实测传播时间,但网络预报的预见期为平均预见期,即T=9时段,约28h(洪水在各站间的传播情况见图1).图2为江口站洪水预报模型的网络拓扑结构图.
图2江口站洪水预报模型的网络拓扑结构
在网络结构设计中,输入与输出节点数由实际问题而定,而隐层数及隐层节点数是网络设计中的关键问题.在实际问题中,常常无法估计问题的真实复杂程度,通常采用双隐层.关于隐层节点数目的确定,直接关系到能否成功地解决问题.实际上,隐层节点数决定于训练样本的多少、样本噪音的大小以及所面对问题的复杂程度.若隐层节点数太少,网络映射能力不足;若隐层节点数太多,不仅增加网络的训练时间,还会引发所谓“过度吻合”问题,即虽然增加了训练精度,但是由于网络过多地获得了样本的个性特征,而掩盖了样本的共性特征,从而造成预报精度的下降.目前的研究成果,还不能在理论上提供一套科学的推导方法,试算法是可靠的常规方法.本题经多次试算,合理的拓扑结构为:水位预报模型(4-40-20-1),流量预报模型(5-40-20-1).
图3水位预报模型中BP算法与BPPR算法映结果比较
网络模型的初始权重在(-1,1)之间随机产生,动量项系数α取0.9.初始学习率η0在基本BP算法中取0.001,在BPPR算法中取0.0005,初始学习率往往会因不同网络模型而不同.BPPR算法的峰值误差修正放大系数μ取2.0.水位模型的训练停止条件为平均映射误差l≤0.20m,流量模型的训练停止条件为平均映射误差q≤500m3/s.
2.2计算成果分别采取BP算法与BPPR算法进行网络模型的训练,两种算法对于峰值水位(流量)的映射情况见图3、图4.以完成训练的网络模型对1999年的洪水情况进行测试预报,预报结果见图5、图6.
图4流量预报模型中BP算法与BPPR算法映射结果比较
2.3成果分析图3、图4反映了完成训练的网络模型对训练样本中洪峰水位与流量的映射情况,从图中可以看到,BP算法对于洪水演进规律具有很高的映度,引入峰值识别理论的BPPR算法能够进一步提高网络对洪水峰值的映度,这种作用对于较高洪峰识别效果更为明显.
图51999年水位预报结果比较
图61999年流量预报结果比较
图5、图6为网络模型对1999年洪水主洪峰的预报情况.在水位预报模型中,BP算法对洪峰的预报误差为0.13m(低于实测值);BPPR算法的预报误差为-0.05m(高于实测值).在流量预报模型中,BP算法对洪峰的预报误差为291m3/s;BPPR算法的预报误差为-83m3/s.
这里所采用的峰值误差修正放大系数μ实质上与样本集中大值样本所占的比例有关,大值样本所占比例越小,μ的取值越大;反之,则小.在实际操作中,ξμ是作为一个参数进行权重调节计算的,所以μ的取值又受样本集中最大值和最小值间比例关系的限制.
如果放大系数选取过大,网络训练容易失稳,造成训练误差增大;反之,网络权重的修改难以体现洪峰样本的贡献.具体取值由实际问题而定,在珠江流域的洪水预报模型中,放大系数的取值范围为1.5~2.5.
从网络模型的训练识别和测试预报两方面的研究成果来看,人工神经网络对于洪水演进规律的识别具有较高的精度,能够模拟洪水的动态过程,其中,引入峰值识别理论的BPPR算法有利于提高模型对峰值的映射与预报精度,效果明显.这些改进效果对于水文水资源预报中,可能效果并不十分显著,但在防汛中,水位预报对防洪决策至关重要,往往十几厘米的误差,直接影响到防洪方案的决策.因此,峰值识别理论对基于BP算法的洪水预报模型来讲,具有重要意义.
3结束语
基于人工神经网络的洪水预报方法作为防洪减灾领域一种新的研究途径,将智能化思想引入到对洪水过程的计算模拟,更能反映洪水复杂非线性的动态演进规律.研究结果表明,人工神经网络算法能够很好地映射洪水的演进规律,做到对洪水实时的监测与预报,预报精度较高.
篇6
关键词:污水处理;多传感器融合;过程控制;
中图法分类号:TP216 文献标识码:A
Abstract Instrumentation, control and automation (ICA) technology after all these years of development, now it has been approved, and determined it in waste-water treatment field of important position, it has obvious effect on reducing waste-water treatment plant operating costs,and improving processing efficiency. And ICA technology has the close relation to the sensor technology, especially multisensory fusion technology in the application and development of sewage treatment field. This paper briefly introduced the multisensory data fusion and its method, then introduces some waste-water treatment process control system which based on those methods, and finally the cooperation development trend of the process control technologies with multisensory fusion technologies in the future were discussed.
Key words waste-water treatment; multisensory fusion; process-control system
0引言
仪表、控制和自动化(Instrumentation、control and automation ICA)并不是污水处理的一个新领域[ 1 ],虽然这项技术在国际水协会(IWA)获得认可将近30年,但仍不是传统市政工程和环境工程课程的一部分。随着科学技术的发展,现以证明,应用ICA技术,使具有营养物质去除功能的污水处理厂其能力可以提高10%—30%。因此随着对污水处理系统内部的不断认识和理解,对降低污水处理成本的迫切要求,未来10—20年应用ICA技术的投资将占整个污水处理系统投资的20%—50%。
污水处理厂的典型特点就是水质,水量随时间变化较大,水质,水量的扰动是污水厂面临的主要困难。在传感器技术应用于污水厂之前,污水处理厂不采用任何形式的过程控制,以牺牲池容和动力费用为代价得到较好的出水水质。而随着污水排放标准的进一步提高,为了保证出水水质和降低能耗,必须较为准确的了解进水水质和出水水质的情况,为污水处理的过程控制提供原始数据。这就需要传感器技术特别是多传感器融合技术的支持。
笔者以污水处理系统为基础,对基于多传感器融合技术的污水处理过程控制进行介绍,并展望未来发展趋势,旨在为后来者提供微些参考。
1多传感器融合及其方法
多传感器融合就是充分利用多传感器的资源,将多个传感器在时间和空间上的互补或冗余按照某种算法或准则进行综合,提高了判断和估计的精确性,可靠性以及在对抗环境下得生存性[2]。其数据融合示意图如图1所示。
在污水处理过程控制中多传感器融合就是把多个传感器的检测量进行综合,提取出准确有用的信息,为实现后续的控制提供依据,提高系统的性能。数据融合的过程如如图2所示。
多传感器融合方法有很多,大致可分为两大类:经典融合算法和现代融合算法。经典融合算法包括卡尔曼滤波,贝叶斯估计法,级大似然估计法和D-S证据理论法等。现代融合算法常用的有聚类分析法,模糊逻辑法,神经网络法等。
传感器技术的发展是过程控制技术在污水处理领域得以广泛应用的决定因素,多传感器融合(Multisensor Data fusion,MSDF)技术又为污水处理注入新的活力。目前模糊控制的数据融合,神经网络的数据融合正在引入污水处理过程控制中并取得了一定的效果。未来越来越多的数据融合技术将会引入污水的过程控制中促进其发展。
2基于多传感器的BP神经网络在污水处理中的应用
如图3所示为利用神经网络的多传感器融合把多个传感器的检测量进行综合,提取出准确有用的信息,为实现PID控制提供依据,提高系统的性能[ 3 ]。
BP神经网络具有逼进任意非线性函数的能力,且结构和学习的算法简单明确[ 4 ]。通过神经网络自身的学习,可以找到某一最优控制律下得P、I、D参数。基于BP神经网络的PID控制系统结构如图4所示。
输出层神经元的输出状态对应于PID控制器的三个可调参数KP、KI、KD,通过神经网络的自学习和加权系数的跳蚤,可使其稳定状态对应于某种最优控制律下得PID控制参数。
3基于多传感器的模糊神经网络在污水处理的应用
模糊控制( Fuzzy Control)能将操作者或专家的控制经验和知识表示成语言变量描述的控制规则,然后用这些规则去控制系统[ 5]。因此,模糊控制特别适用于污水处理这种数学模型未知的、复杂的非线性系统的控制。正是由于模糊控制可以克服预测动态变化的混沌时间系列,近年来它己成为污水处理系统的研究热点[ 6-8]。如下图所示为一个基于多传感器的模糊神经网络污水处理过程示意图,它利用模糊神经网络建模工具,对多传感器的过程动态模型进行分析,提出通过神经多软传感器等对系统进行优化,建立基于多传感器的模糊神经网络污水处理系统模型。
4结束语
除了以上介绍的在几种多传感器融合方法与污水处理过程控制相结合的系统以外,还有基于D-S证据理论的多传感器融合等[9] [10]在此就不一一介绍了。总之未来污水处理走向自动化,智能化是势不可挡的趋势,而基于多传感器融合技术的过程控制更是具有广阔的发展前景!
参考文献:
[1]Truett GarrettM.Instrumentation,control and automation process in the United States in the last 24 years [J]. Water Sci Techno 1998 , 37(12): 21- 25 .
【2】王耀南, 李树涛. 多传感器信息融合及其应用综述 [ J ]. 控制与决策, 2001 , 16 ( 5) : 518- 521
【3】黎果, 李志蜀, 李奇, 等. 基于神经网络的多传感器融合技术研究 [ J] . 微计算机信息, 2009 , 25( 16 ): 145- 147.
【4】阎平凡, 张长水. 人工神经网络与模拟进化计算 [M ] . 北京: 清华大学出版社, 2000: 10- 32
【5】诸静. 模糊控制理论与系统原理 [M ]. 北京:机械工业出版社, 2005 . 8 .
【6】高大文, 彭永臻,王淑萤, 等. 污水处理智能控制的研究、 应用与发展 [ J]. 中国给水排水, 2002 , 18 : 35- 39
【7】芮新芳, 卫 国. 自适应模糊神经网络在污水处理中的应用 [ J] .现代电子技术, 2002 , 143( 12): 58 -61
【8】翁建华, 陈艳,张立国, 等. 基于模糊神经网络的多传感器信息融合技术及应用 [ J]. 传感技术学报2003 , 12( 4): 501- 503
【9】倪国强,梁好臣,基于Dempster-Shafer证据理论的数据融合技术研究,北京理工大学学报,2001,21(5):603-609,
篇7
1.1光谱噪声去除由于实验条件如光谱仪硬件和环境光等因素影响,采集的原始光谱数据会包含噪声,需要采用光谱预处理的方法把这些噪声去除,同时保留有用光谱信息。采用SG平滑算法,经验模态分解(empiricalmodedecomposition,EMD)算法和小波分析(wavelettransform,WT)去噪算法等对光谱进行处理,并对三种去噪算法进行比较。
1.2潜在变量(LatentVariable,LV)在利用PLS方法建立模型时,非常关键的一点是所选取的对于建模最优的LV个数,LV和主成分分析中主成分类似,第一个LV贡献率最大,第二个次之,以此类推。如果选取的LV个数偏少,则无法全面代表样本的光谱特性,造成模型精度下降,影响模型的预测效果。而如果选取的LV个数过多,则会带入模型的噪声,干扰建模效果。
1.3建模分析方法用三种建模方法,分别是偏最小二乘回归(partialleastsquares,PLS),BP神经网络(backpropagationneuralnet-work,BPNN)和偏最小二乘支持向量机(leastsquaresupportvectormachine,LS-SVM)。采用PLS建模方法时,基于全谱作为模型输入,使用BP神经网络和LS-SVM建模时,把PLS回归模型得到的LV作为输入,进行对比分析。神经网络由一个输入层、一个或多个隐含层和一个输出层构成。BP神经网络是一种非线性的建模方法,广泛应用于光谱建模分析中[12]。LS-SVM是在经典支持向量机算法基础上作了进一步改进,能够同时进行线性和非线性建模分析,是解决多元建模的一种快速方法。
1.4定量模型评价标准定量模型的评价指标主要有决定系数和均方根误差(rootmeansquareerror,RMSE)。建模集决定系数用R2表示,预测集决定系数用r2表示。决定系数越接近于1,表示模型相关性越好,预测效果更好。一般来说,RMSE越小说明模型的误差越小,模型精度越高。建模集均方根误差用RMSEC表示,预测集均方根误差RMSEP表示。
2结果和讨论
2.1UV/Vis光谱图及COD浓度的统计分析图1为甲鱼养殖水样本的UV/Vis原始光谱曲线,从图中可以看出各个水样的光谱曲线的趋势相类似,没有呈现显著性差异,由于水体中硝酸盐、有机酸、腐殖质等物质对紫外光的强烈吸收,在波段200~260nm区域的吸收度明显高于其他区域。试验水体样本COD值统计结果如表1所示,模型的建模集和预测集COD值覆盖了较大范围,有助于建立准确、稳定和具有代表性的模型。
2.2基于全波长的PLS模型为了更好的分析三种消噪算法检测水体COD含量的性能,将对不同预处理方法获取的评价指标相比较,基于全谱的PLS模型的计算结果如表2所示。由表2可知,小波算法去除噪声后的光谱PLS模型取得了最佳结果,建模集的R2为0.79,RMSEC为15.89mg•L-1,预测集的r2为0.78,RMSEP为15.92mg•L-1。SG平滑和EMD算法虽然部分去除了噪声,但建模效果并没有得到相应提高。故后面建模分析在WT分析基础上进行。
2.3LV一般选取最优LV个数的标准观察RMSEP值随LV个数变化情况,如图3所示,当LV个数较少时,RMSEP值较大,随着LV个数的增加,RMSEP随之减小,当LV个数增加到6时,RMSEP的值保持稳定,LV个数继续增加,RM-SEP值也没有随着增加。取前6个LVs作为偏最小二乘支持向量积的输入建立模型。从贡献率角度解释,PLS建模得到的6个LVs分别作为LS-SVM的输入,之所以取前6个是因为这样几乎可以100%表达原始光谱有用信息,如表3所示,且降低了模型复杂度,提高模型运行速度和精度。
2.4BP神经网络模型根据前文得到的结果,将表3中选出的LVs作为BP神经网络模型输入,BP神经网络模型的计算结果如表4所示。分析表4可知,将6个LVs作为LS-SVM模型输入的结果,其建模集的R2为0.82,RMSEC为15.77mg•L-1,预测集的r2为0.81,RMSEP为16.67mg•L-1。
2.5基于LVs输入的LS-SVM模型LS-SVM模型预测结果如表5所示。采用LVs作为LSSVM模型输入,得到的结果优于基于BP神经网络模型。其建模集的R2为0.83,RMSEC为14.78mg•L-1,预测集的r2为0.82,RMSEP为14.82mg•L-1。
2.6PLS,BP神经网络和LS-SVM模型比较PLS,BPNN和LS-SVM建模方法的结果比较如图3所示,Cal表示模型的建模集(calibration),Pre表示模型的预测集(prediction)。不难发现,在LS-SVM模型和BP神经网络模型中,基于LV作为模型输入-建立的LS-SVM模型取得了最优的效果,BP神经网络模型的预测效果较优,且LS-SVM模型和BP神经网络模型都优于全波长的PLS模型结果。
3结语
篇8
关键字 :神经网络,BP模型,预测
中图分类号:TP183文献标识码: A
1 引言
在系统建模、辨识和预测中,对于线性系统,在频域,传递函数矩阵可以很好地表达系统的黑箱式输入输出模型;在时域,Box-Jenkins方法、回归分析方法、ARMA模型等,通过各种参数估计方法也可以给出描述。对于非线性时间序列预测系统,双线性模型、门限自回归模型、ARCH模型都需要在对数据的内在规律知道不多的情况下对序列间关系进行假定。可以说传统的非线性系统预测,在理论研究和实际应用方面,都存在极大的困难。相比之下,神经网络可以在不了解输入或输出变量间关系的前提下完成非线性建模[4,6]。神经元、神经网络都有非线性、非局域性、非定常性、非凸性和混沌等特性,与各种预测方法有机结合具有很好的发展前景,也给预测系统带来了新的方向与突破。建模算法和预测系统的稳定性、动态性等研究成为当今热点问题。目前在系统建模与预测中,应用最多的是静态的多层前向神经网络,这主要是因为这种网络具有通过学习逼近任意非线性映射的能力。利用静态的多层前向神经网络建立系统的输入/输出模型,本质上就是基于网络逼近能力,通过学习获知系统差分方程中的非线性函数。但在实际应用中,需要建模和预测的多为非线性动态系统,利用静态的多层前向神经网络必须事先给定模型的阶次,即预先确定系统的模型,这一点非常难做到。近来,有关基于动态网络的建模和预测的研究,代表了神经网络建模和预测新的发展方向。
2 BP神经网络模型
BP网络是采用Widrow-Hoff学习算法和非线性可微转移函数的多层网络。典型的BP算法采用梯度下降法,也就是Widrow-Hoff算法。现在有许多基本的优化算法,例如变尺度算法和牛顿算法。如图1所示,BP神经网络包括以下单元:①处理单元(神经元)(图中用圆圈表示),即神经网络的基本组成部分。输入层的处理单元只是将输入值转入相邻的联接权重,隐层和输出层的处理单元将它们的输入值求和并根据转移函数计算输出值。②联接权重(图中如V,W)。它将神经网络中的处理单元联系起来,其值随各处理单元的联接程度而变化。③层。神经网络一般具有输入层x、隐层y和输出层o。④阈值。其值可为恒值或可变值,它可使网络能更自由地获取所要描述的函数关系。⑤转移函数F。它是将输入的数据转化为输出的处理单元,通常为非线性函数。
图1 BP神经网络结构
2.1 基本算法
BP算法主要包含4步,分为向前传播和向后传播两个阶段:
1)向前传播阶段
(1)从样本集中取一个样本(Xp,Yp),将Xp输入网络;
(2)计算相应的实际输出Op
在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时的执行过程。
2)向后传播阶段
(1)计算实际输出Op与相应的理想输出Yp的差;
(2)按极小化误差的方式调整权矩阵。
这两个阶段的工作受到精度要求的控制,在这里取 作为网络关于第p个样本的误差测度,而将网络关于整个样本集的误差测度定义为 。图2是基本BP算法的流程图。
图2 BP基本算法流程
2.2 动态BP神经网络预测算法
在经典的BP算法以及其他的训练算法中都有很多变量,这些训练算法可以确定一个ANN结构,它们只训练固定结构的ANN权值(包括联接权值和结点转换函数)。在自动设计ANN结构方面,也已有较多的尝试,比如构造性算法和剪枝算法。前一种是先随机化网络,然后在训练过程中有必要地增加新的层和结点;而剪枝法则正好相反。文献[2]中提出了演化神经网络的理念,并把EP算法与BP进行了组合演化;也有很多学者把遗传算法和BP进行结合,但这些算法都以时间复杂度以及空间复杂度的增加为代价。根据Kolmogorov定理,对于任意给定的L2型连续函数f: [ 0, 1 ]n Rm , f可以精确地用一个三层前向神经网络来实现,因而可以只考虑演化网络的权值和结点数而不影响演化结果。基于此,在BP原有算法的基础上,增加结点数演化因子,然后记录每层因子各异时演化出的结构,最后选取最优的因子及其网络结构,这样就可以避免由于增加或剪枝得到的局部最优。根据实验得知,不同的预测精度也影响网络层神经元的结点数,所以可根据要求动态地建立预测系统。具体步骤如下:
(1)将输入向量和目标向量进行归一化处理。
(2)读取输入向量、目标向量,记录输入维数m、输出层结点数n。
(3)当训练集确定之后,输入层结点数和输出层结点数随之而确定,首先遇到的一个十分重要而又困难的问题是如何优化隐层结点数和隐层数。实验表明,如果隐层结点数过少,网络不能具有必要的学习能力和信息处理能力。反之,若过多,不仅会大大增加网络结构的复杂性(这一点对硬件实现的网络尤其重要),网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度变得很慢。隐层结点数的选择问题一直受到神经网络研究工作者的高度重视。Gorman指出隐层结点数s与模式数N的关系是:s=log2N;Kolmogorov定理表明,隐层结点数s=2n+1(n为输入层结点数);而根据文献[7]:s=sqrt(0.43mn+0.12nn+2.54m+0.77n+0.35)+0.51[7]。
(4)设置结点数演化因子a。为了快速建立网络,可以对其向量初始化,
并从小到大排序[4,7]。
(5)建立BP神经网络。隐含层传递函数用tansig,输出层用logsig,训练函数采用动态自适应BP算法,并制订停止准则:目标误差精度以及训练代数。
(6)初始化网络。
(7)训练网络直到满足停止判断准则。
(8)用测试向量对网络进行预测,并记录误差和逼近曲线,评估其网络的适应性。其适应度函数采取规则化均方误差函数。
(9)转到(5),选取下一个演化因子,动态增加隐含层结点数,直到最后得到最佳预测网络。
3 基于神经网络的预测原理[4]
3.1 正向建模
正向建模是指训练一个神经网络表达系统正向动态的过程,这一过程建立的神经网络模型称为正向模型,其结构如图3所示。其中,神经网络与待辨识的系统并联,两者的输出误差用做网络的训练信号。显然,这是一个典型的有导师学习问题,实际系统作为教师,向神经网络提供算法所需要的期望输出。当系统是被控对象或传统控制器时,神经网络多采用多层前向网络的形式,可直接选用BP网络或它的各种变形。而当系统为性能评价器时,则可选择再励学习算法,这时网络既可以采用具有全局逼近能力的网络(如多层感知器),也可选用具有局部逼近能力的网络(如小脑模型控制器等)。
图3 正向建模结构
3.2 逆向建模
建立动态系统的逆模型,在神经网络中起着关键作用,并且得到了广泛的应用。其中,比较简单的是直接逆建模法,也称为广义逆学习。其结构如图4所示,拟预报的系统输出作为网络的输入,网络输出与系统输入比较,相应的输入误差用于训练,因而网络将通过学习建立系统的逆模型。但是,如果所辨识的非线性系统是不可逆的,利用上述方法将得到一个不正确的逆模型。因此,在建立系统时,可逆性应该先有所保证。
图4 直接逆建模结构
4 应用实例分析
以我国西南某地震常发地区的地震资料作为样本来源,实现基于动态神经网络的地震预报。根据资料,提取出7个预报因子和实际发生的震级M作为输入和目标向量。预报因子为半年内M>=3的地震累计频度、半年内能量释放积累值、b值、异常地震群个数、地震条带个数、是否处于活动期内以及相关地震区地震级。在训练前,对数据进行归一化处理。由于输入样本为7维的输入向量,一般情况下输入层设7个神经元。根据实际情况,输出层神经元个数为1。隐含层神经元的传递函数为S型正切函数,输出层也可以动态选择传递函数。实例数据来自文献[4],将数据集分为训练集、测试集和确定集。表1中的7×7数组表示归一化后的训练向量,第一个7表示预报因子数,第二个7表示样本数。
表1 归一化后的训练向量
在不同神经元数情况下,对网络进行训练和仿真,得到如图5所示的一组预测误差曲线。其中,曲线A表示隐层结点数为6时的预测误差曲线,曲线B表示隐含层结点数为3时的预测误差曲线,曲线C表示隐含层结点数为5时的预测误差曲线,曲线D表示隐含层结点数为4时的预测误差曲线。将五种情况下的误差进行对比,曲线C表示的网络预测性能最好,其隐含层神经元数为5,图中曲线E表示的是隐含层结点数为15时的预测误差曲线(文献[4]中的最好结果)。同时也证明,在设计BP网络时,不能无限制地增加层神经元的个数。若过多,不仅会大大增加网络结构的复杂性,网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度、预测速度变得很慢。
图5 不同神经元数预测误差对比曲线
5 结论
本文针对基本的BP神经网络,提出了可动态改变神经元数(与精度相关)的BP神经网络预测方法,可以根据实际情况建立预测系统。用此种方法可以建立最好的神经网络,不会有多余的神经元,也不会让网络在学习过程中过早陷于局部极小点。
参考文献
[1]潘正君,康立山,陈毓屏. 演化计算[M ]. 北京:清华大学出版社,1998
[2]飞思科技产品研发中心. 神经网络理论与实现. 北京:电子工业出版社,2005
[3]蔡晓芬,方建斌. 演化神经网络算法. 江汉大学学报,第33卷第3期,2005.9
篇9
[关键词]BP神经网络农业工程农业管理农业决策
一、引言
采用神经网络算法的信息处理技术,以其较强的计算性和学习性,现如今已经在各工程领域内得到了广泛应用。随着科技不断的发展和研究的不断深入,农业系统中采用的传统分析和管理的方法已经不能满足农业工程领域快速发展的需要。在农业系统中采用神经网络技术可在一定程度上可弥补传统方法的不足,现已成为实现农业现代化的一个重要途径。神经网络现已在农业生产的各个环节得到广泛的应用,从作物营养控制、作物疾病诊断、产量预测到产品分级,显示了巨大的潜力,并正以很快的速度与生产实际相结合。目前应用比较多的BP神经网络,可通过学习以任意精度逼近任何连续映射,在农业生产与科研中展示出了广阔的应用前景。
BP人工神经网络方法。人工神经网络是对生物神经网络的简化和模拟的一种信息处理系统,具有很强的信息存贮能力和计算能力,属于一种非经典的数值算法。通常可分为前向神经网络、反馈神经网络和自组织映射神经网络。BP神经网络(Backpropugation Neura1 Network)是一种单向传播的多层前向神经网络,可通过连续不断的在相对于误差函数斜率下降的方向上计算网络权值以及偏差的变化而逐渐逼近目标值,每一次数字和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层,从而实现了神经网络的学习过程。BP人工神经网络的结构如图所示,BP神经网络可分为输入层、中间层(隐含层)和输出层,其中输入和输出都只有一层,中间层可有一层或多层。同层的网络结点之间没有连接。每个网络结点表示一个神经元,其传递函数通常采用Sigmoid型函数。BP神经网络相当于从输入到输出的高度非线性映射,对于样本输入和输出,可以认为存在某一映射函数g,使得y0=g(xi),i=1,2,3,…,m,其中m为样本数,xi为输入样本,yo为输出结果。
BP神经网络的一个显著优点就是其可进行自学习,能够通过训练得到预期的效果。其学习过程由正向传播和反向传播组成,神经网络的输入值经过非线性变换从输入层经隐含层神经元的逐层处理传向输出层,此为正向传播过程。每一层神经元的状态将影响到下一层神经元状态。如果输出层得到的数值与期望输出有一定的偏差,则转入反向传播过程。神经网络通过对输入值和希望的输出值(教师值)进行比较,根据两者之间的差的函数来调整神经网络的各层的连接权值和各个神经元的阈值,最终使误差函数达到最小。其调整的过程是由后向前进行的,称为误差反向传播BP算法。具体学习过程如下:
(1)随机给各个权值赋一个初始权值,要求各个权值互不相等,且均为较小的非零数。
(2)输入样本集中每一个样本值,确定相应的网络实际输出值。
(3)计算实际的输出值与相应的样本集中的相应输出值的差值。
(4)按极小误差方式调整权值矩阵。
(5)判断网络误差是否小于训练前人为设定的一个较小的值,若小于,则跳出运算,此时的结果为神经网络的最终训练结果;若大于,则继续计算。
(6)判断最大迭代次数是否大于预先设定的数,若小于,返回(2);若大于,则中止运算,其结果为神经网络的最终训练结果。
上述的计算过程循环进行,直到完成给定的训练次数或达到设定的误差终止值。
二、BP神经网络在农业工程领域中的应用
1.在农业生产管理与农业决策中的应用
农业生产管理受地域、环境、季节等影响较大,用产生式规则完整描述实际系统,可能会因组合规则过多而无法实现。神经网络的一个显著的优点就是其具有较强的自学习、自适应、自组织能力,通过对有代表性的样本的学习可以掌握学习对象的内在规律,从而可以在一定程度上克服上述信息量大的问题。神经网络在农业生产管理方面可用于农作物生长过程中对农作物生长需求进行预测,从而通过对养分、水分、温度、以及PH值的优化控制达到最优的生长状况。采用神经网络预测算法的主要思想可描述为:(1)收集一定规模的样本集,采用BP算法进行训练,使网络收敛到预定的精度;(2)将网络权值矩阵保存到一存储介质中,例如文本文件或数据库中;(3)对于待预测数据的输入部分,从存储介质中读出网络连接权值矩阵,然后通过BP神经网络的前向传播算法计算网络输出,输出结果既是预测出来的数值向量。如霍再林等针对油葵不同阶段的相对土壤含盐浓度对其产量的影响有一定的规律的现象,以油葵的6个成长阶段的土壤溶液含盐的相对浓度为输入样本,相对产量为输出样本,通过比较发现,训练后的神经网络能较好预测油葵产量,采用此方法可补充传统模型的不足,为今后进一步的研究开辟了新路。
在农业决策方面,主要将农业专家面对各种问题时所采取的方法的经验,作为神经网络的学习样本,从而采用神经网络建立的专家系统将从一定程度上弥补了传统方法的不足,将农业决策智能化。如何勇、宋海燕针对传统专家系统自学习能力差的缺点,利用神经网络可自我训练的优点,将神经网络引入专家系统中。将小麦缺素时的田间宏观表现,叶部、茎部、果实症状及引起缺素的原因这五个方面的可信度值作为神经网络的输入量,将农业专家诊断的结论作为输出量,将这些数据作为神经网络的训练数据。实际应用表明此系统自动诊断的结果与专家现场诊断的结果基本一致,从而采用该系统能够取代专家,实现作物的自我诊断,为农业管理方面提供了极大的帮助。如马成林等针对于传统施肥决策方法中非线性关系描述不足的问题,基于数据包分析和BP神经网络,建立了施肥决策模型,应用表明,在有限的范围内,模型预测结果较为合理,可以反映玉米的需肥特性。刘铖等人提出采用神经网络应用在农业生产决策中,以莜麦播种方式决策为例,通过对产生式规则的分析导出神经网络输入、输出单元数,并通过多次试验确定隐层单元数,用MATLAB方针结果表明,采用神经网络作为农业生产决策的方法,取得了较好的效果。谭宗琨提出将基于互联网环境下的神经网络应用在玉米智能农业专家系统中,根据农作物发育进程分成若干个发育期,分别对各个发育期建立管理模型,依照作物各发育期进程时间间隔,由计算机系统自动选取相应的模型进行决策。应用分析的结果表明采用神经网络的玉米智能专家系统已初步接近农业生产的实际。
2.在农产品外观分析和品质评判
农产品的外观,如形状、大小、色泽等在生产过程中是不断变化的,并且受人为和自然等复杂因素的影响较大。农产品的外观直接影响到农产品的销售,研究出农作物外观受人为和自然的影响因素,通过神经网络进行生产预测,可解决农产品由于不良外观而造成的损失。如Murase 等针对西红柿表皮破裂的现象,西红柿表皮应力的增长与西红柿果肉靠近表皮部分水分的增加有关,当表皮应力超过最大表皮强度时,将导致表皮破裂。用人工神经网络系统,预测在环境温度下的表皮应力,可通过控制环境变量来减少西红柿表皮破裂所造成的损失。
在农业科研和生产中,农产品的品质评判大多是依赖于对农产品外观的辨识。例如对果形尺寸和颜色等外观判别果实的成熟度,作物与杂草的辨别,种子的外观质量检测。由于农业环境的复杂性和生物的多样性,农产品的外观不具有较确定的规律性和可描述性,单一采用图像处理技术辨识农产品的外观时不宜过多采取失真处理和变换,否则则增加图像处理的复杂性,特征判别也相对困难。人工神经网络由于其具有自学习、自组织的能力,比较适宜解决农业领域中许多难以用常规数学方法表达的复杂问题,与图像处理技术相结合后,可根据图像特征进行选择性判别。采用此方法可以部分替代人工识别的工作,提高了生产效率,也有利于实现农业现代化。如Liao等将玉米籽粒图像用34个特征参数作为神经网络的输入变量,将输出的种粒形态分为5类,经过学习的神经网络对完整籽粒分类的准确率达到93%,破籽粒分类的准确率达91%。
3.蔬菜、果实、谷物等农产品的分级和鉴定
在农业生产中,蔬菜、果实、谷物等农产品的分级和鉴定是通过对农产品外观的辨识进行的。传统的农产品外观的辨识方法费时费力、预测可靠度很低,而且多采用人工操作,评价受到操作者主观因素的影响,评判的精度难以保证。利用人工神经网络技术结合图像处理技术可部分代替以往这些主要依靠人工识别的工作,从而大大提高生产效率,实现农业生产与管理的自动化和智能化。
利用BP神经网络技术对农产品果形尺寸和颜色等外观评判,目前国内外已有不少成果用于实际生产中。何东健等以计算机视觉技术进行果实颜色自动分级为目的,研究了用人工神经网络进行颜色分级的方法。分别用120个着色不同的红星和红富士苹果作为训练样本集对网络进行离线训练。两个品种的苹果先由人工依据标准按着色度分成4级,对每一个品种分别求出7个模式特征值作为BP网络的输入,用训练好的神经网络进行分级。结果表明红富士和红星果实的平均分级一致率分别为94.2%和94.4%。刘禾等用对称特征、长宽特征、宽度特征、比值特征等一系列特征值来描述果形。采用BP网络与人工智能相结合,建立果形判别人工神经网络专家系统。试验水果品种为富士和国光。试验表明系统对富士学习率为80%,对非学习样本的富士苹果的果形判别推确率为75%,系统对国光学习率为89%,对非学习样本的国光苹果果形判别系统的难确率为82%。
三、未来的发展方向
人工神经网络的信息处理技术现已在农业工程领域内得到了迅速的应用,采用人工神经网络算法的农业系统能够从一定程度上改善控制效果,但此技术在农业范围内还不够成熟,有待于进一步的研究。今后科研的方向大体上可以从以下几方面着手:
1.人工神经网络算法的改进
人工神经网络算法由于本身具有一定的缺点,从而采用人工神经网络的算法的信息处理技术在应用过程中具有一定的局限性。在今后的研究中,可以从人工神经网络方向着手,改进人工神经网络算法,从而实现其在农业领域内更好的应用。近年来随着模糊算法、蚁群算法等算法的相继出现,将神经网络与其他算法结合在一起已经成为了研究的热门话题,也是未来算法研究的主要方向之一。
2.应用领域的扩展
人工神经网络算法在农业工程方面现已得到了迅速的发展,扩展其在农业工程领域的应用范围是未来的一个主要研究方向。人工神经网络由于其具有自学习能力,可对农业系统的非线形特性进行较好的描述,采用人工神经网络可解决传统方法的不足,从而实现农业现代化。如何将神经网络较好地引入到农业系统,解决农业工程中的部分问题,已是今后农业科研中的一个方向。
四、结束语
神经网络作为一种人工智能范畴的计算方法,具有良好的自学习与数学计算的能力,可通过计算机程序进行模拟运算,现已广泛用于模式识别、管理决策等方面。随着计算机硬件和软件的不断发展与农业工程方面的研究的不断深入,神经网络将在农业管理、农业决策、农作物外观分类、品质评判等方面充分发挥其自学习能力强,计算能力强的优势,通过对样本数据的学习,神经网络可较好地解决农作物生长过程中的作物分类、预测等非线形的问题。在农业工程领域内,神经网络拥有广阔的科研前景。
参考文献:
[1]余英林李海洲:神经网络与信号分析[M]. 广州: 华南理工大学出版社,1996:45
[2]霍再林史海滨孔东等: 基于人工神经网络的作物水―盐响应初步研究[J].内蒙古农业大学学报,2003,24(3):66~70
[3]何勇宋海燕:基于神经网络的作物营养诊断专家系统[J]. 农业工程学报,2005,21(1):110~113
[4]马成林吴才聪张书慧等:基与数据包络分析和人工神经网络的变量施肥决策方法研究[J].农业工程学报,2006,20(2):152~155
[5]刘铖杨盘洪: 莜麦播种方式决策的BP神经网络模型[J]. 太原理工大学学报,2006,37(5):119~121
[6]谭宗琨: BP人工神经网络在玉米智能农业专家系统中的应用[J].农业网络信息,2004(10):9~1
[7]Liao K,Li Z,Reid J F,et al.Knoledge-based color discrimination of corn kernels[J].ASAE paper[C].92~3579
篇10
关键词:人工智能;TensorFlow;BP神经网络
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)16-0199-03
Abstract:Based on Google's second generation of artificial intelligence learning system―TensorFlow, build a BP neural network model. Use handwritten characters as training set of inputs of neural network, constantly revise weight value and threshold value in the process of training, and get a higher identification precision of the model. It Embodies the TensorFlow’s effect in improving the efficiency of modeling, programming and analysis. Through introducing the development process, It provides reference which use TensorFlow building complex neural networks.
Key words:artificial intelligence; TensorFlow; BP neural networks
1 概述
目前,手写字符的识别方法已经有多种,如支持向量机、BP神经网络、KNN、朴素贝叶斯方法等。其中BP神经网络作为一种经典的模式识别工具,应用广泛。将BP神经网络应用于手写字符识别,具有识别速度快、分类能力强、有较好的容错性能和学习能力的优点。
TensorFlow是一个采用数据流图,用于数值计算的开源软件库。它通过构建有向图来描述所要执行的操作,可以灵活的使用设备中的CPU或者GPU展开计算。TensorFlow提供了构建神经网络的接口,因此便于构建BP神经网络,简化编程任务。与传统平台构建的识别模型相比,提高了效率。
2 TensorFlow深度学习平台
2.1 TensorFlow平台特性
TensorFlow使用灵活,无论是个人PC还是大规模GPU计算集群,TensorFlow都能够灵活的在这些平台运行,使用 TensorFlow 表示的计算也可以在这些平台上方便地移植。目前,TensorFlow已经被应用于机器学习系统,以及和计算机科学相关的领域,例如计算机视觉、语言识别、信息检索、机器人、地理信息抽取、自然语言理解和计算药物发现等。TensorFlow灵活的特性也可以用来表示很多的算法,比如推断算法和深度神经网络的训练等。
TensorFlow采用数据流计算,其表达的数据流计算由一个有向图表示,这个图由一个节点集合组成。在一幅 TensorFlow 图中,每个节点有一个或者多个输入和零个或者多个输出,表示一种操作的实例化。图中的叶子节点通常为常量或者变量,非叶子结点为一种操作,箭头代表的是张量(常量、变量以及节点计算出的结果均可视为张量)的流动方向。
通过在Ubuntu系统上安装TensorFlow库、启用GPU支持即可使用Python语言构建计算图,实现基于神经网络的手写字符识别。
2.2 TensorFlow平台搭建
TensorFlow目前支持Ubuntu系统和MAC OS系统中安装,支持C++和Python两种编程语言。考虑到Python语言的简洁性,本实验采用Python进行程序设计。
1)使用 Virtualenv 创建隔离容器安装 TensorFlow,不会改变不同Python项目的依赖关系,便于进行项目的管理,能使排查安装问题变得更容易。
$ sudo apt-get install python-pip python-dev python-virtualenv
2)在Virtualenv环境下安装TensorFlow的GPU版本:
创建图:TensorFlow使用图来表示计算任务,在执行计算操作之前需要将图构建完成。每一个非叶子节点都视为一种操作,叶子节点则表示特殊的操作类型,比如返回常量值或者变量值。创建图的最后阶段需要向图中添加一个初始化操作的节点,其作用是将所有的变量进行初始化。
启动图:图创建完成后,才能启动图。启动图的第一步是创建一个 Session 对象,如果无任何创建参数,会话构造器将启动默认图。然后进行变量的初始化操作、运行操作节点、更新变量值。
3 BP神经网络设计
BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。学习规则使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。由输入层、隐含层和输出层组成,层与层之间采用全连接方式,同层之间不存在相互连接。
3.1 BP神经网络
3.2 TensorFlow平台实现
本实验采用MNIST手写字符数据集,手写字符为28×28像素的手写数字灰度图像。存储在train-images-idx3-ubyte.gz和train-labels-idx1-ubyte.gz 文件中的60000幅手写字符数据,55000幅作为训练集,5000幅作为验证集。测试集10000幅图像的字符和标签存储在t10k-images-idx3-ubyte.gz和t10k-labels-idx1-ubyte.gz中。
输入层设计:手写字符每一张图片的大小为32×32,一维化后,每一张图片作为输入时需要784个输入层神经元节点,其中None表示输入图片的数目:
4 总结
目前,神经网络被广泛应用于学术界和工业界,但在构建神经网络、优化参数、模型分析方面总是存在着一定的困难。TensorFlow的出现使这种状况得以改善。TensorFlow有着编程简单、优化算法集成度高、使用灵活的特性,利用TensorFlow将会使建模、编程、分析效率大大提高。实验以BP神经网络为例,介绍了TensorFlow平台下神经网络模型构建的一般方法和流程,并且得到了有较高识别精度的模型。对构建更复杂的神经网络具有一定的参考意义。
参考文献:
[1] Abadi M, Agarwal A, Barham P, et al. TensorFlow: Large-scale machine learning on heterogeneous systems, 2015[J]. Software available from tensorflow. org.
[2] 任翠池,杨淑莹,洪俊.基于BP神经网络的手写字符识别[J].天津理工大学学报,2006,22(4):80-82.
[3] 张斌,赵玮烨,李积宪.基于BP神经网络的手写字符识别系统[J].兰州交通大学学报:自然科学版, 2007,26(1).
[4] 许宜申,顾济华,陶智,等.基于改进 BP 神经网络的手写字符识别[J].通信技术,2011, 44(5): 106-109.
[5] 杨勇,谢刚生.基于BP神经网络的手写数字识别[J].华东地质学院学报,2003,26(4): 383-386.
[6] 金连文,徐秉铮.基于多级神经网络结构的手写体汉字识别[J].通信学报,1997,18(5).