花了很长时间,终于断断续续地坚持把《Programming Collective Intelligence》给读完了。作者用非常直观的方式向读者展示了人工智能和机器学习中的大量经典的算法。更可贵的是,作者在展示算法时所使用的例子都是Internet中非常有代表性的场景,并且很多情况下还会结合一些实际运营的Web站点的数据作更进步阐释。当然,作为一本实用型的书,少不了的是大量可运行的代码。
与其他Data Mining、Machine Learning方面的一些教科书相比,这本书的最大的优点是具体和直接。因为算法类教科书要传达的是一个领域内的相关知识,它往往非常专注本领域相关知识的介绍,而尽可能少涉及到一些次要的相关领域的知识。另外,又要显得本领域的重要性,所以描述要尽可能地严格和一般。也就是说,需要撇开具体问题(可以举例),仅仅从一个更高的层次上抽象地介绍这个领域。以表明“这个领域不光能解决这个问题,我的模型在这,只要你能套对模型,你的问题就能用我的方法来解。”而描述算法用的也是自然语言或者伪代码,目的是为了说明“我是语言中立的,满足一定条件的语言都能实现这个算法。”并且,还要用很多的篇幅来说明或者证明这个算法为什么是有效的,在什么时候有效,有效到什么程度等。
而事实上,对于初学者来说,描述上抽象往往可能造成了理解上的困难。因为我们理解东西,很多时候可能比较喜欢从感性上升到理性。也就是由具体到抽象。而教科书上的介绍往往是反过来的,先建立理性认识,然后再让你去实验实践得到感性认识。如果之前有一点背景知识,能够利用类比想象来理解的话,情况还好,否则就真的只能“云深不知处”了。所以,这边书的作用也正是在于此吧:它提供了关于这先算法如何编写以及使用的非常直白的指南。直白到就是照着书上敲代码配置环境就能运行。
不过补充一句,我没有贬低教科书的意图,事实上,看完这本书以后,想继续提高对于算法的认识的话,教科书依然是一个非常好的途径。
关于这本书没有告诉我们的。这本书没有告诉我们这些算法为什么有用。另外,它也没说怎么讲如何将算法用于大规模的数据上。关于第一个问题,是理论的问题,教科书解答的也正是这种问题。关于第二个问题,则是实践性的问题。关于大规模数据的存储、访问,以及在数据上的运算问题则更多是分布式并行系统所研究的问题。我想如果要是把这些东西加进来,这本书不知道还要加厚几倍,而它的读者不知道要少多少。
再说具体内容,集体智慧编程思想其实是简单的:各人自动自发无目的地提供信息,经过计算机整理以后会形成一种“合力”使得更多的人受益。举例来说,内容推荐。在内容推荐中,首先通过一个人过往的行为,比如看过的电影、书、朋友等,提取这个人爱好的特点(将人抽象成一些关键字,或者说属性),然后可以:1 推荐这个人特点吻合程度高的内容(内容本身也抽象成了一些关键字);2 推荐和这个人爱好相近的人所喜欢的东西(志同道合嘛)3 其他。通过这种在属性空间中的运算,对人和内容、人和人、内容和内容之间的关系进行整理、展示、应用。这个就有点像流水生产线,流水线上每个工人负责一些比较细致具体的活儿,而整个流水线机械负责整个流程的运转和一些容易处理的加工过程。而集体智慧编程正是由计算机负责知识的整理过程,而人负责提供零散的各个知识点。
总结一下,这边书以恰到好处的深度展示了一幅利用集体智慧建设更智能的Internet的图景。在这个图景中,每个人按照自己的目的产生信息,而计算机则整理这些信息以造福更多的人。
入门的好书
对“入门的好书”的回应
《集体智慧编程》热门书评
-
事隔几年,重拾这本书
122有用 10无用 飞林沙 2012-12-28
记得第一次读这本书的时候,是刚毕业在第一家小公司工作,虽然当时只是做Web,但是作为十人团队中少有的还有那么点数学基础的人,无可避免地把一些简单的非工程化的东西接了过来。当时有一个小任务是来做喜欢xxx的人也喜欢xxx,老大就把这本集体智慧编程扔给了我,说看这本书,然后看看能不能把这个做出来,当时我...
-
夸的人太多了,我来中和以下
101有用 4无用 Chen_1st 2010-11-22
这本书还不错的,很适合数学基础不算太好(当然也还是要一定的数学基础),又想了解数据挖掘这个领域的读者。或者有实际的项目需求,但又没有足够的时间去深入了解这个领域的实践者。不过我每次看到有人说它把艰涩的数学讲的很通俗、进而认为那些写满数学公式的书是故弄玄虚这样的说法时就觉得很反胃口。但这种说法很普遍,...
-
实战性极强
67有用 1无用 clickstone 2008-08-25
中国有句老话,叫做“知易行难”。作算法的朋友应该更有体会,想把 paper 上的公式转变为可以运行的代码,这是件考验功力的事情。Toby Segaran 写的这本《Programming Collective Intelligence》,是修炼此种功力的武林秘笈之一。这本书最显著的特点是,实战性极强...
-
入门的好书
21有用 0无用 yeahq 2009-04-13
花了很长时间,终于断断续续地坚持把《Programming Collective Intelligence》给读完了。作者用非常直观的方式向读者展示了人工智能和机器学习中的大量经典的算法。更可贵的是,作者在展示算法时所使用的例子都是Internet中非常有代表性的...
-
书中网站del.icio.us数据实例指导
13有用 1无用 zhou jimin 2011-11-24
为了更好地学习本书,我从学习python开始到后来调试书中的网站实例。花了不少功夫,希望朋友们不要走弯路。这里提供了图文并茂的指导过程。请参考: http://blog.csdn.net/zjmwqx/article/details/7007438...
书名: 集体智慧编程
作者: Toby Segaran
出版社: 电子工业出版社
原作名: Programming Collective Intelligence
译者: 莫映 | 王开福
出版年: 2015-3
页数: 356
定价: 79.00元
装帧: 平装
ISBN: 9787121254437