数据vs.算法,究竟谁更重要

摘要:数据和算法究竟哪个更重要并没有一个明确的界定,根据不同的情境和应用,它们发挥的作用不同。虽然实际情况确实如此,但是在数据为王的时代,算法的关心似乎已只停留在某些领域或者某些公司里面。

【编者按】随着服务器愈加的廉价,集群计算框架愈加成熟,大家似乎已经完全把眼光放到海量的数据上,算法的精心调校似乎已成为某些领域或者某些公司才去钻研的事情。那么,数据为王的时代,算法真的已无用武之地?下面我们一起看看Rio和邓毅的辨析。


免费订阅“CSDN大数据”微信公众号,实时了解最新的大数据进展!

CSDN大数据,专注大数据资讯、技术和经验的分享和讨论,提供Hadoop、Spark、Imapala、Storm、HBase、MongoDB、Solr、机器学习、智能算法等相关大数据观点,大数据技术,大数据平台,大数据实践,大数据产业资讯等服务。


以下为原文:

谷歌的强不是强在 PageRank 算法,而在于它是第一个在排名时把链接——而不只是文字和标题——考虑进去的。又以自己教的数据挖掘课为例。他让学生以 Netflix 用户对一万八千多部电影的打分为基础数据,写程序为她们推荐别的电影。其中有组学生的算法较优,另外一组学生算法一般,但使用了外部数据——IMDB 对电影类型的归类。结果第二组的结果胜过了第一组。

那么到底是数据重要还是算法重要呢?

大数据

来自Rio的观点:

————————————————————————————————————————————

虽然不能这么绝对的判断一定谁比谁重要,但在实际应用中很多时候的确是数据更加重要。有几方面的原因:

在很多问题中,算法的“好坏”在没有大量有效数据的支撑下是没有意义的。换句话说,很多算法得到的结果的质量完全取决于其和真实数据的拟合程度。如果没有足够的数据支撑、检验,设计算法几乎等于闭门造车。

很多算法会有一堆可调参数。这些参数的选择并没有什么标准可依,无非是扔给大量数据,看参数的变化会带来什么样的结果的变化。大量、有效的数据成为优化这类算法的唯一可行方法。

更极端的例子是,算法本身很简单,程序的完善全靠数据训练。比如神经网络。

对于很多成熟的算法,优化算法的增量改善通常远小于增大输入数据(这是个经济性的考虑)。

比如问题中举例的 Google。在它之前的搜索引擎已经把基于网页内容的索引算法做得很好了,要想有更大的改善需要换思路。PageRank 算法的采用大大增加了输入的数据量,而且链接数据本身对于网页排名相当关键(当然他们也做了大量算法的优化)。【插话:在这样的思想指导下,Google 想要插手社交网络或微博也不足为奇了吧?实时搜索、排名没有真人的互动怎么可能。】

Netflix 挑战赛的例子中,Netflix 本身的推荐算法也是优化到极致了。再从算法本身去找改进之处,投入产出比太低。引文中的学生仅仅是加入了 IMDB 数据库关于电影分类(从而更加明确观众的偏好)就能带来比复杂算法更加显著的改善,试想如果他们能拿到 Rotten Tomatoes 的数据会怎样?

When people are equally smart, big data wins。这个结论的悲摧之处在于,在类似行业中,今后小的创业公司想要打败巨头就不那么容易。要么要改变思路,要么要改变策略。指望靠小聪明扳倒大象会很成问题。

当然这也不是绝对的。比如典型的反例(算法比数据重要)是 Google 刚被批准收购的 ITA Software。这家牛 B 烘烘(估计是现存最大的 Lisp shop)的公司的机票搜索引擎驱动着世界各大航空公司、票务中介的后台系统。它的数据来自一个各大航空公司授权的公司,其他竞争者也可以花钱(虽然不便宜)买到同样的数据。但它的牛 B 之处在于能从同样的数据里比别人更快挖出更好的结果。

来自邓毅的观点:

———————————————————————————————————————————

程序 = 数据结构 + 算法,数据结构用来干啥的,装数据的呀。

数据能干啥?数据是信息的源泉,没有足够的数据,就没有信息,信息技术没有信息啥都没有。

算法能干啥?把数据中信息提取出来,不经过提取,数据还是数据,变不成有用的信息。

这俩不是并列的关系,而是一体的,如何能说谁重要呢?脑子重要还是心脏重要,你给我说说。

此外,数据的好坏如何衡量?不是越多越好,当然数据越多往往所蕴含的信息越大,这个容易看得出来;算法的好坏如何衡量?不是越复杂约好,能从海量的垃圾中找到有用的信息的算法就是好的算法,虽然不这么复杂,不是所有的人都能看到这点。

我最想说的是什么?如果不是事不关己的旁观者,数据往往是自己能拿到最多的数据,然后根据自己的这些数据去找最合适的算法。

原文链接: 纠结,到底是数据重要还是算法重要呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云数据中心选址PK:微软第一,IBM第二,谷歌最少

摘要:多区域数据中心往往可以侧面说明服务的可用性,在这个方面,Azure以12个区域领先,接着是Softlayer 9个,Amazon 8个,Rackspace 6个。Google比较落后,只有3个。 【编者按】当下,各…

用户暴增下的收入降低,AWS面临尴尬

摘要:虽然摩尔定律和规模经济会带来成本效益,但是在大量的竞争下,AWS的收益已明显降低,而10%的股价下降更带来了投资者的不满。 【编者按】虽然亚马逊的云业务远远超过了IBM、HP和Google等巨头科技软件公司,但是其增长…

为什么软件测试需要变革?

摘要:世易时移,现今的科技发展一日千里,软件测试这门科学也到了该进行革命的时候了。作者Bhumika Mehta认为软件测试需要的就是想法与创意。没有想法的测试人员可能在测试这条路上不会走得太远。 世易时移,现今的科技发展一日千里…

Linux统治超级计算领域的九个理由

Linux能统治超级计算领域的几个原因不外乎:历史悠久、成本低廉、可靠、安全、开源、资源丰富、易于管理、创新不断等等。1. Linux在超级计算的历史 NASA在1994年使用Linux建立了第一个Beowulf集群,作为昂贵的HPC超级计算机的一种替代品。“Beowulf集群是…

左手代码,右手是你

认识你是在 5 年前:成都,地铁2号线,白果林站,2014 年 2 月下旬 高高的,廋廋的,戴着一副莹润的眼镜,穿着一件并不太合身的、略宽松的羽绒服,安静的站在我们约定见面的地铁口 是的&a…

开源是如何让Android成为移动市场大佬的?

在如今的手机操作系统市场中,Android占有约80%的市场份额,是当之无愧的大佬。这其中离不开开源的贡献:作为开源系统本身,Android就激起了世界各地开发者、开源爱好者和大众用户的兴趣。大约是十年前,我有了自己的第一部…

十种程序语言帮你读懂大数据的“秘密”

摘要:经过数年发展,当下大数据领域已充斥着各种各样的分析工具,那么如何才能选择自己适合的。本文从R、Scala、Java、Go、Python等10种语言着手,带大家一览大数据领域的常用工具。 【编者按】面对成千上万条数据记录,…

标准开源产品是打破供应商垄断的关键

Mrten Mickos是美国桉树系统公司的CEO,提出当公司拘泥于自己的设计和定制化时,与他们被供应商锁定所受到的损害程度是相当的。Mickos解释了为什么他认为采用标准开源产品是避免这两种被锁定类型的最好方式。当谈到软件和云服务时,业务锁定是有…

专访阿里云总裁王文彬:做出“用得爽”的工程产品

摘要:已拥有近百万不同行业领域用户的阿里云,在产品开发、服务输出与生态系统建设等方面还将继续加速,多点开花。 回顾在2014年已经过去的半年中,阿里云在产品开发、服务输出与生态系统建设层面的诸多动作。不难看出,…

写代码前的准备,你做好了吗?

我们程序员很容易给别人一种深刻的误解:写代码的。包括我们自己有时候也会陷入这样的圈套之中。很多程序员在接到任务之后,就会马上想着如何用代码来实现,这是一种很不好的做法。其实,在我们写代码之前,还有很多工作要…

C++11(及现代C++风格)和快速迭代式开发

过去的一年我在微软亚洲研究院做输入法,我们的产品叫“英库拼音输入法” (下载Beta版),如果你用过“英库词典”(现已更名为必应词典),应该知道“英库”这个名字(实际上我们的核心开发…

软件系统分析师与架构师技能大PK(您具备了哪些呢?)

软件系统分析师与架构师在职责与技能方面没有明显的界线,你中有我我中有你,同时也有各自自己的世界,很值得拿来比比。 系统分析师职责:告诉我们系统应该做什么。 l 管理到技术的桥梁 各领域业务到信息化技术的通知翻译者。 l 对软件项目进行整…

原型设计工具的对比评测记录(一)

概述:本文是美国的专业设计公司cooper公司的交互设计师Emily Schwartzman所写的一篇对众多原型设计工具的对比评测。这里是前半部分,从总体角度介绍评测及其结果。原型设计工具的对比评测记录(一)原型设计工具的对比评测记录&…

软件开发人员进修必备的20本书

初级软件开发人员进修必备的20本书(上) #原创 程序开发 申请达人,去除赞助商链接开发和编程向来就不是一件轻松的事,有时候你可能需要别人稍微点化一下,或者从书中得到一些有用的帮助。总而言之,无论是工作流程还是进修你的专业&a…

为什么我喜欢单独编程

大约是一年前,我写了一篇关于我为什么不喜欢结对编程的帖子。此文也是对该帖子的补充。 至今为止我已经在加利福尼亚州科学院工作5个月了。我创建了一个由美国国家科学基金会资助的关于蚂蚁分类学的网站:antcat.org。 这是我作为一个程序员25年以来最棒…

谈操作系统的碎片化和融合

摘要:目前,Android和iOS统治着移动操作系统,桌面端被Windows所主宰,随着智能家居、可穿戴设备等新兴平台的兴起,造成了各家操作系统四分五裂的情况,但在不久的将来他们终究会走向融合。 目前,An…

盘点大数据的十大发展方向,Scale-out将成主流

摘要:随着人们对大数据认知的加强,除去特点之外,人们开始更加关注于它的使用价值和未来的服务方向。本文列举了大数据的十大发展方向,其中Scale-out将成为主流。 【编者按】如今,大数据俨然成为IT领域最受关注的热词之…

程序员的成功是否有规律可循?

摘要:自然界中存在许多规律,那么在程序人生上是否有规律可循呢?这种规律是如大多数人期望的那样吗?V众投发起人李智勇对此进行了探讨,他分析了必然与偶然、本质与细节,并就程序人生规律的三要素进行了解读。…

FFMPEG解码多线程

FFMPEG多线程解码 FFMPEG多线程编码器一般以在Slice内分功能模块进行多线程编码,如h263,h263P,msmpeg(v1, v2, v3),wmv1。包含以下几个线程:(1)Pre_estimation_motion_thread运动估计前的准备;(2)Estimation_motion_t…

SpringNBoot日志配置

市面上的日志框架 日志门面 (日志的抽象层)日志门面 (日志的抽象层)JCL(Jakarta Commons LoggingSLF4j(Simple Logging Facade for Java) jboss-loggiJUL(java.util.logging&#x…