前言 从计算机被发明的那一刻起,人们便一直在尝试打造一台可以思考的计算机,人工智能应运而生。机器学习技术作为人工智能的核心,不断发展,成为目前最前沿的研究领域之一。与此同时,人脸美颜、智能语音助手、商品推荐系统、自动驾驶等众多智能产品也在悄然间改变着我们的生活。可以说,人类社会正被机器学习带领着,迎来信息技术的一次新的革命。 为了帮助读者深入理解机器学习原理,本书以机器学习算法为主题,详细介绍了算法中涉及的数学理论。此外,本书注重机器学习的实际应用,在理论介绍中穿插项目实例,帮助读者掌握机器学习研究的方法。 本书共分为19章。第1章为概述,主要介绍了机器学习的概念、组成、分类、模型评估方法,以及sklearn模块的基础知识。第2~6章分别介绍了分类和回归问题的常见模型,包括逻辑回归与最大熵模型、k近邻模型、决策树模型、朴素贝叶斯模型、支持向量机模型。每章最后均以一个实例结尾,使用sklearn模块实现。第7章介绍集成学习框架,包括Bagging、Boosting以及Stacking的基本思想和具体算法。第8~10章主要介绍无监督算法,包括EM算法、降维算法以及聚类算法。第11章介绍神经网络与深度学习,包括卷积神经网络、循环神经网络、生成对抗网络、图卷积神经网络等基础网络。第7~11章均以一个实例结尾。第12~18章包含7个综合项目实战,帮助读者理解前面各章所讲内容。第19章使用多种机器学习算法实现了一个用户行为分类器,通过算法间的对比帮助读者深入掌握算法细节。 第12~19章提供视频讲解,可扫描对应章节二维码进行观看。数据集、源代码可扫描目录处二维码下载。 机器学习是一门交叉学科,涉及概率论、统计学、凸优化等多个学科或分支,发展过程中还受到了生物学、经济学的启发,这样的特性决定了机器学习具有广阔的发展前景。但也正因如此,想要在短时间内“速成”机器学习几乎是不现实的。本书希望带领读者从基础出发,由浅入深,逐步掌握机器学习的常见算法。在此基础上,读者将有能力根据实际问题决定使用何种算法,甚至可以查阅有关算法的最新文献,为产品研发或项目研究铺平道路。 为了更好地专注于机器学习的介绍,书中涉及的数学和统计学基础理论(如矩阵论、概率分布等)不会过多介绍。因此,如果读者希望完全理解书中的理论推导,还需要对统计学、数学相关知识有一定的了解。书中的项目实例全部使用Python实现,需要读者在阅读以前对Python编程语言及其科学计算模块(如NumPy、SciPy等)有一定的了解。 本书的作者为吕云翔、王渌汀、袁琪、张凡、韩雪婷,曾洪立参与了部分内容的编写及资料整理工作。 由于我们的水平和能力有限,书中难免有疏漏之处。恳请各位同仁和广大读者给予批评指正。 编者2021年5月于北京