前言
近年来,随着大数据技术、机器学习、数据挖掘、数据科学以及人工智能等领域的发展与兴起,掀起一场新的技术革命,各行各业对机器学习相关人才的需求也随之而来。机器学习作为数学与计算机的交叉学科,旨在培养集数学分析和计算机编程于一体的优秀人才,适应于当前人工智能的高速发展。
本书的编写旨在帮助大量对机器学习和数据挖掘应用感兴趣的读者朋友,整合并应用时下最流行的基于Python语言的机器学习程序库,如scikitlearn、PyTorch等; 针对现实中的科研问题,甚至是企业案例、Kaggle竞赛(当前最流行的机器学习竞赛平台)中的应用任务,快速搭建有效的机器学习系统。
本书每一章都描述一个经典的机器学习方法及其实践案例。作者在充分讲解了方法的理论基础上,进一步通过应用案例手把手地教读者如何搭建一个机器学习模型及其应用。本书力求减少读者对编程技能和数学知识的过分依赖,进而降低理解本书与应用机器学习模型的门槛,并试图让更多的兴趣爱好者体会到使用经典模型以及更前沿的深度学习模型的乐趣。
本书主要内容
本书可被视为一本以问题为导向的书籍,非常适合具备一定数学基础和计算机编程基础的读者学习。读者可以在短时间内学习本书中介绍的所有算法。
作为一本关于机器学习应用实战的书籍,本书分为三部分,包括基础篇、综合篇和拓展篇,共15章。
第一部分为基础篇,包括第1~8章。
第1章为机器学习基础,首先简要阐述机器学习的相关任务,并对机器学习中常用的术语进行了讲解; 然后介绍了机器学习最常用的编程语言与环境,展示了Python的安装、使用方法和PyTorch框架。
第2章为数据预处理,围绕数据预处理的原理和应用展开,包括数据清洗、数据转换和数据压缩技术。最后在实践环节,通过一个数据预处理应用案例演示了如何利用PCA进行降维分析。
第3章为简单分类算法,围绕分类算法的基础知识和应用展开,介绍了两种经典的分类算法——朴素贝叶斯分类算法和KNN分类算法。在实践环节,通过一个应用案例演示了如何使用KNN进行鸢尾花分类。
第4章为决策树,介绍了决策树的基础知识和相关算法,主要包括决策树的基本概念、决策指标、决策树剪枝和经典的决策树算法。在实践环节,介绍了如何使用scikitlearn实现决策树,并通过使用鸢尾花数据集做分类,演示了基于决策树的鸢尾花数据分类以及可视化结果的完整过程。
第5章为支持向量机,首先介绍了支持向量机的基本原理: 通过核方法,将数据映射到高维空间得到线性决策边界,再映射到低维空间得到非线性决策边界。该方法在解决非线性分类问题上有很好的效果。然后介绍了支持向量机常用的核函数。最后演示了基于SVM的异或数据集分类案例。
第6章为回归分析,介绍了几种常用的回归模型及其基本原理和评估方法,讲解了如何使用Python实现这些回归模型。最后,以基于随机森林的房价预测作为应用案例,展示了一个完整的回归分析过程。
第7章为聚类分析,介绍了聚类分析的基本概念,并详细介绍了3种不同的聚类算法及其应用案例,即Kmeans、层次聚类和DBSCAN应用案例。
第8章为神经网络与多层感知机,主要介绍了单层感知机、多层感知机和反向传播算法的基本概念和应用,并且详细介绍了基于多层感知机的手写数字识别应用案例。







第二部分为综合篇,包括第9~12章。
第9章为基于CNN的图像识别,围绕CNN的基础知识和应用展开,首先介绍了CNN的基本组成、基本运算和常用结构,然后在实践环节介绍了如何使用PyTorch搭建CNN网络模型,并通过一个应用案例——基于CNN的人脸性别识别,演示了基于CNN的图像识别的完整过程。
第10章为基于RNN的序列数据分类,首先讲解了RNN的发展和特点、序列数据的特点,并列举了4种与输入输出格式相关的RNN模型结构。接着使用PyTorch简单搭建了一个LSTM模型,并展示了通过该框架构建LSTM的模型结构以及隐含状态的输出。最后结合详细代码介绍了基于LSTM的文本分类。
第11章为基于GNN的文本分类,从GNN的基础概念出发,从原理上介绍了GNN的特点,描述了GCN的代码实现,最后以一个文本分类的TextGCN模型为例,演示GNN的具体使用方法。
第12章为基于GAN的图像生成,首先介绍了GAN的基本原理、模型结构、目标函数,以及GAN的训练流程。接着通过PyTorch搭建一个比较简单的GAN。最后通过使用FashionMNIST数据集实现GAN比较广泛的应用——GAN的图像生成。
第三部分为拓展篇,包括第13~15章。
第13章为基于百度飞桨的车道线检测,首先介绍了百度飞桨深度学习平台和AI Studio平台,然后介绍了如何在AI Studio平台创建项目,最后以车道线检测任务为应用案例。
第14章为基于旷视天元MegEngine的目标检测,首先介绍了旷视天元MegEngine平台,包括整体架构和平台特点,然后介绍了MegEngine平台使用方法,最后以MSCOCO目标检测任务为应用案例,展示基于MegEngine平台的模型构建、训练与测试的过程。
第15章为机器学习竞赛平台实践,介绍了国内外两项主流竞赛——Kaggle竞赛和天池大数据竞赛,并介绍了两项赛事中的经典赛题。
本书特色
(1) 以问题为导向,对基础理论与算法演练进行详细讲解。
(2) 实战案例丰富,涵盖15个完整项目案例。
(3) 代码详尽,避免对 API 的形式展示,规避重复代码。
(4) 语言简明易懂,由浅入深带领读者学会 Python 以及机器学习常见算法。
(5) 各算法相对独立,数学原理相对容易理解。
配套资源
为便于教学,本书配有源代码、数据集、教学课件和教学大纲,可以扫描本书封底的“书圈”二维码下载。
获取全书网址方式: 扫描下方二维码,即可获取。


全书网址



读者对象
本书主要面向广大从事数据分析、机器学习、数据挖掘或深度学习的专业人员,从事高等教育的专任教师,高等学校的在读学生,在互联网、IT相关领域从事机器学习、数据挖掘、计算机视觉、自然语言处理和人工智能相关任务的研发人员。

感谢硕士研究生王文斌、王超凡、代崴、冯传旭、李天赐、杨万辰、张浩宇、张嘉辉、陈仁谣、郑道远、程旭阳、曾壮、曾林芸等同学协助整理资料并撰写成册,感谢王坤朋、刘子扬、李康林、吴开顺、郝清仪、陈妍伶、郑康、徐瑞等同学协助收集资料及调试代码。感谢百度飞桨、旷视天元等提供的企业案例和技术指导。感谢中国地质大学(武汉)研究生精品教材建设项目和本科教学工程项目的支持。
在本书的编写过程中,参考了诸多相关资料。在此,对相关资料的作者表示衷心的感谢。限于个人水平和时间仓促,书中难免存在疏漏之处,欢迎读者批评指正。

作者2022年2月