2009年05月12日

公司每个月有买书的福利,最近买了几本数据挖掘相关的书,其中有一本《集体智慧编程》。

恕我孤陋寡闻,我第一眼看到这本书的时候,以为是讲结对编程方法论的书。翻开一看,感觉面熟,才发觉,是大名鼎鼎的《Programming Collective Intelligence》。

不知道其他人看到“集体智慧编程”时候会怎么理解。我个人看到时,会理解成,“集体智慧的编程”,引申而去,就是结对编程方法论。那么这本书究竟要讲什么呢?

这是一本讲大量相关数据处理与计算方法的,也包含很多机器学习的算法。我问余晟,你如何看这个标题。他憋了很久,说道,collective应该是协作的意思。我们来看一下,书中关于Collective Intelligence的定义是什么呢?中文版中写道:为了创造新的想法,而将一群人的行为,偏好或思想组合在一起。此处的“一群人的行为,偏好或思想”,就是“集体智慧”吗?通篇读来,并非如此。

一群人的行为,偏好或思想,是指通过纪录log等方式,获取的用户行为等类型的数据。这本书致力于给出各种算法,从这些数据中挖掘出有用的结果或者数据。如此说来,将这本书翻译成《数据协作与机器学习》,是否更直观,更易懂呢?

看了两章中文版,作者翻译得还是很用心的,推荐不太愿意读英文原版的同学读这本书。这本书深入浅出的讨论了机器学习和人工智能方面的各种算法,只要略有python基础或者开发基础的程序员,都能大有收获。