A Learning-based Method for Computing Shortest Path Distances on Road Networks

286 阅读4分钟

用一种学习训练的方式计算路网中最短路径

1 介绍

1.1 传统方法

计算时间长、需要构建索引耗时耗力

1.2 该paper所提方法的优点

①性能好,计算时间短
②计算结果精确
③并且可以很好扩展到大型网络

1.3 RNE 的思想

**将图中顶点的信息(经纬度)嵌入到D维空间中,并用L1度量来近似最短距离**

1.4 RNE

  • ①能够设计一个有效的表示模型,捕获到整个网络中的顶点距离关系 --分层嵌入模型
  • ②有效的训练模型
  • ③选择训练样本 --一种微调的方式选择高质量样本

2 原始RNE

2.1 问题定义

  • 一个图G(V,E,W),分别表示顶点边和权重
    
  • 最短路径:指图中两个顶点的最小到达权重  (也称为真实值)
    

image.png

2.2 顶点嵌入模型

目的:将顶点嵌入到D维中,并用一些度量(向量的距离或者函数)来估计最短路径
顶点v嵌入后变成一个向量*v*,用一个矩阵M,来存储嵌入后的向量
最短距离的度量表示为:

image.png

度量方式:用绝对误差和相对误差度量嵌入后的向量的性能

image.png

模型训练的损失函数:最小化估计值和真实值的均方误差

image.png

image.png

2.3 原始RNE的局限性

  • 直接训练,向量空间太稀疏,无法更好的拟合顶点对之间的距离度量,模型效果差
  • 训练样本,如果随机选择顶点,顶点遍布全图,很难捕捉全局布局

3 分层RNE模型

3.1 图分区(采用的G-Tree的分区方式)

image.png

3.2 分层嵌入模型:分层路网的嵌入

运用图分区后的树结构来构建分层嵌入模型

image.png

运用上图明白两个概念:局部嵌入向量(矩阵)、全局嵌入向量(矩阵)
全局顶点的嵌入表示是各顶点的局部嵌入表示之和

image.png

3.3 分层嵌入模型:模型训练

  • 按照自上而下的方式逐步训练每个分层的局部嵌入,并让其收敛
  • 固定每个分层的局部嵌入,再向下训练顶点嵌入
  • 通过自己选的一些特定样本来训练一些欠拟合的顶点
  • 并在不同的训练样本过程中选择不同的训练数据
  • 最终运用分层训练的向量计算全局顶点的向量表示
  • 用全局顶的向量表示来估计顶点间的最短路径

image.png image.png

在训练的过程中,为每一个水平设置一个一个学习率,来捕捉不同水平结点之间的关系。相当于在较大子图中粗粒度的学习顶点间的嵌入表示(学习率在早期设置较大,后期设置较小),在较小子图上细粒度的学习(小图上相反)。

3.4 样本的选择

3.4.1 层次嵌入的采样

  • 目的:高质量的选择样本对该子图对应的顶点嵌入
  • 选择策略:对应算法2的1-5行,对于l水平嵌入,首先从该水平随机选择选择两个子图,再随机的从所选两个子图中选择两个顶点,所选的顶点对即为该子图所选的样本。

image.png

3.4.2 顶点嵌入的样本选择策略(基于地标的样本选择策略)

  • 随机选择样本导致的问题:随机性太大,那么对于每个顶点的嵌入更新的太快,不足以表示网络结构
  • 什么是地标顶点? 地标顶点也就是枢纽顶点,枢纽可以更好的代表网络的结构,可以将其视为其他顶点的参考顶点。
  • 通过控制一些重要顶点来控制顶点嵌入的位置,更好的保留网络结构
  • 顶点嵌入样本选择策略:定点对中,一个选自枢纽顶点,另一个选自其他顶点,构成样本

3.4.3 地标怎么选取

  • 自己理解:地标选取应该为图分区。各子图的边界点

3.4.4 主动的微调选择样本

  • 如果随机的选择样本,那么距离在一个较小的范围,不能概括全局的结构
  • 据当前的误差分布选择高需求样本(例如,欠拟合区间的样本)并动态调整样本选择
    1. First we divide vertex pairs into R distance intervals (or buckets) with equal lengths.
    1. Next we generate R sets on the R intervals to reflect the error-distance distribution of the current model.
    1. Then we iteratively fine-tune the embedding of vertex pairs in intervals with the highest approximation errors by selecting more training samples on them.