当前位置 博文首页 > 雨石:那一年读过的技术经典书

    雨石:那一年读过的技术经典书

    作者:[db:作者] 时间:2021-06-11 09:11

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/10199757

    大学刚毕业,总结起来读过的书并不算多,而且主要集中在大四的时期读的,在此把经典统一总结一遍。

    先总结机器学习方面的吧,对这方面比较感兴趣,读过的书也比较多。

    《数学之美》;作者吴军大家都很熟悉。这本书主要的作用是引起了我对机器学习和自然语言处理的兴趣。里面以极为通俗的语言讲述了数学在这两个领域的应用。

    《ProgrammingCollective Intelligence》(中译本《集体智慧编程》);作者Toby Segaran也是《BeautifulData : The Stories Behind Elegant Data Solutions》(《数据之美:解密优雅数据解决方案背后的故事》)的作者。这本书最大的优势就是里面没有理论推导和复杂的数学公式,是很不错的入门书。目前中文版已经脱销,对于有志于这个领域的人来说,英文的pdf是个不错的选择,因为后面有很多经典书的翻译都较差,只能看英文版,不如从这个入手。还有,这本书适合于快速看完,因为据评论,看完一些经典的带有数学推导的书后会发现这本书什么都没讲,只是举了很多例子而已。

    《Algorithms of theIntelligent Web》(中译本《智能web算法》);作者Haralambos Marmanis、Dmitry Babenko。这本书中的公式比《集体智慧编程》要略多一点,里面的例子多是互联网上的应用,看名字就知道。不足的地方在于里面的配套代码是BeanShell而不是python或其他。总起来说,这本书还是适合初学者,与上一本一样需要快速读完,如果读完上一本的话,这一本可以不必细看代码,了解算法主要思想就行了。

    《统计学习方法》;作者李航,是国内机器学习领域的几个大家之一,曾在MSRA任高级研究员,现在华为诺亚方舟实验室。书中写了十个算法,每个算法的介绍都很干脆,直接上公式,是彻头彻尾的“干货书”。每章末尾的参考文献也方便了想深入理解算法的童鞋直接查到经典论文;本书可以与上面两本书互为辅助阅读。

    《Machine Learning》(《机器学习》);作者TomMitchell是CMU的大师,有机器学习和半监督学习的网络课程视频。这本书是领域内翻译的较好的书籍,讲述的算法也比《统计学习方法》的范围要大很多。据评论这本书主要在于启发,讲述公式为什么成立而不是推导;不足的地方在于出版年限较早,时效性不如PRML。但有些基础的经典还是不会过时的,所以这本书现在几乎是机器学习的必读书目。

    《Mining of MassiveDatasets》(《大数据》);作者Anand Rajaraman、Jeffrey David Ullman,Anand是Stanford的PhD。这本书介绍了很多算法,也介绍了这些算法在数据规模比较大的时候的变形。但是限于篇幅,每种算法都没有展开讲的感觉,如果想深入了解需要查其他的资料,不过这样的话对算法进行了解也足够了。还有一点不足的地方就是本书原文和翻译都有许多错误,勘误表比较长,读者要用心了。

    《Data Mining:Practical Machine Learning Tools and Techniques》(《数据挖掘:实用机器学习技术》);作者IanH. Witten 、Eibe Frank是weka的作者、新西兰怀卡托大学教授。他们的《ManagingGigabytes》也是信息检索方面的经典书籍。这本书最大的特点是对weka的使用进行了介绍,但是其理论部分太单薄,作为入门书籍还可,但是,经典的入门书籍如《集体智慧编程》、《智能web算法》已经很经典,学习的话不宜读太多的入门书籍,建议只看一些上述两本书没讲到的算法。

    ?

    上面大多都是一些机器学习入门级的书籍,想要在这个领域深入下去,还需要深入的阅读一些经典书籍。看了很多推荐大牛推荐的书单,这里总结一下最经典的几本书吧。

    《PatternClassification》(《模式分类》第二版);作者Richard O. Duda、Peter E. Hart、David。模式识别的奠基之作,但对最近呈主导地位的较好的方法SVM、Boosting方法没有介绍,被评“挂一漏万之嫌”。

    《Pattern RecognitionAnd Machine Learning》;作者Christopher M. Bishop;简称PRML,侧重于概率模型,是贝叶斯方法的扛鼎之作,据评“具有强烈的工程气息,可以配合stanford 大学 Andrew Ng 教授的 Machine Learning 视频教程一起来学,效果翻倍。”

    《The Elements ofStatistical Learning : Data Mining, Inference, and Prediction》,(《统计学习基础:数据挖掘、推理与预测》第二版);作者RobertTibshirani、Trevor Hastie、Jerome Friedman。“这本书的作者是Boosting方法最活跃的几个研究人员,发明的Gradient Boosting提出了理解Boosting方法的新角度,极大扩展了Boosting方法的应用范围。这本书对当前最为流行的方法有比较全面深入的介绍,对工程人员参考价值也许要更大一点。另一方面,它不仅总结了已经成熟了的一些技术,而且对尚在发展中的一些议题也有简明扼要的论述。让读者充分体会到机器学习是一个仍然非常活跃的研究领域,应该会让学术研究人员也有常读常新的感受。”

    《Data Mining:ConceptsandTechniques》,(《数据挖掘:概念与技术》第三版);作者(美)Jiawei Han[8]、(加)Micheline Kamber、(加)Jian Pei,其中第一作者是华裔。本书毫无疑问是数据挖掘方面的的经典之作,不过翻译版总是被喷,没办法,大部分翻译过来的书籍都被喷,想要不吃别人嚼过的东西,就好好学习英文吧。

    ?

    以上内容出自我的另一篇博客机器学习经典书籍总结。机器学习的书籍大概就这么多,读过的其他经典书有如下几本。

    《Computer Systems AProgrammer's perspective》(《深入理解计算机系统(原书第2版)》)。简称CSAPP,是CMU的CS系关于计算机导论方面的教材,最好在对C/C++有一定了解之后读,这本书讲述的内容解决了程序员该对硬件了解到什么程度的问题。这本书翻译的也不错,讲述的内容按章节分的比较清楚,不要被它的大部头吓到,一章一章的分而治之即可。

    《暗时间》,作者刘未鹏,现就职于微软亚洲研究院创新工程中心,是C++方面的大牛,但博学多识,读书多知识面广。严格来说,这本书并不算是技术类的,因为它讲技术的篇幅并不大,而且开篇讲了很多心理学的知识。在我看来,这本书心理学的部分可以看做是励志论,教人如何在奋斗的路上坚持下去;中间部分可以看做是方法论,教人如何学习,如何进步;最后有一些作者对统计学习的解析,很是精辟,用真知灼见称之不为过。

    《Hadoop实战》,作者陆嘉恒,人大的教授。这本书对hadoop架构上的各个部分做了详细的介绍,适合hadoop入门使用。

    《七周七语言》,作者BruceA.Tate是RapidRed公司总裁,译者戴玮。这本书讲述了很多编程范式,颠覆了我的很多观念。适合于拓展视野,如果真的想学习其中的某一种语言的话,本书介绍的略少,因为它只是把该语言的特性及优劣简要的介绍了一下而已。

    《设计模式:可复用面向对象软件的基础》,作者Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides。也被称为四人帮(GOF)。四个人都是cs方面的大牛,以第一人ErichGamma为例,他是JUnit软件测试平台的作者之一,还领导了JDT的设计。该书总结了23种设计模式,都是软件开发上经常用的经典,但设计模式这种东西应该基于深刻理解的基础上才可使用,故不适合初学者,建议有较长时间编程实战的童鞋读起。本小菜大二读过一遍,但颇感艰难,亦难于实用。因而想有时间时重读经典。


    ?

    下面再介绍两本正在利用暗时间零碎读的经典书。

    《UNIX环境高级编程》,作者是W.RichardStevens,备受赞誉的技术作家,生前著有多种经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。本书被誉为Unix编程方面的圣经,可见其地位与经典不容置疑。

    《C程序设计语言》,本书原著即为C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。本书很简洁,看了开头发现例子竟然都是Linux下的库函数的实现,对比而言,浩强兄那本则略显啰嗦与细节化了。

    《具体数学:计算机科学基础,第二版》,ConcreteMathematics:A Foundation for Computer Science, Second Edition),作者Ronald L.Graham(葛立恒),Donald E. Knuth(高德纳),Oren Patashnik。这几位作者都是cs方面天一样的人物,以高德纳为例,是算法与程序设计的先驱,Tex和MetaFont的作者,TAOCP(The Art of Computer Science)的作者,还有以其名字命名的奖专门颁给对CS贡献大的人,名望直追图灵。这本书主要内容包括计数组合数学(enumerative combinatorics)和分析组合数学(analyticcombinatorics),还有一些概率论和数论的内容,该书的特点在于强调演算,忽略数学定理和抽象的数学体系。谓之具体可以说是实至名归啊。


    ?

    这一年来读过的书和未来近期的打算要读的经典书就这么多。按照《暗时间》中的方法论,读书一定要读经典,而且要常总结。按照这种方法,发现自己不仅仅是读了很多书,而且有很多的收获。希望本文对读者有帮助,如果有经典书欢迎推荐。