0 引言:我为什么要读专业书籍
既然立志从事互联网行业,就不得不在数据结构、算法、网络编程、程序设计方法、通信协议、数学等等方面补充学习。其中,又以数学最为重要和核心。
自小学起,我的整个教育和选拔经历中都离不开数学。我虽然主观上并不畏惧数学,但是在书本学习时常常不知道具体数学为何用,这时常限制了我在具
体算法方面的精进。比如,非线性优化问题,几何变换问题,特征表达问题等等。必须对这些基础知识重视起来,这也是研究生阶段一个非常重要的问题,
在数学方面的深刻理解与运用是研究生阶段研究能力的非常重要的一部分,与之相比,编程能力也要退居其次了。
1《数学之美》 【美】吴军
内容简介:几年前,“数学之美”系列文章原刊载于谷歌黑板报,获得上百万次点击,得到读者高度评价。读者说,读了“数学之美”,才发现大学时学的数学知识,比如马尔可夫链、矩阵计算,甚至余弦函数原来都如此亲切,并且栩栩如生,才发现自然语言和信息处理这么有趣。今年,作者吴军博士几乎把所有文章都重写了一遍,为的是把高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。读者通过具体的例子学到的是思考问题的方式 —— 如何化繁为简,如何用数学去解决工程问题,如何跳出固有思维不断去思考创新。
(1) 自然语言处理:从规则到统计
以上为早期对自然语言处理的理解图。
(2)统计语言模型:求解某个句子在语料库中出现的概率
假定S表示某个有意义的句子,由一连串特定顺序排列的词ω1,ω2,...,ωn组成,这里n是句子的长度。现在,我们想知道S在文本中出现的可能性,即S的概率P(S),则P(S)=P(ω1,ω2,...,ωn)。 利用条件概率的公式: (1.1) P(ω1,ω2,...,ωn)=P(ω1)•P(ω2|ω1)•P(ω3|ω1,ω2)•••P(ωn|ω1,ω2,...,ωn-1) 由于条件概率P(ωn|ω1,ω2,...,ωn-1)难以估算,可利用马尔可夫假设:假设任一个词ωi出现的概率只同它前面的词ωi-1有关,则公式(1.1)可简化为: (1.2) P(S)=P(ω1,ω2,...,ωn)=P(ω1)•P(ω2|ω1)•P(ω3|ω2)•••P(ωn|ωn-1) 公式(1.2)对应的统计语言模型是二元模型(Bigram Model)。假设一个词由前面N-1个词决定,对应的模型称为N元模型。 接下来的问题是如何估计条件概率P(ωi|ωi-1),根据它的定义: (1.3) P(ωi|ωi−1)=P(ωi−1,ωi)P(ωi−1) 估计联合概率P(ωi-1,ωi) 和边缘概率P(ωi-1) ,可利用语料库(Corpus),只要数一数ωi-1,ωi这对词在统计的文本中前后相邻出现的次数#(ωi-1,ωi),以及ωi-1本身在同样的文本中出现的次数#(ωi-1),然后用两个数分别除以语料库的大小 #,即可得到二元组的相对频度: (1.4) f(ωi,ωi−1)=#(ωi−1,ωi)# (1.5) f(ωi−1)=#(ωi−1)# 根据大数定理,只要统计量足够,相对频度等于频率,因此: (1.6) P(ωi|ωi−1)≈#(ωi−1,ωi)/#(ωi−1)
(3)通信模型
2《浪潮之巅》 【美】吴军
内容简介:近一百多年来,总有一些公司很幸运地、有意识或无意识地站在技术革命的浪尖之上。在这十几年间,它们代表着科技的浪潮,直到下一波浪潮的来临。从一百年前算起,AT&T 公司、IBM 公司、苹果公司、英特尔公司、微软公司、思科公司、雅虎公司和Google公司都先后被幸运地推到了浪尖。虽然,它们来自不同的领域,中间有些已经衰落或正在衰落,但是它们都极度辉煌过。本书系统地介绍了这些公司成功的本质原因及科技工业一百多年的发展。在极度商业化的今天,科技的进步和商机是分不开的。因此,本书也系统地介绍了影响到科技浪潮的风险投资公司,诸如 KPCB 和红杉资本,以及百年来为科技捧场的投资银行,例如高盛公司,等等。在这些公司兴衰的背后,有着它必然的规律。本书不仅讲述科技工业的历史,更重在揭示它的规律性。
3《算法》 塞奇威克 (Robert Sedgewick) / 韦恩 (Kevin Wayne)
内容简介:内容全面,与实际应用相结合,赋予智力和趣味性,运用科学的方法讨论算法性能,并且有完整的配套网站。
4《UML和模式应用》 拉曼 OOD
内容简介:《UML和模式应用(原书第3版)》英文版面世以来,广受业界专家和读者的好评,历经3个版本的锤炼,吸收了大量OOA,D的精华思想和现代实践方法。全书叙述清晰、用词精炼、构思巧妙,将面向对象分析设计的概念、过程、方法、原则和个人的实践建议娓娓道来,以实例为证,将软件的分析和设计的过程叙述得如逻辑推理一般,于细节处见真知。《UML和模式应用(原书第3版)》是一本经典的面向对象分析设计技术的入门书,适用范围广泛,从初学者到有一定对象技术知识但希望进一步提高开发水平的中级读者,甚至是资深的专业人员,都可以从本书获益匪浅,同时,本书也适合作为高等院校相关课程的教材和各类培训班的辅导教材。
5《大话设计模式》 程杰 面向对象编程
内容简介:本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GOF(设计模式的经典名著——Design Patterns:Elements of Reusable Object-Oriented Software,中译本名为《设计模式——可复用面向对象软件的基础》的四位作者EIich Gamma、Richard Helm、Ralph Johnson,以及John Vlissides,这四人常被称为Gang of Four,即四人组,简称GoF)总结的23个设计模式。本书共分为29章。其中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结,附录部分是通过一个例子的演变为初学者介绍了面向对象的基本概念。本书的特色是通过小菜与大鸟的趣味问答,在讲解程序的不断重构和演变过程中,把设计模式的学习门槛降低,让初学者可以更加容易地理解——为什么这样设计才是好的?是怎样想到这样设计的?以达到不但授之以“鱼”,还授之以“渔”的目的。引导读者体会设计演变过程中蕴藏的了、智慧。 本书适合编程初学者或希望在面向对象编程上有所提高的开发人员阅读。
6《深入浅出设计模式》 Eric Freeman 《Head First Design Patterns》
内容简介:《深入浅出设计模式》(影印版)的编写运用许多最新的研究,包括神经生物学、认知科学以及学习理论,这使得《深入浅出设计模式》(影印版)能够将这些设计模式深深地烙印在你的脑海中,不容易被遗忘。你将会更擅长于解决软件设计中的问题,并能够和你的团队成员用模式的语言来更好地沟通。
7 《从一到无穷大 》