大数据有大问题

标签:大数据

访客:17112  发表于:2013-11-11 14:04:32

超级计算的基础是形形色色的各类模型。但很多模型都存在天然的缺陷,一旦出错,就很可能在大数据时代给人们造成始料未及的大麻烦。

大数据有大问题

大数据和云计算现在让每个人都拥有了超级计算能力。不过,大家都忽略了一个问题:我们用来截获、应用这些海量信息的工具往往存在着致命的缺陷。我们所做的绝大多数的数据分析都是以错误的模型为基础的,这必然会带来多种错误。而一旦我们眼高手低,想法太多却能力有限,就会造成不堪设想的后果。

如果大数据本身不是那么规模庞大,这还不算是什么大问题。但是现在我们手里的数据量已经足够庞大,就算大家使用存在内在缺陷的模型,往往也能获得还算有用的结果。问题在于,我们还往往误认为这些结果无所不能。我们沉迷于自己的技术,可一旦模型失效,它就会变得非常糟糕,尤其是因为,海量数据产生的错误也同样巨大。

这个问题的部分成因在于,人们对作为计算机程序基础的模型做了过度简化,而不是它们的编程本身出了什么问题。比如,2011年4月初,亚马逊网站(Amazon.com)上就出了这么一件怪事。作为一本很多生物学家时常参考的发展生物学经典著作,彼得•劳伦斯的《苍蝇的成长》(The Making of a Fly)在这个网站上共有17个版本在售:15本二手书的售价为35.54美元,但两本新书居然卖到了23,698,655.93美元(还要另外再加上3.99美元的运费!)。

这本书最后一次印刷是1992年,现在已绝版,但这还是无法解释它凭什么能卖到这样的天价。真实情况是,有两个自动程序当时掀起了一场你追我赶、不断抬价的竞价活动。它们一个由卖家“bordeebook”运行,另一个由卖家“profnath”运行。Profnath每天会有一次将自己的出价抬到bordeebook出价的0.9983倍。几个小时后,bordeebook的出价就是profnath最新出价的1.270589倍了。

意外因素就能搞砸最完备的计算机模型,这就是一个经典的案例,而且它还不是孤立事件。

打个比方,难道这起事件听起来难道不像是次贷危机的翻版吗?2008年前,拥有最好技术、运作最先进的假设情境的顶尖人才完全没有预料到迫在眉睫的危机,随后还对危机的严重性一无所知。一个模型所涵盖的范围越宽,就能包括越多可能出现的错误。这一点听起来显而易见,但我们往往忽略了一个事实,即这些模型无法,也永远不会,和现实情况本身毫厘不差。

还有一个案例。亚马逊英国网站的一个T恤卖家挂出的一件待售T恤印着这样一句话:“保持冷静,疯狂强暴”。大家可能会想,谁会觉得这么一件T恤是个好东西呢。但是作为这件衣服的制造者,Solid Gold Bomb 公司都不一定知道自己在销售它。这家公司为此多次公开道歉,但它辩称,自己所犯的唯一错误是写错了一个小代码。这是因为这件衣服不是由谁设计的,它也没有真的印上什么字样。Solid Gold Bomb的主业不是什么设计艺术T恤。它实际上是个软件公司,专门开发词库,汇集能够进入流行文化的词汇(比如“保持冷静,继续前进”,这种话在网上会引发一阵模仿热潮)。这个软件的代码出了点问题,正好掉在了一件T恤的模板上,结果它就自动挂到亚马逊网站上变成商品了。他们犯的错就在于,在4,000多个词汇中没注意到那个词(这个公司算是幸运的,因为没有其他粗话被放上网)。问题就出在语境身上。

这又是一个简单模型导致严重社会影响的例子。造出Solid Gold Bomb T恤的程序并不理解它的目标受众会怎么看“强暴”这个字眼,更不要说了解生产T恤的商业流程是如何运作的了。但是语境却将一个被忽略的词变成了一次颇具破坏力的事件。

这两个案例都是由于某个程序无法预料会与其他程序产生什么样的相互作用,也不知道自己运行的宏观语境,结果导致重大的损害。而作为代码基础的模型漏洞百出,而这两个案例只是其中的两种表现形式而已。

大数据仍然存在大问题。比如,我们收集的信息往往没有经过合理的标准化处理(即转换为同类格式的数据),我们建立的模型往往没有经过同行测试,也没有经过评审(看看作为社交媒体影响力标准的排行工具Klout所遭遇的问题吧)。另外,最重要的是,信息本身往往存储于大公司内部,大众无法获取、验证它们。

当然,这并不是说我们的技术注定会失败。我们日常所用的绝大多数应用都运行良好,在某些情况下它们还能以很多方式改善我们的日常生活。但是我们应该深入检查支撑它们的各种模型。因为某些时候,它们会以某种方式把事情搞砸。(via:财富中文网 作者:Joshua Klein)

约书亚•克莱因是一位黑客、咨询师、电视主持人,也是《声誉经济学:人脉比财产更值钱》(帕尔格雷夫•麦克米伦出版社)一书的作者,本文选自该书。

评论(0)

您可以在评论框内@您的好友一起参与讨论!

<--script type="text/javascript">BAIDU_CLB_fillSlot("927898");