前言
在20世纪,让机器像人一样具备“听、说、读、写、看”的能力,还是一个遥不可及的梦想,然而今天,这一切已经成为现实。在不到百年的机器学习研究历程中,人类逐渐揭开了机器智能的奥秘,并取得了诸多辉煌的成就。当我们为机器的神奇表现而惊叹时,常常不禁会问: 机器究竟是如何学习的?
其实,机器学习并没有想象中那么复杂,本书将为你揭开其神秘的面纱。本书特别强调运用“概率思维”理解各种机器学习模型的原理和实现,从基础模型开始,逐步进入机器学习的前沿,循序渐进地帮你掌握各种模型的工作机制,为深入探索机器学习技术打下坚实基础。
本书主要面向机器学习的初学者,特别是在校本科生和研究生。学习机器学习需要一定的数学基础和编程技能。尽管许多读者可能已经接触过高等数学、线性代数和概率论等课程,但在实际应用这些知识时,往往会感到困难,而由于编程能力有差异,很多初学者在面对复杂的机器学习算法时无法进行有效的代码实现,进而影响了对模型的理解和应用。为了解决这些问题,本书在内容设计上特别注重以下三大特色。
1. 精心挑选学习内容
本书秉承“精讲细讲”的原则,从众多机器学习模型中精选了一些常用且重要的模型,尤其是那些代表机器学习未来发展趋势的模型,如神经网络模型、概率图模型、生成式模型等。通过对这些典型模型的详细讲解,帮助读者逐步掌握机器学习的核心原理。本书并非简单罗列模型,而是深入分析它们之间的区别与联系,揭示它们的演化关系,培养读者的机器学习思维和实际问题解决能力。学习完本书后,读者不仅能理解各种模型的工作原理,甚至能够创新并设计自己的模型。
2. 深入解析数学推导
本书详细介绍了各模型的工作原理及公式推导,方便读者自学。机器学习的核心理论离不开严谨的数学描述,为简明准确地描述机器学习模型,系统而全面的数学符号和公式推导是必不可少的。本书尽可能系统地呈现相关数学公式和推导过程,在尽量避免烦琐的数学证明的同时结合实例验证,使读者能够直观理解公式的实际应用。数学公式作为一种符号语言,随着使用频率的增加,它们将不再陌生。相反,若忽视数学,一味回避数学,则机器学习之路将难以走远。
3. 深度结合编程实践
本书采用“代码驱动”的教学方式,通过实际代码帮助读者更好地理解模型和算法。正如物理学家费曼所言: “What I cannot create, I do not understand.”在机器学习的学习过程中,亲手实现模型是理解其本质的关键。虽然市面上已有大量机器学习书籍,但大多仅介绍原理和算法,鲜有涉及代码实现。为了弥补这一空缺,本书不仅用数学语言精确描述模型,还提供了模型的代码实现和应用案例,帮助读者将理论知识转换为实际能力。
在本书的写作期间恰逢大模型的爆发期,作者敏锐地把握这一技术浪潮,将其作为重要的创作工具,显著地提升了本书的内容深度与质量水准。大模型不仅为本书提供了丰富的机器学习技术参考资料,其卓越的代码生成能力更是展现了超越人类编程效率的优势。特别值得一提的是,本书中相当比例的代码源自大模型的智能生成,这些代码经过作者的严谨验证与精心优化后得以采用。通过深入研读这些代码,读者不仅能透彻理解机器学习的核心概念,还能提高在人工智能开发与应用方面的能力。本书全部代码均在Python 3.10下运行通过。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
本书的出版离不开许多人的支持和帮助。感谢清华大学出版社赵佳霓编辑,对全书进行了细致的文字校对和排版指导,使本书内容更加完善。感谢硕士研究生张哲、本科生刘卓、博士研究生王慧妍参与部分代码的编写和调试。感谢孙航博士在采用本书授课过程中提出的宝贵意见和建议。感谢2023、2024级研究生在教材试用中指出错误并提出改进意见。书中参考了一些网络作者的博客,在此一并表示感谢。最后,但并非最不重要,我要感谢我的家人。父亲王锡安、母亲何美媛经常询问本书的写作进展,妻子邢利霞、女儿王慧妍在本书的写作过程中给予大力支持,这些都是我努力学习机器学习技术、完成书稿的原动力。
由于笔者水平有限,加之时间仓促,书中难免存在疏漏,欢迎读者批评指正。
2026年1月 于沈阳理工大学
