QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

如何使大数据易于管理

  • 2017-01-08
  • 本文字数:2298 字

    阅读完需:约 8 分钟

现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便,大数据就是这个高科技时代的产物。

有人把数据比喻为蕴藏能量的煤矿。煤炭按照性质有焦煤、无烟煤、肥煤、贫煤等分类,而露天煤矿、深山煤矿的挖掘成本又不一样。与此类似,大数据并不在“大”,而在于“有用”。价值含量、挖掘成本比数量更为重要。对于很多行业而言,如何利用这些大规模数据是赢得竞争的关键。

大数据分析的困境

不过,“大数据”在经济发展中的巨大意义并不代表其能取代一切对于社会问题的理性思考,科学发展的逻辑不能被湮没在海量数据中。著名经济学家路德维希·冯·米塞斯曾提醒过:“就今日言,有很多人忙碌于资料之无益累积,以致对问题之说明与解决,丧失了其对特殊的经济意义的了解。”这确实是需要警惕的。

然而,分析大数据集可能会产生问题。首先,大数据是大规模的,有时太大,不能通过常用的分析工具有效地处理。

麻省理工学院 Andrew and Erna Viterbi 电气工程与计算机科学院的教授、人工智能实验室(CSAIL)的主任 Daniela Rus、博士后 Mikhail Volkov 和曾在 Rus 科研小组的博士后、以色列海法大学机器人大数据实验室主任 Dan Feldman 针对这个问题,提出了一个解决方案,将大数据变成可管理的数据。InfoQ 整理并分享出来,以飨读者。

大数据困境破解之道

处理大数据的一种方法是缩减它。如果您可以确定大数据的一个子集,用于保留大数据最重要的数学关系,那么就可以进行有用的分析,不然对整个大数据集来说将是非常耗时,不实用。

然而,用于提取这样的“核心集”的方法根据应用程序而有所不同。研究人员提出了一种提取可由大量常用数据分析工具使用的核心集的新技术,适合自然语言处理、推荐系统、天气预报、金融和神经科学等。

“这些都是在许多应用程序中使用的非常通用的算法,”Danilla Rus 表示,“它们是这么多问题的基础。通过为这些工具确定出一个巨大矩阵的核心集,人们就可以进行以前根本不可能的计算。”

例如,在他们的论文中,研究人员将他们的技术应用于矩阵(也就是表格),它将英语版维基百科上的每篇文章映射到网站上出现的每一个单词。这个矩阵,将有140 万篇文章和440 万列的单词。

维基百科的这个矩阵实在太大了,以至于不能使用低秩近似来进行分析,该算法可以识别自由格式文本的主题。但是一旦提取出来核心集,研究人员就能够使用低秩近似来提取维基百科上最常见的100 个主题的单词集群。例如,包含“服装”、“新娘”、“伴娘”和“婚礼”的集群表示婚礼的主题;包含“枪”、“开枪”、“卡住”、“手枪”和“枪击”的集群显示指定了枪击事件的主题。

让大数据可管理的思路

研究人员的核心集新技术对于一系列工具非常有用,如奇异值分解、主成分分析、潜在语义分析。但它们共同之处是缩减:它们采用具有大量的变量数据集,并且用更少的变量找到它们的近似值。

在这里,这些工具的作用与核心集类似。但是,核心集是特定应用程序,而dimension-reduction 工具是通用的。这种共性使它们的密集型计算比核心集更多:对于大型数据集的实际应用来说计算量过于庞大。

研究人员认为,他们的技术可以用于用例如从数百万变量中嗅出数据集:例如根据他们使用的词语对维基百科页面的描述——只有几千个单词。在这一点上,诸如广泛使用的主成分分析技术可以将变量的数量减少到几百个,甚至更少。

维基百科矩阵有440 万列,每列代表一个不同的单词。维基百科上的任何文章只会使用几千个不同的单词。所以在任何给定的行:这意味着在任何一篇文章,只有几千个矩阵插槽中的440 万将会有内容。在稀疏矩阵中,大多数值为零。

至关重要的是,这项新技术保留了稀疏性,这使得它的核心集更容易进行计算处理。如果它们涉及零的大量乘法和加法,计算将会变得更容易。

新的核心集技术使用所谓的合并和归约过程,它开始取数据集中的20 个数据点,并选择其中10 个作为满20 个数据点的最具代表性的点。然后它对另外20 个数据点执行相同的过程,合并这两个所减少的10 个数据点,形成新的20 个数据点的数据集,然后它进行另一个缩减的过程,从20 个下降到10 个。

即使该过程检查巨大数据集中的每个数据点,因为它每次只处理数据点的小集合,它仍然保持了很高的计算效率。在他们的论文中,研究人员证明,对于涉及一系列通用缩减工具的应用,他们提供的缩减方法提供了对完整数据集非常好的近似结果。

该方法取决于数据的几何解释,涉及称为超球面的概念,它是圆的多维模拟。任何一个多变量数据可以看做是多维空间中的一个点。以同样的方式,数字对(1,1)定义二维空间中的点:在X 轴上的点和Y 轴上的点——就是维基百科表中的一行,其440 万个数字,定义了一个440 万个圆的空间上每一个点。

研究人员的缩减算法从找到数据点子集的平均值开始——比如说20 个,那就要进行缩减。这也定义了高维空间中的点,称之为初始点。然后将20 个数据点中的每一个“投影”到以初始点为中心的超球面上。也就是说,算法在数据点方向上找到超球面上的唯一点。

该算法选择超球面上的20 个数据投影之一。然后选择最远离第一个的超球面上的投影。它找到两者之间的中点,然后选择距离中点最远的数据投影;然后它再找到这两点之间的中点,并选择距离它最远的数据投影; 如此循环。

研究人员能够证明通过这种方法选择的中点将非常快地收敛在超球面的中心。该方法将快速选择其平均值接近20 个初始点的点的子集。这使得它们特别合适核心集中的候选者。


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-01-08 18:001741
用户头像

发布了 375 篇内容, 共 194.8 次阅读, 收获喜欢 947 次。

关注

评论

发布
暂无评论
发现更多内容

架构实战营模块7作业

宁静志远

架构实战营

中秋节快到了,确定不爬点月饼送岳母娘?

Regan Yue

爬虫 后端 Go 语言 引航计划 月饼

Golang 接受 Interfaces, 返回 Structs

baiyutang

设计模式 Go 语言 构架 9月日更

看好创业项目,避免藏在乐观下的无知状态

boshi

创业

Java Stream 源码深入解析

Zexho

Java 源码 stream jdk8

【Flutter 专题】48 图解 Android 原生集成 Flutter Module

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

模块三作业

Geek_fc100d

「架构实战营」

linux之chroot命令

入门小站

Linux

WEB 剪切板操作navigator.clipboard的使用

devpoint

Blob 9月日更

深入理解rtmp(四)之协议实现分析

轻口味

android 音视频 RTMP 9月日更

自动化会提高测试覆盖率,那测试覆盖率是什么?

禅道项目管理

测试 自动化测试 测试覆盖率

研发人员如何进行有效沟通

KJ Meng

研发管理 团队协作 技术沟通 沟通艺术 软素质

如何应对老板项目?

石云升

项目管理 9月日更

redis主从实践(二)

风翱

redis 9月日更

【VueRouter 源码学习】第十篇 - 全局钩子函数的实现

Brave

源码 vue-router 9月日更

Python——内置模块中的内置函数

在即

9月日更

如何将集合中的数据List,对比写入系统中

卢卡多多

集合 同步 9月日更

极客时间架构实战营作业三

jjn0703

架构实战营

手撸二叉树之二叉搜索树中俩个节点之和

HelloWorld杰少

9月日更

Vue进阶(幺零九):npm install 遇到 -4048 错误的解决办法

No Silver Bullet

Vue 9月日更

坚决抵制造星炒星等畸形价值观,资本是如何通过造星收割粉丝的

石头IT视角

外包学生管理系统架构文档

穿裤子的云

架构实战营

架构实战营模块八作业

老猎人

架构实战营

数据驱动的前提,数据质量

奔向架构师

数据治理 9月日更

架构实战营 - 模块八作业

李东旭

「架构实战营」

【架构图话说】我们怎么就做上了“中台”

超哥图话说

架构 中台 复杂 增长

在线JSON转Rust工具

入门小站

工具

B站就是一个神奇的地方

IT蜗壳-Tango

9月日更

CentOS 7 小技巧合集

耳东@Erdong

centos Centos 7 9月日更

架构训练营模块七作业(补)

老实人Honey

我爸电脑上有个加密压缩包,我给用 Python 给解开了

梦想橡皮擦

9月日更

如何使大数据易于管理_大数据_刘志勇_InfoQ精选文章