基于GA-BP神经网络的岸桥数据分析
2018-07-12
(上海海事大学 上海 200120)
BP网络和遗传算法是广泛运用于数据挖掘[1~2]的方式。针对集装箱桥吊机械小车电机日常产生的庞大数据,需要从这些数据中发现桥吊的工作信息以及故障预测。所以提高BP神经网络的系统性能很有价值。
一、遗传算法
遗传算法[3]是模仿生物遗传的方法,首先编码产生初始的群体,其中任务是对群体实施一些的操作,并以其对环境的适应情况为基础,进行优胜劣汰的进化。就优化搜索的方面来看,遗传算法能够将解实施一代代的优化,最终得到最优解。遗传算法的构造步骤分为以下几步:(1)确定决策变量及其各类约束条件。这一步确定出个体的表现型X和问题的解空间。(2)建立优化模型。这一步要确定出目标函数的类型(是求目标函数的最大值还是求最小值)及其数学描述形式或量化方法。(3)确定染色体编码方案。这一步要确定出个体的基因型X及遗传算法的搜索空间。(4)确定解码方法。这一步要确定出由个体基因型X到个体表现型X的对应关系或转换方法。(5)确定个体适应度的量化评价方法。这一步要确定出由目标函数值f(x)到个体适应度F(X)的转换原则。(6)设计遗传算子。这一步要确定出采用哪种选择算子、交叉算子、变异算子等遗传算子以及各自的具体操作方法。(7)确定遗传算法相关运行参数。这一步要确定出遗传算法的种群大小population、终止进化代generation、交叉概率Pc、变异概率Pm等参数[4~5]。
二、优化BP神经网络
BP网络[6]实现了多层网络学习的设想。当给定网络的一个输入模式时,它由输入层单元传到隐层单元,经过隐层单元逐层处理后再送到输出层单元,由输出层单元处理后产生一个输出模式,这是一个逐层状态更新过程,称为前向传播。如果输出响应与期望输出模式有误差,不满足要求,那么就转入误差反向传播,将误差值沿连接通路逐层传送并修正各层连接权值。传统调整各层的连接权值[7]的方法为
在遗传算法的优化中,我们通过对连接权值和节点的阈值进行迭代,减少次环节的运行时间,通过对连接权值和节点阈值计算适应度,得出最佳适应度所对应的连接权值。
三、遗传算法优化BP网络结果对比
岸桥港机小车电机数据通过远程在线监控系统实时监测,随时发现异常情况,及时排除隐患,状态信息实时的存储在数据库中,数据量非常大。这些海量的数据是在岸桥正常作业的时候采集的,反映的是岸桥在各种工况下的机械状态。对这些数据进行数据挖掘研究,可以发现岸桥运行中状态变化的一些规律。我们利用其中的一个点的连续数据进行分析。
经过参数反复测试发现如下参数较佳,设定遗传算法的主要参数如下:种群数population=10,终止进化代数generation=30,交叉概率pc=0.3,变异概率pm=0.01;输入层节点个数inputnum=2;隐含层节点个数hiddennum=5;输出层节点个数outputnum=1;数据选取某台集装箱桥吊小车电机的一个月的检测数据,每天选取前2000个数据共28天。
我们先选取前20天的结果进行BP神经网络的学习训练数据,用后8天的数据进行目标数据以测试我们的精度[8],对程序结果进行分析,通过计算结果的均方误差来判定我们的优化程度
图1 均方误差
图2 训练误差
图3 测试误差
评价一个网络设计的好坏,首先是它的精度,再一个就是训练时间。时间包含两个方面一是迭代次数,二是每一次迭代循环中计算所花费的时间。从以上不同隐层节点数的训练性能上可以得出在训练过程中,隐层节点数在一之间,网络收敛性能好,而且收敛时间较短而隐层节点数在一之间,网络收敛性变差,运行时间也变长。由此可以看出,网络隐含层节点数不是只有一个合适的数,而是有一个可选的范围,结合实际综合考虑。由图1可知,遗传算法在迭代到5次左右即将误差计算在最佳值附近。
图2、3所对应得训练误差、测试误差啊的变化曲线,可见测试误差的变化趋势基本一致,说明样本集的划分基本合理。由训练误差曲线可见,训练误差结果也是比较满意的,三种误差和拟合函数fit十分吻合,说明由数据训练出的拟合函数初步可实现基本的数据预测。
四、结语
利用遗传算法对岸桥的各机械系统进行动态分析,通过对在线监测数据的一系列处理,挖掘出各点的趋势,为岸桥各系统的工作状态的评估以及机械故障的预测提供信息。对岸桥动态特征的分析与机械故障的预测起到很明显的作用。经过验证,用遗传算法进行优化BP神经网络在收敛速度和解决其固有缺陷方面很有效。