内容选自:《程序员的数学基础课》
你好,我是黄申。今天想给你推荐几本适合程序员看的数学书。
数学领域涉及的面很广,相关书籍也很多。在专栏中,我从离散数学、概率统计和线性代数三个方面介绍了程序员常用的数学知识。所以,本次荐书我仍然会围绕专栏这三大模块,为你推荐相应的书籍,辅助“食用”,事半功倍。
「基础思想篇」推荐书籍
《离散数学及其应用》
Kenneth H·Rosen 著
专栏的第一模块是“基础思想篇”。在这个模块中,我尝试用实际项目中的案例,把不同的离散数学知识点串起来,并加以解释。如果你对其中某些点有更深的兴趣,可以仔细研读这本书。
除此之外,这本书还有几个特点,我觉得非常好。
国外高校的教材。书中对离散数学的知识点介绍得很全面,专栏中讲的同余定理、数学归纳法、递归、分治算法、排列和组合、树和树的遍历、图和最短路径、逻辑以及集合等概念,在书里都有非常详细的介绍。
介绍了不少证明的方法,比如穷举证明、存在性证明等,可以让你更好地理解,为什么有些算法是对的,有些是有问题的,并帮你在理解、学习和设计算法时保证其正确性。
讲解了很多逻辑、集合和布尔代数的相关知识。这部分我在专栏里没有涉及太多,因为程序员经常接触各种条件和查询语句,对这些内容已经很熟悉了,所以没有花费更多篇幅。
和编程结合紧密。书中介绍了一些基于伪代码的算法,并对其进行了时间和空间复杂度的分析,例如常见的排序、搜索算法等,还讲解了离散数学在计算机科学中的应用场景,比如关系型数据库和 SQL 查询语言是如何设计的等等。
「概率统计篇」推荐书籍
《概率统计》
Morris H. DeGroot,Mark J. Schervish 著
在专栏的“概率统计篇”,我会着重介绍概率统计及其在计算机领域中的主要应用。你可以预先阅读这本《概率统计》热热身。
我们再来聊聊这本书的几个特色。
对概念的解释非常清晰,比如充分统计量(sufficient statistic)的概念,其他书可能两句话就解释完了,紧接着就是公式的堆砌,而这本书用了差不多两页的篇幅来介绍,对自学者而言非常有帮助。
本书的两位作者,DeGroot 和 Schervish 都是贝叶斯统计理论的重量级人物。书中包含了概率论常用的知识点,比如随机变量及其分布、条件概率、期望值、贝叶斯理论、马尔科夫链等。在专栏的第二模块中,我也会介绍这些知识点及其在计算机领域,特别是机器学习中的应用。
总的来说,这是一本相当不错的概率统计专业书籍,尽管书中几乎没有涉及计算机算法和代码的部分,但你不用过于担心,在专栏中我会结合具体的机器学习算法和应用,为你展示这些理论知识是如何运用到实践中的。
如果你能预读本书,对概念有了些理解,再看专栏会更有感触。
「线性代数篇」推荐书籍
《线性代数及其应用》
David C. Lay,Steven R. Lay 著
如今的机器学习模型,除了基于概率和统计,还会使用线性代数的知识,专栏的第三个模块就是“线性代数篇”。介绍线性代数的书籍不少,我推荐《线性代数及其应用》。
这本书的特色在于:
使用通俗的表达和大量的插图来阐述概念,比如线性方程、向量空间、特征向量、奇异值的分解等,都是在机器学习算法中常用的模型或技术。
书中内容的呈现形式,以提出一个具体问题再解决问题为主,最后进行定理的归纳和证明,既通俗易懂,又不乏数学的严谨性。
入门、通识类书籍推荐
《程序员的数学》系列丛书
再给你推荐一套入门书——《程序员的数学》系列,包括《程序员的数学》《程序员的数学:概率统计》《程序员的数学:线性代数》3 本,内容的讲解不算深入,比较适合编程的初学者。
《数学之美》
吴军 著
这本书最大的特点是和计算机领域结合得非常紧密,所有问题和解决方案,最终都会联系到计算机中的某个应用。吴军老师从计算机从业者的角度出发,深入探讨了其背后的数学思想和知识。这本书的行文风格,对我写作专栏也非常有启发。
推荐专栏
我是黄申,目前在 LinkedIn 从事数据科学的工作,主要负责全球领英的搜索引擎优化,算法和数据架构的搭建。过去几年,我曾先后在微软亚洲研究院、IBM 研究院、eBay 中国研发中心做机器学习方向的研究工作,还负责过大润发飞牛网和 1 号店这两家互联网公司的核心搜索和推荐项目,出版了《大数据架构商业之路》一书。
在《程序员的数学基础课》这个专栏中,所有内容我都会从基本概念入手,结合工作中的实际案例,精讲那些程序员真正用得上的数学知识。
通过学习专栏,你将获得:
工程师必备的数学思想剖析
常用概率统计与线性代数精讲
数学理论在编程中的实际应用
人工智能入门必修课
年前的最后一次优惠,仅限今晚 24 点前,戳我订阅!
评论 1 条评论