文章快速检索     高级检索
  浙江大学学报(工学版)  2017, Vol. 51 Issue (7): 1339-1346  DOI:10.3785/j.issn.1008-973X.2017.07.010
0

引用本文 [复制中英文]

商强, 林赐云, 杨兆升, 邴其春, 邢茹茹. 基于变量选择和核极限学习机的交通事件检测[J]. 浙江大学学报(工学版), 2017, 51(7): 1339-1346.
dx.doi.org/10.3785/j.issn.1008-973X.2017.07.010
[复制中文]
SHANG Qiang, LIN Ci-yun, YANG Zhao-sheng, BING Qi-chun, XING Ru-ru. Traffic incident detection based on variable selection and kernel extreme learning machine[J]. Journal of Zhejiang University(Engineering Science), 2017, 51(7): 1339-1346.
dx.doi.org/10.3785/j.issn.1008-973X.2017.07.010
[复制英文]

基金项目

国家“十二五”科技支撑计划资助项目(2014BAG03B03);国家自然科学基金资助项目(51408257,51308248)

作者简介

商强(1987—), 男, 博士生, 从事交通信息处理与应用的研究.
orcid/org/0000-0002-0016-2232.
Email: shangqiang14@mails.jlu.edu.cn

通信联系人

林赐云, 男, 副教授.
orcid/org/0000-0002-0016-2232.
Email: linciyun@jlu.edu.cn

文章历史

收稿日期:2016-06-02
基于变量选择和核极限学习机的交通事件检测
商强1 , 林赐云1,2 , 杨兆升1,2 , 邴其春1,3 , 邢茹茹1     
1. 吉林大学 交通学院, 吉林 长春 130022;
2. 吉林大学 吉林省道路交通重点实验室, 吉林 长春 130022;
3. 青岛理工大学 汽车与交通学院, 山东 青岛 266520
摘要: 为了进一步提高交通事件检测的效果,提出基于变量选择和核极限学习机(KELM)的自动事件检测(AID)算法.根据交通事件上、下游交通流参数的变化特点,构建较全面的交通事件检测初始变量集.采用随机森林—递归特征消除(RF-RFE)算法,从中选择重要变量.以重要变量作为输入,训练KELM并通过万有引力搜索算法(GSA)优化参数.使用美国Ⅰ-880数据库,对AID算法的效果进行验证和对比分析.因为数据库中的事件样本数远少于非事件样本数,采用SMOTE平衡两类样本.结果表明,使用重要变量能够提高交通事件的检测效果,KELM的检测效果优于反向传播神经网络(BPNN)和支持向量机(SVM).
关键词: 交通工程    交通事件检测    变量选择    随机森林    极限学习机(ELM)    
Traffic incident detection based on variable selection and kernel extreme learning machine
SHANG Qiang1 , LIN Ci-yun1,2 , YANG Zhao-sheng1,2 , BING Qi-chun1,3 , XING Ru-ru1     
1. College of Transportation, Jilin University, Changchun 130022, China;
2. Jilin Province Key Laboratory of Road Traffic, Jilin University, Changchun 130022, China;
3. College of Automobile and Transportation, Qingdao Technological University, Qingdao 266520, China
Abstract: An automatic incident detection (AID) algorithm was proposed based on variable selection and kernel extreme learning machine (KELM) in order to further improve the performance of traffic incident detection. A relatively comprehensive initial variable set was constructed for traffic incident detection according to the changing characteristics of upstream and downstream traffic parameters in a traffic incident, and important variables were selected from the initial variable set by the random forest-recursive feature elimination (RF-RFE) algorithm. Then the important variables were used as input of KELM and the KELM was trained. The parameters were optimized by the gravitational search algorithm (GSA). The Ⅰ-880 database of the United States was used to validate and comparatively analyze the performance of the proposed AID algorithm. Because the number of incident samples is much less than the number of incident-free samples in the database, the SMOTE is used to balance the two kinds of samples. Results show that using important variables can improve the performance of traffic incident detection, and the performance of KELM is better than that of the back propagation neural network (BPNN) and support vector machine (SVM).
Key words: traffic engineering    traffic incident detection    variable selection    random forest    extreme learning machine (ELM)    

交通事件是交通运输系统中的一个重要问题.据统计, 美国60%的城市快速路和超过一半的高速公路拥堵是由交通事件造成的[1].在我国上海, 交通事件引起的快速路交通拥堵占总拥堵的50%~75%[2].目前, 已经提出了许多卓有成效的事件自动检测(automatic incident detection, AID)算法.其中, 基于交通流参数的AID算法最常用.这类AID算法适用于具有连续交通流的道路, 例如高速公路和城市快速路.对于间断交通流的道路, 没有较通用的AID算法, 例如Ghosh等[3]提出针对信号控制主干路的定制AID算法.本文主要关注基于交通流参数的AID算法.早期AID算法原理相对简单, 虽然实用性较好, 但检测效果难以满足要求.自上世纪90年代, 出现了许多先进的AID算法, 例如神经网络[4-5]、SVM [6-7]和决策树[2, 8].这些方法属于机器学习的范畴, 把交通事件检测看作二分类(事件和非事件)问题, 通过学习事件上、下游交通流参数数据, 自动生成检测规则, 有效挖掘数据的隐含信息.基于机器学习的AID算法更有前景.近年来, Wang等[9]提出基于时间序列方法和机器学习方法的组合AID算法, 使用时间序列方法预测正常状态下的交通流参数, 并将预测的交通流参数、实测交通流参数和两者之间的差值作为SVM的输入, 通过SVM判断是否发生交通事件.Xiao等[10]提出集成多个多核函数SVM的AID算法, Liu等[11]提出集成多个朴素贝叶斯分类器的AID算法.实证分析表明, 集成多个分类器的AID算法具有更好的鲁棒性.目前的研究主要集中在已有算法的组合和集成, 没有考虑将较新的机器学习算法应用于交通事件检测.极限学习机[12](extreme learning machine, ELM)是一种新型的单层前馈神经网络学习算法.ELM随机选择输入权值而不需要调整, 并通过Moore-Penrose广义逆矩阵计算输出权值.ELM训练速度更快, 泛化能力更强, 避免陷入局部极小.为了减少确定隐层神经元数和随机分配权重所消耗的时间, Huang等[13]使用核矩阵代替ELM隐层特征映射, 得到核极限学习机(kernel extreme learning machine, KELM).在多个领域, KELM的性能优于SVM[14].此外, 现有算法通常以原始交通流参数为输入变量[5-6, 8, 10-11], 忽略特征变量集的构建和重要特征变量的选择.在机器学习分类方面, 选择重要特征变量, 去除冗余特征变量, 能够有效地提高分类正确率[15].

本文提出基于变量选择和KELM的AID算法.首先, 使用基本交通流参数及其组合, 构建较全面的初始变量集, 通过随机森林-递归特征消除(random forest-recursive feature elimination, RF-RFE)方法[16]选出重要变量.然后, 使用重要变量数据训练KELM, 并通过万有引力搜索算法(gravitational search algorithm, GSA)[17]优化模型参数.最后, 基于Ⅰ-880高速公路的交通事件数据, 测试分析模型性能.

1 平衡数据集

在实际中, 交通事件样本数远少于非事件样本数, 两类样本的数量是不平衡的;因此, 交通事件检测可以看作不平衡数据的二分类问题.若直接使用不平衡数据训练模型或算法, 则将导致少数类样本的误分类率远高于多数类样本.因为只要把多数类样本正确分类, 就能获得较高的分类正确率.少数类的分类正确率更加重要, 直接决定交通事件的检测效果.

目前, 处理不平衡数据分类问题的方法主要有以下两种:1) 通过重采样(包括多数类样本的欠采样和少数类样本的过采样)重构数据集, 使其达到平衡;2) 在不改变原始样本数据集的前提下, 改进模型或算法, 使其适用于不平衡数据集.两种方法各有优点, 相比而言, 第一种方法的使用更加简便, 应用范围更广.合成少数过采样技术(synthetic minorityover-sampling technique, SMOTE)是一种常用的过采样技术, 并衍生出许多改进形式[18].SMOTE的基本原理是通过k近邻方法, 寻找距离每一个少数类样本最近的k个少数类样本;然后在少数类样本和k个最近邻少数类样本的连线上随机线性插值, 生成k个新样本, 并将生成的k个新样本归为少数类样本.SMOTE能够生成原始样本中不存在的新样本, 因此在一定程度上避免了分类算法的过拟合.选用标准SMOTE平衡交通事件检测样本, 具体的实现步骤如下.

1) 对于事件样本集中的每一个样本xi, 以欧式距离作为度量标准, 搜索事件样本集中距离该样本最近的k个样本.

2) 根据非事件样本数和事件样本数的比值确定采样倍率N, 从每个事件样本xik个最近邻样本中随机选取N个样本, 记为xij.

3) 根据式(1), 在随机选取的最近邻样本xij和事件样本xi之间随机线性插值, 构造新的事件样本.

$ {x^{{\rm{new}}}} = {x_i} + {\rm{rand}}\left( {0,1} \right) \times \left( {{x_{ij}} - {x_i}} \right). $ (1)

式中:rand (0, 1) 表示属于区间[0, 1]的一个随机数.

4) 将新产生的事件样本与原始样本集合并, 得到一个相对平衡的训练样本集.

2 初始变量集构建

交通事件引起交通流参数的显著变化是设计AID算法的基本依据.事件地点上游和下游交通流参数的变化趋势分别如图 12所示.图中,Q为流量, Occ为占有率,v为速度.在正常状态下, 交通流参数(流量、速度和占有率)的变化相对平稳.当发生交通事件时, 事件地点的上游流量和速度快速下降, 占有率快速上升;随之, 下游流量和占有率下降, 速度上升.当交通事件结束后, 交通流参数恢复了相对平稳的状态.

图 1 上游检测器的交通流参数变化趋势 Fig. 1 Trend of traffic parameters of upstream detector
图 2 下游检测器的交通流参数变化趋势 Fig. 2 Trend of traffic parameters of downstream detector

正常状态下的交通流参数可以作为事件检测的基准, 因而需要预测正常状态下的交通流参数, 例如SND算法.此外, 事件地点上、下游交通流参数的组合有明显变化.例如California算法采用上、下游占有率的差值.本文以上、下游交通流参数的实测值、预测值及其组合, 构建较全面的初始变量集.初始变量集包含5个部分:1) 上游检测器的实测交通流参数;2) 下游检测器的实测交通流参数;3) 上游检测器实测交通流参数和预测参数的差值;4) 下游检测器实测交通流参数和预测参数的差值;5) 上、下游相邻检测器实测交通流参数的差值.所构建的初始变量集如表 1所示.其中, 采用移动平均法求得交通流参数的预测值, 使用相邻的前4个数据预测第5个数据.

表 1 交通事件检测初始变量集 Table 1 Initial variables set of traffic incident detection
3 基于RF-RFE的变量选择

采用RF-RFE算法从交通事件检测初始变量中选择重要变量, 不仅能够降低输入数据的维数, 而且能够提高分类的正确率.

3.1 随机森林和变量重要性分析

随机森林是Breiman[19]提出的一种多棵决策树集成学习算法.随机森林不仅能够用于分类和回归, 而且可以度量变量重要性(variable importance, VI).基于随机森林的变量重要性度量方法有多种, 其中基于OOB数据分类正确率的变量重要性度量方法是最常用的一种, 基本思想如下:依次对OOB数据中的每个变量添加随机噪声干扰, 通过所有决策树的OOB数据分类正确率下降的平均值决定该变量的重要性.算法的主要步骤如下.

1) 生成随机森林.

a) 采用Bootstrap抽样技术, 从K个原始训练样本中随机地、有放回地抽取K′个样本.使用所抽取的样本数据构建一棵决策树hk(k=1, 2, …, p), 没有选中的K-K′个样本构成袋外数据Kkoob.

b) 在决策树的每个节点处抽取交通事件检测初始变量集的mtry(mtry<15) 个变量, 分别计算每个变量蕴含的信息量, 从mtry个变量中选择一个分类能力最佳的变量进行节点分裂.

c) 每棵树都自然生长, 不进行剪枝.

d) 重复步骤a)~c)共计p次, 生成含有p棵决策树的随机森林f={s1, s2, …, sp}.

2) 对于随机森林中的每一棵决策树sk, 使用袋外数据Lkoob进行分类, 并统计交通事件样本的分类正确率Rk.

3) 训练集的每个初始变量记作λl(l=1, 2, …, 15), 依次将袋外数据Lkoobλl添加随机噪声干扰, 所得新的袋外数据记作$\hat L_k^{{\rm{oob}}}$.使用每棵决策树sk对袋外数据$\hat L_k^{{\rm{oob}}}$进行分类, 并计算交通事件样本的分类正确率l.

4) 根据式(2) 计算变量λl的重要度.

$ {V_{\rm{I}}} = \frac{1}{p}\sum\limits_{i = 1}^p {\left( {{R_k} - {{\hat R}_k}} \right)} . $ (2)
3.2 RF-RFE算法

递归特征消除(recursive feature elimination, RFE)是一种基于特征变量排序的变量选择方法[20].RF-RFE算法采用随机森林分析变量重要性, 并根据变量重要性排序, 进而通过RFE方法选择重要变量.RF-RFE算法的流程如图 3所示.首先基于初始变量训练集数据, 使用随机森林计算变量重要性并排序;然后每次删除重要性最小的变量, 并使用剩余变量重新测试随机森林的分类正确率.这样逐次迭代, 计算每次分类的正确率, 直到所有特征变量序列搜索完毕.最终得到所有变量的重要度排序和随机森林, 对应不同变量个数的分类正确率.

图 3 RF-RFE算法流程图 Fig. 3 Flowchart of RF-RFE
4 基于变量选择和KELM的AID算法 4.1 KELM基本原理

KELM是ELM的一种改进形式, 因此先介绍ELM, 然后引出KELM.ELM作为一种广义单层前馈神经网络, 输出为

$ \begin{array}{l} {f_L}\left( x \right) = \\ \sum\limits_{i = 1}^L {{\beta _i}{h_i}\left( {{x_j}} \right)} = \sum\limits_{i = 1}^L {{\beta _i}{g_i}\left( {{\mathit{\boldsymbol{w}}_i} \cdot {\mathit{\boldsymbol{x}}_j} + {b_i}} \right)} = h\left( \mathit{\boldsymbol{x}} \right)\mathit{\boldsymbol{\beta }}. \end{array} $ (3)

式中:j=1, …, N, wiRn为第i个节点(神经元)在隐层和输入层之间的权值向量, bi为第i个隐层节点的偏置, βiR为第i个隐层节点和输出节点之间的权重.fL(x)为前馈神经网络的输出, wi·xjwixj的内积.在网络学习前, 需要随机确定学习参数wibi.

如果具有L个隐层节点的单层前馈网络能够近似N个样本且误差为零, 那么存在βiwibi, 使得

$ \sum\limits_{i = 1}^L {{\beta _i}g\left( {{\mathit{\boldsymbol{w}}_i} \cdot {\mathit{\boldsymbol{x}}_j} + {b_i}} \right)} = {\mathit{\boldsymbol{t}}_j};j = 1,2, \cdots ,N. $ (4)

式(4) 可以简写为=T.其中,

$ \mathit{\boldsymbol{H = }}\left( {\begin{array}{*{20}{c}} {h\left( {{\mathit{\boldsymbol{x}}_1}} \right)}\\ \vdots \\ {h\left( {{\mathit{\boldsymbol{x}}_N}} \right)} \end{array}} \right) = {\left[ {\begin{array}{*{20}{c}} {h\left( {{\mathit{\boldsymbol{w}}_1},{b_1},{\mathit{\boldsymbol{x}}_1}} \right)}& \cdots &{h\left( {{\mathit{\boldsymbol{w}}_L},{\mathit{\boldsymbol{b}}_L},{\mathit{\boldsymbol{x}}_1}} \right)}\\ \vdots &{}& \vdots \\ {h\left( {{\mathit{\boldsymbol{w}}_1},{b_1},{\mathit{\boldsymbol{x}}_N}} \right)}& \cdots &{h\left( {{\mathit{\boldsymbol{w}}_L},{b_L},{\mathit{\boldsymbol{x}}_N}} \right)} \end{array}} \right]_{N \times L}}, $ (5)
$ \mathit{\boldsymbol{\beta = }}\left[ {\mathit{\boldsymbol{\beta }}_1^{\rm{T}},\;\;\; \cdots ,\;\;\;\mathit{\boldsymbol{\beta }}_L^{\rm{T}}} \right]_{L \times r}^{\rm{T}}, $ (6)
$ \mathit{\boldsymbol{T = }}\left[ {\mathit{\boldsymbol{t}}_1^{\rm{T}},\;\;\; \cdots ,\;\;\;\mathit{\boldsymbol{t}}_N^{\rm{T}}} \right]_{N \times r}^{\rm{T}}. $ (7)

H为神经网络的隐层矩阵, H的第i列表示当输入为x1, x2, …, xN时, 第i个隐层神经元的输出.H的第j行表示当输入为xj时, 隐层的输出向量.一种计算Moore-Penrose广义逆矩阵的方法是正交投影法:

$ {\mathit{\boldsymbol{H}}^\dagger } = {\mathit{\boldsymbol{H}}^{\rm{T}}}{\left( {\mathit{\boldsymbol{H}}{\mathit{\boldsymbol{H}}^{\rm{T}}}} \right)^{ - 1}}. $ (8)

根据岭回归理论, 将HHT对角线增加一个正数, 使得最终的解方案更加稳定, 泛化能力更好, 可得

$ f\left( \mathit{\boldsymbol{x}} \right) = h\left( \mathit{\boldsymbol{x}} \right)\mathit{\boldsymbol{\beta = }}h\left( \mathit{\boldsymbol{x}} \right){\mathit{\boldsymbol{H}}^{\rm{T}}}{\left( {\frac{\mathit{\boldsymbol{I}}}{C}\mathit{\boldsymbol{H}}{\mathit{\boldsymbol{H}}^{\rm{T}}}} \right)^{ - 1}}\mathit{\boldsymbol{T}}. $ (9)

式中:I为单位矩阵, C为惩罚系数.若隐层特征映射函数h(x)是未知的[13], 则根据式(10) 将一个核矩阵用于ELM.

$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_{{\rm{ELM}}}} = \mathit{\boldsymbol{H}}{\mathit{\boldsymbol{H}}^{\rm{T}}}:{\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_{{\rm{EL}}{{\rm{M}}_{i,j}}}} = h\left( {{\mathit{\boldsymbol{x}}_i}} \right) \cdot h\left( {{\mathit{\boldsymbol{x}}_j}} \right) = K\left( {{\mathit{\boldsymbol{x}}_i},{\mathit{\boldsymbol{x}}_j}} \right). $ (10)

式中:K(xi, xj)为核函数.ELM分类器的输出可以简写为

$ f\left( \mathit{\boldsymbol{x}} \right) = {\left[ {\begin{array}{*{20}{c}} {K\left( {\mathit{\boldsymbol{x}},{\mathit{\boldsymbol{x}}_1}} \right)}\\ \vdots \\ {K\left( {\mathit{\boldsymbol{x}},{\mathit{\boldsymbol{x}}_N}} \right)} \end{array}} \right]^{\rm{T}}}{\left( {\frac{\mathit{\boldsymbol{I}}}{C} + {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_{{\rm{ELM}}}}} \right)^{ - 1}}\mathit{\boldsymbol{T}}. $ (11)

由于核函数在ELM中的应用, 这种新型学习算法称为KELM.在KELM中, 不需要考虑隐层特征函数h(x)、权重向量wi、偏置bi以及隐层节点数L.相反地, KELM只考虑核函数K(xi, xj)和训练样本.许多核函数可以用于KELM, 例如线性核函数、多项式核函数和RBF核函数.选用RBF核函数K(u, v)=exp (-||u-v||2/(2σ2)).使用RBF核函数的KELM包括2个重要参数:惩罚参数C和核参数σ.C用于权衡拟最小拟合误差和输入权重的最小范数, σ定义了从输入空间到一些高维空间的非线性映射.

4.2 引力搜索算法(GSA)

GSA给出一个智能体集合, 能够根据牛顿万有引力定律来寻找最优解方案.将这些智能体看作物体, 它们之间相互吸引.由于力的作用, 所有物体都会像较重的物体移动.假设在n维空间中存在D个智能体, 那么第i个智能体的位置可以定义为

$ {O_i} = \left( {o_i^1, \cdots ,o_i^d, \cdots ,o_i^n} \right);i = 1,2, \cdots ,D. $ (12)

式中:oid为在第d维空间的第i个智能体.GSA的主要步骤如下.

1) 初始化每个智能体的速度和位置.

2) 评价每个智能体的适应度.

3) 根据式(13) 更新引力常数G(t).

$ G\left( t \right) = {G_0} \times \exp \left( { - \alpha /T} \right). $ (13)

式中:G0为初始引力常数, α为衰减系数(任意常数), T为最大迭代次数.

4) 根据下式计算每个智能体的引力(惯性)质量:

$ \left. \begin{array}{l} {m_i}\left( t \right) = \frac{{{\rm{fi}}{{\rm{t}}_i}\left( t \right) - {\rm{worst}}\left( t \right)}}{{{\rm{best}}\left( t \right) - {\rm{worst}}\left( t \right)}},\\ {M_i}\left( t \right) = \frac{{{m_i}\left( t \right)}}{{\sum\nolimits_{j = 1}^D {{m_j}\left( t \right)} }}. \end{array} \right\} $ (14)

式中:Mi(t)和fiti(t)分别为智能体it时刻的质量和适应度, worst(t)和best(t)分别为智能体的最差和最佳适应度.

5) 根据下式所示的万有引力定律, 求得智能体的合力:

$ F_{ij}^d\left( t \right) = G\left( t \right)\frac{{{M_i}\left( t \right) \cdot {M_j}\left( t \right)}}{{{R_{ij}}\left( t \right) + \varepsilon }} \cdot \left( {o_i^d\left( t \right) - o_j^d\left( t \right)} \right). $ (15)

式中:Fijd(t)为在d维空间的智能体i和在t时刻的智能体j之间的引力;Mi(t)和Mj(t)分别为智能体i和智能体j的被动引力质量;ε为一个很小的常数, 用来避免分母为零;oid(t)为在d维空间中智能体i的位置;ojd(t)为智能体jt时刻的位置;Rij(t)=oi(t), oj(t)2为智能体i和智能体j之间的欧氏距离.

6) 计算智能体的加速度.在d维空间中, t时刻的加速度aid(t)可以表示为

$ a_j^d\left( t \right) = \frac{{\sum\nolimits_{i = 1,j \ne 1}^N {{\rm{rand}} \cdot F_{ij}^d\left( t \right)} }}{{{M_i}\left( t \right)}}. $ (16)

式中:rand为属于区间[0, 1]的随机数.

7) 根据下式更新智能体的速度和位置:

$ \mu _i^d\left( {t + 1} \right) = {\rm{rand}} \cdot \mu _i^d\left( t \right) + a_i^d\left( t \right), $ (17)
$ o_i^d\left( {t + 1} \right) = o_i^d\left( t \right) + o_i^d\left( {t + 1} \right). $ (18)

8) 若满足停止条件, 则输出解方案.否则, 转到步骤2).

4.3 AID算法流程

基于变量选择和KELM的AID算法流程如图 4所示.由图 4可知, AID算法包括以下2个部分:1) 重要变量的选择;2) 模型训练和参数优化.算法的具体步骤如下.

图 4 AID算法流程图 Fig. 4 Flowchart of AID algorithm

1) 采用SMOTE平衡数据集中的事件样本和非事件样本.

2) 使用RF-RFE算法选择重要变量.

a) 使用初始变量构建训练集.训练集包括多个训练样本.训练集的输入为

$ {\rm{Input}} = \left[ {{\lambda _{i,j}}} \right] = \left[ {\begin{array}{*{20}{c}} {{\lambda _{1,1}}}&{{\lambda _{2,1}}}& \cdots &{{\lambda _{15,1}}}\\ {{\lambda _{1,2}}}&{{\lambda _{2,2}}}& \cdots &{{\lambda _{15,2}}}\\ \vdots & \vdots &{}& \vdots \\ {{\lambda _{1,m}}}&{{\lambda _{2,m}}}& \cdots &{{\lambda _{15,m}}} \end{array}} \right]. $

训练集的输出为

$ {\rm{Output}}= \left[ {{y_j}} \right] = \left[ {\begin{array}{*{20}{c}} {{y_1}}\\ {{y_2}}\\ \vdots \\ {{y_m}} \end{array}} \right]. $

式中:m为训练样本总数, λi, j为第j个输入样本的第i个变量.第i个变量的具体内容见表 1.yj∈{-1, 1}表示第j个输入样本所对应交通事件的判别标签, -1表示有交通事件, 1表示无交通事件.

b) 使用RF评价15个初始变量的重要度, 并记录训练集的分类正确率.

c) 删除重要度最小的变量, 使用剩余变量构建新的训练集;重新评价剩余变量的重要度, 并记录训练集的分类正确率.

d) 重复步骤c), 直至搜索完毕全部变量, 即仅仅剩余重要度最大的1个变量.

经过步骤2), 可得15个初始变量的重要度排序以及每个训练集的分类正确率.获得最高分类正确率的训练集所对应的输入变量, 即为重要变量.

3) 训练KELM并采用GSA优化参数.

a) 初始化KELM参数和GSA参数.

b) 使用重要变量构建训练集来训练KELM, 计算和评价每个智能体的适应度.

c) 更新种群的G(t)、best(t)和worst(t).

d) 计算每个智能体的Mi(t)和oid(t).

e) 更新每个智能体的位置和速度.

f) 判断是否满足终止条件.如果满足终止条件, 转到步骤g);否则转到步骤b), 直到满足条件.

g) 输入KELM的最优参数.

5 实例分析 5.1 实验数据及预处理

实验数据来源于美国著名的Ⅰ-880高速公路交通事件数据库.Ⅰ-880高速公路路段长度为9.2英里, 车道数为3~5, 其中包括一些高占有率车道.在北向车道和南向车道, 分别设有18个和17个环形线圈检测站(详细信息参见文献[21]).该数据库完整记录了采样时段内的环形线圈采集的交通流量、速度和占有率数据(采样间隔为30 s)以及事件发生的位置和起止时间等信息.该数据库广泛应用于AID算法的验证和评价.数据库包括45个交通事件(共计4 136组样本).随机选取23个交通事件数据用于训练, 剩余22个交通事件数据用于测试.由于非事件数据量过于庞大, 通常随机无放回地抽取非事件样本用于构建训练集和测试集.为了较大程度地保留非事件样本的信息, 将训练集和测试集的事件样本比例都设置为20%, 训练集和测试集组成如表 2所示.

表 2 训练集和测试集的样本组成 Table 2 Composition of training set and test set sample

为了使两类样本相对平衡, 采用SMOTE增加训练集中的交通事件样本.SMOTE具体参数设置如下:邻近样本点个数为5, 过采样倍率为300%.平衡后的训练集中两类样本数均为8 144个.为了消除不同量纲的影响, 提升训练速度和分类效果, 将数据归一化到区间[0, 1].归一化公式为

$ {y_i} = \frac{{{x_i} - {x_{\min }}}}{{{x_{\max }} - {x_{\min }}}}. $ (19)

式中:xi为原始数据, yi为归一化数据, xmax为原始数据最大值, xmin为原始数据最小值.

5.2 变量选择

使用RF-RFE算法评价交通事件检测初始变量的重要度, 并从中选择重要变量.需要确定的参数包括随机特征变量个数和决策数的数量.根据文献[19]的建议可知, 随机特征变量个数mtry为特征变量总数的平方根, 此处mtry取4;决策数的数量设置为1 000.所得的初始变量按照重要度降序排列为:{15, 12, 9, 13, 10, 6, 7, 14, 11, 3, 8, 4, 2, 5, 1}.每次删除重要度排序在最后一位的特征变量, 重新计算分类正确率.分类正确率Ac随变量个数Nv的变化曲线如图 5所示.当变量个数为15时, 即为初始变量集.随着不重要变量的删除, 分类正确率大致呈上升趋势.因为删除不重要变量能够减小冗余信息对算法的影响.当变量个数为6时, 得到最高分类正确率;然后随着变量数的减少, 分类正确率逐渐下降.这是因为删除了重要性较大的变量.选择重要性最大的前6个变量(上、下游相邻检测器实测占有率的差值, 下游检测器实测占有率与预测占有率的差值, 上游检测器实测占有率与预测占有率的差值, 上、下游相邻检测器实测流量的差值, 下游检测器实测流量与预测流量的差值, 下游检测器的实测占有率)作为交通事件检测的重要变量.使用重要变量构建训练集, 训练集输入矩阵为

图 5 分类正确率与变量个数之间的关系 Fig. 5 Relationship of classification accuracy and variables number
$ \left[ {\begin{array}{*{20}{c}} {{\lambda _{15,1}}}&{{\lambda _{12,1}}}&{{\lambda _{9,1}}}&{{\lambda _{13,1}}}&{{\lambda _{10,1}}}&{{\lambda _{6,1}}}\\ {{\lambda _{15,2}}}&{{\lambda _{12,2}}}&{{\lambda _{9,2}}}&{{\lambda _{13,2}}}&{{\lambda _{10,2}}}&{{\lambda _{6,2}}}\\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ {{\lambda _{15,16,288}}}&{{\lambda _{12,16,288}}}&{{\lambda _{9,16,288}}}&{{\lambda _{13,16,288}}}&{{\lambda _{10,16,288}}}&{{\lambda _{6,16,288}}} \end{array}} \right]. $

其中, 每个行向量表示一个训练样本, 共计16 288个;每个列向量表示一个重要变量.前8 144个输入样本所对应的输出为-1, 表示有交通事件;后8 144个输入样本所对应的输出为1, 表示无交通事件.

5.3 算法参数优化

采用重要变量构建的训练集训练KELM, 使用GSA优化KELM参数.将分类正确率作为适应度函数(目标函数).GSA具体参数设置如下:种群数量为20, 初始引力常数G0=100, 衰减率α=10, 最大迭代次数Tmax=100, 惩罚参数C∈[0.1, 1 000], 核参数σ∈[0.01, 100].

在训练过程中, 使用K折交叉验证避免过拟合和欠拟合.将训练集随机分为K个不相交的子集, K-1个子集用于训练, 使用余下的一个子集用于验证.如此重复K次, 直到所有子集都作为一次验证集.将K次验证结果的平均值作为评价指标.本文采用的是5折交叉验证.如图 6所示为适应度F曲线.图中,T为迭代次数.可知, 最佳适应度随着迭代的增加逐渐上升.平均适应度在波动中上升.当迭代次数为76时, 最佳适应度和平均适应度均为0.986 5, 所对应的参数组合为:C=10.34, σ=0.22.

图 6 适应度曲线 Fig. 6 Fitness curves
5.4 性能分析

为了更好地分析KELM的检测性能, 选择反向传播神经网络(back propagation neural network, BPNN)和SVM作为对比算法.BPNN和SVM用于交通事件检测的详细步骤分别见文献[5]和[7].采用单隐层的BPNN, 并使用GSA算法优化初始权值和阈值.SVM采用RBF核函数, 核函数参数和惩罚系数使用GSA优化.

AID算法性能的评价指标包括交通事件检测率(detection rate, DR)、误报率(fa1se alarm rate, FAR)和平均检测时间(mean time to detection, MTTD).DR表示在特定的时间段内, 检出的事件数量占实际事件数的百分比.FAR表示在特定时间段内, 误报事件数占所有决策次数的百分比.MTTD表示检测到事件发生时刻与事件实际发生时刻差值的算术平均值.DR和FAR用于衡量AID算法的检测性能, MTTD用于描述AID算法的检测效率.DR、FAR和MTTD 3个指标彼此相关, 相互依赖.若获得较高的DR, 则必定导致较高的FAR;在降低FAR的同时, 必然会降低DR.相似地, 若获得较短的MTTD, 则FAR相对较高.当评价一种新的AID算法时, 通常需要权衡这3个指标.

分别使用初始变量和重要变量构建训练集, 测试这3种算法的性能, 结果如表 3所示.可知, 与使用初始变量的AID算法相比, 使用重要变量AID算法在DR、FAR和MTTD 3个指标方面都得到了提升, 具有更高的DR, 更低的FAR和更短的MTTD.其中, KELM的性能优于BPNN和SVM.

表 3 KELM、BPNN和SVM的检测效果 Table 3 Performance of KELM, BPNN and SVM

持续性检验(persistence test, PT)是降低FAR的有效方式[8].持续性检验是指连续n个间隔检测到交通事件, 最终判定交通事件的发生.当没有持续性检验时, PT=0.MTTD随着持续性检验次数的增加而变长, DR随着持续性检验次数的增加而降低.PT在一定程度上影响了检测效果和检测效率.当PT=0~4时, 3种算法的性能曲线如图 7所示.如图 7(a)所示为DR-FAR曲线, 如图 7(b)所示为MTTD-FAR曲线.如表 3所示为PT=0时, 3个指标的取值, 对应FAR的最大值.由图 7(a)可以看出, KELM的DR-FAR曲线更靠近左上角, 说明KELM的性能更好, 即在相同DR的条件下, FAR更低;在相同FAR的条件下, DR更高.对于每一算法的DR-FAR曲线, 当PT=1时, FAR下降幅度较大, DR下降较小.当PT次数继续增加时, FAR的下降逐渐缓慢, DR的下降逐渐加快.从图 7(b)可知, KELM的MTTD-FAR曲线更靠近左下角, 说明KELM的性能更好, 即在相同FAR的条件下, MTTD更短;在相同MTTD的条件下, FAR更低.对于每一算法的MTTD-FAR曲线, 当PT=1时, 虽然在一定程度上增大MTTD, 但是FAR的下降幅度较大.随着PT次数的增加, FAR的下降速度变得缓慢, MTTD的增大速度加快.综上所述, KELM的检测性能由于BPNN和SVM, PT=1能够较好地权衡DR、FAR和MTTD 3个指标.

图 7 KELM、BPNN和SVM的性能曲线 Fig. 7 Performance curves of KELM, BPNN and SVM
6 结论

(1) 采用RF-RFE算法能够有效地选择交通事件检测的重要变量, 不仅降低了AID算法的输入维数, 而且以重要变量为输入的AID算法具有更好的性能.

(2) KELM算法性能优于BPNN和SVM.

(3) 当持续性检测次数为1时, 能够较好地权衡DR、FAR和MTTD 3个指标.

为了得到更具有普遍性的结论, 在未来研究中需要将该AID算法用于其他交通事件数据集, 并从理论上分析和论证KELM用于交通事件检测的优越性.此外, 如何构建更加全面的交通事件检测初始变量集有待进一步的探讨.

参考文献
[1] LINDLEY J A. Urban freeway congestion: quantification of the problem and effectiveness of potential solutions[J]. ITE Journal, 1987, 57(1): 27–32.
[2] 姬杨蓓蓓, 张小宁, 孙立军. 基于贝叶斯决策树的交通事件持续时间预测[J]. 同济大学学报:自然科学版, 2008, 36(3): 319–324.
JIYANG Bei-bei, ZHANG Xiao-ning, SUN Li-jun. Incident duration prediction grounded on Bayesian decision method based tree algorithm[J]. Journal of Tongji University: Natural Science, 2008, 36(3): 319–324.
[3] GHOSH B, SMITH D P. Customization of automatic incident detection algorithms for signalized urban arterials[J]. Journal of Intelligent Transportation Systems, 2014, 18(4): 426–441. DOI:10.1080/15472450.2013.806843
[4] KARIM A, ADELI H. Comparison of fuzzy-waveletradial basis function neural network freeway incidentdetection model with California algorithm[J]. Journal of Transportation Engineering, 2002, 128(1): 21–30. DOI:10.1061/(ASCE)0733-947X(2002)128:1(21)
[5] SRINIVASAN D, JIN X, CHEU R L. Evaluation ofadaptive neural network models for freeway incidentdetection[J]. IEEE Transactions on Intelligent Transportation Systems, 2004, 5(1): 1–11. DOI:10.1109/TITS.2004.825084
[6] 陈维荣, 关佩, 邹月娴. 基于SVM的交通事件检测技术[J]. 西南交通大学学报, 2011, 46(1): 63–67.
CHEN Wei-rong, GUAN Pei, ZOU Yue-xian. Automatic incident detection technology based on SVM[J]. Jounal of Southwest Jiaotong University, 2011, 46(1): 63–67.
[7] YUAN F, CHEU R L. Incident detection using support vector machines[J]. Transportation Research Part C:Emerging Technologies, 2003, 11(3): 309–328.
[8] CHEN S, WANG W. Decision tree learning for freeway automatic incident detection[J]. Expert Systems with Applications, 2009, 36(2): 4101–4105. DOI:10.1016/j.eswa.2008.03.012
[9] WANG J, LI X, LIAO S S, et al. A hybrid approach for automatic incident detection[J]. IEEE Transactions on Intelligent Transportation Systems, 2013, 14(3): 1176–1185. DOI:10.1109/TITS.2013.2255594
[10] XIAO J, GAO X, KONG Q J, et al. More robust and better: a multiple kernel support vector machine ensemble approach for traffic incident detection[J]. Journal of Advanced Transportation, 2014, 48(7): 858–875. DOI:10.1002/atr.v48.7
[11] LIU Q, LU J, CHEN S, et al. Multiple Naïve bayes classifiers ensemble for traffic incident detection[J]. Mathematical Problems in Engineering, 2014, 2014: 1–16.
[12] HUANG G B, ZHU Q Y, SIEW C K. Extreme learning machine: theory and applications[J]. Neurocomputing, 2006, 70(1): 489–501.
[13] HUANG G B, ZHOU H, DING X, et al. Extreme learning machine for regression and multiclass classification[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, 2012, 42(2): 513–529. DOI:10.1109/TSMCB.2011.2168604
[14] PAL M, MAXWELL A E, WARNER T A. Kernel-based extreme learning machine for remote-sensing image classification[J]. Remote Sensing Letters, 2013, 4(9): 853–862. DOI:10.1080/2150704X.2013.805279
[15] XIE W, LI Y, MA Y. Breast mass classification in digital mammography based on extreme learning machine[J]. Neurocomputing, 2016, 173(3): 930–941.
[16] GRANITTO P M, FURLANELLO C, BIASIOLI F, et al. Recursive feature elimination with random forest for PTR-MS analysis of agroindustrial products[J]. Chemometrics and Intelligent Laboratory Systems, 2006, 83(2): 83–90. DOI:10.1016/j.chemolab.2006.01.007
[17] RASHEDI E, NEZAMABADI-POUR H, SARYAZDI S. GSA: a gravitational search algorithm[J]. Information sciences, 2009, 179(13): 2232–2248. DOI:10.1016/j.ins.2009.03.004
[18] 楼晓俊, 孙雨轩, 刘海涛. 聚类边界过采样不平衡数据分类方法[J]. 浙江大学学报:工学版, 2013, 47(6): 944–950.
LOU Xiao-jun, SUN Yu-xuan, LIU Hai-tao. Clustering boundary over-sampling classification method for imbalanced data sets[J]. Journal of Zhejiang University: Engineering Science, 2013, 47(6): 944–950.
[19] BREIMAN L. Random forests[J]. Machine Learning, 2001, 45(1): 5–32. DOI:10.1023/A:1010933404324
[20] GUYON I, WESTON J, BARNHILL S, et al. Gene selection for cancer classification using support vector machines[J]. Machine Learning, 2002, 46(1/3): 389–422. DOI:10.1023/A:1012487302797
[21] TENG H, QI Y. Application of wavelet technique to freeway incident detection[J]. Transportation Research Part C: Emerging Technologies, 2003, 11(3): 289–308.