前言
《机器学习(Python+sklearn+TensorFlow 2.0)微课视频版》一书在出版后,受到了读者的欢迎。作者为了适应不同读者的需要,应出版社建议,编写了本书。本书的特点是主要通过示例来讨论传统机器学习模型、深度学习模型和强化学习模型,更适合初学者入门使用。
本书的内容全面,可供入门学习和工程参考。
本书内容的编排大体与《机器学习(Python+sklearn+TensorFlow 2.0)微课视频版》一书对应,因此,也可与之配套使用。结合机器学习领域发展现状,本书增加了强化学习和对抗样本的内容。
本书示例代码采用Python 3程序设计语言编写。传统机器学习算法的应用示例主要基于Scikit-Learn机器学习扩展库实现,隐马尔可夫模型示例基于hmmlearn扩展库实现,条件随机场模型示例基于CRF++工具实现。深度学习算法的示例基于TensorFlow 2框架和MindSpore框架实现。MindSpore是华为公司于2020年开源的深度学习框架,目前正在快速发展之中。强化学习示例基于gym仿真框架实现。考虑到大多数初学者的条件限制,本书示例全部基于CPU计算平台实现。
本书没有直接聚焦于扩展库和框架本身,而是以基本理论知识为主线来逐步展开,从概念入手逐步讨论算法思想,着重考虑知识的关联性,最后落实到扩展库和框架的具体应用。作者认为这样的知识学习路线更有利于初学者。
在内容规划方面,强调任务驱动,总体上以聚类、回归、分类、标注、特征工程与超参数调优、序列决策、对抗攻击来划分知识模块。具体来讲:
第1章介绍开发环境的安装以及Python语言相关知识。涉及Anaconda环境、Scikit-Learn机器学习扩展库、TensorFlow 2和MindSpore深度学习框架的安装,目的是方便读者上手实验。简要介绍了基本的Python语法,并对程序设计语言、面向对象、平台无关性和解释性语言等内容进行讨论,使初学者了解更多背景知识,加深对环境的理解。
第2章介绍机器学习和深度学习的基础知识。本章介绍有关机器学习和深度学习的概念和术语,分析机器学习模型应用的流程,并通过一个简单的示例讨论采集数据、特征工程、建立模型和应用四个主要阶段,从多个角度讨论机器学习模型的分类,特别是从聚类、回归、分类、标注的任务角度和决策函数、概率分布、人工神经网络的实现角度对传统机器学习和深度学习的基本内容进行划分,力图给读者建立清晰的知识体系。
第3章至第6章分别介绍聚类任务、回归任务、分类任务和标注任务及相关模型。每章又按照实现该任务的决策函数模型、概率模型和神经网络模型分别讨论。此外,每章按照由易到难的顺序逐步讨论传统机器学习领域和深度学习中必不可少的基础知识:第3章讨论维数灾难与降维;第4章讨论梯度下降法和过拟合,并开始引入全连接层神经网络;第5章讨论误差反向传播算法和卷积神经网络;第6章讨论序列问题和循环神经网络。
第7章介绍机器学习工程应用中的特征工程与超参数调优问题及其辅助分析技术,并通过综合性实例进行讨论,对文本特征的提取及应用进行专门的讨论。
第8章介绍强化学习算法以及初步的深度强化学习算法。该部分内容涉及知识面较广,要求先导知识较多。采用本书作为教材时,可根据教学内容体系和教学时长选讲本章部分内容。
第9章对机器学习安全中的对抗攻击问题进行初步讨论,讲解对抗样本的生成及其对机器学习模型的攻击示例。对抗样本生成算法涉及很多基础知识,如梯度计算、反向传播等,因此,该部分内容既可以看作是对前沿新知识的探索,也可视为对前面章节内容的巩固和综合应用。
书中如有错误和不完善之处,望不吝赐教。
作 者
2022年5月
说明:文中需扫码阅读的请扫此付费二维码。