近年来人工智能发展很快,已经在很多行业得到成功的应用,推动了企业对人工智能应用人才的需求增长,市场上急缺有较强应用能力,能解决实际问题的高级人才。越来越多的高校开设了人工智能专业,其中机器学习和深度学习等核心课程不仅包含的算法众多,兼具学习难度,而且应用也有一定的门槛。如何在实际应用中掌握这些理论知识是一件非常有挑战的事情。
目前,高校机器学习和深度学习教学还多停留在理论传授的层次,辅助一些简单的实验,远未达到实用型人才培养的要求。主要的原因之一是缺少有实际项目经验的师资;另一方面,机器学习和深度学习的应用充满了不确定性,需要在实战项目中才能积累必要的技能和技巧。
如何通过精读一些典型案例的讲解,揣摩机器学习和深度学习项目流程每个步骤的常见问题以及处理方法,已经成为入门实战项目的重要基础。为此,我们在第1版的基础上,从与企业合作的真实项目或预研项目中,经过一定的简化和抽象,精选了12个案例。这些案例都有一定的综合性,尽量接近实际项目的复杂性,多数案例都使用了多种机器学习或深度学习的典型算法,对于检验读者基础算法的广度和深度,都有一定的挑战。
第2版拓展了一些内容,基于典型的应用场景,利用TensorFlow、PaddlePaddle等主流开源框架,思路尽量覆盖常用的数据可视化、分类算法、文本分析、卷积神经网络、循环神经网络、注意力机制、生成对抗网络、电子推荐系统等机器学习和深度学习核心知识的灵活应用。
第2版主要做了如下修改:
(1)为了便于读者检验基本的机器学习和深度学习算法掌握情况,在书的附录1和附录2提供了1百多道选择题和判断题,分别对应机器学习和深度学习的知识点,读者可以在阅读案例前练习,并结合作者已经出版的《机器学习》(人民邮电出版社,2018)以及中国大学MOOC的深度学习及其应用课程(https://www.icourse163.org/course/FUDAN-1205806833)学习。
(2)补充了基于YOLO v5的电动车头盔检测、基于改进UNet算法的农业图像分割、基于注意力和LSTM的搜狐新闻文本分类等3个详细的案例,使内容有更大的覆盖度。此外,更新了原书第八章基于深度学习的图片识别系统,适应了PaddlePaddle框架的更新。还删除了比较简单的原书第10章案例。
感谢阿里云计算有限公司的支持。在写作本书的过程中,研究生林沿铮、王卓超等同学在资料收集和校对等方面做了不少工作,在此也表示感谢。
部分案例已经在阿里天池共享
赵卫东
2021年9月
赵卫东,董亮著.Python机器学习实战案例(第2版).北京:清华大学出版社,2022
目录
第1章集装箱危险品瞒报预测
1.1业务背景分析
1.2数据提取
1.3数据预处理
1.3.1数据集成
1.3.2数据清洗
1.3.3数据变换
1.3.4数据离散化
1.3.5特征重要性筛选
1.3.6数据平衡
1.4危险品瞒报预测建模
1.5模型评估
思考题
第2章保险产品推荐
2.1业务背景分析
2.2数据探索
2.3数据预处理
2.4分类模型构建
2.5平衡数据集
2.6算法调参
2.7模型比较
思考题
第3章图书类目自动标引系统
3.1业务背景分析
3.2数据提取
3.3数据预处理
3.4基于贝叶斯分类的文献标引
3.4.1增量训练
3.4.2特征降维与消歧
3.4.3权重调节
3.5贝叶斯分类性能评估
3.6基于BERT算法的文献标引
3.6.1数据预处理
3.6.2构建训练集
3.6.3模型实现
思考题
第4章 基于分类算法的学习失败预警
4.1业务背景分析
4.2学习失败风险预测流程
4.3数据收集
4.4数据预处理
4.4.1数据探查及特征选择
4.4.2数据集划分及不平衡样本处理
4.4.3样本生成及标准化处理
4.5随机森林算法
4.5.1网格搜索及模型训练
4.5.2结果分析与可视化
4.5.3特征重要性分析
4.5.4与其他算法比较
思考题
第5章自然语言处理技术实例
5.1业务背景分析
5.2分析框架
5.3数据收集
5.4建立模型
5.4.1文本分词
5.4.2主题词提取
5.4.3情感分析
5.4.4语义角色标记
5.4.5语言模型
5.4.6词向量模型Word2Vec
思考题
第6章基于标签的信息推荐系统
6.1业务背景分析
6.2数据预处理
6.2.1现有系统现状
6.2.2数据预处理
6.3内容分析
6.4基于协同过滤推荐
6.4.1用户偏好矩阵构建
6.4.2用户相似度度量
6.5基于用户兴趣推荐
6.6“冷启动”问题与混合策略
6.6.1冷启动问题分析
6.6.2混合策略
思考题
第7章 快销行业客户行为分析与流失预警
7.1业务背景分析
7.2数据预处理
7.2.1数据整理
7.2.2数据统计与探查
7.3用户行为分析
7.3.1用户流失风险评估
7.3.2流失风险预警模型集成
思考题
第8章基于深度学习的图片识别系统
8.1业务背景分析
8.2图片识别技术方案
8.3图片预处理——表格旋转
8.4图片预处理——表格提取
8.5基于密集卷积网络的文本识别模型
8.5.1训练数据生成
8.5.2DenseNet模型训练
8.5.3文本识别模型调用
8.6基于LSTM算法实现文本识别
8.6.1环境安装
8.6.2模型设计
8.6.3模型训练
8.6.4模型使用
思考题
第9章超分辨率图像重建
9.1数据探索
9.2数据预处理
9.2.1图像尺寸调整
9.2.2载入数据
9.2.3图像预处理
9.2.4持久化测试数据
9.3模型设计
9.3.1残差块
9.3.2上采样 PixelShuffle方法
9.3.3生成器
9.3.4判别器
9.3.5损失函数与优化器定义
9.3.6训练过程
9.4实验评估
思考题
第10章基于YOLO v5的电动车骑手头盔检测
10.1数据集的准备
10.2数据划分与预处理
10.3YOLO v5模型训练和优化
10.4YOLO v5模型应用
10.5YOLO v5模型移植
10.5.1模型转换
10.5.2Android头盔检测应用实现
10.6总结
思考题
第11章基于UNET算法的农业遥感图像分割
11.1数据准备
11.2数据预处理
11.3UNet语义分割模型搭建
11.3.1定义训练参数
11.3.2定义UNET主干特征提取网络模块
11.3.3定义UNET网络
11.3.4数据增强
11.3.5获取数据集以及模型
11.3.6设置回调函数
11.3.7设置损失函数
11.4图像语义分割模型训练
11.5语义分割模型使用
11.6总结
思考题
第12章基于自注意力、BiLSTM和TextCNN算法的新闻分类
12.1数据概况
12.2数据预处理
12.2.1分词
12.2.2关键词提取
12.2.3搭建和训练Word2Vec模型
12.3新闻分类模型训练和优化
12.3.1SelfAttention模型
12.3.2BiLSTM模型
12.3.3TextCNN模型
12.4结果分析
思考题
附录A机器学习复习题
附录B深度学习复习题
附录CAnaconda的安装与使用
参考文献