文章发布于公号【数智物语】 (ID:decision_engine),关注公号不错过每一篇干货。

来源 | KDnuggets

作者 | Ajit Jaokar

转自 | 新智元 编辑 | 大明

【编者按】机器学习和数据科学离不开数学,本文从数学基础的角度入手,推荐了数据科学和机器学习方面的七本参考书以及两本补充读物。相信对打好数学基础的相关人士会有所帮助。

大多数人学习数据科学的人都会把重点放在编程上,实际上编程能力确实是机器学习和数据科学领域的重要技能。但是,要真正精通数据科学和机器学习,必然不能忽视的数据科学背后的数学基础。

出于这个目的,本文介绍了七本在注重打好数据科学的数学基础上的技术读物。当然,涉及到数学,往往阅读体验可能不会很舒服,但要搞好机器学习,数学基础是必须要打牢的,所以努力读书吧!

先说一说为什么在数据科学学习时打好数学基础。

以下是我总结的几个原因:

AI领域无时无刻不在迅速变化。Hinton认为,我们也许应该重新思考反向传播。掌握牢固的数学知识有助于更好地理解AI的演变。一个数学基础深厚的人,对AI的理解和认识与其他仅从表面认识AI的人有很大的区别。此外,掌握数学知识还能更好地了解AI技术带来知识产权的潜力。最后,了解数据科学背后的数学知识,也可以让人更容易获得AI和数据科学的高端职位。

此外,作者推荐这几本书,还有两点个人原因:

1.作者在牛津大学教授物联网数据科学的课程,也包括一些AI技术应用方面的教学事务,在教学过程中涉及到数学基础知识和课程。

2.其次,作者在写一本书来简述人工智能,从数学的角度入手,目标读者是14到18岁的少年。要深入了解数学科学和人工智能数学的数学基础,你需要了解四个方面知识:线性代数,概率论,多元微积分和优化。目前在高中阶段至少会教授这些课程的一部分内容。因此,我试图将高中数学与人工智能和数据科学联系起来,重点是数学建模。

下面进入正题:

01

The Nature Of Statistical Learning Theory 《统计学习理论的本质》

作者:Vladimir Vapnik

PDF资源:

https://statisticalsupportandresearch.files.wordpress.com/2017/05/vladimir-vapnik-the-nature-of-statistical-learning-springer-2010.pdf

如果说要列一份关于数学的书单,这本书是绕不过去的。本书单中排名第一的就是俄罗斯著名数学家Vladimir Vapnik的《统计学习理论的本质》。在这份清单中的所有书籍中,Vapnik这本是最不好找的。Vladimir Vapnik是支持向量机(SVM)的创始人。他的维基百科页面中提供了更多关于他研究成果的介绍。

02

Pattern Classification (2007-12-24)《模式分类》

作者:Richard O Duda

PDF资源:

https://cds.cern.ch/record/683166/files/0471056693_TOC.pdf

就像Vapnik的著作一样,Duda的著作时另一个时代的另一部经典。本书初版于1973年,在二十多年后的2000年才推出第二版,此后一直未再版。时隔近二十年,本书仍然是一个重要资源。本书采用模式识别方法,并涵盖了广泛的算法。

03

Machine Learning: An Algorithmic Perspective,Second Edition (Chapman & Hall/Crc Machine Learning & Pattern Recognition)

《机器学习:算法视角》

PDF资源:

https://doc.lagout.org/science/Artificial%20Intelligence/Machine%20learning/Machine%20Learning_%20An%20Algorithmic%20Perspective%20%282nd%20ed.%29%20%5BMarsland%202014-10-08%5D.pdf

这本书现在已经出版了第二版。此书第一版是我读过的最早的书关于机器学习和算法的著作之一,第二版增加了更多Python代码。与前两本书一样,本书也非常强调算法。

04

The Elements of Statistical Learning: DataMining, Inference, and Prediction, Second Edition

《统计学习基础:数据挖掘、推理和预测》(第二版)

作者:Trevor Hastie,Robert Tibshirani,Jerome Friedman

PDF资源:

https://web.stanford.edu/~hastie/Papers/ESLII.pdf

另一本经典之作,可以作为参考书。

05

Pattern Recognition and Machine Learning (Information Science and Statistics)

《模式识别与机器学习(信息科学与统计)》

作者:Christopher M. Bishop

PDF资源:http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf

Christopher M.Bishop的模式识别和机器学习(信息科学和统计学)也是一本深入而精心设计的参考书。

06

Machine Learning: The Art and Science ofAlgorithms that Make Sense of Data

作者:Peter Flach

PDF资源:

http://www.cs.put.poznan.pl/tpawlak/files/ZMIO/W02.pdf

我喜欢Peter Flach的书,尽管亚马逊网站上的一些评论说这书写得太罗嗦,而且代码量显得不足。我特别喜欢这本书中的算法分组(逻辑模型,线性模型,概率模型)章节以及这些主题的整体讲述方式。

最后,是我最推荐的一本书:

07

Deep Learning 《深度学习》

作者:Goodfellow、Bengio、Corville

相关资源:

https://www.deeplearningbook.org/

如果你在找一本值得逐页读完的书,就是它了!这本书既详细,又有现代感,书中内容几乎涵盖了你能想到的关于深度学习的一切知识。

如果无法点开文中资料链接,数智物语已经下载好其中的6份,如有需要可在数智物语公众号对话框回复“机器学习数学”查看详情。

补充两本书:

A First Course in Machine Learning, Second Edition (Machine Learning & Pattern Recognition) by Simon Rogers, Mark Girolami 

作者:Simon Rogers,Mark Girolami

我觉得这本书并不太适合初学者,但它仍然是一本好书(特别是第二版)

Machine Learning: A Probabilistic Perspective

作者:Kevin Murphy 

这本书中评价也很高,但我个人没有读过(因此没有收集)。

写在最后:

除了最后一本《深度学习》之外,我建议其他书不必逐页阅读,而是将其作为参考书,根据需要按相应主题阅读相应的书籍。这些书教会了我时刻保持谦逊。无论我们现在知道了多少,掌握了多少知识,都总能在阅读过程中发现,这个领域原来是如此的庞大和复杂。

这些书已经超越了时间。Vladimir Vapnik现年已经81岁。Duda的著作初版于1973年。我预计50年以后,这个行业里的人们仍然会阅读这些著作。就像与那些经历了时间考验的老朋友们重逢一样。多年之后,也许你会发现,在眼花缭乱的技术、模型和框架背后,数学是永恒的。

原文链接:

https://www.kdnuggets.com/2018/04/7-books-mathematical-foundations-data-science.html

星标我,每天多一点智慧

提升机器学习数学基础,这7本书一定要读-附pdf资源的更多相关文章

  1. C 语言程序员必读的 5 本书,你读过几本?

    你正通过看书来学习C语言吗?书籍是知识的丰富来源.你可以从书中学到各种知识.书籍可以毫无歧视地向读者传达作者的本意.C语言是由 Dennis Ritchie在1969年到1973年在贝尔实验室研发的. ...

  2. 机器学习数学基础- gradient descent算法(上)

    为什么要了解点数学基础 学习大数据分布式计算时多少会涉及到机器学习的算法,所以理解一些机器学习基础,有助于理解大数据分布式计算系统(比如spark)的设计.机器学习中一个常见的就是gradient d ...

  3. 机器学习pdf资源

    <深度学习>(Deep Learning)中文版pdf, 百度网盘: https://pan.baidu.com/s/1jHDiQTg <机器学习导论>(Introductio ...

  4. 《机器学习实战(基于scikit-learn和TensorFlow)》中英文资源+源码 下载

     https://pan.baidu.com/s/1iTIoa4RXdK-lo_QEgLEOFw  提取码:76hf 

  5. 机器学习经典分类算法 —— k-近邻算法(附python实现代码及数据集)

    目录 工作原理 python实现 算法实战 约会对象好感度预测 故事背景 准备数据:从文本文件中解析数据 分析数据:使用Matplotlib创建散点图 准备数据:归一化数值 测试算法:作为完整程序验证 ...

  6. 机器学习经典分类算法 —— k-均值算法(附python实现代码及数据集)

    目录 工作原理 python实现 算法实战 对mnist数据集进行聚类 小结 附录 工作原理 聚类是一种无监督的学习,它将相似的对象归到同一个簇中.类似于全自动分类(自动的意思是连类别都是自动构建的) ...

  7. java打字游戏-一款快速提升java程序员打字速度的游戏(附源码)

    一.效果如图: 源码地址:https://gitee.com/hoosson/TYPER 纯干货,别忘了留个赞哦!

  8. 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾、以及其主要缓解方法正则化技术原理初探

    1. 偏差与方差 - 机器学习算法泛化性能分析 在一个项目中,我们通过设计和训练得到了一个model,该model的泛化可能很好,也可能不尽如人意,其背后的决定因素是什么呢?或者说我们可以从哪些方面去 ...

  9. 1月中旬值得一读的10本技术新书(机器学习、Java、大数据等)!

    1月中旬,阿里云云栖社区 联合 博文视点 为大家带来十本技术书籍(机器学习.Java.大数据等).以下为书籍详情,文末还有福利哦! 书籍名称:Oracle数据库问题解决方案和故障排除手册 内容简介 & ...

随机推荐

  1. Avio红外热像仪在汽车行业的应用

    红外热像仪利用红外探测器接受被测目标的红外辐射能量,将红外辐射能量转换成带有温度信息的图像信号,并通过显视屏等显示工具显示红外热图像.这种红外热图像与物体表面的温度分布相对应.红外热像仪能够将探测到的 ...

  2. mac下的readelf和objdump

    ELF文件包括: (1)可重定位的目标文件 (2)可执行的目标文件 (3)可被共享的目标文件 可以用file命令来看目标文件是否是ELF文件 在linux下,用readelf来看ELF头部或者其它各s ...

  3. java并发之CyclicBarrier

    一.CyclicBarrier简述 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互 ...

  4. 网络编程之非阻塞connect编写

    一.connect非阻塞编写 TCP连接的建立涉及到一个三次握手的过程,且socket中connect函数需要一直等到客户接收到对于自己的SYN的ACK为止才返回, 这意味着每 个connect函数总 ...

  5. 导航狗IT周报-2018年05月18日

    原文链接:https://www.daohanggou.cn/2018/05/18/it-weekly-8/ DDoS专题 最近Web安全里的一个热点就是包括阮一峰博客在内的多个教育类IT网站被DDo ...

  6. javascript 内存管理

    1.垃圾回收机制 在编写Javascript程序时,开发人员不用关心内存问题,内存分配及无用内存的回收完全实现了自动化管理.垃圾收集器会按照预定的时间间隔, 周期性的找出那些不再继续使用的变量,然后释 ...

  7. 陌陌架构分享 – Apple Push Notification Service

    http://blog.latermoon.com/?p=878 先描述下基本概念,标准的iPhone应用是没有后台运行的,要实现实时推送消息到手机,需要借助Apple提供的APNS服务. iPhon ...

  8. 转载:selenium的wait.until()

    package com.test.elementwait; import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;imp ...

  9. Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方

    转自https://www.cnblogs.com/qiumingcheng/p/7126281.html 先说明一下好处有哪些:1,如果你想 new 一个空的 List ,而这个 List 以后也不 ...

  10. CopyOnWriteArrayList简介

    CopyOnWriteArrayList,写数组的拷贝,支持高效率并发且是线程安全的,读操作无锁的ArrayList.所有可变操作都是通过对底层数组进行一次新的复制来实现. CopyOnWriteAr ...