郑晓峰,邢文龙
(广东省道路运输管理局,广东 广州510101)
广东省岭南通卡系统是全国最大的且真正具有跨地市级应用意义的智能卡系统,积累了大量的跨区消费数据。跨区消费数据作为公交一卡通工作的重要决策支持数据,研究其数据挖掘能发现全省公交出行规律和旅游消费市场规律,具有特殊的现实意义。
人工神经网络(Artificial Neural Network,ANN)是一种重要的数据挖掘方法。该方法采用人工系统来模仿人脑神经网络——神经元的结构和关系的模型,通过不断修正其内部大量的模仿神经元节点的相互连接关系来处理信息,目前很多学者已提出神经网络的数据挖掘算法,Setiono等(2009)[1]提出利用神经网络提取数据库规则的方法,Mehmed Kantardzic(2001)[2]总结了神经网络应用于数据挖掘的各种方法。误差反向传播算法(Back Propagation,BP)是神经网络中最为成熟和应用最广泛的算法,因为该算法有正向传播和误差信号反向传播的过程,所以称为“BP 算法”。近年来学者致力于改进BP 算法固有的收敛速度慢、可能陷入局部极小点等缺陷,已取得丰富的成果,李红(2011)[3]提出用双向权值来调整BP算法的自适应控制,柴毅(2007)[4]提出由改进的遗传算法来确定网络结构和训练方法等。BP 神经网络在经济社会的预测[5]、社会经济的发展评价[6]、经济管理[7]以及金融方面的评价[8]等等领域都取得了丰富的应用成果。在交通运输方面,研究利用神经网络实现交通量的预测成果比较丰富,俞洁(2006)[9]改进BP 神经网络,提出OD 推算神经网络用于公交线路OD矩阵预测。姜平(2009)[10]建立了径向基神经网络模型(RBF) 来预测公交客流。研究表明,神经网络在公交OD和客流预测方面具有良好的效果,但目前的研究只局限于城市内部交通出行规划和管理的数据挖掘,跨地域交通规划的数据挖掘研究和应用鲜见报道,公交一卡通跨区消费问题属于此类问题,研究成果更为少见。陈鹏(2010)[11]研究的是公交和轨道交通换乘的收益分配问题,不属于同一种方式的跨区分配问题。
针对目前的公交一卡通跨区消费推算模型鲜见具体研究和应用成果的现状,本文研究目标是建立和验证一种类似BP 神经网络的公交一卡通跨区消费推算模型,首先提出公交一卡通跨区消费分布矩阵的概念,然后分析BP 神经网络建模方法的优势与不足,建立公交一卡通跨区消费推算模型和方法,结合实际数据来设置核心参数,最后输入实际数据进行训练,并根据试验过程确定核心参数,输出训练结果。
岭南通卡系统具有统一的后台清算系统,用户所持岭南通卡在全省各地的消费信息都实时进入岭南通清算系统进行清分结算,这是岭南通系统的关键技术之一。跨区消费数据可从岭南通清算系统直接抽取。表1是从岭南通的清算系统抽取的部分跨区消费统计表,表示广州地区发行的岭南通卡2013年8月份在各地级市的消费情况。
表1 岭南通卡消费统计表(节录)
从表1可知,通过岭南通后台清算系统可统计岭南通卡在各地的消费情况,可从这些统计数据中发现隐藏的消费分布模式。本文提出从研究跨区消费笔数的分布来发现消费分布模式。
消费笔数等同于消费次数,用M来表示。设i市发行的卡的跨区消费总笔数是Mi,在j市消费笔数是Mij,则设wij=Mij/Mi,则对于任意i,则跨区消费笔数分布问题是wij的分布规律问题,称wij为分布权。分布权矩阵W为:
BP 神经网络的算法通过计算网络权值和偏差以使期望输出和实际输出的误差平方和最小,设有1个如图1所示的三层BP网络。
图1 BP神经网络模型
网络输入为mi,网络输出为lk,网络期望输出为ok,令输出误差为ek,则平方型输出误差函数E为:
各节点之间的传递函数是Signmoid 对数函数f(n)。输入层的输出信号记为Pi,隐含层的输入信号记为Qj,输出信号记为Pj,输出层k的输入信号为Qk,则:
式中:wji为i层到j层的网络权值;θj为偏差,用于调节网络的精度。
BP 算法是按误差函数E的负梯度去修改网络权值,设迭代第t次的网络权值为w(t),则:
通过反馈传递推算得到各层的权值修改量Δw:
从而不断修正wkj和wji,直到E小于阀值。
可见,BP 神经网络算法的关键点在于两个方面:
(1)通过网络权值和神经元激活函数传递网络信号;
(2)通过误差反馈修改网络的权值,直到网络输出达到最优。
结合式(1)和上述的分析可以看出,公交一卡通跨区消费推算的分布权矩阵问题和BP 单层神经网络类似,分布权矩阵的调整可尝试采用BP 神经网络的误差反馈方法,思路有以下差异:
(1)建立BP 神经网络的目的是能够整体预测输出数据即可,并不关心最后的网络权值,而跨区消费推算问题则必须得到具体的网络权值;
(2)分布权矩阵是有约束的,而BP 神经网络权值完全靠训练得到;
(3)为了保证分布权矩阵的直接推算能力,推算模型的输入信号不必通过神经元激活函数传递。
本文将针对这些差异提出公交一卡通跨区消费推算模型。
从岭南通清算系统中可以得到每月城市i的跨区总消费笔数Mi和在城市j各市发行的卡消费总笔数Oj。而城市i发行的卡在城市j的消费笔数是Mij,岭南通已通行的城市有n个,设训练样本数据有k个月,则第k个月消费笔数M的网络输入为:
期望网络输出:
代入分布权矩阵W,则实际输出为:
第k个月训练样本的输出误差是:
按照BP 网络的设计规则,得到平方型误差函数E是:
设训练第t次的网络权值为wij(t),仿照BP 网络算法,按照误差函数E的负梯度去修改网络权值,即化简为式(12):
此为网络学习规则。
网络停止学习的规则为总输出误差小于阀值e,即式(12):
上述推算网络涉及到权值初始矩阵W0和两个重要参数的设置,即学习率η和收敛阀值e。根据实际应用,本文提出以下设置方法:
(1)对于初始矩阵W0,因为可以从清算系统得到训练样本的网络权值矩阵W,因此可选W0为初始矩阵,然后代入第2 个训练样本数据开始计算;
(2)阀值e决定训练的时间,甚至是否能够训练,本文根据计算实例的特点,选取期望训练输出的标准差作为初始e,然后根据训练的情况做进一步的调整;
(3)因为学习率η设得过大,会使网络丧失学习时间,设得过小会使网络学习过慢,本文提出根据式(14)中的导出值的数量级去设置。
本文选择岭南通2013 年6—7 月的消费数据作为训练数据,用8—9 月的消费数据作为测试数据,根据5月份各市所发岭南通卡在各地的消费笔数得到初始矩阵W0。
6—7 月两月每月的各市岭南通卡跨区域消费总笔数代入式(7)为输入训练数据,是一个15维数组。将各市跨区域消费总笔数代入式(8)为期望网络输出数据,也是一个15维数组。
6 月输入训练数据M1和期望网络输出数据O1分别是:
7 月输入训练数据M2和期望网络输出数据O2分别是:
(1)初始收敛阀值e
通过计算得到O1的得到O3的标准差,则设置初始收敛阀值e=σ1+σ2=6798482。根据初始值的数量级,后续的e通过不断减少7×10n的n值来调整设置。
(2)学习率η的设置
观察式(12),由于wij要精确到10-5,的结果是108级,则均衡考虑学习的速度,η取值到10-10。
根据上述算法和参数的设计,用开发环境Del⁃phi 7 编程运行,对训练数据进行运算。结果表明,以上述设计设置参数,可在3s 内实现收敛,然后不断调整e的数值,图2为e值的数量级n(7×10n)与收敛时间的对应图,当达到一定时间后,e减少得很慢,因此e只要取到一定的值就行,不必用更多的时间,本文的e最后定为7×103。
图2 训练时间收敛趋势图
根据训练的情况,在e=10000时输出训练结果WT,用于测试数据。
8 月的测试数据M3和期望网络输出数据O3分别是:
9 月的测试输入数据M4和期望输出数据O4为:
可见两个月的误差均在预计范围中,证明了WT接近于实际消费分布矩阵,本文的方法适用于预测实际消费分布。
本文结合广东省公交一卡通工作实际和BP神经网络理论,提出一种类似BP 网络的公交一卡通跨区消费推算模型,并以2 个月的实际数据进行训练学习,通过实验证明了学习率η和收敛阀值e等模型各参数的设置方法,最后用2 个月的数据来测试结果。误差分析表明输出的分布矩阵接近于实际跨区消费分布,进一步表明本文提出的模型和方法对推算公交一卡通跨区消费是有意义的。
本文在BP 神经网络建模方法的基础上建立了符合实际应用的模型,可以作为神经网络研究的有益补充。但该模型的关键参数需通过实验确定,自适应能力较弱。而且模型的健壮性亦需得到大规模数据的进一步考验。
[1] 陈鹏,严新平,李旭宏,等.基于可拓学的轨道交通与常规公交换乘收益分配[J].上海交通大学学报,2010,44(6):797-802.
[2] Rudy Setiono, Bart Baesens, Christophe Mues. A Note on Knowledge Discovery Using Neural Networks and Its Ap⁃plication to Credit Card Screening[J]. European Journal of Operational Research,2009,192(1):326-332.
[3] Mehmed Kantardzic.数据挖掘——概念、模型、方法和算法[M].闪四清,等译.北京:清华大学出版社,2001.
[4] 李红,杨剑锋.基于改进的BP 神经网络模型参考自适应控制[J].兰州交通大学学报,2011,30(1):37-41.
[5] 柴毅,尹宏鹏,李大杰,等.基于改进遗传算法的BP神经网络自适应优化设计[J].重庆大学学报,2007,30(4):91-96.
[6] 蒋雪,王顶. 基于BP 神经网络技术的GDP 预测方法[J].经济论坛,2010(3):203-204.
[7] 高朋,黄世祥.地区现代化水平BP 人工神经网络评价方法初探[J]. 安徽农业大学学报,2006,15(3):27-30.
[8] 郝艳,李秉祥.基于BP 神经网络的经理管理防御程度测评模型[J].科技管理研究,2010,30(9):212-215.
[9] 肖国荣.BP 神经网络在基金价格预测中的应用研究[J].计算机仿真,2011,28(3):373-375.
[10] 俞洁,杨晓光.基于改进BP 神经网络的公交线路OD矩阵推算方法[J].系统工程,2006,24(4):89-92.
[11] 姜平,石琴,陈无畏,等.公交客流预测的神经网络模型[J].武汉理工大学学报,2009,33(3):414-417.