城市路网链路预测方法、系统及存储介质与流程

文档序号:14572296发布日期:2018-06-01 23:06阅读:305来源:国知局

本发明涉及城市交通技术领域,尤其涉及一种城市路网链路预测方法、系统及存储介质。



背景技术:

复杂网络的链路预测是指对网络中未知链路或者未来链路的预测。以城市交通道路网络(以下简称“路网”)为背景,对路网进行链路预测本质上是对路网的演化方向的预测,也是对路网拓扑结构的数据挖掘过程。路网的链路预测对于城市路网复杂演化的科学管理与规划、提高路网的资源利用率以及增强交通网络的平衡性和可靠性具有重要的现实意义。

目前复杂网络的链路预测模型主要有两类:

(1)基于相似度信息的链路预测模型。这类算法模型利用节点间的相似度指标系数进行预测相似度系数越高,节点间发生连接的可能性越大。基于相似度算法中又包括局部相似度指标算法如CN、Jaccard、PA、AA、RA等、基于路径相似度指标算法LP、Katz、LHN、LLM等以及基于随机游走相似度指标算法如ACT、Cos、RWR、SWR等。

(2)基于网络表征学习的链路预测模型。这类模型使用网络表征技术将图的节点或者边投影到低维向量空间中,进而可以挖掘网络潜在的特征来实现复杂网络的链路预测。这类模型不但可以用于复杂网络的链路预测,还可以用于网络中节点分类聚类等任务。目前这类模型主要有基于Word2vec思想的DeepWalk、Node2vec、Subgraph2vec、Struc2Vec等、基于矩阵分解的LAP、LLE等以及基于深度学习思想的SDNE。

当前路网的链路预测任务面临着三个难题:(1)路网的高度非线性。路网节点之间的链接关系非常复杂,捕获路网的非线性特征非常困难。(2)路网的局部性与全局性特征。链路预测模型在进行训练时学习到局部特征与全局特征很难得到兼顾。(3)路网的高度稀疏性。路网具有高度稀疏性,国内外一部分城市的路网数据集的平均度在2.0左右。相对于科学家论文合作网络(平均度21.10)、Facebook朋友网络(平均度25.64)、互联网网络(平均度9.86)等网络来说,路网则显得更稀疏。

在对路网的链路预测任务中,基于相似度信息的链路预测模型由于其单层线性局限性以及模型的不可扩展性因此表现得不乐观。近年来,深度学习在语音识别、计算机视觉等多类应用中取得了突破性的进展,深度学习所学得的模型中,非线性操作的层级数更多。基于深度学习的链路预测,可以使模型学习到复杂网络中更深层次的网络拓扑特征,为路网的高度非线性难题提供了解决方案。基于深度学习的链路预测模型由于采用了单层或者多层的非线性函数,因而预测效果较好。它们的预测效果通常取决于模型的学习能力,即能否学习到网络的局部、全局特征以及网络的潜在特征。



技术实现要素:

本发明目的在于公开一种城市路网链路预测方法、系统及存储介质,以提高路网的链路预测精确度并提高数据的处理效率。

为实现上述目的,本发明公开一种城市路网链路预测方法,包括:

构建路网的邻接矩阵A;A=(aij)n×n,E为路网边的集合,vi、vj分别为路网节点集合V中的i节点和j节点,n为节点数量;

根据所述邻接矩阵得到Katz相似度矩阵SKatz;其中,SKatz=(I-αA)-1–I,I为单位向量,α是控制路径权重的调节参数;

将所述Katz相似度矩阵进行归一化后使用多层非线性自动编码器对其进行网络表征学习,得到网络表征向量;

根据所述网络表征向量解码重建邻接矩阵Z,并根据所述重建邻接矩阵Z进行链路预测;

其中,所述多层非线性自动编码器在模型的训练过程中,采用的损失函数为:

上式中,为节点i输入的n维向量,为通过解码神经元解码后得到重构向量,Yi(k)为在k维空间的向量表示,且k<n,Xij为Katz相似度矩阵进行归一化后的矩阵元素,Yj(k)为节点j在k维空间的向量表示,W(e)为编码权重矩阵,W(d)为解码权重矩阵,β为局部线性系数,F为范数。

为实现上述目的,本发明还公开一种城市路网链路预测系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

为实现上述目的,本发明还公开一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。

本发明具有以下有益效果:

一方面,所采用的损失函数中不存在Sigmoid函数的求导计算,权重矩阵的权值更新取决于误差,误差越大更新越快,误差越小更新越慢,从而避免了现有以方差代价函数等为损失函数时由于Sigmoid函数性质所导致的权重矩阵更新过慢的问题。

另一方面,在所采用的损失函数中,加入局部线性嵌入的限制,使得网络在进行表征学习后,节点间保持嵌入之前的邻接关系,因此能更好地学习到局部特征。

再者,在所采用的损失函数中,加入了范数限制,能有效防止多层非线性自动编码器的过拟合。

下面将参照附图,对本发明作进一步详细的说明。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本实施例堆叠自动编码器训练过程图示。

具体实施方式

以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。

实施例1

本实施例公开一种城市路网链路预测方法。

为便于描述,先对本实施例所用的部分术语做如下解释:

【链路预测】:定义图G=(V,E)为一个无向连通图,V为G中所有节点的集合,E为边集合。定义n=|V|,n为图G的节点数,m=|E|为图G的边数,则该网络中一共有n(n–1)/2节点对,U为节点对的全集合,|U|=n(n–1)/2,。给定时间δ时图G中各节点对状态,链路预测问题可以形式地描述为推断当前状态中或将在时间δ+t中形成的缺失链接的子集。

【邻接矩阵】:定义矩阵A为图G的邻接矩阵。矩阵A满足以下条件,

邻接矩阵A是一个对称矩阵,对角线元素均为0,矩阵的各个行和(列和)是各个顶点的度。所有元素相加和为边数的二倍。

【归一化】:或称“数据标准化”,其为了将数据映射到[0,1]之间,需要对数据进行标准化,常用的标准化方法有min-max标准化以及Z-score标准化,本发明使用了min-max标准化,其计算方式如下

其中min为数据中的最小值,max为最大值。

【Katz相似矩阵】:Katz相似度指标由Katz L在1953年提出,它考虑了节点间的所有路径数,对于短路径之间的节点赋予了较大的权重值,对于长路径之间的节点对赋予了较小的权重值。已知邻接矩阵A,则Katz相似性指标矩阵的定义如下,

SKatz=αA+α2A23A3… (3)

其中α∈(0,1),α是控制路径权重的调节参数,通过它来调节远距离路径对相似度的影响,当网络节点数量很大时,Katz系数在有限时间内很难被计算出。但是当α小于邻接矩阵A最大特征值的倒数时,SKatz可以进行收敛,SKatz收敛后的表达形式如下,

SKatz=(I-αA)-1–I (4)

I为单位向量(或称:单位矩阵),(I-A)-1表示(I-A)的逆矩阵。在对路网进行网络训练时,α表达了长距离路径对预测结果的贡献度。

【自动编码器与损失函数】:自动编码器是一种无监督机器学习技术,利用神经网络来产生一个高维输入的低维表示,从而达到网络嵌入的目的。传统的维度下降依赖于线性方法,如PCA,通过找出高维数据中最大的方差的方向进行降维。然而,PCA方法的线性也是导致自身可以抽取出的特征维度类型上的很大限制。自动编码器使用大量的非线性函数克服了这些限制,从而可以体现数据的天然非线性。

单层自动编码器的基本原理如下,假设输入一个n维向量通过自动编码神经元映射到一个k维向量Yi(k),其中k<n,有

Yi(k)为在节点i在k维空间的向量表示,σ为编码神经元激活函数,通常使用的是Sigmoid函数。W(e)为编码权重矩阵,b(k)为k维编码偏差向量。

为了得到训练误差,需要将Yi(k)作为输入,通过解码神经元解码后得到解码过程如下:

σ为解码神经元激活函数,W(d)为解码权重矩阵,b(n)为n维解码偏差向量。

评估训练模型的好坏主要由目标损失函数决定。现有目标损失函数经常用方差代价函数,

整个模型的训练过程中,应用反向传播算法与梯度下降算法对权重矩阵与偏差进行调整,

其中,η为学习速率,由于Sigmoid函数的性质,σ的导函数为σ’(x),当变量取Sigmoid函数两端的值(很大或者很小的值)时,Sigmoid函数的斜率很小,即σ’(x)的值会很小,因此导致W(d)与b(n)的权值下降的很慢,针对这个问题,本实施例引入了交叉熵损失函数,函数定义如下:

其中,I为单位向量,LH对权重W(d)与偏差b(n)导数为

可以看出公式中没有σ的导函数σ’(x),因此避免了损失函数更新过慢的问题。而权值更新取决于即误差,误差越大更新越快,误差越小更新越慢。

为了使模型更好地学习到局部特征,本实施例进一步引入局部线性嵌入损失函数,使得上述公式(10)修改为:

其中,A为邻接矩阵,β为局部线性系数,Yj(k)为节点j在k维空间的向量表示,Xij为Katz相似度矩阵进行归一化后的矩阵元素。通过加入局部线性嵌入的限制,使得网络在进行表征学习后,节点间保持嵌入之前的邻接关系。

为了防止模型的过拟合,本实施例还进一步在损失函数中加入L2规则范数限制,最后修改得到的损失函数为:

上式中,F为范数。

本实施例中,单层的自动编码器是利用单层非线性函数学习网络的结构特征,只含有一个隐藏层,是一种浅层的学习模型。浅层学习模型的局限性在于有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂问题其泛化能力受到一定制约。自动编码器可以使用一种堆叠技术,实现更深层次的网络学习。堆叠的自动编码器的训练过程如图1所示。作为第一层编码输入后输出Yi(n-1),再将输出的Yi(n-1)作为新的输入进入到第二层自动编码器,堆叠自动编码器由多个自动编码器通过这样的方式堆叠,逐层进行非监督预训练,最终保留Yi(k)作为节点i的表征向量。

本实施例所公开的城市路网链路预测方法,包括下述步骤:

步骤S1、构建路网的邻接矩阵A。其中,A=(aij)n×n,E为路网边的集合,vi、vj分别为路网节点集合V中的i节点和j节点,n为节点数量。

步骤S2、根据所述邻接矩阵得到Katz相似度矩阵SKatz。其中,SKatz=(I-αA)-1–I,I为单位向量,α是控制路径权重的调节参数。

步骤S3、将所述Katz相似度矩阵进行归一化后使用多层非线性自动编码器对其进行网络表征学习,得到网络表征向量。

在该步骤中,所述多层非线性自动编码器在模型的训练过程中,采用的损失函数为上述公式(14)。

步骤S4、根据所述网络表征向量解码重建邻接矩阵Z,并根据所述重建邻接矩阵Z进行链路预测。

在该步骤中,优选地,根据所述重建邻接矩阵Z进行链路预测包括:

步骤S4.1、构建邻接限制矩阵L,若h为路网的横向节点数,s为路网的纵向节点数,所构建的邻接限制矩阵为:

其中,h×h与s×s矩阵部分为全零矩阵,h×s与s×h为全1矩阵。

步骤S4.2、计算预测邻接矩阵R=Z&L,以避免横线道路与横向道路连接、或者纵向道路与纵向道路连接。该步骤求与运算的计算公式可具体为:

步骤S4.3、根据所述预测邻接矩阵进行链路预测。可选的,该步骤可将所述预测邻接矩阵投影到低维向量空间以挖掘网络潜在的特征来实现链路预测。

进一步的,本实施例对应上述城市路网链路预测方法的程序设计流程可为:

输入:路网G=(V,E)、Katz参数α、局部线性嵌入系数β、表征维度k、迭代次数n、学习速率η

输出:R表征预测结果矩阵

主要处理过程包括:

1、输入G根据式(1)得到邻接矩阵A

2、输入A、α,根据式(4)计算SKatz

3、对SKatz根据式(2)进行标准化后得到X

4、for i←1to n do:

5、输入X、k,根据式(5)计算Y=Y(k)

6、根据式(6)计算Z=Z(n)

7、根据式(14)计算Loss=LH(X,Z)

8、输入η、β,使用adma梯度下降算法和反向传播算法最小化Loss为目标,以学习速率η更新模型权重以及偏差参数

9、end for

10、得到网络表征向量Y=Y(k)

11、根据式(6)重建邻接矩阵,得到重建邻接矩阵Z

12、计算预测邻接矩阵R=Z&L

进一步的,本实施例中,在步骤S1之前还包括:

步骤S0、获取路网的原始地图数据,通过对偶拓扑建模方法将所述原始地图数据转换得到构建邻接矩阵A所需的相关信息。例如:

OpenStreetMap是由ODbL(Open Database License)授权的共享开放地图数据库。OSM是OpenStreetMap定义的地图XML格式文件,其主要包含了三种数据基本单元即节点(nodes)、路(ways)以及关系(relations),nodes定义了地图中点的坐标,ways定义了路段,一条way由多个node节点组成,relations则定义了基本单元之间的关系。路网数据集可从OpenStreetMap下载。

在城市路网建模方面主要有两种拓扑建模方法,分别为主方法与对偶拓扑网络方法。主方法是直接将道路抽象为边、交叉口抽象为节点,而对偶拓扑方法则恰恰相反,它将道路按路名映射为节点、交叉口映射为边。为了更好地研究路网的结构和功能复杂性,通常采用对偶拓扑方法。

路网的原始数据文件是OSM格式的,为了转换为可以处理的网络图格式G=(V,E),需要从OSM中抽取出路网的节点与边,并且用对偶拓扑建模方法对其进行处理,转换过程如下:

a、加载OSM文件到内存并解析OSM文件得到的way标签集合与node标签集合

b、合并具有相同路名的way,并将相应的node集合合并

c、新建一个HashMap<node,way>

d、记录每条way的起始node与末尾node到HashMap集合中

e、新建无向空图G

f、从HashMap集合中取出一个键值对<node,way>,将node节点并与其他way的node集合进行匹配,如匹配成功,则记录下该way的ID作为新节点x,将另一条被匹配成功way的ID作为新节点y,往图G添加一条(x,y)的边。结束后删除该键值对,直到HashMap为空。

g、按自然数顺序从零开始对图G中的节点ID进行重新编号,并返回G。

进一步的,在本实施例中,还包括:

在采用矩形选择框地图进行区域选取时,删除边缘度为1的节点,并使用并查集算法求网络的最大联通子图,并将该最大联通子图作为构建邻接矩阵A所需的相关信息的数据集。藉此,可避免在采用矩形选择框地图进行区域选取时,切断了下述相关的连接关系:

原本未被选择的区域与已选择区域存在着连接;

或者已选择区域的一部分节点在未被选择的区域中发生连接。

此外,在进行链路预测之前,我们需要划分训练集与测试集,通过随机采样的方式去掉20%的边,这些被去掉的边会成为实验的真实测试数据。

基于本实施例的上述方案,与现有相关链路预测算法的MAP指标的比较结果如表所示。

表1:

从表1可以看出,本实施例方法(对应图中的最后一行所标示的KAENE)在6次路网链路预测任务中有4次取得了最好的预测结果。

而且,本实施例将复杂网络映射到二维平面空间后与原来的复杂网络图的拓扑结构基本保持一致,且相比于其他方法能更快找到最优解。

实施例2

本实施例公开一种城市路网链路预测系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

实施例3

本实施例公开一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。

综上,本发明上述各实施例所公开的城市路网链路预测方法、系统及存储介质,具有以下有益效果:

一方面,所采用的损失函数中不存在Sigmoid函数的求导计算,权重矩阵的权值更新取决于误差,误差越大更新越快,误差越小更新越慢,从而避免了现有以方差代价函数等为损失函数时由于Sigmoid函数性质所导致的权重矩阵更新过慢的问题。

另一方面,在所采用的损失函数中,加入局部线性嵌入的限制,使得网络在进行表征学习后,节点间保持嵌入之前的邻接关系,因此能更好地学习到局部特征。

再者,在所采用的损失函数中,加入了范数限制,能有效防止多层非线性自动编码器的过拟合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1