热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GaussianCubes:在大规模多维数据的可视化探索中实时建模(GaussianCubes:Real-TimeModeling...

大规模数据的可视化探索中存在着两个互相矛盾的需求:表达能力和计算效率。近来提出的一些方法,比如Nan

大规模数据的可视化探索中存在着两个互相矛盾的需求:表达能力和计算效率。近来提出的一些方法,比如Nanocubes和imMens,使得大数据集上的实时交互探索成为可能。然而,它们支持的分析种类有限,只能快速得到直方图和heatmaps等。为了改善这一情况,文章提出了Gaussian Cubes,可以对数据进行交互式地建模,包括线性最小二乘法,主成分分析等。

与基于data cubes的方法不同,在它们的基础上,除了预先计算数据子集的数量 (count),Gaussian Cubes还提前计算了数据子集的多元高斯分布,这使得它能够在一秒内对具有百万点的数据拟合数百个模型。

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

图1 Gaussian Cubes额外计算的数据

数据立方体 (Data Cubes)

Data cubes预先计算并存储了许多查询的聚集结果,比如count, min, max,并尽可能地计算了所有的组合。图1左下是在Style和Trans.上建立索引得到的结果。

此外,预先计算的结果可以用来快速得到更多的结果,比如,计算Style中sedan和SUV的和,只需把已有的结果相加,不需要扫描全部数据。

充分数据 (Sufficient statistics)

例如,average = sum / count,因此想要得到average,就要知道sum和count,后两个就是前者的sufficient statistics。

在线性的最小二乘法中,y i = mx i + b,目标是使误差的平方和 E 最小,等价于求 Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

这样,就需要知道 x, y, yy, xy 的和,才能计算出m和b。

Gaussian Cubes

要考虑哪些充分数据要存储下来,哪些模型能够因此快速计算。Gaussian Cubes希望快速计算样本的数量,均值与协方差矩阵。它在传统的data cubes的基础上,提前计算了变量的和,以及变量之间两两相乘得到的乘积的和,如图1右下部分。data cubes计算的变量称作indexing variables,用来进行模型拟合的变量称作modeling variables。

这两种变量可以是相交的。随着indexing variables的增加,存储空间指数增长;随着modeling variables的增加,存储空间平方增长。

利用Gaussian Cubes进行可视化

1. 最小二乘 (Ordinary Least Squares and Generalizations)

考虑平凡的情况,y = Xβ,其中 y: n×1, X: n×b, β: b×1

为了得到参数β,需要最小化|| y – Xβ|| 2 ,解得β = (X T X) -1 X T y。

矩阵的求逆运算复杂度O(d 3 ),矩阵相乘复杂度O(nd 2 ),总体复杂度O(d 3 +nd 2 ),其中n为样本数据量,d为维数。

假设x i 为矩阵X的第i列,可以得到

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ... Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

因为Gaussian Cubes提前计算了相应的数值,矩阵乘法的复杂度降为O(d 2 ),不再与样本数据量有关。总体的复杂度变为O(d 3 ),可以拟合几百万的数据。

同样,许多泛化的最小二乘法也可以这样快速拟合。

2. 主成分分析 (Principal Components Analysis, PCA)

主成分分析是数据降维的一种常用方法。一般来说,数据集的主成分是方差较大的方向,将数据映射到这几个方向上,希望新的数据能够保持大部分的信号。从计算上看,主成分可以通过协方差矩阵的特征向量得到,这正是Gaussian Cubes能够快速计算的。

考虑一个3维数据集,它的变量为x, y, z,对应的协方差矩阵为

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

其中,每一项的计算过程为

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

这样,需要计算的数据是Σx,Σy,和Σxy,而这些就是Gaussian Cubes提前计算好的。

在主成分轴上快速得到近似散点图

如何得到数据在PCA降维后得到的新维度上的分布呢?一个直观的方法是扫描全部的数据。那可以利用data cube来快速得到吗?这里就出现了一个问题:如果没有全部的数据,降维就无法完成,因此无法提前计算散点图。

文章利用Gaussian Cubes提出了一种得到近似散点图的方法。把数据立方体想成有向图的形式,每个结点都是数据子集聚集得到的值,它的子结点都是根据某一变量进行的细化分类。在这一结构上,再基于一个假设:方差下降得越快,映射收敛到能够映射到独立点就越快,作者提出了一个贪心算法,在对结点进行划分的时候,选择使映射方差之和降低最大的划分方式。这种算法在实验中表现较好。伪代码如下图:

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

实验

在实验部分,作者设计了一个人造数据集以及三个案例研究。

数据集的情况如下:

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

1. 人造数据

作者生成了一个三维数据集,包含了一百万条数据,并在数据集上生成多元高斯。

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

2. 天文星体数据

测试了近似散点图的效果。

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

3. 飞行数据

计算飞机的延迟率,测试数据的线性拟合。

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

4. 地震建筑应力模拟

用来比较不同方法下PCA的效率。

Gaussian Cubes: 在大规模多维数据的可视化探索中实时建模 (Gaussian Cubes: Real-Time Modeling ...

总结

Gaussian Cubes提供了一些数据拟合模型的支持,但仍有限制,只有在一些所需数据为一阶、二阶的计算能够快速计算。

而且modeling variables的选择仍然依赖人工;模型拟合的好坏没有提供评价标准。

最后,现阶段的Gaussian Cubes基于Nanocubes,迁移到别的系统上也比较容易。作者希望在近似散点图中提出的data cubes的traversal方法能够应用到更多的可视形式以及数据挖掘算法中。

参考文献:

[1] Zhe Wang, Nivan Ferreira, Youhao Wei, Aarthy Sankari Bhaskar and Carlos Scheidegger, “Gaussian Cubes: Real-Time Modeling for Visual Exploration of Large Multidimensional Datasets”, IEEE Trans. Vis. Comput. Graphics , vol. 23, no. 1, pp. 681 – 690 , Jan 2017.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 我们


推荐阅读
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 全卷积网络fcn详解_全卷积神经网络原理
    全卷积网络fcn详解_全卷积神经网络原理原文链接:全卷积网络FCN详解背景CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题。神经网 ... [详细]
  • seaborn箱线图_Seaborn线图的数据可视化
    seaborn箱线图Hello,folks!Inthisarticle,wewillbetakingtheSeaborntutorialaheadandunderstandingt ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
  • 我正在尝试将Firebase添加到涉及添加以下内容的现有应用程序中:classpath'com.googl ... [详细]
  • 加密、解密、揭秘
    谈PHP中信息加密技术同样是一道面试答错的问题,面试官问我非对称加密算法中有哪些经典的算法?当时我愣了一下,因为我把非对称加密与单项散列加 ... [详细]
  • 机器学习_机器学习中的线性模型
    本文由编程笔记#小编为大家整理,主要介绍了机器学习中的线性模型相关的知识,希望对你有一定的参考价值。一、基本形式 给定由d个 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • 一份来自清华的数据分析笔记,请查收!
    之前发过很多数据分析的文章,收到不少好评,但也有一些困惑:入门数据分析该学哪些知识点?该看哪些书?是从Pyth ... [详细]
  • 分享篇:第十届“泰迪杯”数据挖掘挑战赛农田害虫图像识别(特等奖)一
    1.1赛题背景昆虫的种类浩如烟海,农田常见的昆虫是人工生态系统的重要组成部分。分辨益虫和害虫,保留益虫,消灭害虫,对于减轻害 ... [详细]
author-avatar
风冷泻千山
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有