谷歌详解如何用机器学习攻克我们停车难的问题
近日,谷歌在安卓设备的更新中,为谷歌地图新增了一项功能——预测目的地的停车状况。
用户只需在谷歌地图中查询路线,就可以看到一个新的图标。如果谷歌预测到你所去的目的地可能有停车难的风险,你就会看到地图上出现一个彩色的点,且附带字母P。停车的难易程度将分为“车位有限”、“中等”和“容易”三个等级。
如果谷歌预测到你所去的目的地可能有停车难的风险,地图上会出现彩色的点,且附带字母P。
谷歌的一篇官方博客称,这一功能目前已经向25个美国最大的城市地区开放。但谷歌公司正寻求在未来将该功能推广至更多的城市和国家,以及打破平台限制,延伸至苹果iPhone设备上的谷歌地图应用。
谷歌平台上的另一个地图应用Waze也为美国许多大城市提供类似服务,但谷歌地图采用的方式略有不同。Waze预估停车位时采用了INRIX公司整合的停车数据信息,但谷歌声称其停车预测是基于用户主动共享地理位置历史,从而获得的匿名数据。
2月3日,谷歌的软件工程师James Cook、Yechen Li和研究员Ravi Kumar联合发布了一份研究报告,详细论述了此项应用的原理。
要提供这一停车预测功能,工程师们需要解决许多问题——停车情况复杂多变,几乎没有实时的停车位信息;即使有些地区有联网的停车计时器,这些数据也不包括非法停车、许可停车和提前离开等信息;道路只能提供二维图像,但停车场本身结构更为复杂;停车位的供需即时变动,即使是最好的系统都很可能无法及时更新。
为了解决这些问题,谷歌的团队结合了众包和机器学习来建立能够提供停车难度信息的系统,甚至还能帮助用户决策采用何种方式出行。在预发布的实验中,他们发现出行模式按钮的点击量大增,这表明用户获得了停车难度信息之后,会更倾向于考虑公共出行方式,以取代开车。【编注:众包,即crowdsourcing,指的是一个公司或机构把过去由员工执行的工作任务,以*自愿的形式外包给非特定的(而且通常是大型的)大众网络的做法。】
要为解决停车难的问题设计算法,需要三方面技术——通过众包的方法获得地面实况数据、一个合适的机器学习模型,以及一个用以训练模型的强大特征集。
地面实况数据
在机器学习解决方案中,收集高质量的实况数据一直是个关键挑战。谷歌团队采用的方法是,问司机是否遇到了停车难的问题。但是,他们很快发现,面对这样主观的问题,通常会得到相互矛盾的答案:对同一时间段的同一地点,有的人回答“容易”找到停车位,有的人的回答却是“难”。换成“多久能找到停车位?”这样的客观问题,答案的可信度就有了很大的提高,从而能众包产生高质量的、超过10万个回答的实况数据集。
模型特征
有了可用数据,接下来就是选择用来训练模型的特征。该项目利用的是喜欢分享定位的用户提供的匿名聚合信息,以此作为评估实时交通状况、高流通时间段、访问时长的关键信息源。
谷歌研究员在报告中称,他们很快便发现,即便有了所需数据,还是会遇到一些独特的挑战。比如,如果有人在自己门前或者私人的停车位停车,系统不该错误地认为这里的停车位是可用的。用户搭乘出租车到达,可能会造成门前停车很多的假象,与此类似,公共交通用户可能会被系统认为是在公交车站停车。这些错误的认知,都会误导机器学习系统。
因此,系统的设计需要更强大的聚合特征。其中一个功能的灵感就来自谷歌所在的Mountain View地区。如果谷歌导航发现大量用户在午餐时间开着车在市中心绕圈,这就表明停车位很难找。
如果谷歌导航发现大量用户在午餐时间开着车在市中心绕圈,这就表明停车位很难找。
谷歌的研究员在思考,如何把这些关于停车难的“蛛丝马迹”作为一个特征来进行训练。研究员把用户直接到达目的地时间与绕圈、停车、步行这样实际到达目的地的时间进行了对比,聚合了二者之间的不同。如果多数用户在二者之间所用的时间存在显著差异,就被认为是遇到了停车难的问题。
之后,谷歌团队继续开发了更多的特征:特定的目的地、散步的停车地点、停车的时间点与日期(例如,用户在早晨会停得离目的地很近,在高峰时间会很远,这怎么办?)、历史停车数据等等。最后,他们得到了大约20个不同的特征。之后,就是调整模型的表现了。
模型选择和训练
针对上述特征,研究员使用了一个标准的回归机器学习模型。这种选择有几个原因:首先,逻辑回归的原理是大家所熟知的,并且,在训练数据中,它对噪音是有弹性的;第二,可以将这些模型的输出解释为停车难的概率,然后可以将其映射成描述性术语,如“停车位有限”或“轻松停车”;第三,很容易理解每个特定特征的影响,这使得验证模型是否合理更加容易。例如,当研究员开始训练时,许多人认为上述“蛛丝马迹”的功能将是最好的方法,可以解决所遇到的难题。但实际情况并非如此,事实上,基于车位位置分散的特征才是停车难度最强大的预测因素之一。
结论
使用谷歌的模型,研究员们能够为任何位置和时间的停车难度生成一个估算值。下图是该系统输出的几个例子,用于提供给定目的地的停车难度估计。比如,星期一早上对整个城市来说都停车困难,尤其是最繁忙的金融和零售区。在星期六晚上,又会再次变得繁忙,但却主要集中在餐厅和景点等区域。
停车难度模型在旧金山金融区和联合广场地区上的输出。红色表示有更高置信度的停车困难。上排:一个典型周一的上午8点(左)和9点(右)。下排:一个典型周六的相同时间。