Introduction to Big Data

来源:互联网 发布:c语言实训总结 编辑:程序博客网 时间:2024/06/05 06:54

一. 引言

由于之前在工作之余加入了一个研究兴趣小组,大家研究的大主题就是Big Data。其实在闲暇里都会在各种媒体上接触到“大数据”这三个字,但面对类似“什么是大数据”,“大数据能干什么”,“为什么要用大数据”的问题时,自己还是很难回答的上来。因此也想借此机会,秉着research的心态来了解Big data,这个introduction其实是自己对《大数据时代》这本书所做的摘录与理解的产物,希望能帮助到自己来回答上面的这几个问题吧。

二. 背景

都在说现在是一个数据爆炸的年代,为何会说是爆炸呢?书里的两条信息就很好的解释了这个爆炸的概念:

  • 2007年人类大约储存了超过300EB(1EB = 1024TB*1024TB)
  • 人类储存信息量的增长速度比世界经济的增长速度快4倍
所表明的现象就是数据量基数庞大且增长速度快。从我们每个人的日常生活来看,我们每天拿着手机会发多少条信息,上微博发了多少消息/图片,浏览了多少网页,随便一想这其中的数据量都是惊人的。
如此之大的数据量在过去是难以想象的,因此过去完全没有能力去面对大数据所带来的工作量,自己在初中配个台式硬盘是20GB觉得已经挺大了,而现在去配个电脑硬盘都是TB级的。这就说明,其实作为当今的计算机已经有能力去处理大数据了,“计算机数据处理能力的增长速度比世界经济的增长速度快9倍”,正是硬件水平的提升才把大数据放上当今热门话题之内了。

三. Big Data的定义与特点

其实大数据并非一个确切的概念。传统上的大数据是指需要处理的信息量过大,已经超出了一般电脑在处理数据时所能使用的内存量。但是我们这边所提到的大数据已经不单单是字面上的概念了:"大数据是人们获得新的认知、创造新的价值的源泉;大数据还是改变市场、组织机构,以及政府与公民关系的方法。" 
为何这么简单的三字名词在当今已经变成了一种源泉与方法了呢?这就得归结于它自身的三个主要特点(书中目录),这三个特点也正是三个重大思维转变:

更多--不是随机样本,而是全体数据

第一个特点也就是第一个转变就是:利用所有数据,而不再仅仅依靠一小部分数据。一提到一小部分数据这个名词的时候就很快就会联想到以前常接触到的随机采样方法来做数据统计分析。这在过去确实是一个非常成功的方法,成为现代社会、现代测量领域的主心骨。但这只是一条捷径,是在不可收集和分析全部数据的情况下的选择,它本身存在许多固有的缺陷。因此到了大数据时代,就有了一个“全数据模式”即 样本 = 总体这个概念。其实这样的思维转换也非常好理解,因为传统的随机采样的精确性随着采样随机性的增加而大幅提高,但与样本的数量的增加关系不大,但现实中是很难做到绝对的随机的,总会存在一定的偏见。而大数据则采用所有数据作为样本,公平的对待每条数据,从而也大大提高了在微观层面上的分析准确性。毕竟我们已不能满足于正态分布般的中庸平凡景象了,生活中真正有趣的事情经常藏匿于一些细节中,而采样分析就无法捕捉到这些充满意外的细节,这也是我们在日常生活中总喜欢讨论一些什么‘小道消息’,‘花边新闻’的道理是一样的。而往往一些意想不到的商机可能就存在于这些个往日无法被统计到的细节中。其中这里的“大”取的是相对意义而不是绝对意义,关键点在于“全”。

更杂--不是精确性,而是混杂性

这个特点所要做的转变就是:放弃对数据精确性的执着,而是要学会拥抱混乱,对个别误差也要有包容力。相比过去,我们现在要面对的数据种类也是越来越纷杂,甚至说这些数据已经变得混乱无序了。如此一种unstructured data放在面前我们应该学会去耐心的包容,允许不精确,而不是再像以前一样去从中筛选一些精确的信息来进行分析。其实往往对数据精确性的追求所消耗的成本都是非常高的,需要各种复杂算法的支持,而大数据的分析可能就只要简单的算法与低廉的成本。所以大数据不仅让我们不再期待精确性,也让我们无法实现精确性了,虽然其中的内容各种混杂无序而且会有一些个错误,但它就是数据本身的一个固有特性。我们应该正视这个问题而不是通过一些方法去避免它,混杂性的数据分析在大数据时代是一种标准途径。因此,对应的新型数据库与架构也相应的诞生了,如比较流行的NoSQL与Hadoop,这就是为什么现在耳边也经常能听到什么“分布式结构”,“非关系性数据库”的名词。接受与承认混乱,可能是对传统“钉是钉,铆是铆”的一直思维方式的挑战。但认为每个问题只有一个答案的想法其实是站不住脚的,一旦我们承认了这么一个事实甚至拥护这个事实的话,我们离真相又进了一步。

更好--不是因果关系,而是相关关系

我们现有的一个传统观念应该就是因果关系了,“找到一切事情背后发生的原因”基本是人类了解这个世界的一个根基。在大数据时代,需要做的一个非常具有挑战性的思维转变就是要从这个因果关系中解脱出来,而开始注重相关关系。当今社会,我们不必非得知道现象背后的原因,而是让数据自己“发声”,也就是用事实来说话。其实相关关系就已经被证明有很大用途,只是具体应用比较少,毕竟当时去收集数据很费时费力。而现在,我们拥有如此多的数据,这么好的机器计算能力,因而不再需要人工选择一个关联物或者一小部分相似数据来分析了。在大数据分析中,相关关系分析法更准确、更快,而且不易受偏见影响,建立在相关关系分析法基础上的预测是大数据的核心。在大数据时代,我们已经开发了很多新的分析工具和思路让我们对数据有一系列新的视野,比如数据间的“非线性关系”就是一种典型的非因果关系。因此通过去探求“是什么”而不是“为什么”,相关关系帮助我们更好地了解了这个世界。但人们以往的主导思维都是所谓的“快速思维”,即通因果关系能快速的从发生的现象中推测结果,但往往这种思维方式会得到一些错误的结论。换句话说,相关关系很有用,不仅仅是因为它能为我们提供新视角,而且提供的视角都很清晰,而我们一旦把因果关系考虑进来,这些视角就有可能被蒙蔽掉。总而言之,这一特点改变了人类探索世界的方法,尽管这个特点在哲学意义上也引起了很大的讨论。因为这种思维方式就暗示着"理论的终结",尽管理论仍存在于像物理、化学这样的学科里,但大数据分析不需要成型的理论,这就变得十分荒谬了。事实上,就是因为不受限于传统的思维模式和特定领域里隐含的的固有偏见,大数据才能为我们提供如此多新的深刻洞见。

四. Big Data所涵盖的研究内容

Big Data的数据分析上主要研究内容包括两部分:data mining和machine learning。其实简单理解起来就是,首先我们需要获得到这些大量的数据,如何去获得应该可以通过data mining的一系列工具以及方法,比如:Anomaly detection,Dependency modeling,Regression等,同时为下一步的数据建模与机器学习提供一个铺垫。接着就是比较重要的machine learning,让机器先接收到所有数据的同时还得让机器通过一定的方法去分析这些数据,如何分析这些数据就得主要运用machine learning中牵涉到的各种方法了:classification,clustering,optimization,pattern recognition等等。要做到让数据"发声"的前提就是要先让我们的计算机"懂得"这些数据,然后根据所用的数据模型来让数据说话。其实每一个后台算法或者一个模型相当于一个让机器读懂数据的背景条件。至于这些数据会说出怎样的具体内容就是我们所得到的一个"是什么"的结果了。

五. Big Data的主要应用与具体实例

其实大数据的具体应用就是用于预测了,而这个预测通常是以概率来说话,而不是板着"确凿无疑"的面孔。“通过找出一个关联物并监控它,我们就能预测未来”。具体的实例已经有很多很多了,Google的禽流感预测与监控,亚马逊的书刊推荐系统,Farecast的机票价格预测系统,无所不包的Google翻译系统,沃尔玛的商品摆放原则,美国折扣商Target与怀孕预测,UPS与汽车修理预测等等,几乎上面的每一个观点后面都有很多的现实例子来得以证实。

六. 对于Big Data的一些个人理解

其实对于big data的一些大约例子或是应用领域之前还是有所了解,但当自己真正接触到它本质的概念是有点被震撼到了,大数据时代是对当前生活与交流方式的一种挑战。这已经不是一个技术层面上的术语了,更是给予了看待事物的另一个思维方式,也就是书里所表达的要从因果关系的传统思维中转变到寻求相关关系这一新的思维中去。在现在越来越多的场合中,“为什么”似乎变得不是那么重要了,“是什么”渐渐成了大家更关注的内容了,而大数据正是迎合了这个契机,从另一个角度上解决了很多现有问题。

更深层次的考虑就觉得Big Data其实就是秉着一种以全面公平的态度面对每一个数据,而且要以一种包容的心态去面对所有纷繁复杂的数据,这样才可能从数据中获得出一些我们过去没有发现过的一些关联,而往往这些关联都是有商机可寻的。虽然可能不知道为什么会有这样的关联,但大数据告诉我们的事实就放在面前。其实前半句中,我就会不由想到我们为人处事的原则,也愈发觉得其实世界中都存在着一种通用规则。

这里我想引用一下曾经看到过的一篇博文里的内容最为结尾(稍微改动了点- -):

之前没怎么接触到Big Data,这次reseach对我来说是一个不小的挑战,发现其中涉及大量的数学知识,线代,统计学,数学分析等等,虽然感到困难重重,但我感到莫大的兴趣,尤其是机器学习领域,在我眼前展开的是一幅美妙的画面,大牛们神乎其技各显神通,复杂的数学公式背后蕴含着简单的哲理和思想。

人类的发展来源于对自然背后神秘力量的好奇和膜拜,简单的结构往往构建出让人难以想象的伟大,0和1构成了庞大的电子信息世界,DNA构成了自己都无法完全了解自己的生命体,夸克或是比夸克还小的粒子构成了这个令人着迷的宇宙,在这些简单的结构背后,是什么在注视着我们,狭义的编程只是在计算机的硬件躯壳内构建可执行的程序,而广义的编程在我看来是创造世界的一种手段。

现在,我给你一个创造世界的机会,你是用Vim还是Emacs,也许你会调侃的跟我说:

“恩,我用E = mc^2”。


原创粉丝点击