1 引言 当前全球的数据量正在迅速增长,预计在2025年将会从2018年的33ZB增加至175ZB。互联网全球化、移动设备普及化、云计算存储低成本化、物质世界网络化,都在为“数据大爆发”储蓄能量,大数据已成为继云计算、物联网之后IT产业又一次颠覆性的技术变革[1]。大数据技术和产业的蓬勃发展,使数据成为了重要的生产力,同时也使当今社会的生产关系发生了变革。 大数据时代的战略意义不仅在于掌握庞大的数据信息,还在于发现和理解信息内容及信息与信息之间的关系[2]。因此,数据分析成为挖掘数据价值的关键步骤。本文从数据可视化、自动化数据建模和情景分析出发,介绍三大数据分析领域的关键技术现状,梳理各领域的前沿工具及应用场景,总结数据可视化、自动化建模和情景分析等数据分析技术和工具的发展趋势。 2 数据分析技术现状 大数据分析是指在强大的支撑平台上运行分析算法,并发现隐藏在大数据中潜在价值的过程[3] 。从异构数据源抽取和集成的数据构成了数据分析的原始数据,而大数据分析的核心问题是如何对这些数据进行有效表达、解释和学习[4]。因此,目前学术界一般认为数据可视化、自动化数据建模和情景感知是数据分析过程中的核心环节。 2.1 数据可视化 数据可视化指利用人眼的感知能力对数据进行交互的可视化表达以增强认知的技术[7]。数据可视化一般包括科学可视化、信息可视化和可视化分析3类[5]。科学可视化主要是实现对于比较具体的数据可视化,侧重于那些有自然几何结构的数据,如磁场、地理结构等;信息可视化侧重于抽象数据的可视化,如树形图、柱状图;可视化分析指在数据可视化中结合了数据挖掘等知识[6],如分析推理、视觉呈现和交互等。本文聚焦于信息可视化,以及可视化分析中的数据可视化交互。 Card等人对信息可视化(Information Visualization)的定义为对抽象数据使用计算机支持的、交互的、可视化的表示形式以增强认知能力[8],侧重于通过可视化图形呈现数据中隐含的信息和规律[9]。 数据可视化起源于18世纪,William Playfair在出版的书籍《The Commercial and Political Atlas》中第一次使用了柱形图和折线图[10] ;在随后的200多年间,直方图、饼图、折线图等广泛地应用于军事、工业、科学领域,但数据可视化技术并未发生显著进步;直至20世纪后期,计算机技术、图像处理技术和计算机视觉的迅速发展推动数据可视化由静态图表演变为动态交互图表,处理对象由二维数据扩展至高维数据;21世纪,大数据时代下,数据体量大、种类多、时效高、价值密度低的特征[11],推动数据可视化不仅关注多类型数据源的处理,也包括大规模实时数据的处理。 国内数据可视化研究学者多从数据种类的角度划分数据可视化技术。任磊等将数据可视化技术划分为文本可视化技术、网络(图)可视化技术、时空数据可视化技术、多维数据可视化技术等[9]。王艺等将数据可视化技术划分为空间标量场可视化技术、地理信息可视化技术、时空数据可视化技术、层次和网络数据可视化技术、文本和文档可视化技术、复杂高维多元数据可视化技术[12]。部分学者从数据可视化的方法划分数据可视化技术。程学旗认为数据可视化的核心方法包括曲面可视化、解析度、视觉隐喻[4]。 表1从数据种类的角度入手,总结主要数据类型及对应的数据可视化技术,并介绍各数据类别下的主流数据可视化技术。 表1 数据可视化技术汇总 (1)文本可视化将文本中复杂的或者难以通过文字表达的内容和规律以视觉符号的形式表达出来,同时向人们提供与视觉信息进行快速交互的功能,使人们能够利用与生俱来的视觉感知的并行化处理能力快速获取大数据中所蕴含的关键信息[13]。截止到目前,文本可视化较为常用的是标签云(Tag Cloud)技术。标签云通过统计文本中词语的出现频率,按照一定的顺序和规律展现出关键词,如用颜色深浅或字体大小区分关键词的重要性。最初的标签云采用简单的水平排放的方式,但无法高效利用可视化布局空间;随后出现的Wordle标签云使标签云更紧凑,TagCrowd和Tagul给标签云提供了中文编码的能力,并添加了标签的轮廓。但是标签云仍有局限性,其仅对文本中的高频词汇按照逻辑顺序进行布局排列,并没有提供帮助上下文理解的可行性办法[14]。 (2)网络可视化是大数据可视化的重要分类之一,通过对于点、线、面基本元素的运用组织出多种可视化图像,揭示人类无法感知的复杂数据结构[9]。网络可视化技术可以分为静态网络可视化和动态网络可视化。静态网络可视化技术包括节点-边可视化、空间填充法,其中节点-边可视化是图可视化的主要形式,空间填充法适用于具有层次特征的图。由于网络数据体量巨大且结构复杂,静态的可视化图像往往会丢失数据关系的细节,动态网络可视化通过动态快照的方式获取数据变化[15]。动态网络可视化中应用广泛的是动态视频流可视化。 (3)时空数据可视化是对带有时间标签与地理位置的数据可视化,以展示其随时间和空间所发生的行为变化[16]。时空数据可视化的一种典型方法是流式地图,即将时间事件流和地图进行融合,其中时间事件流是采用堆叠的语义流来表达多个变量随时间演化的过程。由于地理位置具有的三维特征,时空立方体通过在2D平面地图的基础上绘制实体或叠加属性,直观展示空间信息,如在三维虚拟城市地图中的路线或地标建筑[17]。 (4)高维数据可视化指对具备两个或两个以上属性的数据对象进行可视化的过程。高维数据可视化可分为空间映射法和图标法。空间映射法包括散点图、表格透视、平行坐标、降维,图标法包括星型图、雷达图。典型的高维数据可视化方法是散点图和平行坐标。散点图是将抽象的数据对象映射到二维坐标表示的空间,整个数据集在空间中的分布反映了各维度间的关系以及数据集的整体特性[18]。平行坐标技术采用相互平行的若干个坐标轴,每个坐标轴代表数据的一个属性维度,而每个数据对象则对应一条穿过所有坐标轴的折线。 数据可视分析技术的目标是使数据分析过程透明化,结合了可视化、人机交互和自动分析技术[19]。数据可视分析包括分析推理技术、视觉呈现和交互技术、数据表示和转换技术、产生传播分析结果技术4部分核心技术。本文聚焦于数据可视化中的交互技术。 数据可视化交互指用户通过与可视化系统之间的互动,加深数据理解的过程。互动可以有多种表现形式,包括选择变量、选择时间段、调整可视化元素(如字体、颜色)等。数据可视化交互不仅让用户自主选择数据对象及合适的可视化方法,也提升了大规模、复杂多维、动态变化和地理空间的可视化效果。 常见的数据可视化交互操作包括导航、过滤、关联等(见表2)。导航技术指在受限空间内,通过调整视角的方式选定视点,并显示可见数据,包括平移、缩放和旋转3种基本操作;过滤技术指通过设置过滤条件进行整体数据视图内的信息筛选,并动态展示过滤效果;关联技术指用动态可视化的方式展现数据之间的关联。 表2 数据可视化交互技术 分别以高维数据可视化中的散点图和平行坐标交互方式为例进行说明。在散点图可视化交互中,用户交互式地选取关注的属性数据进行可视化,比如按照重要程度排列属性,优先显示重要的程度高的属性,并比对不同属性散点图所展示的关联关系差异,在一定程度上缓解空间的局限。在平行坐标可视化交互中,由于平行坐标多描述相邻两个属性之间的关系,不适合同时表现多个维度间或非相邻属性间的关系,用户可以通过平行坐标揭示高维数据中的深层信息,消除大数据带来的线段混乱和重叠等问题,并交互地选择感兴趣的数据对象,将其高亮显示。 2.2 自动化数据建模 自动化数据建模相较于传统数据建模而言,主要体现在数据建模全流程中由机器操作替代人工操作的过程。自动化数据建模的核心是自动化机器学习(Automated Machine Learning,AutoML)。自动化机器学习用于描述模型选择或超参数优化的自动化方法,包括多种类型的算法,如神经网络[20]。国际人工智能学会理事长杨强教授认为,从数学的角度看,AutoML是让目标函数学习机器学习参数,从配置里学习最佳参数,由于参数和维度是巨量的,因此选择最佳点的工作应该由机器承担。 在2017年谷歌刚刚推出AutoML工具的时候,AutoML还仅有机器学习模型自动化的意思,但目前AutoML被认为需要贯穿机器学习工作流。机器学习工作流指在给定数据集中实现当前最佳模型性能,通常包含数据清洗、特征工程、选择算法模型结构及其中涉及的超参数调试,AutoML意味着端到端的机器学习工作流(Machine Learning Pipeline)。事实上,自动化建模最初聚焦于机器学习中的模型选择环节,但目前已覆盖数据预处理、模型选择、变量选择、模型调参和模型评估的全流程数据建模,模型选择将算法模型由机器学习扩展至深度学习、强化学习、迁移学习等(见图1)。 图1 自动化数据建模流程 自动化数据建模通过降低技术门槛、提升建模效率和模型解释程度,优化了数据建模的流程和投入成本。传统数据建模的技术门槛较高,需要大量的建模专业人员,具备包括统计学、算法和编程能力等,以便在具体场景下选择合适的数据预处理规则,并使用编程软件实现数据建模和数据分析。传统数据建模的建模流程复杂,数据预处理和模型选择的工程量较大,其中超参数的调试往往需要在可能的超参数空间遍历足够多的选择,导致机器学习模型耗费几小时或几天的时间完成模型训练与评估。传统数据建模多为“黑箱”模型,降低了模型的可解释性,难以满足模型支撑上层应用的需求。相比之下,自动化数据建模基于输入的数据建模应用场景,选择数据预处理方式,缩短了数据建模流程(见表3)。 表3 传统数据建模和自动化数据建模对比 自动化建模的核心技术包括模型选择环节的神经架构搜索(NAS)和自动化调参。 机器学习和深度学习是计算密集型,神经网络的设计工作耗时,并对专业知识有较高要求。神经架构搜索的网络减少了训练和调参工作,使用者只需为NAS系统提供数据集,NAS将返回最佳架构。神经架构搜索通过遵循最大化性能的搜索策略,从所有可能的架构中寻找最佳架构。如图2所示,其中搜索空间定义了NAS方法原则上可能发现的神经架构。同时,通常使用强化学习或进化算法来设计新的神经网络结构,目前已用于目标检测和图像分类等任务。 图2 NAS 方法 在机器学习中,参数是影响算法性能的关键因素,而调参是一项繁琐却重要的环节,贝叶斯优化是一种自动化调参的方法。贝叶斯优化是一种用模型找到函数最小值的方法,目前众多Python库可以实现贝叶斯超参数调整。相较于其他随机或网格搜索方法,贝叶斯优化在尝试下一组超参数时会参考之前的评估结果,因此在遍历超参数空间的过程中,通过推断过去的结果缩小超参数空间的范围,提升搜索效率。 自动化数据建模由于数据规模、模型数量、模型搜索与训练所耗费计算资源增加,意味着产品需要更强的技术支持。美国机器学习公司DataRobot建立比较各种算法的云服务产品DataRobot Enterprise,使用大规模并行处理来训练和评估R、Python、Spark MLlib、H2O和其他开源库中的1000个模型。同时,Skytree公司的服务器是首款针对一般目标而设计的机器学习和高级分析引擎,旨在准确地处理大量数据集。 自动化数据建模最理想的状态是一个端到端的过程,即用户输入数据集,自动化数据建模系统输出待解决问题的结果,不仅覆盖了数据建模的各个环节,也保证了各环节的连通性和一致性。2019年,MIT的研究员发表了题为《用于自动数据建模的贝叶斯合成概率程序》(Bayesian Synthesis of Probabilistic Programs for Automatic Data Modeling)的论文,旨在使用贝叶斯推理,对大量的计算机程序进行取样,并对每个程序的可能性进行评分,以此作为处理想要研究的数据的可能解决方案,最终让计算机程序找到正确的程序完成给定数据集的所有分析工作。 2.3 情景感知 情景(Context),也称情境、上下文,是指用于描述一个实体所处状态的任何信息,包括实体的位置、时间、周围环境、活动和偏好等[21]。情景感知(Contextaware)指无论使用桌面计算机还是移动设备普适计算环境中使用情景的应用[22]。这意味着计算机资源分布在生活中,并自主采集用户的情景数据,进而使计算机实现在用户不发出服务请求的情况下自主判断何时提供以及提供何种服务,简化了用户和网络的交互,提升了用户体验[23] 。 情景感知概念在网络技术、通信技术、计算机技术和计算机应用迅猛发展的背景下诞生,最初应用于制造业、电子商务、农业等行业,其主要用户对象为传统大型企业。在大数据时代,数据实时采集处理等大数据技术、人机交互和计算机视觉等计算机技术、机器学习算法均得到了大幅度提升,逐步实现了“现实世界”到“虚拟世界”的映射,并依赖即时的计算机资源完成计算。在数字政府和企业数字化转型的背景下,情境感知的服务对象覆盖了政府以及中小企业。同时,物联网、人工智能、虚拟现实等应用场景的丰富,使个人用户成为了情境感知技术的受益者。 情景感知的核心技术包括情景数据动态采集技术、情景数据建模技术、情景推理技术。 情景数据分布于虚拟环境与实际环境中,分别对应不同的动态采集技术。虚拟环境(如互联网)中的情景数据包括用户的搜索、点击、浏览、下载、复制、上传、评论等行为[21],实际环境中的情景数据包括温度、湿度、气压、距离、GPS等。如何准确地获取、描述用户的动态情景信息是情景数据实时采集的关注问题之一。虚拟环境中的情景数据可以从服务器端或应用软件中采集,实际环境中的情景数据可以从传感器采集,为了提升数据采集的时效性和准确性,也采用多传感器协同感知的手段。 情景数据建模指通过对多源采集的情景数据进行统一模型加工,使其具有一致的形式和语义,以提升情景数据的融合和情景推理的效率。情景数据建模不同于数据分析挖掘中的数据建模,前者的关注点在于如何将多源异构数据存储至数据库或数据仓库中,后者的关注点在于如何构建符合应用场景需求的数学模型以完成情景推理。情景数据建模的方法包括键-值对模型、模式标识模型、图形模型、面向对象模型、逻辑模型和本体模型等。在不同的情景感知场景下,可选取合适的一种或多种情景数据建模方法,如社会情景建模多采用基于图形的和基于本体的建模方法[24] 。 情景推理指基于情景感知规则推断出用户的需求并向用户提供对应的服务。由于情景数据采集和传输设备故障问题,以及用户主动反馈情景数据的意愿问题,情景感知规则的训练集存在不完整的情况,因此机器学习算法是常用的情景推理技术,包括决策树、神经网络等。同时,通过构建情景感知管理器,在用户当下情景满足假设情景时提供服务,在用户当下情景发生变化时,采集情景数据并及时改变策略。 3 数据分析工具与应用 伴随着数据可视化、自动化建模和情景感知技术的发展,越来越多的企业开发了相应的工具,并衍生了相关社区和开源架构,扩大了数据可视化、自动化建模和情景感知的应用场景。 3.1 数据可视化工具 国内外数据可视化工具种类繁多,主要包括图表类工具(如D3、Echarts、Tableau、DataV)和高级分析工具(如R、Python、Weka)。Tableau是一个商业智能工具,将数据连接、运算、分析和图标相结合,简化了数据可视化流程,提升了数据可视化的易读性。DataV是阿里云开发的数据可视化工具,在海量数据渲染和三维数据可视化方面具备优势,可用于创建地理信息可视化大屏。 数据可视化广泛地应用于医疗、交通等行业。在医疗行业,数据可视化技术增强医疗领域大量非结构化数据的可读性。例如,医疗影像(X光片、CT、MRI)数据可以借助于图像识别技术,通过区分不同灰度值来判断病灶的精确位置,从而使得临床决策支持系统更加智能化,给医生提供更合理的诊疗建议[12]。同时,国内外开展了医疗领域数据可视化技术研究。截止到2016年12月,在SCI检索系统中,标题中含医疗大数据可视化的相关学术论文共142篇[12],研究成果包括多GPU环境下的并行体绘制[25]、分布式医学影像数据的Streaming技术框架研究及实践[26]、医学数据三维交互的可视化方法[27]等。 时空数据可视化的应用之一是地理社会网络的数据可视化。时空数据可视化能够形象、直观地揭示社会网络中人与人、人与位置之间的关联、轨迹、社区等各种关系信息,成为分析地理社会网络最重要的方法之一[28]。数据可视化交互由于支持用户自主选择变量以及自适应可视化结果,使用户具有良好的数据可视化操作体验,因此拥有众多的应用场景。以交通轨迹可视化分析为例,其数据可视化维度主要分为时域分析和空域分析,分别对应时间和空间的变化,通过多个窗口联动的交付操作,用户可以根据从时间、路线、统计信息等多个角度获得数据分析互动结果,包括从海量的车辆轨迹中提取出特定违章行为的轨迹、分离出路口红绿灯信号交替的细节以及路口的拥堵情况等。 3.2 自动化数据建模工具 从2017年开始,国内外多家公司陆续推出了自动化数据建模工具(见表4)。谷歌在2017年5月的I/O大会上发布了AutoML,将其应用于深度学习的图像识别和语言建模两大数据集中。同时,谷歌在2018年全面启动Cloud AutoML项目,包含神经架构搜索技术、learning2learn和迁移学习三大核心技术,实现了用户只需提供数据和拖拽界面的方式,自动构建深度学习模型。国内自动化数据建模工具包括第四范式的HyperCycle ML、百度的EasyDL、浪潮的AutoML Suite、旷视科技的Brain 、探智立方的DarwinML 等。 表4 国内外自动化数据建模工具 多数厂商不仅提供自动化数据建模的产品工具,同时会提供完整的自动化数据建模解决方案。目前,数据建模的数据预处理阶段尚未实现完全自动化,依然需要相关人员根据具体的应用场景选择合适的预处理方法。而自动化数据建模解决方案将场景因素考虑在内,有针对性地完成数据准备工作。旷视科技的AutoML技术提供了完整的解决方案,覆盖了包括活体检测、人脸识别、物体检测、语义分割在内的多种场景;百度的EasyDL在2018年陆续发布了定制化物体检测服务、定制化模型设备端计算和定制化声音识别等多个定制化能力方向,应用于零售、安防、工业质检等数十个行业。 随着自动化数据建模工具的发展,逐渐形成了开源工具。H2O. ai是初创公司Oxdata于2014年推出的一个独立开源机器学习平台,其功能是为APP提供快速的机器学习引擎,支持通过R与Python进行引入包的方式开发模型和自动化参数调优。目前,这款开源自动化数据建模工具服务于全世界超过1.8万家企业,服务用户数超过20万。 3.3 情景感知工具 计算机和手机操作系统通过配置情景感知API,推进“人机合一”。Google在2016年I/O开发者大会上发布了Awareness API,通过将调用设备的数据和传感器来检测用户所处情景,包括时间、位置、活动、耳机(插入/拔出)和天气。而使用Google Awareness API的应用,将通过对情景数据的采集、建模和推理,为用户提供个性化服务。以SuperPlayer Music应用为例,该应用支持在用户户外健身、长途行驶和专心工作等情景下为其推荐不同类型的音乐。微软在Win10系统内置了情景感知API,可以根据重力感应、陀螺仪等数据判断出用户活动状态,从而自动调整Win10的情景模式,并由作为用户私人助手的Cortana发出提醒或建议。 电商、旅游业等通过利用情景感知技术,实现更精准的个性化推荐,即通过及时获取用户多种情景行为数据,并根据用户情景的改变而有针对性地提供即时满足的商品或服务。生活服务类产品“及时”通过将获取的用户地理位置与附近商家数据相连,利用蓝牙、GPS、Wi-Fi定位等计算用户的情景和位置,及时推送符合用户需求的商家。Adomavicius等提出一种旅游推荐系统,该系统结合了前置情景过滤、后置情景过滤和建模进行情景感知推荐,基于不同的位置和季节给出不同的度假选择[29]。 4 数据分析技术发展趋势 随着未来数据量的大幅攀升和分析需求的不断提升,数据分析技术也将在多个维度拓展增强。由于随着数据量的大幅增加,现有的处理分析技术可能无法满足数据的及时分析,因此增强数据分析能力将是未来数据分析技术发展的重要领域。庞大的数据量必将给数据管理带来新的挑战,未来数据分析技术的发展也将与数据管理技术全面适配。此外,未来数据分析技术的发展也必将沿袭智能化的发展,决策自动化或自动化决策支持将为数据分析处理提供强有力的推动力。 由于关键方法、处理流程和应用场景的不同,数据分析技术在数据可视化、自动化建模和情景感知方面呈现出不同的发展趋势。 (1)增强实时复杂数据流的可视化效果与可视化交互是数据可视化技术的主要突破点。在时空数据可视化方面,多尺度时空可视分析技术一直是一个挑战,即在统一空间内,将多源数据进行可视化处理并提供有效的可视分析手段[19]。在确保展示信息的完整性和准确性的同时,提升信息的可读性,通过交互的方式满足用户在不同维度下解读信息,同时表达各维度之间的关联信息。 (2)自动化建模的技术发展主要是提高模型的准确性和稳定性,并简化使用。深化与具体应用场景的结合,增加各场景下的训练数据集及相应的自动化建模方法,对于通用场景而言,以API或AI应用的方式提供服务。 (3)情景数据的融合和管理是情景感知技术的发展核心。不同数据源、传感器产生的情景数据是异构的,同时也存在语义上的差异,尽管在现有情景数据建模的方法下可以实现形式和语义上的统一,但这一过程覆盖的情景数据有限且缺乏工具支持。同时,管理情景数据将提升数据质量,减少冗余缺失数据,增加情景推理的有效性。 |
|