文末有这本书的思维导图

不鸽大家,终于把这本书读完,来分享一下读后感。《数学之美》这本书是2012年出版,作者吴军,他的书籍还有《浪潮之巅》、《格局》等也非常有名,吴军博士在语音识别、自然语言处理,特别是统计语言模型的研究上都颇有建树。

拿到书先看目录,内容包括自然语言处理动态规划算法人工神经网络最大熵模型等都是我们大学接触过或平时挂在嘴边的名词,但这些名词背后的原理是什么,以及究竟是如何应用的,这本书就是吴军博士将高深的数学原理,以及数学在各个领域方面是如何应用的讲解的通俗易懂的过程。

统计语言模型

前4章其实很有意思,在讲自然语言处理,大家都在说自然语言处理,那到底计算机是怎么处理人类的语言的呢?早期学术界认为必须让机器理解语言,才能处理语言,于是形成了基于规则的自然语言处理技术,但实际上采用统计的方法更简单且准确率更高。第四章谈到了中文分词,因为只有先对句子分词,才能做进一步的自然语言处理,而中文分词也是以统计语言模型为基础的。

几乎所有的自然语言处理问题都可以等价成通信中的解码问题,也就是将收到的信号还原成发送的信息,换句话说,就是在已知接收到的信息o1,o2,o3…的条件下,推测发送的信息s1,s2,s3…,这个问题就变成了一个条件概率的问题,并且是动态的随机过程,每一个时刻的状态都可能和其他状态有关,为了简化问题,就提出了马尔科夫假设:即当前的一个状态只与它前一个状态有关,符合这个假设的过程就是马尔科夫过程,隐马尔科夫模型是马尔科夫过程的一个扩展,隐含马尔科夫模型最初就是用在通信领域里的,后面又推广到了自然语言处理中。

大师都是如何学习的

除了用通俗易懂的语言讲解数学知识外,这本书还穿插介绍了一些“大牛”们的经历,讲述了他们的思维方法,在讲贾里尼克的时候,吴军老师提到了孩子教育的问题,其中的一句话我是很认同的,他说:

书本的内容可以早学,也可以晚学,但是错过了成长阶段却是无法补回来的

我们这一代,甚至下一代其实都是早早地学习了书本内容,却错过了成长阶段的产物吧,记得电视剧《隐秘的角落》里朱朝阳的妈妈对老师说:学习好就行了,社交那是长大了才应该去做的事情(原句不记得了,大意如此)就刚好是相反的观点,不过教育这个话题就不展开了,要不就跑太远了。

贾里尼克尝试了不同的职业方向,看起来它的理想在不断地改变,但他通过努力走向成功的志向却一直没变,最终成为了在自然语言处理领域的大师。

阿米特·辛格博士,谷歌内部的排序算法Ascorer里面的A便是他的名字首字母,他一直坚持寻找简单有效的解决方案,他做事的策略就是先解决80%的问题,再慢慢解决剩下20%的问题,而他之所以总能找到简洁的方法不是靠直觉和运气,而是靠他丰富的研究经验。

看人物传记,不是去窥见那些八卦,而是看大师学者们对待生活的态度,在工作中运用知识的思维方法,才能在自己身上得到反思。

新闻分类

这一章内容也是非常引人入胜的,谁能知道新闻分类很大程度上依靠的居然是余弦定理的知识。

人为地对新闻分类主要是按照不同的主题来分类,计算机其实也是如此,只要能把用文字描述的新闻变成可计算的数字,然后设计一个算法来算出两篇新闻的相似性就行了。对一篇新闻中的所有词计算它们的TF-IDF值,得到这篇新闻的一个特征向量,然后就是计算它们的相似性了。

两个向量的夹角可以用来衡量它们的相近程度,如果两个向量方向一致,说明这两条新闻的用词比例基本一致,主题也就越相近,而要计算向量夹角的大小,就要用到初中所学的余弦定理了,两条新闻向量夹角的余弦接近1时,两条新闻相似,夹角的余弦越小,两条新闻越不相关。

上面提到的用余弦定理来进行新闻分类的方法准确性很好,但只适用于被分类的文本集数量较小的前提下,如果量级很大,那么要对其中的新闻做两两计算还要多次迭代,是很大计算量的,于是也提出了一种用矩阵运算中的奇异值分解来一次性将所有新闻的相关性计算出来的方法。但是这种方法得到的分类结果略显粗糙,在实际应用中,通常先进行奇异值分解,得到粗分类的结果,再利用向量余弦的方法,在粗分类的基础上,进行几次迭代,得到精确的结果。

这本书后面的内容还有布尔代数和搜索引擎、图论和爬虫、网页排名技术、网页查询的相关性、地图与本地搜索的动态规划问题、密码学的数学原理、拼音输入法的原理等知识点,难啃但又有趣,非常值得一看。

全书的核心

全书其实一直在贯彻一个核心,即真正有用的方法往往简单而又朴实。数学的魅力就是将复杂的问题简单化,正如一个好的算法,应该简单有效、可靠性好且易操作,而不是故弄玄虚,任何复杂的工程问题,最终都可以化繁为简,这应该就是数学之美吧。

最后附上我做的这本书的一个思维导图,上传过来有压缩,如不清晰,可加我微信:data_cola,给你发原图。


©著作权归作者所有:来自51CTO博客作者mb5fe18f5282239的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 开发者实验室体验之文智自然语言处理SDK by python
  2. Python自然语言处理学习笔记(3):1.1 语言计算:文本和单词
  3. python自然语言处理——3.8 分割
  4. Python自然语言处理实践: 在NLTK中使用斯坦福中文分词器

随机推荐

  1. Android日期时间格式国际化
  2. android 颜色值 xml
  3. Android Property System
  4. 【Android UI】色板
  5. AndroidщАЪш┐ЗViewPagerхоЮчО
  6. 在eclipse中查看Android(安卓)SDK源代码
  7. 2013.10.14 “?android ”
  8. 默认的Android(安卓)Dialog 样式
  9. Android仿计算器布局代码
  10. Android SdCard写入权限