讲堂郑宇:多源数据融合与时空数据挖掘_第1页
讲堂郑宇:多源数据融合与时空数据挖掘_第2页
讲堂郑宇:多源数据融合与时空数据挖掘_第3页
讲堂郑宇:多源数据融合与时空数据挖掘_第4页
讲堂郑宇:多源数据融合与时空数据挖掘_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、讲堂郑宇:多源数据融合与时空数据挖掘(上)本文根据郑宇博士在中国人工智能学会AIDL第二期人 工智能前沿讲习班所作报告多源数据融合与时空数据编 辑整理而来,在未改变原意的基础上略作了删减。本文转 载自“AI科技评论”,转载已获得授权。谢谢介绍,谢谢邀 请!大家经常听到的机器学习、人工智能这些概念,大部分 应用案例都是在图形图像以及自然语言处理方面,在城市里 跟我们生活比较接近的,特别是应用在时空数据的例子比较 少。现在我就用城市大数据为例子,来说明一下机器学习如 何应用于时空数据领域。大家都知道我们现在生活越来越现代化,但是问题越来越 多:交通拥堵、环境恶化、能耗增加。要解决这些问题在很 多年

2、前看似几乎不可能,因为城市设置非常复杂,环环相扣, 牵一发而动全身,现在由于有了各种传感器技术的成熟和云 计算单元的成熟,使得我们有各种各样的大数据,从社交媒 体到交通流量,从气象条件到地理信息,如果使用得当的话, 我们就能够用这些数据来发现城市面临的问题,并进一步通 过组合这些数据来解决我们面临的挑战。基于这样的机遇和 挑战,我们在2008年就提出了城市计算这样一个愿景,包 括以下四个层面:从下往上(下图)有城市感知数据获取, 城市数据的管理,城市数据的分析和挖掘到最后服务的提 供。虽然我们今天主题是叫机器学习,但是我想你们肯定想, 机器学习到底能解决什么城市问题。在机器学习真正落地的 过程

3、中,可能还要依托于其他的平台甚至于其他的学科,包 括数据管理。我就成体系地讲讲到底机器学习算法怎么改变 我们生活中的方方面面。从最下面的层面来看,城市数据感知这部分,其实每个层面 都发现我们都需要用机器学习的方法来做一些事情,这个层 面是概念上划分的,实际说是互相有交集的。城市数据获取我们看城市数据的获取,获取方式主要有两种: 第一种,以传统传感器为感知的方法 第二种,以人 为中心的感知方法第一个,以传统传感器的感知方法进一步可以分成两个子 类,要么把传感器放在一些固定的地方,要么把传感器装在 一些移动的物体上面,比如说在公交车、出租车上装传感器, 但是不管哪一种,一旦装完之后人就不参与了,这

4、个数据自 动传到我们后台。另外一个,以人为中心的感知,这是比较新的概念,也叫群 体感知,这里面也分成两个方面,一个叫做被动式群体感知, 一个叫主动式群体感知。被动式群体感知,每天每个人都在 参与,我们并不知道我们打电话的时候,我们的数据可以拿 去改进通话网络的质量;我们并不知道我们公交车上下车刷 卡的时候,这个数据可以帮助优化我们的公交线路,改进城 市规划。把每个人的数据收集在一起,感知城市的变化,最 后解决问题,这叫做被动式群体感知。主动式群体感知就是, 任务是什么很明确,什么时间、什么地点、干什么事情、共 享用什么数据,这个数据拿来干什么用都很清楚,甚至还有 激励机制,你可以选择什么时候加

5、入或不加入。这是目前城 市数据来源的四种方式。城市感知之后我们会遇到什么样的难点呢,特别是跟机器学 习有什么相关性,我总结了四个方面的难点,跟机器学习相 关的难点。第一,我们在城市数据感知的时候,往往拿到的是采样 数据,不是全集。假设整个城市数据是灰色的点,我们可能只拿到红色的这一 部分,某些属性在这些采样数据上分布跟在全集数据上的分 布很不一样。举个实例,比如可以拿到出租车的GPS轨迹(数 据),我们知道出租车只是整个城市里面车流的一小部分, 出租车的分布跟我们私家车的分布可能很不一样,有的地方 可能很多出租车,但是没有那么多私家车,反过来,可能有 的地方很多私家车,却没有什么出租车。所以你

6、不能说简单 看到几个出租车,乘一个系数就推断有多少私家车,这个就 是偏斜的分布问题,不管哪个场景里,发现我们拿到的都是 采样,如何从这些采样数据里面把全集的知识推断出来,比 如说怎么把整个城市里面所有车的车流量实时推断出来,这 就是对应的难点。这个地方有相应的论文,如果你对这个问 题感兴趣的话,类似的问题可以从这些论文里找到相关的技 术,我先把它概述一下,这是第一个难点。 第二,Data Sparsity,我们的传感器彳主彳主是很少的举个例子,我们北京市空气质量分析。北京市我们建了 35 个空气质量站点,你知道北京那么大,光靠这35个空气质 量站点,怎么把整个北京市每个角落的空气质量都能够感知

7、 到呢,这是一个数据稀疏的问题,这里面要用到一些机器学 习的方法来做。 第三,Data Missing的问题这个问题可能很多人认为跟Data Sparsity是同一个问题,其 实不是同一个问题.。Data Sparsity是采样点很少,DataMissing是说本来就应该有个点,可是因为传感器出现故障, 导致这个小时的数据会丢失。Data Missing是一个雪上加霜 的问题,不是同一个问题,一个是说传感器少,一个说我本 来有传感器可能还会丢,怎么去把这个丢失的数据填满,这 可能是很多问题需要做的预处理的第一步,后面学习的时候 就要填,怎么填一下等下我来讲。Data Sparsity、Data

8、 Missing, 这是第二和第三大挑战。 第四,资源有限如何用有限的资源做更多的事情,采更多的数据,如何利用 限的资源获得更大的感知效果,这是非常困难的。为什么困 难?两个原因,第一,我们有很多候选集可以选,从很大的 数据集里面选一部分数据的时候,往往是一个NP的问题。 比如,我们城市那么大,每个路口都可以布充电桩或者加油 站,而我只有钱布2到3个充电桩,我应该放在什么位置, 使得效果最大化。这就是一个maximum coverage的问题。还 有一个原因会导致问题更难,即我们根本不知道Ground Truth。假设北京已经有两个空气质量监测站点,我们还要建 4个,我们要放在什么地方使得空气

9、质量感知最大化,你没 有建站点之前不知道这个空气质量多少,根本不知道什么叫 好、什么叫坏,这是难点,里面都有相关的论文去解决这样 的问题。现在讲完城市感知的一些挑战和采集的方法之后, 我们来看一个比较真实的例子。先看一个偏应用的,再看一 个偏理论的。先看比较偏应用的。我们都知道120系统,病人打电话到急救中心,急救中心会 从救护车站派车把人送到医院,再返回到救护车站。救护车 站并不都在医院,有很多原因。 第一,救护车运营系统 和医院其实是两个不同的系统;第二,很多时候我们必须要把救护车放在某个地方(不 是在医院),要保证对任何一个呼救,救护车能在规定的时 间内能够到达抢救地点。如果车都放到医院

10、里面,必然有的 地方就会太远,使得救护车不能在规定时间内到达,抢救病 人。下图是天津市的一个救护车站站点的分布图。以前站点的选 址,可以说基本上是拍脑袋决定,比如根据一个地方大概的 总人口数、路网密度来布置站点。大家知道120的需求量跟 人口数并不一定成比例,还跟人的身体健康状况、年龄结构 有关。现在我们有了真实的120求救数据,我们知道什么时 间、什么地方,有多少人求救。以及救护车在急救过程中他 们的GPS轨迹、花了多少时间,通过我们的方法、算法重新 对站点的位置选址和布局,使得救护车救这么多病人平均抢 救时间最小化。通过我们的算法重新选址后,我们能够把抢 救时间缩短30%。比如,以前救10

11、0个病人假设花100个小 时,现在只需要花70个小时,还是那么多车、还是那么多 站点,我们却能更快地把病人送到医院。把时间节约下来留 在在手术室抢救病人的生命,这是人命关天的事情,是资源 调度优化的问题。这个站点如何部署就很有讲究了,你放的 好和不好就会有很大的区别。第一步放完站点之后,第二步, 这个站点里面的车的数量不是固定的,有的地方早上需求量 较大,有的地方晚上需求量较大,不能说车从早到晚一直放 在某个站点,浪费了。这个车在站点之间如何动态调配,使 得我们的资源最大化,这是问题。这是我们解决这个问题里 边两个研究的点,这两个技术分别干什么事情,第一个是选 站点,第二个是资源在站点之间的调

12、配。你可以想象这是一 类通用的问题。找出一个点,使得很多人到这个点的平均时 间最短化。通俗的例子,比如我们10个同学聚会,选择哪 个地方聚会,使得大家去的平均时间最短,这就是一个例子。 我们救护车站、火警,凡是时间因素非常关键的选址都可选 用这类模式。第二个,偏理论的例子。我刚才说数据会缺失,要填补,怎 么填补?这是一个非常基础的问题,几乎我们做所有的机器 学习的人在第一步拿出数据的时候会发现,这个数据质量不 好,有一些缺失。可能传感器坏了,或者数据没传过来。我 们拿的很多数据都是有缺的,气象数据有缺的,空气质量有 缺的,甚至包括车联网里面数据很多都是会出现残缺的,怎 么填?这是一个很重要的问

13、题。我们怎么做呢?我们基本上 就是利用缺失点时序以及空间邻居的数据,一起来把这个数 据填满,而不是仅仅只看自己的时间临近值。至于怎么用、 怎么填是有讲究的,是用前一小时的数据还是用周边的数 据,这个其实是比较难决策的过程。这个问题有几个难点, 为什么很难? 第一,我们并不知道什么时候、什么地方数据缺,缺的 是随机的,不是固定的,导致我们很多机器学习模型不能用。 因为我们知道机器学习的输入,一定是有输入的特征、维度, 各种维度是固定的,如果你不知道哪个地方会缺、哪个地方 会有,你的目标在哪里都不知道,所以很难用一个很好的固 定模型来做。甚至有时候会出现整体缺失,比如说6个小时 断电了,所有传感器

14、没有了,或者某一个传感器连续5、6 个小时都没有数据,怎么办,这是一个难点,把缺失的数据 填完是很难的。第二,我们往往觉得用临近的差值就好了,但是临近差 值并不一定就对,在很多应用场景里,特别是我们城市环境 里面很多应用是不对的。用空气质量站点为例子,你们看这 几个站点里面,这两个站点更近一点,这个站点更远一点, 按理来讲空气质量缺失的是用近的代替更好一点,但实际发 现,虽然这个站点距离近,但是这个站点是在森林里面,而 两外两个站点都在商业区,商业区的空气质量更像,随着这 两个商业区的位置比较远。因此,并不是越近的越像,还要 看这些位置所处的环境,这会打破常规规律。时间上也是一 样的,当然在平

15、稳的时候,是越接近的时刻空气质量越像, 比如,这一个小时可能跟未来一个小时的空气质量接近。当 遇到大风、极端天气,出现陡降的时候,下一个小时的值可 能骤降,还不如找更远的时间的空气质量还替代此刻的缺失 值。时空临近不一定都是对的,可能大部分都是对的,但不 一定都对。我们用几个方法来解决这个问题:第一,从时、空两个角度来解决空间角度,就是可以用周边的站点数据。简单来说,把这个 数据放在矩阵里面,每一行是传感器,每一列就是时间点, 每个值就是这个传感器在这个时间点的读数,这个叉的就是 缺的地方。这个缺的时候用周边的填,相当于用行间的关系 把它填了。时间角度,根据一个传感器自己的值,就是说前后的值、

16、左 右的值来填它,这个传感器前后时间值就对应这个矩阵里面 左右行的值。 第二,从局部、全局两个角度来解决局部,是用最近的数据来填,假设我把最近的数据形成一个 小的矩阵,我们通过矩阵的关系来推断这个数值。全局,是根据一个很长历史数据,找到经验性规律来填。什 么是全局,根据地理学第一定律,地球上越近的地方越像, 大部分时候是满足这个规律的。随着距离的增加,两个点之 间的空气质量相似点就应该下降,这个是正常的。往往都会 用这种方法来做,跟距离成反比的线性加权关系。根据时间 的话,一般都认为时间越远越不像,不像一般是指数衰减, 一般是用SDS,。是一个小于1的系数,越远的越不像。这 个是经验公式,不一

17、定都满足,刚刚讲的例子就不满足,比 如刚刚这两个地方虽然近,反而更远的更像,是因为这两个 都是酒吧商业街,不见得这个地方就像,而且这个地方临近 的时候也不见得像。这部分数据怎么办呢?就靠你最近一段 时间的数据,我们不看长远的,就看最近一段时间里面的数 据,把它形成一个local viewo大家如果学过协同过滤,就是 一个推荐的方法,我们把人看成一个传感器,你就可以用基 于用户的方法和基于这个方法来做一个协同过滤。总的来 说,从时空来看,从局部全局看,2X2就有四种方法,对应 四个模型,四个视角。用局部的时间、局部的空间和全局的 时间、全局的空间,你分别都会有一个结果,这四个结果做 一个多视角的

18、学习(Multiview learning),得到最优解。每个 模型的权重都是通过学习获得的。总的来说,我们是要考虑局部、全局、时间、空间的关系, 综合来填补缺失值。这个方法可以认为是目前在时空数据差 值里面最好的方法,几乎在所有的方法里比较过是最好的。 只要大家以后做传感器,做时空数据的时候,拿到数据第一 步发现缺,你要填,就用这个方法。城市数据管理回到我们的城市计算第二个层面,刚刚讲了城市感知层面, 我们要看城市数据管理。要管好城市大数据就是三方面的东 西,第一,时空数据,这是时空的属性,不是一般的文本, 也不是视频。第二,就是这种增强性的云平台,不是普通的 云平台。第三,时空的索引,就是

19、查询和检索算法。我为什 么要讲数据管理呢?今天是机器学习的论坛,讲数据管理干 什么呢?其实在真正的场景里面,如果没有这一层,很多机 器学习的算法可能只能停留在论文上,很难在真实系统落 地,数据管理的人本身跟机器学习的人应该有很好的合作关 系,不是敌人,应该有机的合作。通过后面的这些例子,大 家就会明白了,真正想把机器学习从理论变成实际,解决问 题的话,还需要有数据管理的知识,要对平台有了解。我们 城市里面数据可能成千上万个,但是根据数据的结构来分的 话其实就两种,一个是点数据,另一个是网数据。根据数据关联的时空属性的变与不变与否,可以分成三类: 1)是时间和空间都不变的,属性都不变,静态数据;

20、2)是 空间不变、时间变;3)时、空都变。现在听起来比较抽象,所以说2X3是6组数据,你们可以 想,你心目中所有的数据,我都会告诉你在哪儿。比如说我 们的兴趣点数据,什么叫兴趣点? 一个车站、一个酒吧、一 个学校就是兴趣点,有坐标、有地址、有名称,一旦某个商 场建好之后空间就不变了,有多少层楼、多少个窗户也是固 定的,所以时间和空间都是静态的,这是点数据。我们把传感器放在好,位置不变,是个点,可是每个读数随 着时间变化,属于空间不变、时间变。时间和空间都变是什么呢?就像我们去骑摩拜单车,去打 Uber,坐滴滴,用户的数据就属于时空散点数据,比如2点 有用户请求了,2点半有用户在另一个地方请求了

21、,位置和 位置是变化的,并且时间也在变。什么是网络数据呢?路网是静态的,这个不变,时空都是静 态的网络结构数据,一旦把交通流量叠加上来之后,就变成 了空间静态,但是时间动态的数据。什么是时间和空间都动 态并且网络结构信息呢?就是轨迹。我们可以想象一下,滴 滴的轨迹,摩拜的轨迹,都属于这个数据,人类手机信号也 属于这类数据,我们骑行也属于这个数据。所以在摩拜和滴滴里面有两个数据,一个是用户请求数据, 一个是骑行数据和开车数据。你随便想,任何一种数据都能 放到这六种之一,为什么定义六种?因为不希望拿1千种数 据,做1千个模型,1千种算法,这样我的系统没办法承担。 一旦定义好这六种之后,可以对每种数

22、据设定特定的管理算 法、挖掘算法和机器学习算法,一旦有了数据之后,就能用 这种方法套进去去做。这里面轨迹数据是最难的,是信息量 最丰富的,人类的出行,打电话的记录,车的记录,飞机的 记录,候鸟飞翔,飓风移动,都属于轨迹数据,因为时间、 空间都在变。讲完数据之后,讲讲平台。异构、多源、多模, 是三个不同的东西。异构就是结构和非结构的;多源就是来 自于不同的领域和数据源(比如气象和交通);多模,就是 有文本的、影像的、语音的。在城市大数据里面,这三个是 全部具备的,那我们也会同时处理这些东西。我们的应用不 是城市级别的,不是说某个摄像头放在一个地方,或者在一 条路上,那不叫城市计算。要做就是整个城

23、市规模全做,需 求量就是上百万级、上千万级用户规模,这种大的应用场景, 这么多的数据,没有好的平台是做不到的,所以我们首先就 会想到用云计算平台。但是非常抱歉的告诉大家,现在不管 哪一家公司的云计算平台,都不能很好的支持时空大数据, 也就是我们城市大数据,为什么呢?有三个原因:第一,时空数据的结构跟文本、图像是非常不一样的。 大家可以想象我们拍了一个照片之后,这个照片始终是20K, 拍的时候20K,永远是20K,不会说随着时间的变化不停的 在变。但一辆车的轨迹在开车的过程中是不断增加的,而且 轨迹中两个点不能随便交换,不像我们一般记录学生成绩, 把两个学生成绩两行交换一下,并不能影响这个表格的

24、准确 性,时空数据就不能交换。第二,我们以前查询文本的时候,可以把包含关键词的 文本拿出来,但是我们做时空数据查询的时候,往往是靠一 个时空范围,比如说查找我周边最近2分钟内空驶的出租车, 查找过去两分钟所有这个楼周边的摩拜单车哪个是空的,这 都是空间加时间范围查询,它不是一个Keyword Match的问 题。甚至比如说在开车的过程中查找最近的加油站在哪里, 车的位置还在变的,这都是在云计算平台里都不直接支持。第三,真正要做城市大数据项目的时候,你发现绝对不 是只用一种数据,会用到多种数据,而且还要把多种数据的 知识融合在一起。要融合多源数据的话,先不把各类数据管 理好,不把它有机的索引在一

25、起,到时候根本来不及做快速 融合的问题,这就叫混合式索引,数据和数据关联起来,把 不同领域数据融合在一起。这三个技术在现在的云平台里面 都是缺失的。基于这样的挑战,2015年在贵阳市,贵阳是城市大数据示范基地,我们落地了中国第一个真正意义上的城市大数据平 台。首先,我们定义了六种数据模型,刚刚介绍过,根据数据结 构、时空属性变与不变,2*3=6种模型,不管什么数据,都 能用这六种模型中的一种把数据装进去。我们利用了 Azure 本身的存储机制,我们并不是什么都自己做,全部自己做没 有必要,我们是用这个来增强。这个很重要,我们在这个层 面上加入了一个中间层,我们针对不同的数据结构设计了空 间索引

26、和时间索引算法,以及针对于多源数据之间的跨域管 理做了混合式索引,把时空索引算法集成到Storm、Hadoop、 Spark里面去,向上提供API给我们的机器学习算法来用, 使得我们的机器学习算法能够快速的访问大规模数据。如果 你没有这个,你发现你真的上大系统的时候,我们连特征提 取都还没做,这个任务的时间期限就到了,等不及你了。因 为很多时候就是1秒钟、2秒钟就给我一个结果出来,如果 我们光做特征提取就需要花了一两个小时,模型怎么上线, 所以必须要有平台来支持。这里边既有分布式,也有索引, 以前大家都说,我们有分布式系统了,不要索引了,那是不 对的,我们可以结合在一起。有的时候你用100台机

27、器学习 做的事情,我可能2台机器就能做,因为有了索引和分布式 的结合。为了看平台的规律,给大家看几个例子。这个是在贵阳市布充电桩的例子。假设根据过去一年车的轨迹信息,我们在这个区域内放五个充电桩,我应该放在哪五 个路口,使这五个路口加在一起,覆盖的车的数量最大化, 我强调一下,我们不是找最热门的前五个路口,没有意义, 因为可能最热门的前五个路口都挨着,经过第一个路口就经 过第二个路口,我是说五个路口加在一起覆盖的车总数最大 化,就是不重复的车最大化。以前做这个工作的时候,一轮结果计算需要8个小时到一天, 因为计算量非常大。现在有个平台,3秒钟以内做出来,为 什么需要做这么快呢?这又回到行业了,我们知道真正布充 电桩的时候有很多因素要考虑,还有很多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论