1.导读

驾车导航是数字地图的核心用户场景,用户在进行导航规划时,高德地图会提供给用户3条路线选择,由用户根据自身情况来决定按照哪条路线行驶。

同时各路线的ETA(estimated time of arrival,预估到达时间)会直接显示给用户,这是用户关心的核心点之一。用户给定起点和终点后,我们的任务是预测起终点的ETA,ETA的准确率越高,给用户带来的出行体验越好。

2.基于深度学习模型的探索和实践

2.1模型选择

传统机器学习模型在ETA中,比较常用的有线性回归、RF(随机森林)、GBDT(梯度提升决策树)等回归预测类模型。线性模型表达能力较差,需要大量特征工程预先分析出有效的特征;RF通过样本随机和特征随机的方式引入更多的随机性,解决了决策树泛化能力弱的问题;GBDT是通过采用加法模型(即基函数的线性组合),以及不断减小训练过程产生的残差来达到回归的算法。

传统机器学习模型相对简单易懂,也能达到不错的效果,但存在两个问题:

  • 模型的表达能力跟选取的特征有关,需要人工事先分析出有效的特征。

  • 没有考虑上游对下游路段的影响,产生了如丢失上下游关联信息、下游受上游影响导致的不确定性等问题。

第一个问题很好理解,深度学习模型能很好地弥补这方面。针对第二个问题,以历史速度信息选取存在的不确定性为例来说明一下,历史速度信息是一个区分周一到周日七个工作日、10分钟间隔的历史平均时间,可以根据该路段的预计进入时间所在10分钟区间来选定。如下图(历史平均速度)从0:00-24:00的变化曲线,可以看到一天中特别是早晚高峰,速度值存在较大波动。

而在选取历史平均时间时,依赖的是预计进入时间,这个时间依赖于上游路段的预计通行时间,因此其选取存在不确定性,进而导致ETA计算不准确。

考虑到以上问题的存在,我们选择利用RNN的时间序列思想将路线中上下游路段串联起来进行路段ETA的预测。

另外考虑到RNN存在的长依赖问题,且结合实际业务情况,我们选择使用LSTM模型来进行建模,LSTM的门结构具有的选择性还能让模型自行学习选择保留哪些上游的特征信息进行预测。

2.2网络架构

上图为整个模型的框架图,主要分为两部分,使用LSTM模块对路线中的路段ETA的预测和最终使用N层全连接模块对累计路段ETA及路线各特征进行完整路线的ETA预测。

2.3路段ETA预测

上图为各路段ETA预测使用的LSTM结构图,Xt为路线中第t个路段的特征信息,主要包含对应的实时路况信息、历史路况信息、路段的静态特征等。

LSTM本是输入时间序列数据的模型,我们利用该思想,将路线中各路段序列依次输入模型。

2.4完整路线ETA预测

在LSTM模块得到累计路线ETA预测值后,结合该路线的静态属性,使用全连接模块将其整合成最终输出的完整路线ETA预测值。

路线的属性特征主要指一些人工提取的特征,如该路线的长度、导航规划发起特征日、是否早晚高峰时段等,用以加强模型在不同场景下的表达能力。

损失函数选用线性回归常用的平方形式:MSE,公式如下:

其中,N是路线数量,ETA路线j为路线ETA,即预测值;用户实走j为用户在该路线的实走时间,即真值。

3.模型效果

衡量模型效果,即路线上ETA的预测值时,主要考虑的是准确率。一般情况下,用户对ETA偏长和偏短的容忍度不同,对偏长容忍度更高。比如用户要去机场,ETA给的时间偏短10分钟比偏长10分钟对用户的损害更大。因此准确度的指标设计倾向于ETA偏长,定义为满足用户一定容忍范围的请求比例,即准确率作为主要衡量指标。

在北京市上的实验结果显示,ETA准确率得到提升,MSE loss下降比例28.2%,效果有了明显的提升。

4.小结

本文介绍了引入深度学习模型,帮助建模导航规划的预估到达时间预测,成功解决了线性模型的不足,也为后续引入更多特征、进行更多探索打开了空间,如历史速度信息的不确定度、时效性、周期性、突发事件、路网结构等。

特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:

长按订阅更多精彩▼如有收获,点个在看,诚挚感谢

深度学习在高德的探索与实践相关推荐

  1. 【深度学习】深度学习安防的探索与实践

    [深度学习]深度学习安防的探索与实践 文章目录 1 概述 2 安防领域的深度学习应用 3 当深度学习遇到系统和网络安全3.1 前馈神经网络概述3.2 基于深度学习的日志数据异常检测3.3 MAD-GA ...

  2. 【深度学习】模式识别技术探索之决策树(Decision tree)

    [深度学习]模式识别技术探索之决策树(Decision tree) 文章目录 1 什么是模式和模式识别? 2 常见的模式识别系统 3 应用领域 4 举例:随机森林(Random Forest)4.1 ...

  3. 【百家稷学】深度学习与计算机视觉核心理论与实践(中国地质大学实训)

    继续咱们百家稷学专题,本次是有三AI在中国地质大学进行的暑期课程教学.百家稷学专题的目标,是走进100所高校和企业进行学习与分享. 分享主题 本次分享是在中国地质大学机械与电子信息学院进行,主题是&l ...

  4. python原理书籍_python书籍推荐:《深入浅出深度学习:原理剖析与Python实践》

    在过去的这十年,深度学习已经席卷了整个科技界和工业界,2016年谷歌阿尔法狗打败围棋世界冠军李世石,更是使其成为备受瞩目的技术焦点. 今日,小编就为大家推荐一本能让初学者和"老司机" ...

  5. 好书荐读:阿里达摩院算法专家领衔《深度学习与图像识别:原理与实践》

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia计算机视觉联盟  报道  | 公众号 CVLianMeng 这本书现在当当新书榜排名前三 既然为大 ...

  6. 【干货】深度学习及在推荐中的实践-美团点评.pdf(附下载链接)

    今天给大家分享美团点评技术团队陈文石先生所做的分享<深度学习在推荐中的实践.pdf>. 本分享ppt共40页,包含如下四大部分: 1.推荐引擎概述: 2.点评推荐平台: 3.深度学习及在推 ...

  7. 【案例实践】Python多元线性回归、机器学习、深度学习在近红外光谱分析中的实践应用

    查看原文>>>基于Python多元线性回归.机器学习.深度学习在近红外光谱分析中的实践应用 [专家]: 郁磊副教授 主要从事MATLAB 编程.机器学习与数据挖掘.数据可视化和软件开 ...

  8. 视频教程-基于深度学习的计算机视觉:原理与实践(上部)-计算机视觉

    基于深度学习的计算机视觉:原理与实践(上部) 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥1 ...

  9. 基于深度学习的计算机视觉:原理与实践

    基于深度学习的计算机视觉:原理与实践(上部) 基于深度学习的计算机视觉:原理与实践(下部) 本课程适合具有一定深度学习基础,希望发展为深度学习之计算机视觉方向的算法工程师和研发人员的同学们. 基于深度 ...

最新文章

  1. linux系统盘满了,mysql启动不了
  2. 金融风控--申请评分卡模型--特征工程(特征分箱,WOE编码) 标签: 金融特征分箱-WOE编码 2017-07-16 21:26 4086人阅读 评论(2) 收藏 举报 分类: 金融风
  3. Springboot制作小网盘系统(小项目)
  4. Bootstrap + Thymeleaf——预约维修前端页面设计(UI + JS数据校验 + JSON序列化 + AJAX提交)DEMO
  5. boost::geometry模块Linestring多边形叠加示例
  6. JVM调优: 转载JVM调优总结
  7. Spring Cloud 升级最新 Finchley 版本,踩了所有的坑
  8. 访问控制模型ACL和RBAC
  9. 【转载】生怕我等着急了的扬州程序员
  10. 演练 开心庄园 1002
  11. Windows 7下可用的“超级终端”——Hypertrm和SecureCRT
  12. 实对称矩阵一定可以对角化
  13. 腾龙视觉设计学院孙姣老师讲pscs6艺术照片课录屏
  14. 古典恺撒移位密码破解
  15. 港科夜闻丨香港科大陈启峰教授入选中国区“35岁以下科技创新35人”
  16. SGU 482 Impudent Thief dp
  17. 便利贴--17{移动端滑动模块}
  18. 一款公历转农历节气以及天干地支的js代码
  19. ScrollBar ScrollWindow
  20. PyQt5-QWidget、QDialog及QMainWindow的区别

热门文章

  1. 零基础学stm32要多久?stm32应该怎么学?
  2. linux 在硬盘中创建文件系统,linux mkfs命令创建Linux文件系统
  3. 回溯法排序树怎么画_kd tree(k-dimensional树的简称)
  4. Flask-Email的相关知识点实现(发送电子邮件)
  5. 1045 快速排序 (25分)
  6. C语言求cidr,求诸位大师解答一个关于CIDR地址划分的问题
  7. luogu P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现)
  8. android 严苛模式,Android- 严苛模式(StrictMode)
  9. 关于owner group others的测试
  10. Python | 用PrettyPrinter,让Python输出更漂亮,你值得拥有