近年来,机器学习方法凭借其理解海量数据和自主决策的能力,已在医疗保健、机器人、生物学、物理学、大众消费和互联网服务等行业得到了广泛的应用。
科学的巨大飞跃通常来自精彩的想法和易用的工具,机器学习也不例外。数据驱动学习方法的成功建立在过去60年中数千名才华横溢的研究人员的新颖独特构思的基础之上。硬件和软件解决方案的发展推动了机器学习的发展,使机器学习算法易用且具有可扩展性。在科研和工业界,NumPy和Scikit-Learn等功能强大的Python库被广泛用于数值计算、数据分析和机器学习。这也极大地推动了Python的使用,使其成为最流行的编程语言。
深度学习算法在计算机视觉、自然语言处理和语音等任务上取得的巨大成功正是机器学习算法成功的例证。深度学习算法借鉴过去40年的神经网络理论,并结合GPU和高度优化的计算机例程,取得了举世瞩目的成果。
过去5年,我们开发PyTorch的目标是为研究人员提供高度灵活的深度学习框架,用于开发深度学习算法,避免研究人员处理复杂的底层工程问题。Python具有良好的生态系统,我们也看到各个领域的杰出人才使用PyTorch搭建了诸多深度学习模型。本书作者也是PyTorch的杰出贡献者。
在深度学习和PyTorch领域,我认识Sebastian已有数年,他很擅长用易于理解的方式解释复杂的方法和概念。Sebastian贡献了许多常用的机器学习软件包,撰写了数十篇关于深度学习和数据可视化的优秀教程。
在实践中应用机器学习需要理论和工具的结合。对于机器学习的入门读者而言,从理解原理概念到确定要安装的软件包都有一定的难度。因此,本书的定位是把机器学习理论和工程实践结合起来,从而降低读者的阅读门槛。从数据驱动方法的基础知识到最新的深度学习框架,本书每一章都提供了机器学习代码示例,用于解决实际应用中的机器学习问题。
Python Machine Learning 于2015年出版,为机器学习和Python类书籍设立了一个非常高的标准。随着深度学习革命深入到各个领域,Sebastian和他的团队不断升级、完善书的内容,陆续出版了第2版和第3版。本书在前3个版本的基础上新增了某些章节,包含了PyTorch相关的内容,覆盖了transformer和图神经网络。这些是目前深度学习领域的前沿方法,在过去两年中席卷了文本理解和分子结构等领域。本书使用了Python生态系统中最新且广受欢迎的软件包(例如Hugging Face、PyTorch Lightning和PyTorch Geometric)来搭建上述神经网络。
作者拥有专业知识和解决实际问题的经验,因此出色地平衡了书中的理论知识和动手实践内容。Sebastian Raschka和Vahid Mirjalili在计算机视觉和计算生物学领域拥有丰富的科研经验。Yuxi Liu擅长解决机器学习领域的实际问题,例如将机器学习方法用于事件预测、推荐系统等。本书的作者都对教育有着满腔热忱,他们用浅显易懂的语言编写了本书以满足读者的需求。
本书既介绍了机器学习领域的基本原理,也介绍了机器学习的工程实践。我相信读者会发现这本书的价值无可估量,希望这本书能激励读者将机器学习用于自己的研究领域。
Dmytro Dzhulgakov
PyTorch核心维护者