🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### **一、大数据时代无法避免数据的混杂性** 在小数据时代,数据要尽可能保证精确,尤其是在采样的时候,细微数据的错误会被放大,甚至对最终的统计结果产生根本的影响。 然而,在大数据时代,数据的混杂性成为一种必然: * 第一,数据量变大,错误率也会增加。 * 第二,数据源自各种系统,加大了混杂度。 * 第三,数据格式千奇百怪,数据清洗的难度是很大的。 在混在的基础上追求精确性可能会付出高额成本,关键是这种精确在大部分时间下,是否有对应的价值?比如信息在网络中流动,一条记录在传输过程中发生了延迟,其到达的时候可能已经没有意义了,而后续还有波涛汹涌的数据涌入进来,再追求这条记录的精确性是否仍然划算? >[info] ”大数据“通常用概率说话,而不是板着”确凿无疑“的面孔。整个社会要习惯这种思维需要很长的时间,其中也会出现一些问题。但现在,有必要指出的是,当我们试图扩大数据规模的时候,要学会拥抱混乱。 ### **二、大数据的简单算法比小数据的复杂算法更有效** #### **1. 微软 Word 语法检查的例子** 微软研究中心的两位专家一直在寻求改进 Word 语法检查的方法。但他们不确定是应该努力改进语法检查算法,还是应该添加更多特征的语料。于是,他们决定在4种常见的算法中逐渐添加语料,从一千万字,到一亿字,最后到几十亿字。 结果令人吃惊。他们发现,随着数据的增多,算法的表现都提高了,但重点是随数据提高的幅度。 当语料库不大,只有500万字的时候,一种简单的算法表现很差;但当数据量增大到10亿时,它的表现反而成为最好的,准确率从75%提高到95%以上。而另外一个在数据量较小时表现准确率最好的算法,数据量变大时,虽然准确率也在提升,但却成为表现最差的一个算法,其准确率由86%提高到94%。 因此,这两位专家在其发表的论文中提到:”如此以来,我们得重新衡量一下,更多的人力物力是应该消耗在算法发展上,还是语料库的发展上……“ #### **2. IBM 对机器翻译的醒悟** 机器翻译是比语法检查更有挑战的领域。1954年,IBM 以250个词语和6条语法规则为基础,成功将60个俄语词组翻译成英文语句,大大的振奋了当时的世界,有专家预言几年内机器翻译就将成熟商用。然而在1966年,IBM 的研究人员已经意识到这项工作非常困难,机器翻译不仅仅是教会机器熟悉语法规则,还必须教会机器识别不同的语境。比如我去意大利出差的时候学会的 “Ciao”,既可能是“早安”的意思,也可能是“再见”的意思,还有可能是“你好”的意思…… 机器翻译在六七十年代陷入了困境。在八十年代后期,IBM 研究人员提出了一个新的想法:与单纯的教会计算机语法规则和词汇相比,能不能让计算机自己估算一个词或词组用来翻译另外一个词或词组的可能性,用最高可能性的词或词组作为翻译的结果。 这个项目被 IBM 命名为 “Candide”,在九十年代取得了大的突破。把翻译问题从语法问题转移到数学问题上,看似是一个有效的手段。 #### **Google 让机器翻译真正走向辉煌** IBM 的 Candide 项目虽然取得了突破,但最终还是没能成功推向市场。在2006年,Google 也开始涉足机器翻译领域。 Google 利用其互联网搜索引擎多年来积累的巨量数据来训练计算机。它会从各种各样语言的公司网站上寻找对译文档,也会去诸如联合国或欧盟这些国际官方组织找译本,甚至包括一些速度项目的书籍翻译…… Google 的数据非常杂乱,译本质量参差不齐,而这些在数学统计面前都不是问题,Google 翻译系统要的只是 “**可能性**”。Goolge 超越 IBM 的并不是其拥有某个逆天算法,而是拥有他人无法企及的海量数据。一些互联网已经遗弃的内容,都可能作为 Google 语料库的一部分,作为其翻译系统的训练集。 >[info] **大数据基础上的简单算法比小数据基础上的复杂算法更加有效。** > -- "The Unreasonable Effectiveness of Data" Google 彼得·诺维格 :-: ![](https://box.kancloud.cn/e95bd7adcf9b995c9b739e3f9b656049_856x696.png =300x280) #### **四、数据的繁杂不是坏事,把它看成走向未来的标准途径** 大数据时代,我们不再期待精确,事实上也无法实现精确性。但需要说明的是,不精确和错误并不是大数据固有的特性,而是一个亟待解决的现实问题,只不过这个问题可能会长期存在。 在很多领域,比如内容分类,就更倾向于混杂。Flickr 保存了亿级别用户的近百亿张照片。当上传相片到 Flickr 时,用户会使用自定义标签而非事先划分好的类别。在搜索的时候,其实也是以标签为基础的。这些标签没有标准,没有预先设定的分类。但这些标签可以被广泛的应用在互联挖过上。也正因为这些标签的存在,像图片、视频和音乐这种非文本类资源才能用关键字来进行搜索。 互联网宁愿欣赏不精确而不会去假装精确,比如很多应用上的 “喜欢” 按钮边上的数字,往往是10000+,而非具体的12345。不是说系统不知道精确的数字,而是说数据量很大的时候,精确的数值已经没有那么重要了。 #### **五、数据的混杂促使新型数据库的诞生** 在小数据时代,数据库的标准是SQL,Standard Query Language,从名字就能看出其“僵化”,要求数据必须能够切割成一个个的字段,并以一条条记录的方式存储在二维表格中。 而在大数据时代,数据库正在由关系型向非关系型转变。非关系型数据库不要求数据结构的统一,天然包容数据结构的多样性。 由于“海纳百川”的特征,非关系性数据库在一些经典数据库核心原则上就需要一定的取舍。微软世界级的数据库设计专家帕特·赫兰德说过: >[info] **“我们再也不能假装生活在一个齐整的世界里,略有瑕疵的答案并不会伤了商家的胃口,因为他们更看中高频率。”** Google 在三篇经典论文中为世界带来了 GFS、MapReduc 和 BigTable,而 Hadoop 的横空出世则促进大数据真正进入千千万万的企业。 Hadoop 是与 Google MapReduce 系统相对应的分布式系统基础架构。通过把数据分成小模块,分配给多个机器进行分析,然后进行结果汇总的方式,事先了对超大规模数据的处理。典型的数据分析需要经过“萃取”->“转移”->“下载”的流程,但 Hadoop 则假定数据不能移动,而是将处理逻辑移到数据那里,在本地进行处理。(可以参见 “附页1:大数据的技术基础与挑战”) Hadoop 的输出结果没有关系型数据库那么精确,因此不能用于卫星发射、银行转账这种精确度高的领域,但对于精确度要求不那么高,比如顾客分类,商品推荐等领域,则完全可以大展拳脚。 有一个有趣的例子,ZestFinance 是一个帮助决策是否可以放贷给某人的公司。通过实际数据的分析,他们发现有10%的客户属性显示“已经死亡”,但依然可以从他们身上收回贷款。于是创始人梅里尔开玩笑的说: >[info] **“显然,没人会期盼僵尸复活并且主动还贷,但我们的数据显示,放贷给僵尸是一项不错的生意。”** 数据的混杂性,就像印象派画风一样,近看每一笔都是混乱的,但退后一步就会发现这是一副伟大的作品,因为站在全局你才能看到画作的整体思想。 >[info] **据估计,只有5%的数据是结构化的,可以存储在传统数据库中。如果不接受混杂,那剩下的95%的非结构化数据都无法被利用,比如网页和音视频资源。通过接受不确定性,我们打开了一个未涉足的世界的窗户。** > > **大数据要求我们有所改变,我们必须能够接受混杂和不确定性。精确性似乎一直是我们生活的支撑,就像我们常说的“钉是钉,铆是铆”。但认为每个问题只有一个答案的想法是站不住脚的。一旦我们承认了这个事实甚至用户这个事实的话,我们离真相就又近了一步。** :-: ![](https://box.kancloud.cn/64e32092b35bf950f1f50b16b3d8a8f5_1114x1040.png =400x400)