我们在《机器学习里,数学究竟多重要?》一文中提供了机器学习所需的数学知识和建议,对于初学者来说,并不需要先掌握大量的数学知识再开始做机器学习。学习最基本的线性代数和数理统计,然后在掌握更多技术和算法的过程中继续学习数学是很好的方法。那么,本文带来值得推荐的数学基础书籍。
“机器学习/深度学习并不需要很多数学基础!”也许你在不同的地方听过不少类似这样的说法。对于鼓励数学基础不好的同学入坑机器学习来说,这句话是挺不错的。不过,机器学习理论是与统计学、概率论、计算机科学、算法等方面交叉的领域,对这些技术有一个全面的数学理解对理解算法的内部工作机制、获取好的结果是有必要的。机器学习确实需要对一些数学领域有深入理解,缺乏必要的数学知识,很可能在更深入的学习中不断遇到挫折,甚至导致放弃。 机器学习需要的数学主要包括:
那么,了解机器学习这样一个跨学科领域,需要多高的数学水平?答案是多方面的,取决于个人水平和兴趣。至于在机器学习中各方面的数学知识的重要性,可以用下面的图表表示: 机器学习中各数学主题的重要性 上图中,“线性代数”和“概率论与数理统计”占比达到60%,可见它们既是必要、也是十分重要的数学知识。下面针对这两个领域,推荐一些广受好评的书籍。 《线性代数导论》 Introduction to Linear Algebra (5th Ed.) 作者:Gilbert Strang 这本教材是Gilbert Strang教授在MIT讲授《线性代数》课程的指定教材(MIT OpenCourseWare提供公开课视频),也是被很多其他大学选用的经典教材。这本教材难度适中,讲解清晰,对许多核心概念的讨论也很透彻,在国内国外都广受好评。 Gilbert Strang 教授是美国享有盛誉的数学家,在有限元理论、变分法、小波分析及线性代数方面均有所建树。他对教育的贡献尤为卓著,包括所著有的七部经典数学教材和一部专著。 Strang 自1962年至今担任麻省理工大学教授,其所授课程《线性代数导论》、《计算科学与工程》均在 MIT开放课程软件(MIT OpenCourseWare)中收录,获得广泛好评。 虽然该书似乎仍没有正式的中文版出版(如果有了请告诉我们),不过可以对照视频讲解学习。学过的同学的建议是,一定要做课后习题。 线性代数及其应用 作者:David C. Lay Lay 的《线性代数及其应用》同样是一本经典教材,中文版已出到第3版。除了讲解数学知识外,该书的特色是介绍一些有趣的应用,帮助学习者掌握线性代数基本概念和应用技巧,为后续课程的学习和工作实践奠定基础。 《统计学习方法》 作者:李航 李航老师的《统计学习方法》对于中国学习者来说也是非常熟悉的数学参考书。李航的研究方向包括信息检索、自然语言处理、统计机器学习及数据挖掘,这本书被用于部分高校文本数据挖掘、信息检索及自然语言处理等专业的教材。 《深度学习》(Deep Learning) 作者:Ian Goodfellow, Yoshua Bengio, Aaron Courville 这本“花书”的中文版发售没几天便要加印,被誉为深度学习“圣经”,可见其热门。三位作者都是深度学习领域的“大牛”,这本书也确实被公认写得很好,不少读者在中文版出版前勤勤恳恳地打印出开源译本来学习。 数学方面,《深度学习》的第2—4章非常详细地解释了深度学习中所需的线性代数、概率分布、数值计算等数学知识,值得认真研读。 |