机器学习背后的数学支柱,这5本书帮你搞定
本文转载自公众号“读芯术”(ID:AI_Discovery)
机器学习从只适用于研发人员的工具变成了被广泛采纳使用的方法,多亏了开源机器学习和深度学习框架的爆炸性发展。现如今,机器学习领域比以往任何时候都更容易上手。同时,这也助力了我们目前所经历的科技的疯狂发展。
弄清算法是如何真正工作的,可以帮助你在设计、开发和调试机器学习系统方面获得巨大优势。很多人提到数学就打哆嗦,机器学习恰巧涉及很多数学知识,这项任务可能会令很多人怯步。
然而,数学并不该成为人们在机器学习领域的“绊脚石”。相反,学好数学对于掌握机器学习非常有必要。从高层次上讲,机器学习中涉及四大数学支柱:线性代数、概率论、多元微积分、最优化理论。
为这些核心理论构建牢固基础,了解最先进的机器学习算法(例如卷积网络、生成式对抗网络等)的内部工作原理,我们需要为此付出时间,这并不是用一个下午能搞定的事情。
但鉴于你不断为此付出时间,也能够在短时间内便学到不少知识。在本文中,我选择了五本对我最有帮助的书籍,希望对你也会有帮助。
1. 《线性代数应该这样学》——谢尔顿·阿克斯勒
如果以“传统”方式讲授线性代数(先学习行列式和矩阵,再学习向量空间),对初学者而言太难了,线性代数将成为一门美丽却艰难的学科。
当我们把教学顺序调换一下,这门课程会变得十分直观和清晰。本书以非常友好和有见地的方式介绍了线性代数。多希望我最初是通过这本书学习的线性代数而不是老方法。
2. 《与深度学习神交》——安德鲁·特拉斯克
这本书是这个清单中我最喜欢的一本。如果你只有阅读一本书的时间,一定不要错过这本。
本书包含了对神经网络内部工作原理的完整实操介绍,选取了代码片段作为所有素材。尽管这本书并非专门针对高等数学,但读过这本书后,你对深度学习数学知识的了解将多于95%的数据科学家、机器学习工程师和其他开发人员。
你还可以从头开始构建神经网络,这或许是最佳的练习方法。当用机器学习开始构建神经网络时,我也曾使用NumPy从零开始构建了卷积网络。
3. 《概率论:给满腔热忱的初学者》——大卫·莫林
大多数有关机器学习的书籍都没有正确地介绍概率论,而是充满了令人困惑的符号,且经常混淆密度函数和离散分布。读者如果没有扎实的概率论背景知识是很难理解的。
而本书将为你带来对概率论详细、正确且简单清晰的介绍。这适用于之前对概率论没有任何了解的学习者。
4. 《多变量微积分》——丹尼斯·奥鲁 (来自麻省理工学院开放式课程)
这并不是一本书,而是麻省理工学院一门有关多变量微积分并可对公众开放的大学录制课。在我所知道的所有资源中,这门课程是迄今为止对该主题的最佳介绍。
对于有单变量微积分背景知识的听课者来说,这门课程能够锦上添花,即便没有,听课者也能够轻松跟上。它唯一的缺点是没能很好地介绍到的知识点是梯度下降算法,而这是神经网络的基础。
5. 《深度学习》——伊恩·古德费洛、约舒亚·本吉奥与亚伦·库维尔
这本书由机器学习领域中一些最有才华的人撰写而成,包含了上述的所有理论,是深度学习研究人员和开发人员的首选资源。该书综合了数学理论并使用了重型机器,为诸如卷积和递归网络、自动编码器等最新深度学习方法提供了可靠指导。
最棒的一点是大家可以在线上免费阅读这本书(https://www.deeplearningbook.org/)。
在我罗列出的所有书目中,这本书可能是最难以理解的。理解深度学习需要从概率论的角度看待算法实在有些困难。
图源:unsplash