解读目的地预测背后的AI算法
随着大数据、人工智能的技术进步,以及汽车朝网联化、智能化的快速发展,拥有强劲的AI算法和技术支撑,我们已经可以实现较高准确率的目的地预测。文章就来解读一下关于目的地预测背后的AI算法。
人工智能,将要如何改变汽车?或者说,智能汽车究竟是什么样的?
我想,每个人都能说出很多答案。对斑小宝来说,心目中的智能汽车,TA其实就是“轮式移动机器人”。既然是机器人,符合“机器人大三定律”,就要安全、聪明、善解人意。
早在上世纪80年代,美国科幻电剧《霹雳游侠》中就有一个会说话的人工智能汽车KITT,这是对智能汽车比较早的回答了。看看KITT都有哪些智能化吧,拥有自我意识、可以说多国方言、懂得幽默,俨然就是一副轮式的、智商能力远超人类的机器人。
但是在今天,这些强人工智能的阶段仍然非常遥远。然而在弱人工智能的范畴,通过AI算法和应用来解决特定领域的问题,在很多领已经落地成为现实,比如说:我们今天要谈到的这个应用,汽车自动预测目的地。
去年,有一位特斯拉的用户在Twitter上建议说,马斯克可以考虑设计一款智能汽车,当用户上车时只需要简单提问,它就能了解你要去的目的地。但是马斯克回应说,根本不用你说话,未来的特斯拉汽车将会自动预测你的目的地。
对现实中的大多数人来说,似乎不太相信汽车真的能“了解”你准备去的目的地。随着大数据、人工智能的技术进步,以及汽车朝网联化、智能化的快速发展,拥有强劲的AI算法和技术支撑,我们已经可以实现较高准确率的目的地预测。
行程预测算法模型,是Zebrai汽车数智大脑AI应用的重要功能之一。可以实现在用户开车出发前,准确预测并推荐最可能的目的地,以提升用户的智能化出行体验。
想象一下,当我们坐上驾驶室系好安全带,汽车就能猜到我们将要前往的目的地并作出准确的推荐,这种惊喜的感觉比拥有一辆“会说话的汽车”似乎也差不到哪儿去。同时,可以惊艳用户,彰显汽车的人工智能科技。
典型案例
那么,具体是如何实现预测的呢?
剖析这个应用场景,实际上我们要做的就是通过用户的出行历史,预测用户当前时间、当前地点下的出行目的地。
目前,斑马数智已经对接了超过700万台车、20亿段行程、300亿公里、640亿分钟的超大数据规模,基于积累的这些海量行车数据,我们发现:人们的出行往往存在一定的规律,用户往往倾向在类似的时间到达相同的目的地。而对线下位置进行分析,也有助于精准推荐用户的实时目的地。
举几个比较典型的例子,来看看目的地预测的一些非常有意思的地方:
(1)用户A:根据出发时间预测
该用户去目的地a的平均出发时刻是8:40,去目的地b的平均出发时刻是18:35。这时我们只用出发时间这一个特征就能够很好的区分他去往哪个目的地。
(2)用户B:根据出发地点预测
该用户去目的地a和目的地b的平均时刻非常接近,难以通过时间预测目的地。通过发现该用户去目的地a和b时,对应出发地的经纬度集中在不同区域,就可以根据出发地点预测目的地。
(3)用户C:根据出发时间、地点相结合预测
当该用户出发时间和地点的单一特征都不容易区分时,通过出发地和出发时刻两个变量联合出来,就可以知道该用户的目的地。即我们通过出行历史发现,如果这个用户是18点左右,并且他从a地出发的话,他很大概率是去b地。
机器学习算法
实际的模型却更加复杂。我们发现:时间与目的地之间具有一维的正态分布关系,出发地点经纬度与目的地之间有二维正态分布关系,所以我们在建模的时候需要将一维和二维联合起来,建立一个三维的模型。
为了建立这个三维模型,我们把用户去D(D 表示特定目的地)和不去D划分成两类不同的正态分布来进行描述。我们估算的就是在X特征下(时间、经纬度特征)去D这个目的地的概率,借助贝叶斯公式变换、以及线性代数的计算,把整个过程进行推导,最终推导出一个类似逻辑回归的方程。
如果要实现较高的准确度,我们还要注意几点:
- 一个是正态分布和贝叶斯框架推导出来的逻辑回归有二次项和交叉项;
- 另一个,时间、经纬度不一定符合正态分布,因为正态分布是从负无穷大到正无穷大连续的,但时间从0-24小时会有周期性。这个时候如果强制性使用正态分布,就会导致模型的准确率非常低。所以需要对特征进行一些工程化处理,就是特征工程。
采用机器学习特征工程处理方法,我们进行了一些特征筛选,筛除时间、出发地这些相关性比较高的特征。然后从用户的出行历史中,把POI的信息结合进来,挖掘用户的行为规律,以增加预测的准确性。
我们不仅是用纯数学的经纬度去做预测,还需要对用户出发地到目的地之间POI类型进行掌握。
综合考虑以上因素,就可以实现非常高的预测准确率。
本文由 @ jmto 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自 Pexels,基于 CC0 协议
感觉斑马发错了地方,和运营的人说些没人看懂,汽车之家论坛讨论的人也比这多呀。