清华机器学习科学家李建:如何用深度学习来解析时空大数据?

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云解析 DNS,旗舰版 1个月
简介:

雷锋网AI科技评论按:6月24日下午,钛媒体和杉数科技主办的2017 AI 大师论坛在京举行,论坛邀请了五位算法优化、机器学习领域的顶尖教授、学者出席并发表学术演讲,雷锋网(公众号:雷锋网)记者也对论坛进行了跟踪报道。本篇内容根据机器学习领域专家李建的论坛分享实录整理而成。

李建,清华大学交叉信息研究院助理教授、杉数科技科学家,美国马里兰大学博士、国内机器学习领域最顶尖的前沿科学家之一,国际学术会议VLDB 2009和ESA 2010最佳论文奖获得者,清华211基础研究青年人才支持计划以及教育部新世纪人才支持计划青年学者,主要研究方向为算法设计与分析、机器学习与深度学习、随机优化与组合优化等。

清华大学交叉信息研究院:该院于2011年成立,由姚期智院士建立,姚期智院士是我国唯一的图灵奖获得者(图灵奖是计算机科学最高奖)。他在2005年从普林斯顿大学辞去终身教职职位,回国全职到清华创立姚班,也就是交叉信息研究院的本科生班,也被称为清华大学计算机科学实验班。

以下为李建在论坛的分享实录,雷锋网做了不改动原意的编辑整理:

什么是时空大数据

时空大数据,顾名思义,有时间的属性和空间的属性两个维度。比如说,GPS数据,首先有定位点,定位点就是空间的属性,进入的时间就是时间的属性。还有网约车的订单数据,发的这个订单数据就有当时的时间和空间,也是时空大数据典型的例子。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

另外库存管理产生的数据页是时空大数据,杉数科技主要的一个业务就是供应链,用来做库存管理。其中包含很多步骤,在线的电商数据,社交网络的数据,也都是典型的时空大数据。

金融数据在某种意义上也是时空大数据。首先有时间的属性,时间序列,另外比如说不同的板块,不同的类型,不同的行业,有不同的空间属性,也是比较典型的时空大数据。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

时空大数据的特点

时空大数据的特点是,既有时间的属性也有空间的属性,就像谈到深度学习,经常谈到比如说图像识别,其中很重要一点就是识别图象的空间属性。如果大家对深度学习有一点了解,做图像识别是需要用CNN(卷积神经网络)的,主要挖掘的就是空间的多变性,所以时空大数据是跟图像识别有共通的。还有一个时间的属性,RNN,也就是递推神经网络处理序列的数据。同时包含时间和空间的这两个属性,就对时空大数据提出很多新的挑战。

同时,另一个时空大数据的特点是有很多类型的数据。要解决一个问题要用到方方面面的信息,比如说预测网约车订单供需量的应用,数据的类型就包含很多种,像GPS,订单的数据,天气的数据还有附近的路况数据,可以用的数据非常多种。这跟原来深度学习所处理的问题不一样,做图像识别只需要图像就够了,要做语音识别,只需要语音就够了,而时空大数据要有各种各样的数据,这些数据都是不同质的,需要组合起来,然后来进行学习和预测。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

李建认为目前深度学习在比如说图像识别、语音识别这些领域,都可以说比较成功,也有很成功的商业化模式,但深度学习在时空大数据方面的研究,只是刚刚起步还没有非常成熟的一套方法论。他刚好研究这个方向就做了一系列的工作,相当于是一个初步的尝试,而且也应用到了企业级的应用项目上。其中包含和杉数的一些合作项目。

他认为将深度学习应用在时空大数据的分析上有非常广阔的前景。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

基于深度学习的网约车订单预测。网约车订单的问题,是要解决什么样的问题呢?首先想做的事情是预测未来比如说15分钟或者半个小时,在一个指定的区域内会有多少网约车订单。也就是说,你发一个订单,这是一个预测目标,有多少的订单,就相当于是我们的需求。另外一个想预测的就是有多少需求不会满足,对网约车平台来说也是一个很重要的应用,如果在一个地区预计将来比如说半个小时有很多的订单不会满足的话,就可能会事先派一些车到这个区域或者说经过这个区域,另外还会动态的调价,这对他们预测问题是非常重要的课题。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

这个问题的难点就像刚才讲的是时空大数据典型的应用,各种各样的数据页都可以应用在里面,比如说GPS的数据、天气、路况都非常有影响。可以看这个图,红色代表这个地方的需求量特别大,绿色代表需求量不是很大,可以看到不同区域的需求量是非常不一样的。随着时间的变化,它的需求也是非常不一样的,比如上图随着时间从00点到20点,可以看到上班的时候有一个明显的高峰,下班的时候也有明显的高峰,这显然是一个工作的区域。另一个区域就不一样,是一个居民区,下班的时候才会有比较好的高峰。随着时间的变化,周一周二周三周四节假日对这个图也都会有非常大的影响。

如何用深度学习解决这个问题,传统的学习方法是把很多数据源的不同数据挖掘出它们的特征,需要不同的组合、创造力或者说特殊的方法对这些数据挖掘,然后做一些统计量把它们拼到一起放在机器模型里。这个过程通常是要花很多很多的时间,精力和人员的。

现在的想法就是利用深度学习自动的从不同的数据里面挖掘特征。因为深度学习有一个自动的特征挖掘能力。但是现在深度学习在时空大数据中自动挖掘特征还没有一个非常好的模式,我们希望做一个深度学习这样的一个框架,能够从各种不同的数据源挖掘特征,把这些特征组合在一起,然后有这样的一个框架来进行预测。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

这是经过一段时间探索得到的深度学习框架,这里面有很多的细节我都没有刻画,但是大致的思想是这样的。首先它是一个弯道模型,经过简单的处理,就可以输入到网络里,而且这个网络可以容纳不同类型的数据,比如说订单数据,天气数据,交通数据。从这个数据里面抓取有用的信息来帮助预测,这是预测的输出。处理每个不同的数据需要不同的网络板块和节奏,简单的说就叫ID模块,想预测不同的区域,这个区域就有一个ID,area ID,把它输入进去,然后想预测什么时间,把时间的ID输进去,然后哪个周,把周输入进去。一般神经网络是处理连续性的数据,不擅于处理离散性数据,这就需要嵌入这样的技术,把离散的变成连续性的,然后再输入下一步神经网络里。

另外构造模块的处理,订单的数据,是复杂的模块,因为订单首先数量非常非常的大。每个订单包含的属性非常多,但是这里面是受到传统的时间序列模型启发。比如说时间序列,如果时间序列模型做一下插分会有更好的预测,在神经网络就有这样的思想,预测经过插分的序列,然后把订单数据整合起来。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

这个图片是讲的嵌入操作的功能,在做传统机器学习的时候,比如说,现在想预测周一某一个时间段的供需,周一和周二的预测是不一样的,现在想法是把历史上周一的数据拿出来做一下训练,周二的数据再拿出来训练另外的模型,训练不同的模型,因为这个非常不一样,把它们融在一起训练一个模型效果并不太好。现在深度神经网络就希望把所有的数据拿出来练一个模型,通过嵌入操作对这些数据,这个点进行归类,看这两个曲线的时间序列,然后就会发现这个高峰非常的相似,这是自动的进行归类,一定时间中他们也非常相近。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

这是深度神经网络得到的预测的效果,和传统的方法比了一下——比如说LASSO,GBDT也是非常常见的一个方法,还有RF,也都是大家常用的。团队有一个Basic DeepSD,这个是简单版本,滴滴做这个项目举办了一场大数据竞赛,全球有1000多个队伍参加,Basic  DeepSD获得第二名,当时给的数据比较少,模型还可以有进一步的提升,后来研发了Advanced DeepSD,结果很明显得到了提升。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

这个虚线绿的是真实值,红线是传统的非常好的GBDT方法,蓝线的是DeepSD新方法,红线的预测多了,蓝的预测的好一点,有些地方是红线预测的少,像红的是传统方法预测的就比正常的少,但是我们算法要好一点。

深度学习能够更好抓住变化的趋势

第二个场景是出行时间预测,比如说在百度地图里面从A点走到B点,然后想预测,开车要开多久。当时从8点开车,当时这个地方非常非常堵,预测要花很多的时间,等开到这个附近已经不堵了,实际上花的时间没这么多了。当时不堵,开到这边就堵了,在当时计算的时间也不一样。这里面就是计算加预测的问题。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

这里面也有很多的挑战,不光是有路况,也有地点的属性,要处理新的数据,也就叫做trajectory 数据,另外还包括具体的司机的属性,根据一些历史信息,对这个新的司机开一个新的路会花多久进行预测。某种意义上是学习司机的习惯。

这是团队研发的深度学习框架,大致的数据理念跟刚才一样的,有一系列的模块,不同的模块处理不同的数据源。像上面提到的这个也有ID数据。完全不一样的是这个数据是序列数据类型,是一个新的模块,新的模块我们用的是LSTM(长短记忆模型),这个在深度学习里面是非常重要的模块应用,是用来做序列学习非常重要且很有力的工具。团队把这个通过一系列的方式组合起来进行预测。

这是中间一个序列模块,用来预测这个序列。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

另外针对提到的有很多辅助信息,发展了一个辅助内容的模块。虽然说想预测从A点到B点花的时间,结果就是一个数值,但实际有很多信息的,从A到B走每一段小路都是有时间的,知道走多长时间,这些都是辅助信息。如果把这些辅助信息丢掉预测的话就有点浪费,所以就专门用一个模块来利用这些辅助信息把预测做到更好。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?


下面是商店选址,传统的商店选址是通过优化的方法,或者说通过问卷调查的方法,在一个地方发一些问卷,看这个地方有多少人进这个商店,这种成本代价比较高,而且并不是非常准确。团队就跟百度大数据实验室合作进行一个项目,利用百度的大数据来确定帮助进行商店选址。大致就是,首先进行用户的需求分析,分析什么地方会有很多用户需求,然后就在用户去的多的地方进行选址会比较好一点。这个需求实际上是从百度的移动端里面挖掘的,比如在百度地图里面搜了一下想去星巴克,那么就代表有一个单位的需求,或者说专门搜了一下咖啡也是代表有需求,或者说想吃饭、海底捞、饭馆。首先总结这些需求,一种是非常具体的需求,比如说星巴克,就想去星巴克的这个店,另外一种比如说想喝咖啡,这样的需求。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

利用这些需求知道哪些需求比较多哪些需求比较少,然后就会有这样的一个数据。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

现有的商店数据。因为比如说想开咖啡店,这已经有三五个咖啡店就不想再在这里开咖啡店,现有的咖啡店的数据也是有的,每个咖啡店也有自己的数据,能够服务大概多少的需求,就是希望看看剩下的哪些需求还没有被满足,比如说这个例子中有很多的供给,这个供给已经可以满足需求了,有这样的模型,一个供给可以满足多少需求,剩下的这些需求进行一个聚类,然后大数据分析得到一些中心点,这就是后选的一些选址的位置。最后做机器学习找出最好的中心点。上面的图是是根据距离、店的大小判断去掉已经有的需求。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

这里有一个实地的案例分析,就是用上面提到的方法去进行选址,比如说第一个图,是海底捞,后来发现,在不远处就刚刚开了这样的一个店,开店的人并不知道是大数据选的址。大数据选址可能跟他们选的也差不多,但是会给出很多的后选的地点。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

这个是到访预测。走到一个购物商场,有很多的店,那么实际上到了哪一个店这是想要的数据。到了购物商场会连到这个wifi,这个数据页是要用的数据。也有一些现有的工作,基于这个距离的,还用一些传统的learning-to-rank,这个效果都一般,比如说这个人,想去哪一个地方,下一步会有一个偏好,如果光看一个人的话并不能抓住这些特点。这个框架跟刚才的类似,有一个不同就是用了贝叶斯方法,可以处理一个难点,就是GPS的数据比较多,但是check in比较少的情况下,推断去哪些点,然后把这个推断分到深度学习框架里,这个预测的准确率还是不错的。最后的是这个准确率模型,简单的贝叶斯的方法基本上可以做到。如果预测5个,5个中间有一个是对的概率基本上是80%;预测3个,70%的概率3个中间有一个是对的。

清华机器学习科学家李建:如何用深度学习来解析时空大数据?


最后讲研发的这个深度学习框架,是用来做出入仓预测的。大型物流公司一般都需要做一下出入仓流量预测,会方便他们排班或者事先规划。这个框架大致也跟团队研究的框架很相似。

谢谢大家!

雷锋网整理编辑

本文作者:杨文

本文转自雷锋网禁止二次转载,原文链接

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4天前
|
机器学习/深度学习 并行计算 PyTorch
【机器学习】探索GRU:深度学习中门控循环单元的魅力
【机器学习】探索GRU:深度学习中门控循环单元的魅力
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能的未来:机器学习与深度学习的融合之旅
【9月更文挑战第35天】在这篇文章中,我们将深入探讨人工智能的两大支柱——机器学习和深度学习。我们将通过代码示例和实际应用案例,揭示它们如何相互补充,共同推动AI技术的发展。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和启示。
33 0
|
1月前
|
机器学习/深度学习 数据采集 算法
R语言中的机器学习库:caret与mlr的深度解析
【9月更文挑战第2天】Caret和mlr是R语言中两个非常重要的机器学习库,它们在数据预处理、模型构建、调优和评估等方面提供了丰富的功能。Caret以其易用性和集成性著称,适合初学者和快速原型开发;而mlr则以其全面性和可扩展性见长,适合处理复杂的机器学习项目。在实际应用中,用户可以根据具体需求和项目特点选择合适的库进行开发。无论是学术研究、商业智能还是教育场景,这两个库都能为数据科学家和机器学习爱好者提供强大的支持。
|
3天前
|
机器学习/深度学习 搜索推荐 大数据
深度解析:如何通过精妙的特征工程与创新模型结构大幅提升推荐系统中的召回率,带你一步步攻克大数据检索难题
【10月更文挑战第2天】在处理大规模数据集的推荐系统项目时,提高检索模型的召回率成为关键挑战。本文分享了通过改进特征工程(如加入用户活跃时段和物品相似度)和优化模型结构(引入注意力机制)来提升召回率的具体策略与实现代码。严格的A/B测试验证了新模型的有效性,为改善用户体验奠定了基础。这次实践加深了对特征工程与模型优化的理解,并为未来的技术探索提供了方向。
20 2
深度解析:如何通过精妙的特征工程与创新模型结构大幅提升推荐系统中的召回率,带你一步步攻克大数据检索难题
|
4天前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
25天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
52 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
6天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
探索机器学习:从线性回归到深度学习
在这篇文章中,我们将一起踏上一场激动人心的旅程,穿越机器学习的广阔天地。我们将从最基本的线性回归开始,逐步深入到复杂的深度学习模型。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和深入的理解。让我们一起探索这个充满无限可能的世界吧!
|
26天前
|
机器学习/深度学习 数据挖掘 大数据
大数据时代的“淘金术”:Python数据分析+深度学习框架实战指南
在大数据时代,数据被视为新财富源泉,而从海量信息中提取价值成为企业竞争的核心。本文通过对比方式探讨如何运用Python数据分析与深度学习框架实现这一目标。Python凭借其强大的数据处理能力及丰富库支持,已成为数据科学家首选工具;而TensorFlow和PyTorch等深度学习框架则为复杂模型构建提供强有力的技术支撑。通过融合Python数据分析与深度学习技术,我们能在各领域中发掘数据的无限潜力。无论是商业分析还是医疗健康,掌握这些技能都将为企业和社会带来巨大价值。
45 6
|
1天前
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
9 0
|
1天前
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
11 0