许多同学在入门机器学习时总喜欢从公式推导开始看,但又经常觉得很多地方看不懂。这自然就是数学基础不够导致的。虽然我们非常推荐以直接调包的方式入门学习,但这种方式也仅适合入门。其实无论是在机器学习、人工智能(现在广义中所指的含义),还是在许多较为传统的IT项目中,数学基础都是必不可少的。本文就简单总结机器学习中需要的数学知识以及对应的学习教材。
一、理工科数学三大基础课
一般来说,理工科(甚至绝大多数经管类专业)本科都会开设高等数学、线性代数和概率统计三门课程。这三门课程的重要性自然也不言而喻。事实上在大多数时候,只要能准确掌握三门课程的主干知识并熟练基本的计算方法,入门机器学习已经基本够用了。这部分全国采用的教材都很统一,原本的知识也基本上够用。
二、数值计算的基础–数值分析
《数值分析》这门课程实际上有一些工科专业是要开的,比如许多学校的计算机专业就开设了这门课程。数值分析是从分析运算(微、积分)到更为实际的数值计算的重要基础,也是计算数学的主力课程之一。
实际上目前的机器学习使用的计算数学方法与技术基本都还停留在近代计算数学的层面,偶尔用一些泛函来分析分析,但绝大多数的算法实际上都还未进入现代数学的范畴(比如变分法)。
当然,数值分析本身讲授的内容较为广泛,而在机器学习中直接会用到的通常为线性方程组的数值解法,非线性方程(组)的解法,以及非线性优法方法。
数值分析的教程中,推荐清华大学李庆扬的经典教材:
- 李庆扬等。数值分析,清华大学出版社(或华中科技大学出版社)。
三、数值矩阵
从吴恩达的课程中可以看到,近年来尤其在深度学习领域大量使用向量化编程。当然一般而言,利用现有的矩阵计算库完全可以实现对理论模型的计算,其实许多时候也并不需要去动手写出详细的算法。但如果能对现有算法有更好的理解,比如算法的精度、时间复杂度,各种经典方法的优缺点等,将在具体应用时大有好处。
数值矩阵国内的教材很多,就不多说,重点推荐一本英文教材
- Golub, G. H., Van Loan, C. F., & Computations, M. (1989). Johns Hopkins Univ. Press, Baltimore… 免费下载链接。
该书十分系统地讲解了各类数值矩阵的方法,虽然内容较多,但各部分的理论推导都十分清楚易懂,对算法有追求的同学可以参考。
四、最优化理论与方法
优化理论是现代机器学习和深度学习中的核心内容之一。现在各路模型总是提出这样那样的loss function,加入这样那样的约束等,经常把人弄得十分头疼。尤其一些理论较深的模型(比如SVM),更是看得人心虚。出现这种情况的本质就是对最优化理论不够熟悉。实际上从优化理论本身上来讲,现代机器学习和深度学习中用到的方法,尤其是思想上,许多都还是在现有的框架中。因此对这一课程有较为全面的了解将对深入理解各类模型有很大的帮助。
当然优化理论由于应用太过广泛,市面上有不少优秀教材,这里就只推荐一本清华大学胡运权的教材:
- 胡运权,运筹学教程,清华大学出版社
五、机器学习入门教程
目前通常说的机器学习其实和传统模式识别中的绝大多数内容是重合的。除了西瓜书以外,还有一本模式识别的经典书目,由清华大学张学工教授编写:
- 张学工,模式识别,清华大学出版社
相比西瓜书,模式识别的讲授方式更为注重过程和概念本身的理解,当然也具有一定的难度。
另外就是目前所有人最大的福利:由AI几位大牛共同编写的《Deep learning》。该书原版本身就完全免费开源(下载地址)。同时几年前也有爱好者对其进行了翻译,并且仔细校对了几番,现在的版本已经非常完善,所有内容都可以完全免费下载,甚至包括源文件(下载地址)。
这本书讲授的内容十分广泛,在数学部分的解释也很到位。很明显可以看出作者是十分想以一种简单明了的方式让读者更容易接受主要的思想,尽可能少走弯路。
当然,要很好地掌握上述基础内容都非易事,成为真正的AI大牛还需要耐心地积累。
参考资料汇总: