事隔几年,重拾这本书
记得第一次读这本书的时候,是刚毕业在第一家小公司工作,虽然当时只是做Web,但是作为十人团队中少有的还有那么点数学基础的人,无可避免地把一些简单的非工程化的东西接了过来。当时有一个小任务是来做喜欢xxx的人也喜欢xxx,老大就把这本集体智慧编程扔给了我,说看这本书,然后看看能不能把这个做出来,当时我还不知道这门“蹩脚”的语言叫做Python,不过感谢有了这本书,我知道了什么叫Item-based,虽然之后又忘记了。接下来我便顺着半懂不懂地读完了这本书,“知道”了SVM,"知道"了协同过滤,然后便自认为懂了算法。以至于在今后的几年,每当有人希望学习下数据挖掘,我便向他们推荐这本书。
再到几年后,我自己真的置身到了算法领域。前几天看PRML看到SVM的知识,看的有些迷迷糊糊,于是便回头翻了一下许久不动的《集体智慧编程》,我做的是从第一页开始不停地往后翻,发现对我理解算法几乎没有任何的帮助,因为发现这本书其实什么都没有讲。
回到说这本书本身,其实这本书最大的优势便是书中没有理论推导,没有复杂的数学公式,例如在讲SVM的时候,他讲到的我们做SVM的目的就是要需要找到超平面,至于非线性可分的数据来说,我们需要的是把低维数据升至高维,然后便可线性可分了,而对照PRML这种把SVM讲了整整三四章的书来说,知识之浅显就可见一斑了;甚至不用和PRML来比较,就算是对比斯坦福的机器学习公开课来说,其深入程度都不如一堂课的内容了。
这本书在我看来适合的三个人群:A. 刚刚具有基础编程知识的学生 B. 如我刚毕业的情况,不是希望进入数据挖掘领域,只是要急着做完一个项目 C. 大多数的产品经理。
最后说数学公式,大多数人对这本书的赞誉莫过于本书没有复杂难懂的数学公式,Talk is cheap , Show me the code,是被很多程序员尊为“圣经”的一句话,其实对于数据挖掘理论恰恰却是Code is cheap , Show me the method。然后数学作为一种奇妙的语言,可以把很多晦涩的理论通过一些巧妙的数学符号给表示出来,而代码往往做的是把这些优美的数学公式用if , for给打乱。正如我之前一次所说,把数学公式反映成代码非常简单,但是把代码给还原成数学公式简直就是让人抓狂的事情。所以我以前尝试过一个系列,叫做“白话数据挖掘”,里面希望不用一个数学公式把我理解的数据挖掘算法讲给所有人听,但是后来发现这个事情是不现实的,因为代码比公式要难懂,冗余的多。
另外,作为算法工程师,如果只是会盲从地遵从paper去套用他人的算法,而没办法对其算法进行一个从头至尾的理解,这个学术上的算法往往也是无法应用于工程化实践的。
所以,如果你真的热爱数据挖掘,热爱算法领域,集体智慧编程可以成为你的第一本书,但是不要花费太多的时间,把更多的时间留给数学,留给那些每篇都有着“晦涩”的数学公式的大块头把。
再到几年后,我自己真的置身到了算法领域。前几天看PRML看到SVM的知识,看的有些迷迷糊糊,于是便回头翻了一下许久不动的《集体智慧编程》,我做的是从第一页开始不停地往后翻,发现对我理解算法几乎没有任何的帮助,因为发现这本书其实什么都没有讲。
回到说这本书本身,其实这本书最大的优势便是书中没有理论推导,没有复杂的数学公式,例如在讲SVM的时候,他讲到的我们做SVM的目的就是要需要找到超平面,至于非线性可分的数据来说,我们需要的是把低维数据升至高维,然后便可线性可分了,而对照PRML这种把SVM讲了整整三四章的书来说,知识之浅显就可见一斑了;甚至不用和PRML来比较,就算是对比斯坦福的机器学习公开课来说,其深入程度都不如一堂课的内容了。
这本书在我看来适合的三个人群:A. 刚刚具有基础编程知识的学生 B. 如我刚毕业的情况,不是希望进入数据挖掘领域,只是要急着做完一个项目 C. 大多数的产品经理。
最后说数学公式,大多数人对这本书的赞誉莫过于本书没有复杂难懂的数学公式,Talk is cheap , Show me the code,是被很多程序员尊为“圣经”的一句话,其实对于数据挖掘理论恰恰却是Code is cheap , Show me the method。然后数学作为一种奇妙的语言,可以把很多晦涩的理论通过一些巧妙的数学符号给表示出来,而代码往往做的是把这些优美的数学公式用if , for给打乱。正如我之前一次所说,把数学公式反映成代码非常简单,但是把代码给还原成数学公式简直就是让人抓狂的事情。所以我以前尝试过一个系列,叫做“白话数据挖掘”,里面希望不用一个数学公式把我理解的数据挖掘算法讲给所有人听,但是后来发现这个事情是不现实的,因为代码比公式要难懂,冗余的多。
另外,作为算法工程师,如果只是会盲从地遵从paper去套用他人的算法,而没办法对其算法进行一个从头至尾的理解,这个学术上的算法往往也是无法应用于工程化实践的。
所以,如果你真的热爱数据挖掘,热爱算法领域,集体智慧编程可以成为你的第一本书,但是不要花费太多的时间,把更多的时间留给数学,留给那些每篇都有着“晦涩”的数学公式的大块头把。
有关键情节透露