尤丽华,吴静静*,王 瑶,宋淑娟
(1.江南大学机械工程学院,江苏 无锡 214122;2.江苏省食品先进制造装备技术重点实验室,江苏 无锡 214122)
基于模拟退火优化BP神经网络的pH值预测*
尤丽华1,2,吴静静1,2*,王 瑶1,2,宋淑娟1,2
(1.江南大学机械工程学院,江苏 无锡 214122;2.江苏省食品先进制造装备技术重点实验室,江苏 无锡 214122)
为自动准确测定水质pH值,采用大量的具有代表性的pH值检测数据为样本,提出了一种基于模拟退火优化BP神经网络的pH值预测方法。利用模拟退火算法优化BP网络的权值,调整优化样本的选取和隐层神经元数,训练BP神经网络预测模型得到最优解。由测试样本对网络进行了预测试验,并与非线性回归的预测结果进行了对比。结果表明,该方法对水质pH值预测具有较好的非线性拟合能力和更高的预测准确性。
BP神经网络;模拟退火;pH值;非线性回归
不管是地层水、生活饮用水,还是工业用水的检测,pH值和氯离子浓度是需测量的重要参数[1]。目前,地层水氯离子浓度测定大多采用实验室常规分析法,如电位滴定、离子色谱等[2]。这些方法操作复杂,无法现场应用。对于pH值的检测,除pH计外,使用最多的是试纸法。该法由人眼进行色卡比对判读pH值,因此,受人为因素影响较大,如人的颜色视觉存在差异。此外,探矿人员进行野外水质检测,需要一种携带方便、操作简单的自动水质pH值检测仪。该自动水质pH值检测仪通过颜色传感器获得测试试纸呈现的红(R)、绿(G)和蓝(B)3个颜色分量[3],根据颜色值自动判读水质的pH值。针对pH值的自动判读问题,本文根据实测实验数据和数据处理算法建立pH值与R、G、B之间的近似模型,由该模型对水质的pH值进行预测,从而实现pH值的自动测量。
本文的pH值预测模型涉及的变量包括颜色分量R,G,B,及相应pH值,属于四维空间模型问题,而且pH值与R、G、B的关系呈强烈的非线性,难以建立精确物理模型。处理该问题的常规方法是多元回归分析,即通过多元回归分析找出pH值与R、G、B 3个输入变量之间的定度关系。此外,对于高度非线性映射问题,人工神经网络[4]具有强大的非线性映射能力,也是一个很好的解决方法。人工神经网络是模仿生物神经网络功能的一种经验模型,按照类似生物神经网络的方式处理输入信息,表达那些用机理模型无法或难以精确描述,但输入和输出之间有确定性规律的问题[5]。因此,神经网络如BP神经网络模型,RBF神经网络模型等,在工程实践中得到越来越多的应用[6-7]。
BP神经网络模型是应用最广泛的预测模型,但该模型的主要缺点是:①易于陷入局部最小值;②收敛速度慢。为了改善传统BP网络中梯度下降算法容易陷入局部极小值等问题,本文提出一种基于模拟退火(SA)算法优化的BP神经网络权值训练方法。该算法利用SA的全局寻优能力[8-9],克服了BP网络在权值选择上的随机性,提高了BP神经网络的收敛速度和学习能力。此外,本文优化了训练样本选取和网络隐层神经元数,提高了BP神经网络的泛化能力。本文基于优化的BP神经网络建立pH值与R、G、B 3个输入变量之间的定度关系,实现了pH值的准确预测。通过与多元回归方法比较,结果显示神经网络的预测精确度远优于多元回归方法,对于pH值预测问题具有较好的非线性拟合能力和预测精度。
本文pH值预测算法用于一种便携式pH值测定仪。该测定仪的基本原理为,利用高精度的颜色传感器将测试水质试纸的颜色转化为对应于R、G和B 3个颜色分量的电信号,经数据采集模块采集该电信号并输入单片机,将训练好的BP神经网络构建的pH值预测模型嵌入单片机,再由单片机根据预测模型进行数据处理,进而输出待测水质的pH预测值。
由BP定理[5]知:给定任意ε>0和任意L2函数f:[0 1]n→Rm,存在一个3层BP网络,它可在任意ε平方误差精度内逼近f。因此,本文选择一个包括输入层、隐层和输出层的3层BP网络作为预测器,根据实验得到的样本数据对网络进行训练,建立pH值预测模型。根据神经网络输入变量选取准则[5]:①输入变量应与预测对象密切相关;②输入变量之间不能有较强的线性关系,输入神经元个数一般应等于应用问题的输入变量数目。基于此,pH预测网络结构输入神经元个数为3,分别对应于R、G、B 3个输入值,输出神经元个数为1,对应于pH值。一般来说,隐层神经元数目M的确定比较困难,隐节点神经元少了,学习过程可能不收敛,隐节点神经元多了,网络性能下降,造成节点冗余[10-11]。本网络初步选定15个隐层节点,而最终的隐层节点数由后续优化方法得到。BP网络结构如图1所示。
图1 pH值预测模型的BP网络结构
(1)
其中,yi为网络输出的预测值,ωj为隐层第j个神经元至输出层的连接权值,σj为隐层第j个神经元的输出,b为输出神经元的偏置。隐层节点选择转移函数为Sigmoid函数,则隐层节点输出的表达式为:
(2)
其中,ωij为输入层至隐层的连接权值,bj为隐层第j个神经元的偏置。该BP网络中的权值ωj,ωij均可以通过充分的样本训练网络得到。一旦网络训练完成后,式(1)和式(2)即作pH值预测模型,可编程嵌入到水质检测仪的单片机中,从而实现pH值的快速准确测定。
BP网络的学习过程由信号的正向传播和误差的反向传播两个过程组成。误差的反向传播目的是为了修正权值,它将误差分摊给各层所有单元,获得各层单元的误差信号。此误差信号即作为修正各单元权值的依据。传统BP网络采用梯度下降算法计算连接权值,该方法容易陷入局部极小值。为克服该问题,本文采用模拟退火算法优化BP网络权值参数的训练。
2.1 模拟退火算法简介
模拟退火通过概率算法在固定时间内寻求一个大的搜索空间的全局最优解。模拟退火算法是模拟金属材料的退火过程而得到的算法。设优化函数为f:ω→R+,其中ω∈S是一个可行的解,N(ω)⊆S表示ω的一个邻域,一个解ω(l)可以生成另一个解ω′(l),其中l为在温度Tk下的搜索时间步数。接受ω′(l)作为下一个新解ω(l+1)的概率为,
(3)
则根据式(3)中的概率,采用轮盘赌法选择ω′(l)作为下一个新解ω(l+1)。当在温度Tk下经过多次转移后温度降低到Tk+1 2.2 基于SA优化BP神经网络的基本思路 为得到BP神经网络的最优权值ωij,以BP神经网络的实际输出与预测输出的平方型误差函数作为优化函数 (4) ωij(k+1)=ωij(k)+ηξ (5) 2.3 基于SA优化BP神经网络算法实现 基于SA优化BP神经网络参数的基本步骤如下: Step1初始化参数. 设置一个较大的初始温度T0,根据BP神经网络结构随机选择初始权值构成初始状态解ωij(0); Step2产生新状态解. 在第k+1步,根据随机扰动模型(5),由前一个解ωij(k)产生当前一个新解ωij(k+1); Step3求优化函数指标. 以新解ωij(k+1)中各值作为BP神经网络权值,由BP神经网络对输入的训练样本进行预测,则根据式(4)计算目标优化函数值,即真实样本输出值与此预测值与之差(k+1); Step4接受判断 根据式(3)判断是否接受新解ωij(k+1); Step5循环计算 若满足热平衡条件,即内循环次数大于设定的值,转Step6,否则转步骤Step 2; Step6降温. 降低温度到Tk+1 Step7结束判断 BP神经网络的泛化能力[11-12]是指学习后的网络能否逼近和预测未经学习的样本的能力。可见,BP网络的预测准确度由其泛化能力决定。为改善BP神经网络的泛化能力,本文从样本选取策略和网络训练策略两个方面进一步优化网络。 3.1 训练样本选取和调整策略 为了BP网络的有效训练以及准确预测,需要对选择的训练样本量测值进行预处理:①剔除不合格的或无效的数据。比如超过样本量测范围的数据(即野值),或者相同输入值对应于不同的输出值的样本等;②由于BP网络是按照相似性进行联想的,对于与样本的相似度高的状态的预测准确度高,为此,在选择训练样本向量时,应包括3个输入颜色值的可能极值组合,即输入样本向量覆盖全部可能的测量范围;③把选定的合格输入输出量测值整理成适合BP网络训练格式的样本向量,对输入数据进行归一化处理以适应输入层神经元非线性函数的要求等。 3.2 网络训练策略 BP网络的学习能力与泛化能力往往相互矛盾,常常是逼近误差逐渐减小,而估计误差将逐步增大,为了兼顾BP网络的学习能力与泛化能力,需要一定的训练策略来达到这一目标。本方案的训练策略分为训练和修正两个步骤。训练时又将样本数据集合随机地分为2部分:①训练集合,用于网络的训练;②测试集合,用于测试网络的预测效果。修正步骤是,改变网络结构,即增加或减少隐层节点的个数,然后再次进行训练,最后根据预测效果确定最优的隐层节点数目及网络结构。 4.1 BP网络隐层节点的优化 BP网络训练按本文第4部分的方法进行网络隐层神经元的优化。通过实验方法选择了984组有效的样本数据,每一组样本数据包含一个pH值及与其对应的R、G、B 3种颜色值,其中的884组数据用于BP神经网络的训练,训练数据中包括了pH值的最大最小值样本以及R、G、B的极值样本,并使用本文提出的SA优化算法进行训练。为了调整隐层神经元数目以得到最优的BP网络结构,对每一种结构的学习和预测最优指标进行比较,选取其中最优者作为最终的BP网络结构。图2显示了预测均方差随隐层节点数变化曲线。可见,图中存在3个极小值点,相应隐层节点数分别是16,21和23。由于本网络需嵌入单片机,选择节点数较少的16作为最终隐层节点数以减小计算量。 图2 隐层节点数与对应的训练和预测均方差 图3 本文方法预测pH值与R,G,B的关系曲线 4.2 基于优化BP神经网络的pH值预测 使用训练样本对4.1节中选定的BP网络进行训练,设置误差限为0.012 3,经过4 478次训练达到要求,得到了BP网络连接各神经元的权值。测试样本利用样本中剩余的100组数据对训练好的BP网络进行测试。表1给出了部分测试数据的预测pH值与实测pH值的比较结果。由于pH值与R、G、B 3种颜色的函数关系已超出三维,难以画出其对应图形,因此,图3给出了100组测试样本中预测pH值与R,G,B任意二者之间的关系图。从图3可以看出,本文提出的基于SA优化BP网络的pH值预测模型具有较好的非线性拟合能力,对pH值的预测准确度较高,可应用于实际测量系统。 表1 部分实测与BP网络预测pH值比较结果 4.3 比较试验结果 作为对比,使用相同的训练样本数据,对pH值进行多元回归分析[13],得到回归方程为: pH=8.478 8-0.037 5×R-0.008 5×G+0.033 8×B (6) 使用与BP网络同样的测试样本数据,由回归方程(6)进行预测,计算得到100组测试样本的预测方差为r=0.460 7,远远大于BP网络的预测方差(0.010 8)。预测结果与实测值的部分比较结果如表2所示。图4给出了回归预测pH值与R、G、B的关系曲线。由图可以看出回归预测的pH值虽然具有跟随实测值的趋势,但其绝对误差太大,已不能正确反映pH值情况。比较图3和图4可见,对于pH值预测问题,本文基于SA优化BP网络的曲线拟合性能明显优于多元回归分析。 图4 回归预测pH值与R,G,B的关系曲线 表2 部分实测与回归预测pH值比较结果 为了比较本文算法和多元回归分析方法的预测准确度和预测精度,本文从各测试样本预测值的绝对误差和测试样本总体的均方误差两个指标进行误差的统计分析。图5给出了本文算法对各测试样本的pH值预测值与回归分析预测值的绝对误差比较曲线,其中各测试样本的绝对误差即为算法预测值与真值之差。由该误差曲线图可以看出,本文提出的BP网络的预测误差远远小于多元回归的预测误差,本文方法具有较高的准确性。此外,本文选用均方差σ作为精度评价指标,即 (7) 其中zi为各测试样本的实测pH值,yi为相应的预测pH值,N为测试样本数。由式(7)可以计算得到对于100个测试样本,本文算法的pH预测值均方差为σ=0.010 8,而多元回归方法的均方差为σ′=0.460 7。可见,与多元回归方法相比,本文提出的预测方法的精度有了明显提高。 在算法收敛速度上,在Intel 2.9 GHz CPU计算机上,本文算法的离线训练至收敛所需耗费的时间约3 min,而多元回归分析所耗费时间约为1 s。需要说明的是,pH值预测仅需将离线训练成功后BP神经网络嵌入单片机,单片机中通过查表完成BP网络各神经元的输出,即单片机只需完成简单的标量乘法和求和运算,因此,本文算法能够满足工程应用中pH值的实时预测要求。 图5 本文算法与回归分析pH值预测误差比较曲线 针对传统BP神经网络的连接权值易陷入局部极小值的缺陷,提出了一种基于SA优化BP神经网络,并应用于水质PH值预测。此外,为改进BP网络的泛化能力,本文从训练样本的选取和隐层节点的优化两个方面着手进一步提高其预测的准确度。试验使用训练样本和优化的BP神经网络得到了pH值预测模型,使用测试样本对本文预测模型与回归分析预测模型进行了比较。试验证明,本文优化的BP神经网络的非线性拟合能力和预测精确度优于多元回归方法,能够满足实际的pH值测定应用要求。 [1] 中华人民共和国卫生部,国家标准化管理委员会. GB 5749—2006 生活饮用水卫生标准[S]. 中国标准出版社:金银龙,2006. [2]俞凌云,朱娟,张新申. 氯离子测定方法及其应用研究[J]. 西部皮革,2009,31(15)32-36. [3]腾锦秀,邱迦易,曾晓栋. 颜色的测量技术[M]. 北京:中国计量出版社,2007:56-128. [4]阎平凡,张长水. 人工神经网络与模拟进化计算[M]. 北京:清华大学出版社,2001. [5]Grégoire Montavon,Geneviève B. Orr,Klaus-Robert Müller,et al. Neural Networks:Tricks of the Trade[M]. 2nd Ed. Springer,2012. [6]李松,刘力军,解永乐. 遗传算法优化BP神经网络的短时交通流混沌预测[J]. 控制与决策,2011,26(10):1581-1585. [7]王涛,王洋洋,郭长娜,等. QGA-RBF神经网络在矿井瓦斯涌出量预测中的应用[J]. 传感技术学报,2012,25(1):119-123. [8]康立山,谢云,尤矢勇,等. 模拟退火算法[M]. 北京:科学出版社,1994:50-100. [9]Bandyopadhyay S. Multiobjective Simulated Annealing for Fuzzy Clustering with Stability and Validity[J]. IEEE Transactions on Systems,Man,and Cybernetics,Part C:Applications and Reviews,2011,45(5):682-691. [10]Amari S,Murata N,Muller K R,et al. A Symptotic Statistical Theory of Overtraining and Cross-Validation[J]. IEEE Trans Neural Networks,1997,8(5):985-996. [11]阎平凡. 人工神经网络的容量、学习与计算复杂性[J]. 电子学报,1995,23(4):63-67. [12]李祚泳,易勇鸷. BP网络学习能力与泛化能力之间的定量关系式[J]. 电子学报,2002(9):1341-1344. [13](美)约翰·内特. 应用线性回归模型[M]. 张勇,王国明,赵秀珍,等译. 北京:中国统计出版社,1990. 尤丽华(1955-),女,江苏淮安人,副教授,硕士生导师,研究方向为机电一体化测控技术、图像处理及测量技术等; 吴静静(1981-),女,安徽滁州人,博士,从事数字图像处理、模式识别及信息融合的研究。 OptimizedBPNeuralNetworkBasedonSimulatedAnnealingAlgorithmforpHValuePrediction* YOULihua1,2,WUJingjing1,2*,WANGYao1,2,SONGShujuan1,2 (1.School of Mechanical Engineering,Jiangnan University,Wuxi Jiangsu 214122,China;2.Jiangsu Key Laboratory of Advanced Food Manufacturing Equipment and Technology,Wuxi Jiangsu 214122,China) In order to determine accurate pH value of water automatically,sufficient and typical data of pH value measuring tests are collected as samples,and a pH value prediction method of optimized BP neural network based on simulated annealing algorithm is presented. The simulated annealing algorithm is employed to optimize the weights and thresholds of BP neural network,and selection methods of the training samples and the number of the hidden layer nodes are improved,thus yield an optimal solution of BP neural network. The obtained BP neural network is tested by samples,and the prediction results are compared with ones given by a nonlinear regression method. Experimental results exhibit that the proposed method provides better fitting ability and higher accuracy for pH value prediction. BP neural network;simulated annealing;pH value;nonlinear regression 项目来源:国家自然科学基金项目(61305016);江南大学自主科研计划青年基金项目(JUSRP1059) 2014-08-09修改日期:2014-10-28 TP212 :A :1004-1699(2014)12-1643-06 10.3969/j.issn.1004-1699.2014.12.0113 网络实现中的问题
4 试验结果
5 结论