AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

如何使大数据易于管理

  • 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:001774
用户头像

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

关注

评论

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

2022年度回顾 | 这一年,LigaAI写了10万字

LigaAI

程序员 产品经理 敏捷开发 2022年终总结 企业号 1 月 PK 榜

npm 包 chalk-next 被开发者投毒,导致 SRC 目录被删

墨菲安全

npm 投毒 npm chalk-next chalk-next 投毒

快速构造String对象及访问其内部成员的技巧

阿里技术

Java jdk FASTJSON2

关于 TiDB 对接数据仓库的一些思考

TiDB 社区干货传送门

实践案例 新版本/特性解读 数据库架构设计 6.x 实践

首汽约车驶向极速统一之路!出行平台如何基于StarRocks构建实时数仓?

StarRocks

数据库

广西首次!3DCAT实时云渲染助力南宁数字气象科普馆上线

3DCAT实时渲染

云计算 云渲染 元宇宙 3DCAT 虚拟数字气象馆

【架构设计】如何让你的应用做到高内聚、低耦合?

JAVA旭阳

Java 架构

“数据库内核从入门到精通 ”系列课开讲!

阿里云数据库开源

开源数据库 polarDB PolarDB-X 阿里云数据库 PolarDB for PostgreSQL

发布文章指引手册

TiDB 社区干货传送门

社区活动

软件测试/测试开发丨你以为Shell只是命令行?读懂这篇文,给你的工作赋能

测试人

Shell 软件测试 命令行 自动化测试 测试开发

ITSM | 权威指南发布,高速IT服务管理团队是什么样子的?

龙智—DevSecOps解决方案

数字化 ITSM IT服务管理中心

关于 Serverless 应用架构对企业价值的一些思考

阿里巴巴云原生

阿里云 Serverless 云原生

软件测试/测试开发丨接口管理工具YApi怎么用?颜值高、易管理、超好用

测试人

软件测试 接口测试 YAPI 测试开发

Java Agent 踩坑之 appendToSystemClassLoaderSearch 问题

阿里巴巴云原生

Java 阿里云 容器 云原生

TiDB 6.5 LTS 发版

TiDB 社区干货传送门

新版本/特性发布

可观测性之Log4j2优雅日志打印原创

宋小生

日志 可观测性 log4j2

做产品质量“守护神” 华为云CodeArts TestPlan测试管理平台解读

科技热闻

从0到1介绍一下开源大数据比对平台dataCompare

诸葛子房

大数据 开源 低代码

灵雀云入选2022 EDGE AWARDS「创新场景50」年度最佳场景实践榜单

York

云原生 数字化转型 业务思维 科技创新

CodeArts TestPlan:一站式测试管理平台

华为云开发者联盟

云计算 后端 华为云 企业号 1 月 PK 榜

浅析华为云基于HBase MTTR上的优化实践

华为云开发者联盟

大数据 后端 华为云 企业号 1 月 PK 榜

分久必合?数据库进入“超”融合时代 | 爱分析调研

YMatrix 超融合数据库

数据库 数字化转型 案例分享 超融合数据库 YMatrix

数据库发展史

TiDB 社区干货传送门

数据库前沿趋势

「技术直播」分布式数据库订阅功能的原理及实现

TDengine

数据库 tdengine 时序数据库

软件测试/测试开发丨接口测试该怎么做?持证上岗的Charles,可以帮你做什么?

测试人

软件测试 自动化测试 接口测试 charles 测试发开

可以一学的代码优化小技巧:减少if-else冗余

华为云开发者联盟

JavaScript 前端 代码 华为云 企业号 1 月 PK 榜

缓存与数据库双写时的数据如何保证一致性?

风铃架构日知录

Java 程序员 后端 开发工程师 后端开发工程师

版本控制 | 一文了解虚拟制作,进入影视制作新赛道

龙智—DevSecOps解决方案

版本控制 版本控制软件 虚拟制作

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