序
机器学习虽经近几十年的发展,在国内大规模流行却是近几年的事情。这些年国内机器学习领域历经产学研的极大繁荣,越来越多的人投入到机器学习的学习与研究工作之中。在此背景下,国内机器学习领域的相关教材和参考书大多以快速上手、重在实战为主。
相反,本书却好像在逆潮流而行。本书的两大主题——公式推导与代码实现,毫无疑义都是在直击机器学习的基本功。在如今的大环境下,作者编写此书的目的无疑是呼吁大家重视基础,夯实理论学习的基本功。
这是一本极具特色的机器学习参考书。全书有两个非常鲜明的特点。第一个是书名所点出的,基于数学理论的公式推导与基于NumPy的代码实现之间的对应;第二个则是基于NumPy的代码实现与基于sklearn机器学习算法库代码实现的比较。
第一个特色体现出这是一本作者总结个人学习和工作经验编著而成的书。依托于国内两本机器学习理论著作,根据它们重在理论而缺少代码的特点,并结合当前学习者和求职者遇到的问题,将机器学习的公式推导与算法的代码逻辑实现进行有机的融合,能够给读者带来耳目一新的体验。
第二个特色则表明作者希望大家在熟悉理论和夯实基本功之后,还是要回归到机器学习的实践应用上。重视公式推导和代码实现的最终目的,也还是要落地于实际应用。本书用NumPy实现机器学习算法,目的不是让大家在实际工作的过程中重复造轮子,而是重视机器学习算法的基本功。真正实际应用时,调用现成的机器学习算法库仍然是第一选择。
对于本书,有如下几点阅读建议,供大家参考。
首先,本书的理论框架借鉴了《统计学习方法》和西瓜书《机器学习》,阅读本书的同时可以配套上述两本书进行参考,相信会有不小的帮助。其次,本书中的公式推导大多只涉及算法的逻辑层面,非常易于阅读,推荐大家参照本书手动推导一遍。最后,对于本书所有的代码实现例子,希望大家可以基于本书配套的代码库,手动运行一遍,相信一定会学有所获。
祝大家阅读愉快!
清华大学交叉信息研究院助理教授、博士生导师