摘 要:太原市社会保障一卡通是太原市重要的基础信息系统,为防止出现终端、瘫痪、崩溃等重大问题,作者提出Levenberg-Marquardt训练函数的预测能力,误差比基于标准梯度下降的训练法BP算法小,利用遗传算法改进的BP网络应用到太原市社会保障卡系统交易量预报。实验证明,通过BP神经网络和遗传算法相结合的交易量预测,,对新的输入进行预判,方法更清晰、简介,模拟性高。
关键词:社会保障一卡通;神经网络;遗传算法;交易量预测
1. 引言
一张社保卡,记录持卡人社会保障缴费情况,同时,搭载了金融服务功能,可做银行借记卡使用。太原市社保一卡通系统已成为太原市重要的惠民工程,与广大的太原市城镇职工、城镇居民生活密切相关,所以,社会保障卡系统的建设,决不允许出现终端瘫痪、崩溃等重大问题。目前太原市发放社保卡136万长,预计到2012年达到200万涨,目前设计的日交易处理量为60万元,日交易2万笔,准确的预算可以预防日常交易量过大,造成对系统的影响。
目前在太原市社会保障卡领域无人利用遗传算法优化BP神经网络建立交易量预测模型。作者利用遗传算法对太原市社会保障卡交易量进行建模。
2.改进遗传算法优化
遗传算法是一种模拟自然选择和遗传机制的寻优程序,因为其局限性常常得到接近全局最优解的次优解。因此,作者采用改进遗传算法,从而来实现神经网络社会保障一卡通交易量预算的参数优化。
2.1 染色体编码方法
神经网络初始权值数量较多,包括输入层与隐层、隐层与输出层的连接权值。对于一些多维、高精度要求的连续函数优化问题、使用二进制编码来表示个体时将会有一些不利之处。作者采用浮点数编码方法,个体的编码长度等于其决策变量的个数,来提高神经网络权值和阀值的高要求。染色体个体编码形式为:
(1)
式中:分别为输入层与隐层、隐层与输入层的连接权初值,。
2.2 适应度函数
遗传算法的特点是使用现有问题的目标函数值,进行设计运算,得到下一步的有关搜索信息。对目标函数值的个体适应度的一般过程是:
(1)对个体编码串进行解码后,出现个体的表现型。
(2)通过设计好的函数,将个体的表现型运算的出目标函数值。
(3)目标函数值选择优化后,得出个体适应度。
最优化问题分为:目标函数的全局最大值,目标函数的全局最小值。对于目标函数求最大值的优化问题,变换方法为:
(2)
为一个适当该目标函数中比较小的数。
对于目标函数求最小值的优化问题,变换方法为
(3)
为一个适当该目标函数中比较大的数
2.3 遗传算子
(1)比例选择
比例选择算子,目标函数中该算子的目标适应度高,其被选中概率也相对较高。设种群大小为,个体的适应度为,则个体被选中的概率为:
(4)
(2)交叉
交叉算子使2个染色体以算术交叉方式交换,生成2个新个体。设2个个体分别为、,则交叉运算后产生2个新个体为:
(5)
式中:为常数参数,或为由进化代数决定的变量。为了保证参数的正常生成,设计了自适应的交叉参数:
(6)
式中:为最大适应度值;为平均适度值;为用于交叉的2个染色体中较大的适应度值。
(3)变异算子
变异算子的作用是产生新个体,通过非均匀变异操作,假设该遗传算法中某一个体为:,若为变异位,,则变异得到的新个体为,变异位的新基因是:
(7)
式中:为自适应参数。
(8)
由上可知,适应度值低的个体,交叉、变异概率越高,而适应度值越高的个体,其自身个体特性遗传到下一代的概率越大。这样,既可维持种群的多样性,防止出现早熟,又保证了算法的收敛性。
3. 仿真试验
一般将适应度函数定义为:
(9)
采用这种适应函数后,误差越小,适应度函数的值越大,个体在群体中就更优。学习误差:
(10)
为训练样本个数,为输出节点数,则表示第个样本相对与第个输出单元的误差。
考虑到神经网络的规模,作者采用的遗传运算参数见表1 :
表1 遗传算法部分运行参数
参数名称
群体大小
终止进化代数
参数数值
50
200
主要仿真语句如下:
aa=ones(S,1)*[-1,1];
initPpp=initializega(30,aa,'gabpEval');
[x endPop bPop trace]=ga(aa,'gabpEval',[],'initPpp,[1e-6
1],'maxGenterm',gen,…'normGeonSelect',[0.09],['arithXover]
,[2],'nonUnifMutation',[2 100 3]);
仿真测试后的结果见表2
预测算法
测试项目
1次
2次
3次
4次
5次
6次
7次
Avg
经典BP
神经网络
迭代次数
2083
6404
2505
1215
3401
2960
3146
3102
迭代时间
10.45
29.67
11.25
5.54
15.02
13.18
13.93
14.17
平均相对
误差
51.7
48.9
18.7
39.2
36.5
56.9
22.8
39.2
优化后
BP神经
网络
(LM-BP)
迭代次数
4
31
31
5
3
9
4
9
迭代时间
0.63
0.56
0.50
0.36
0.34
0.40
0.37
0.44
平均相对
误差
21.4
35.9
26.3
39.9
51.4
41.8
34.6
35.9
遗传优化后的神经网路
迭代次数
4
3
3
3
2
4
4
3
迭代时间
4.49
4.28
4.11
3.83
3.90
3.48
3.56
3.95
平均相对
误差
6.5
21.1
11.3
27.2
21.6
18.7
19.1
17.8
图1 误差平方和适应度随进化代数变化图形
图2 误差平方和随训练步长增加变化的图形
通过上图我们可以看出,运用遗传算法优化后神经网络预测误差明显减小,而单独运用BP神经网络的误差率相对较大。利用Levenberg-Marquardt算法的神经网络具有较好的预测能力,误差小。但是由于BP网络的固有缺陷,其预测效果仍然不是最好。这是因为遗传算法具有全局快速搜索能力,利用它同时训练BP网络的初权值和阀值,克服BP算法固有缺陷,将Levenberg-Marquardt算法与遗传算法结合预测后效果会明显提高。
4. 结束语
作者提出基于人工神经网络对太原市社会保障卡交易量预报模型,将遗传算法改进后应用到太原市社会保障卡系统交易量预报中。对新的输入进行预测和判断,方法直接,途径简单,建模精度较高,可行性高。
参考文献
[1]蒋宗礼.人工神经网络导论.北京高等教育出版社,2002,56-70.
[2]张立群,李东海,唐多元,薛亚丽.基于参数稳定空间PID控制器设计[J].清华大学校报:自然科学版,2004,44(2):274-277
[3]周明,孔树栋。遗传算法原理及应用[M].北京:国防工业出版社,1999.
[4]史亮,李海鹰,等.基于主动进化的遗传算法[j].小型微型计算机系统,2004,25(5);790-793.