论文部分内容阅读
人工神经网络(ArtificialNeuralNetworks,ANN)作为一种新的方法体系,具有分布并行处理、非线性处理、自适应学习、鲁棒容错等特性,对于处理多组分同时测定中的非线性体系具有突出的优越性,是一种重要的化学计量学手段。本文应用比较常用的误差反向传播神经网络(简称BP神经网络)模型并结合分光光度法,对吸收光谱严重重叠的多组分进行同时测定。针对BP神经网络的局限性,综述了BP神经网络的多种改进措施。并对BP神经网络模型进行了多方面的改进,提出了两种新的BP神经网络模型:改进后的BP神经网络模型;模拟退火-BP(SA-BP)神经网络模型。将新的BP神经网络用于实际样品的测定,并与未经改进的BP神经网络进行比较分析。
本文的具体工作可归纳成以下几个方面:
1.针对BP神经网络的局限性,综述了BP神经网络的多种改进措施。
2.针对两组分体系(Cr(Ⅵ)、Cr(Ⅲ)),考察了BP算法中的输入层节点数、隐含层节点数以及训练函数对多组分预测结果的影响。输入层节点数的选择以不同波长点之间的相关系数及标准偏差为依据,筛选处理由分光光度计测得的数据,确定出合适的波长点数即为神经网络的输入层节点数,避免了网络结构的复杂化,加快了网络的训练速度。并把此方法用Matlab语言编成程序作为神经网络训练的一个前处理。在用上述方法确定的输入层节点数的基础上,隐含层节点数的选择结合了公式法与试错法,即先用公式法算出一个大概的隐含层节点数,然后在此基础上用试错法确定网络的隐含层节点数,这个方法大大加快并简化了网络隐含层节点数的确定。网络还结合了提前停止算法,避免网络陷入过度训练从而有效提高其推广能力。最后提出了改进后的BP神经网络模型,该改进后的网络具有较快的收敛速度和较好的推广能力。
最后得出的最佳网络模型为:网络拓扑结构为33-25-2。目标迭代误差(mse)为0.01,初始权(阈)值的范围为[-1.0,1.0]。学习速率为0.01。各层传递函数分别为logsig,purelin。网络的训练函数为traincgb,并结合提前停止算法,把混合标样划分成训练集,验证集和测试集。用Matlab的神经网络工具箱函数编程。
用所得的神经网络模型对本二组分体系的试验数据进行处理。网络在几秒内就训练完成,学习次数为34次,网络误差为0.04,测试集误差为0.03。网络训练提前停止。对实际样品进行同时测定分析,能够得出较满意的结果。其平均回收率分别为99.2%,99.9%。
3.针对四组分体系(日落黄、柠檬黄、胭脂红、苋菜红),考察了BP算法中的输入层节点数和隐含层节点数对多组分预测结果的影响;采用了变学习速率的方法和引进动量项方法,加快了网络的收敛速度并能在一定程度上避免网络陷入局部极小;将模拟退火算法结合到了BP算法里面,综合了两者的优点,有效避免了各自的不足,很好的避免了网络陷入局部极小点并使其具有较快的收敛速度。最后提出了模拟退火-BP神经网络模型,该网络模型具有较快的收敛速度和寻找全局最优的能力。
最后得出的最佳网络模型为:网络拓扑结构为75-55-4。采用了变学习速率的方法和引进动量项方法,温度初值T为50,温度下降参数c=0.98;在某一当前温度下的迭代次数阈值p*=50,温度总的下降次数阈值q*=50;在迭代过程中,当接受当前点时步长为0.01,不接受时步长为2;动量α=0.97。用Matlab语言编程。
用所得网络模型对本四组分体系的试验数据进行处理当q>q*时网络训练提前停止,训练1000多次,仅需几秒钟,网络误差为0.05,测试集误差为0.08。此时温度T下降到0.8。对实际样品分析结果满意,其平均回收率为105%。
4.对于两种多组分体系,将改进后的两种BP神经网络与未经改进的BP神经网络的训练结果进行比较分析。比较分析结果表明,未经改进的BP其训练后的网络性能较差;改进后的BP网络其网络性能有明显的提高,具备一定的避免局部极小点的能力,而且由于采用了提前停止算法,网络的推广能力明显的比其他两种网络强。但由于其基本的算法还是梯度下降算法,还是无法避免陷入局部极小点,所以其网络最后的训练结果还是与初始值有很大的关系;SA-BP网络由于结合了模拟退火算法,由于退火过程的缓慢,其训练次数比其他两种网络多,网络的训练结果与网络初始值的选取关系不是很大,基本上不同的初始值都能找到网络的全局最优解。但是该网络的推广能力不是很好,主要原因是神经网络容易陷入“过度训练”状态,原则上可以通过控制阈值q*的值来改善,但同时会影响到网络的其他性能,需要继续研究改善。