如何实现大规模高维数据的可视化?

原创
大数据 数据可视化
数据可视化是脱胎于计算机图形学的计算机学科领域,广泛应用于科学实验和互联网商业应用。它分为科学可视化和信息可视化两个子领域。

【51CTO.com原创稿件】数据可视化是脱胎于计算机图形学的计算机学科领域,广泛应用于科学实验和互联网商业应用。它分为科学可视化和信息可视化两个子领域。

科学可视化主要是针对化学、物理和医学上的试验数据,将实验结果用美观可读的方式展现给科学工作者,方便其进行后续的工作,美国的国家实验室比如 LLNL 都有专门的团队开展可视化方面的工作。

信息可视化更多的是针对互联网和商业数据,主要是把数据用更清晰和直观的方式传递给用户,美国的纽约时报是这方面做得非常好的公司。

整个可视化领域的顶级会议是 IEEE Visualization。信息可视化领域的顶级会议是 IEEE InfoVis。可视化领域的顶级期刊是 IEEE TVCG (IEEE Transactions on Visualization and Computer Graphics)。美国犹他大学(University of Utah)的 SCI Institute 是全世界在可视化研究领域做得最好的研究机构之一,在国际上享有盛名。

高维数据的可视化是可视化领域中非常具有挑战性的一类问题。常见的解决方案包括 Parallel Coordinate,Star Plot,降维至低维空间进行可视化等。Jian Tang 等在 WWW 2016 上发表了题为 Visualizing Large-Scale and High-Dimensional Data 的文章,讲述了他们是如何解决大规模高维数据的可视化问题的。下面我们来看一下他们提出的方法,分为两步:

第一步将高维空间的数据利用K-近邻算法重新构建社交网络模型,第二步将新构建的社交网络模型映射到低维空间进行可视化,参见下图:

如何实现大规模高维数据的可视化?

作者在执行第一步时,采取了类似 t-SNE 算法中的方式,而在执行第二步时采取了优化最大似然函数的方式。

首先,定义高维空间中映射到低维空间的两个点的坐标是如何实现大规模高维数据的可视化?定义在低维空间中两个点之间存在一条边的概率是:如何实现大规模高维数据的可视化? f 函数可以按照如下方式进行定义:如何实现大规模高维数据的可视化?带权边的生成概率为如何实现大规模高维数据的可视化?整个低维空间的社交网络生成概率为:

如何实现大规模高维数据的可视化?

通过对 O 的求解,我们可以得到高维空间数据在低维空间的映射。注意在生成概率公式中存在对于负边概率的大量计算。因为负边的数量与节点的数量是成二次方关系的,因此作者对于负边采取了负采样的策略。也就是给定点i,随机选取节点 j 与之构成负边。选择 j 的概率为如何实现大规模高维数据的可视化?

为了避免在梯度下降过程中难以选择学习率的问题,作者采用了在其本人的其他文献中提出的 Edge Sampling 优化方法对似然函数进行优化。Edge Sampling 优化方法将图的每一条边看作没有权重的边,在进行梯度下降优化的时候根据边的权重对每一条边进行采样。

后续,作者选取了文本数据,并且利用了 KNN 分类器对降维处理之后的数据进行分类,从准确性和时间两方面对 t-SNE 和作者提出的算法进行了对比,发现作者提出的方法要优于经典的 t-SNE 算法。

如何实现大规模高维数据的可视化?
图 1. 本文研究方法与 t-SNE 算法效果对比

下图为英文 Wikipedia 文章的可视化。每篇文章被认为是高维空间中的一个点。作者在 Wikipedia 数据集上进行了聚类,并对不同的类染上了不同的颜色。

如何实现大规模高维数据的可视化?
图2. 英文 Wikipeida 文章可视化。不同的颜色代表不同的文章分类。

Jian Tang , Jingzhou Liu , Ming Zhang , Qiaozhu Mei , Visualizing Large-scale and High Dimensional Data

[[210035]]

汪昊,恒昌利通大数据部负责人,美国犹他大学硕士,在百度,新浪,网易,豆瓣等公司有多年的研发和技术管理经验,擅长机器学习,大数据,推荐系统,社交网络分析,计算机图形学,可视化等技术。在 TVCG 和 ASONAM 等国际会议和期刊发表论文 5 篇。本科毕业论文获国际会议 IEEE SMI 2008 最佳论文奖。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

 

责任编辑:未丽燕 来源: 51CTO.com
相关推荐

2023-12-14 09:00:00

数据可视化Python数据集

2017-10-14 13:54:26

数据可视化数据信息可视化

2020-03-11 14:39:26

数据可视化地图可视化地理信息

2014-05-28 15:23:55

Rave

2017-02-16 09:30:04

数据可视化信息

2018-08-10 14:45:52

Python网络爬虫mongodb

2009-08-24 14:12:46

IT运维管理表单设计工具摩卡软件

2009-08-03 21:43:03

IT运维可视化摩卡

2020-10-26 15:33:13

可视化数据项目

2021-04-09 10:42:03

数据可视化框架大数据

2022-06-29 08:28:58

数据可视化数据可视化平台

2022-09-29 11:16:21

Python数据可视化

2016-01-29 20:23:23

华为

2017-03-28 14:57:23

kylinsuperset可视化

2015-10-29 09:36:48

2017-02-23 09:42:53

大数据数据可视化技术误区

2014-12-31 16:48:43

Touch touchevent多点触摸

2022-06-09 13:45:18

vivoK8S集群Kubernetes

2023-10-23 16:11:14

2016-11-15 12:57:40

运维多层级监控
点赞
收藏

51CTO技术栈公众号