机器学习算法入门与编程实践(基于Python·微课视频版)
定 价:69.8 元
当前图书已被 22 所学校荐购过!
查看明细
- 作者:唐四薪 等
- 出版时间:2021/11/1
- ISBN:9787111693543
- 出 版 社:机械工业出版社
- 中图法分类:TP311.561
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
本书对机器学习算法的基本原理和Python程序实现进行了系统的介绍,每种算法都采用Sklearn程序实现并用Matplotlib进行数据可视化。为了帮助读者更加高效、直观地学习,作者为本书录制了13个微课视频,读者可以用手机扫描书中的二维码进行观看,也可以将视频下载后进行观看。
本书共8章,包括机器学习概述、Python机器学习与可视化、关联规则与推荐算法、聚类算法、分类算法、回归与逻辑回归、人工神经网络、支持向量机等内容。
本书可以作为高等院校机器学习和人工智能概论等课程的教材,也可作为机器学习算法入门读者的自学用书,还可以作为人工智能等领域机器学习研究者和应用人员的参考书。
随着人工智能技术的兴起,机器学习在各行各业的应用越来越广。工信部印发的《促进新一代人工智能产业发展三年行动计划(2018—2020年)》中指出:当前,新一轮科技革命和产业变革正在萌发,大数据的形成、理论算法的革新、计算能力的提升及网络设施的演进驱动人工智能发展进入新阶段,智能化成为技术和产业发展的重要方向。人工智能具有显著的溢出效应,将进一步带动其他技术的进步,推动战略性新兴产业总体突破,正在成为推进供给侧结构性改革的新动能、振兴实体经济的新机遇、建设制造强国和网络强国的新引擎。
对于初学者而言,机器学习是一门难度较大的学科,其难点大致体现在以下三个方面:
首先,机器学习的大部分算法复杂难懂,这些算法对于初学者来说结构复杂,概念抽象,特别是一些大型机器学习模型(如人工神经网络),很难将模型的所有细节一一呈现,学习难度较大,学习门槛较高。因此学术界认为,随着模型越来越复杂,机器学习模型的可解释性(Interpretability)也会越来越差。例如,很多深度神经网络模型人类已无法完全理解,需要读者从黑盒的层面进行理解。
其次,用机器学习方法解决某个实际应用的过程是烦琐且枯燥的。如收集数据、特征提取、数据标准化和数据降维等,这些数据预处理工作都很烦琐且耗时,初学者如果对机器学习理解得不透彻,就很难坚持下去。
再次,模型的选择、训练和评估需要考虑影响实际问题的各种因素,并要调整参数,避免欠拟合和过拟合,这使得整个操作过程非常复杂。如果初学者对涉及的理论和方法掌握不到位,理解不透彻,就很容易出现问题,导致得到的机器学习模型性能太差而无法使用。
目前市面上有很多机器学习类图书,这些图书根据侧重点不同大致可以分为两类:类以讲解机器学习的算法理论为主,而对机器学习的编程实现讲述较少;第二类以讲解机器学习编程为主,而对机器学习的算法理论讲述较少。由于机器学习模型比较复杂,读者如果不了解编程实现,往往在将理论应用于实践去解决实际问题时会有困难;相应地,读者如果不了解机器学习的理论,那么对编程思想及各种参数的含义就很难理解,从而导致难以独立编写程序去解决实际问题。为了解决这些问题,让机器学习变得更加通俗易懂,笔者编写了本书。本书将机器学习的算法原理与编程实现结合起来讲述,可以帮助读者在理解算法的基础上动手实践,从而降低学习的门槛。
本书特色
* 提供微课视频:笔者为本书的重点内容录制了11段微课配套教学视频,帮助读者高效、直观地学习。读者可以用手机或其他终端设备扫描书中的二维码进行在线观看,也可以直接将视频下载到本地计算机上观看。
* 立体化教学支持:本书各章都设置了大量的习题,涵盖选择题、填空题、问答题和实践题等,并提供源代码、教学PPT、习题参考答案、考试试卷、教学大纲和实验指导等完善的立体化教学资料。
* 注重案例教学:本书第3~8章各提供一个综合案例,帮助读者了解机器学习算法是如何处理各种细节问题的。掌握机器学习的目的是解决实际问题,因此要将相关算法用于实际案例。虽然人们开发了一些机器学习算法库,即便不了解算法的具体细节,也能编写机器学习程序,但是要用这些算法解决实际问题,如果不了解算法细节,则很难编写出有实用价值的程序。
* 内容重点突出:本书以面向初学者的视角详细讲述机器学习算法原理,展现机器学习的难点,注重解决读者学习时容易“掉坑”的问题。
* 降低学习门槛:本书详细介绍如何使用sklearn编写机器学习程序。sklearn是一个封装好的机器学习算法库,简单易学,学习该算法库可以帮助读者加深对机器学习相关概念和模型的理解,为进一步学习TensorFlow深度学习算法打下基础。
* 内容实用性强:本书对所有的sklearn程序均使用Matplotlib库实现数据分析的可视化,这使得本书内容具有较强的实用性。
本书内容
本书共8章,包括机器学习概述、Python机器学习与可视化、关联规则与推荐算法、聚类、分类、回归与逻辑回归、人工神经网络、支持向量机。
本书读者对象
本书既可作为高等院校相关专业机器学习和人工智能概论等课程的教材,也可作为机器学习算法入门读者的自学读物,还可作为人工智能、机器学习研究者和从业者的参考书。
配套教学资料获取
本书涉及的源代码、微课教学视频、教学PPT、习题参考答案、考试试卷、教学大纲和实验指导等配套资料的下载网址为https://mooc1.chaoxing.com/course/218580397.html。读者也可以在华章公司的网站(www.hzbook.com)上搜索到本书,然后单击“资料下载”按钮,即可在本书页面上找到下载链接进行下载。
本书作者
本书是湖南省普通高等学校教学改革研究项目(HNJG-2020-0687)的成果。本书由唐四薪主笔编写,唐金娟参与编写了本书第1章。
售后支持
本书在编写的过程中参考了其他专家、学者和机器学习爱好者的相关资料,笔者已尽可能地在参考文献中列出,在此表示感谢!有部分资料未能查到原作者而没有罗列,在此表示歉意,但同时
编辑推荐
每种算法都采用sklearn程序实现并用Matplotlib进行数据可视化
提供11个微课配套教学视频,读者可以扫码在线观看
11个微课教学视频+89个示例+6个综合案例+156个示意图+131个习题
前言
第1章 机器学习概述1
1.1 机器学习的概念和步骤1
1.1.1 机器学习的一般过程2
1.1.2 机器学习的定义4
1.1.3 机器学习的过程举例4
1.1.4 评估机器学习模型的效果7
1.2 机器学习的预处理环节9
1.2.1 收集相关样本10
1.2.2 数据预处理10
1.2.3 数据标准化12
1.2.4 数据降维14
1.3 机器学习的类型15
1.3.1 按完成的任务分类15
1.3.2 按学习的过程分类16
1.4 机器学习的发展历史和应用领域17
1.4.1 机器学习的发展历史17
1.4.2 机器学习的应用领域20
1.5 习题22
第2章 Python机器学习与可视化24
2.1 Python程序入门24
2.1.1 一些简单的Python程序24
2.1.2 序列数据结构26
2.1.3 序列处理函数28
2.1.4 函数和类29
2.2 Python数据分析工具32
2.2.1 Anaconda的使用32
2.2.2 Spyder集成开发环境33
2.2.3 NumPy库34
2.3 数据可视化——基于Matplotlib库37
2.3.1 绘制曲线图38
2.3.2 绘制散点图等其他图形43
2.4 SciPy库47
2.5 sklearn库49
2.5.1 样本及样本的划分49
2.5.2 导入或创建数据集53
2.5.3 数据预处理56
2.5.4 数据的降维59
2.5.5 调用机器学习模型61
2.6 习题63
第3章 关联规则与推荐算法65
3.1 关联规则挖掘65
3.1.1 基本概念65
3.1.2 Apriori算法68
3.1.3 Apriori算法的程序实现72
3.1.4 FP-Growth算法73
3.2 推荐系统及算法77
3.2.1 协同过滤推荐算法78
3.2.2 协同过滤推荐算法应用实例81
3.3 利用协同过滤推荐算法实现电影节目推荐85
3.4 习题87
第4章 聚类89
4.1 聚类的原理与实现89
4.1.1 聚类的概念和类型89
4.1.2 如何度量距离89
4.1.3 聚类的基本步骤93
4.2 层次聚类算法97
4.2.1 层次聚类法举例98
4.2.2 层次聚类法的sklearn实现99
4.3 K-means聚类算法103
4.3.1 K-means聚类算法的原理和实例104
4.3.2 K-means聚类算法的k值的确定110
4.3.3 K-means聚类算法的sklearn实现111
4.4 K-medoids聚类算法112
4.4.1 K-medoids聚类算法的原理和实例112
4.4.2 K-medoids聚类算法的sklearn实现118
4.5 DBSCAN聚类算法119
4.5.1 DBSCAN聚类算法的原理和实例119
4.5.2 DBSCAN聚类算法的sklearn实现124
4.6 利用聚类算法实现车牌识别126
4.7 习题129
第5章 分类130
5.1 分类的基本原理130
5.1.1 分类与聚类的区别131
5.1.2 分类的步骤132
5.1.3 分类模型预测结果评估134
5.1.4 sklearn库的常用分类算法135
5.2 K-近邻算法136
5.2.1 K-近邻算法的原理和实例136
5.2.2 sklearn中分类模型的编程步骤140
5.2.3 K-近邻算法的sklearn实现142
5.2.4 绘制分类边界图144
5.2.5 确定的k值146
5.3 朴素贝叶斯分类算法147
5.3.1 朴素贝叶斯的原理与实例148
5.3.2 朴素贝叶斯分类的常见问题152
5.3.3 朴素贝叶斯分类算法的sklearn实现154
5.4 决策树分类算法156
5.4.1 信息论基础157
5.4.2 ID3算法162
5.4.3 C4.5算法167
5.4.4 CART算法171
5.4.5 决策树分类算法的sklearn实现173
5.5 随机森林分类算法175
5.5.1 集成学习理论175
5.5.2 随机森林分类算法的理论与实例177
5.5.3 随机森林分类算法的sklearn实现183
5.6 利用运动手环数据预测身体姿态186
5.7 习题191
第6章 回归与逻辑回归193
6.1 线性回归193
6.1.1 相关与回归193
6.1.2 线性回归分析194
6.1.3 线性回归方程参数的求法196
6.1.4 线性回归模型的sklearn实现201
6.2 逻辑回归206
6.2.1 线性分类模型的原理206
6.2.2 逻辑回归模型及实例209
6.3 逻辑回归模型的sklearn实现212
6.3.1 sklearn中的逻辑回归模型212
6.3.2 利用逻辑回归模型预测是否录取学生214
6.4 利用逻辑回归模型预测贷款违约行为218
6.5 习题222
第7章 人工神经网络223
7.1 神经元与感知机223
7.1.1 人工神经元与逻辑回归模型224
7.1.2 感知机模型225
7.1.3 感知机模型的Python实现227
7.1.4 多层感知机模型228
7.2 人工神经网络的核心要素231
7.2.1 神经元的激活函数231
7.2.2 损失函数233
7.2.3 网络结构235
7.2.4 反向传播236
7.3 人工神经网络的sklearn实现239
7.3.1 sklearn人工神经网络模块239
7.3.2 利用人工神经网络预测二手房销售数据240
7.4 深度学习与深度神经网络242
7.4.1 深度学习的概念和原理243
7.4.2 TensorFlow概述244
7.4.3