Learn from Books 阅读心得 | all4win78



Learn from Books 阅读心得 | all4win78

花了小一周的时间粗读了一遍吴军博士写的《数学之美》,受益良多,所以赶紧写下一些自己的阅读感想,作为自己博客的第一篇文章,希望是开个好头吧!

先说说这本书为什么好吧。《数学之美》主要是把Natural Language Processing或者Machine Learning中的很多方法思路用数学思维的方式展示和解释。听起来这其中有很多"数学"的成分,而事实上,吴军博士在本书中用的数学公式都比较简单易懂,是用于帮助理解这其中的"思维",所以整本书对于数学的要求并不高。况且即使这些公式看不太懂也没有关系,吴军博士在写书的时候用的语言直白,逻辑连贯清晰,并且辅以生动的例子来帮助理解。书易懂,其一也。从另一方面来说,这本书虽然门槛不高,但是涉猎很广,对于NLP或者ML中的很多基本的方式和思路都有讲到,适合用于一开始的入门学习。涵盖广,其二也。而且我认为,即使是对已经学习或者应用这些知识有一段时间的人来说,这依旧是一本好书,可以用来自省和再学习。启自省,其三也。最后,书中讲述了很多生动的例子,不乏历史一类,让读者不觉得乏味。书有趣,其四也。

虽说是粗读一遍,依旧是有很多地方给我了启示,记录一下,也算是给自己的一个小总结。

0. 解决问题有"术"和"道"两个方向。"术"是解决问题的具体方法,"道"是解决问题的思路。学习首先要明白的是"道",其次才是"术",这样学才能让之后的应用变成可能。但是"术"也重要,只有"道"而没有"术"的结果就是只能"纸上谈兵",其实能"谈兵"还算好,就怕有时候提出的东西完全不接地气,变成胡说八"道"。用我自己的话来说,"道"决定了走的方向是不是正确,而"术"决定了能走多远。

1. 简单的方法或者模型,通常会有比较出色的效果。其实这给我的感觉和奥卡姆剃刀Occam's Razor差不多。简单的模型或者方法容易描述,也容易验证。通常下80%的问题用20%的努力去解决,而剩下20%的问题用80%的努力去解决,而这简单的方法或者模型就是这"20%的努力"。

10. 书中讲到了信息,并给出了一个非常生动的定义,虽然应该不是吴军博士首先提出,但是我觉得依然worth noting。我们口中常说信息,但是很少有人能把信息是什么说清楚,书中对于信息是这么说的:信息是一种消除的不确定性。怎么理解呢,一句话,一本书包含了多少信息,并不是其中有多少字,而是我们能从其中得到多少东西,或者更具体来说,是"有用的东西"。而这些"有用的东西"可以帮助我们消除不确定性,比如,有人告诉我"今天很热",这就是一种信息,把天气的不确定性降低了。有个人对我说"艾斯比第三啊接收到后",我什么也没得到,虽然字数很多,但是对我来说"没有信息"。又或者这时候又有个人说"今天很热",which I've already known,那么这句话同前面的胡话一样"没有信息"。

11. 要想学好NLP或者ML,数学工具如statistics和linear algebra是必要条件,其他例如graph theory以及stochastic也最好有所了解。大学以来数学一直学得不认真,需要好好把落下的数学课补好。

100. 吴军博士能把很多深奥晦涩的知识用最简谱的语言来展现给读者,十分不容易,依我来看有两个原因:首先他对于自己的领域十分了解,认识深刻,所以才能知道用什么方式展现最合理;其次,他专博双修,不仅专业知识强,对于历史等别的方面也有所了解,所以他才能把书写有趣,写充实。当然,他的认真以及写作的技巧也是很重要,不过相较于前面两点的"道",这就是"术"了。希望我今后也能学习。

感谢吴军博士的这本书,给了我这么多想法,以后有机会一定再细读一番,看看有什么新的感悟。

以上。


Read full article from Learn from Books 阅读心得 | all4win78


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts