中国有句老话,叫做“知易行难”。
作算法的朋友应该更有体会,想把 paper 上的公式转变为可以运行的代码,这是件考验功力的事情。
Toby Segaran 写的这本《Programming Collective Intelligence》,是修炼此种功力的武林秘笈之一。
这本书最显著的特点是,实战性极强!
针对每个算法,他从头到尾演示了一个完整的实现过程:从获取数据,组织存储,到算法实现,加载运算,再到最后的结果的分析利用。书中所有的例子均基于实际系统的真实数据,作者演示了大量的开放 API 的使用,Delicious、Amazon、Last.fm、Google News,各个都是大名鼎鼎,每步都是真刀真枪。跟着书中的操作这样一趟走下来,你会豁然开朗,原来这些看似神秘复杂的系统,也不过如此。但不幸的是,其中的大部分 API 已经不能工作了。比如 del.icio.us API,你就得换这个了,http://www.michael-noll.com/wiki/Del.icio.us_Python_API。
从纯粹算法的角度来讲,这本书里讲解的算法,基本都是入门级的。但即使是这样,能把细节讲述地如此传神,也实属不易。换一个角度来看,简单,也同时意味着常用,熟练掌握了书中的这些算法,也足以解决不少的现实问题。而且,在拥有大规模数据的情况下,简单的算法,往往也可以取得令人吃惊的效果。
另外一个方面,此书作者用英文遣词造句的能力出神入化,读起来简直行云流水。时常会让自己产生英文超牛的幻觉,体验很爽。
没时间细读的朋友,也建议至少看一下 Toby Segaran 写的 Social Data Mining 这个 slide,一定会有收获。http://www.slideshare.net/adunne/mining-social-data-for-fun-and-insight
我得知此书,需感谢我的一篇 blog “个性化技术相关资料” 后面,KaKa 网友的推荐。http://www.guwendong.com/post/2008/recommendation_resources.html
豆瓣猜没有帮助我发现这本书。
这曾让我思考,基于 SNS 的推荐,是否比传统的推荐更有效呢?想参与讨论?请移步这里 http://www.douban.com/group/topic/3994778/
五星!
首发 Beyond Search
http://www.guwendong.com/post/2008/programming_collective_intelligence_review.html