前言
记得在上大学时,物理课的教材非常难懂,我特别苦恼。比如分析力学、量子力学、电磁学、热力学和统计力学等,虽然使用的教材可以说都是名著级别的,却不像高中教材那样通俗易懂。
当时我特别希望能在学术研究上有所作为,所以想方设法地去理解那些知识,但进展并不顺利,于是慢慢地就放弃了,开始每天沉浸在社团活动和兼职工作中。这当然也是因为自己还不够努力,但要说为什么会变成这样,现在想来有两个原因。
第一个原因是我在上大学时没有掌握正确的学习方法。考上研究生之后,在神经网络和统计学相关的讨论课上,在学长和导师的严格要求下,我开始不断地去深究数学式。为了理解那些式子是如何推导出来的,除了自己认真思考之外,我还会向他人请教,或者查询相关的书和文献。总之,我会在下周上讨论课之前一直研究那些式子。我发现通过坚持不懈地努力,一开始不理解的数学式后来也基本上能理解了。不要思考一小时就放弃,而要用一周的时间去研究——我认为,要想真正理解数学式,就必须有这种觉悟。
第二个原因是大学时的教材跟我当时的水平不匹配。当时我一直认为理解不了教材是自己能力不够,但现在回想起来,我意识到那是错误的想法。在没有储备足够的基础知识的情况下就去读高难度的专业书,当然难以理解其中的内容。也就是说,要想读懂大学教材,应该先去读一些过渡性的书。不执着于难懂的书,先找到符合自己当前水平的书才是正道。
现在深度学习备受瞩目,机器学习的热潮已经到来。在这一背景下,市面上出现了很多面向初学者的书,这些书往往只包含机器学习的基本数学式。与此同时,也有很多非常好的专业书。但遗憾的是,印象中很少有适合初学者在学习专业书之前阅读的书。这时我刚好得到了一个写书的机会。于是,我决定为那些想要通过数学式透彻理解机器学习的读者写一本适合在学习专业书之前阅读的书。
本书首先整理了最基础的数学知识,然后尽可能简洁地介绍了机器学习的相关问题、数学式及其推导过程,并将通过数学式理解机器学习的思路贯穿全书。因此,通过阅读本书,读者应该能掌握足以阅读专业书的基础知识。但限于本书的篇幅,有些地方可能解释得不够完善,或者不容易理解,如果这时大家还能坚持不懈地读下去,我将倍感荣幸。
这次有幸出版了本书的第 2 版。在第 2 版中,我基于最新(截至 2019 年 6 月 1 日)的 Python 3.7.3 进行了修订,并修改了难以理解的语句,更新了一部分图表和数学式,还新增了第 10 章,简短地汇总了本书要点。
最后,向那些对第 1 版发表评价的读者,以及对第 2 版给出审读意见的各位表示衷心的感谢。
伊藤真
2019年6月吉日