机器学习与深度学习算法基础
书籍作者:贾壮 |
ISBN:9787301313473 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:1913 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
本书从机器学习的概念与基本原理开始,介绍了机器学习及近年来流行的深度学习领域的经典模型。阅读本书可以让读者系统地了解机器学习和深度学习领域的基本知识,领会模型算法的思路与策略。
本书分为两篇,共18章。一篇为经典机器学习模型,主要介绍常用的机器学习经典模型,包括线性回归、支持向量机模型、逻辑斯蒂回归、决策树模型、k近邻、朴素贝叶斯、线性判别分析和主成分分析、流形学习、聚类算法、稀疏编码、直推式支持向量机、集成算法。第二篇为深度学习模型与方法,剖析神经网络的基本要素,并介绍常用的深度学习模型,包括感知机、卷积神经网络、循环神经网络、生成对抗网络。
本书试图从初学者的角度对机器学习和深度学习的经典算法进行详细阐述。本书插图丰富,语言通俗易懂,适合初入机器学习领域的“萌新”,也适合希望将机器学习算法应用到日常工作中的其他专业从业者,还可供对人工智能领域感兴趣的读者参考阅读。
作者简介
贾壮,毕业于清华大学自动化系,专业为模式识别与智能系统方向。主要从事于机器学习与深度学习在图像处理以及地球物理领域内的相关应用研究,对机器学习相关算法有较深的理解。参与过多项机器学习相关工程项目,发表SCI期刊论文及会议论文数篇。曾获得国家奖学金、数学建模一等奖、优秀毕业生等奖项和荣誉称号。
编辑推荐
1.全面:涉及机器学习领域中常见的经典模型,以及新兴的深度学习中的卷积神经网络、循环神经网络、生成对抗网络等模型。
2.细致:不仅对算法思路的进行了详细的梳理和分析,还对算法中每个步骤、每条公式的含义都进行了细致的讲解。
3.通用:让读者学习到经典模型的算法步骤和数学形式,更重要的是理解每个算法形成的思路和过程,培养算法思维,获得在日常工作和学习中更为通用的能力。
4.扩展:每章的最后一节都有一个关于相关话题的讨论,可以使读者拓展视野,增加阅读的深度、广度。
前言
如今,人工智能(Artificial Intelligence,AI)行业方兴未艾,一大批以人工智能为基本业务内容的创业公司如雨后春笋般出现。AI不再是一个遥远的学术设想和理论概念,它早就融入现代社会的方方面面,已经成为我们日常生活中不可或缺的组成部分,并且以迅猛的势头向前发展。
人工智能在各行业的迅速落地,使很多任务的完成成本大幅降低,效率显著提升。与此同时,作为其技术内核,机器学习和深度学习算法也越来越受到人们的关注,越来越多的行业的从业者都希望了解和学习机器学习与深度学习算法的相关原理,并希望将其与自己的领域相结合,拓展新思路,形成新的解决方案。
笔者的使用体会
笔者主要研究机器学习与深度学习在图像处理与计算机视觉方面的应用。随着机器学习和神经网络模型的发展,从前困难且复杂的任务,现在都可以通过机器学习和深度学习算法得到较好的解决。
例如,对于人脸识别任务,如果不依赖任何机器学习算法,几乎是不可能解决的。而结合传统机器学习算法,我们可以手工设计滤波器,提取人脸的基本特征,然后利用分类器(如支持向量机等)进行判断,从而完成任务。然而,这样的操作工作量较大,且专用性较强,对于不同情况还需要单独改进手工特征。
近年来,随着卷积神经网络模型的出现和应用,人们得以从复杂的数学运算和滤波器设计中解放出来,只需为网络准备大量的训练数据即可。在网络训练过程中,人脸特征可以被自动提取,并用于目标任务。另外,这样的模型具有较好的通用性,只需更换其他物体的检测数据集对网络进行训练,就可以训练模型,检测出其他物体。
机器学习和深度学习算法在很大程度上改变了我们处理任务的方式,并且使很多之前不可能完成的任务变成可能。
本书的特色
由于机器学习和深度学习算法的流行,各类相关入门书籍和课程也越来越多。现有的机器学习和深度学习算法相关入门书籍内容丰富且各有侧重,角度不一。然而对于初学者及非本专业或本行业的从业者来说,这些书籍或是过于理论化和数学化,提高了学习门槛,使不具有相关专业背景的读者望而却步;或是过于偏重实操,对于算法原理的阐述过于简略,使读者无法形成对算法原理和应用场景的基本认识。
本书主要针对以机器学习与深度学习为专业方向的入门级读者,以及想要了解和学习机器学习与深度学习算法的各行业从业者,以较为通俗和形象的语言来详细讲解机器学习与深度学习算法,辅以日常生活中的例子和编程实验,涉及机器学习领域中比较常见的经典模型,以及新兴的深度学习中的卷积神经网络、循环神经网络、生成对抗网络等模型,是一本较为全面的机器学习和深度学习算法的入门读物。
本书侧重于对算法思路的梳理和分析,以及对算法中每个步骤、每条公式含义的讲解。力图让读者学习到经典模型的算法步骤和数学形式,更重要的是理解每个算法形成的思路和过程,培养算法思维,获得在日常工作和学习中更为通用的能力。
在形式上,本书深入浅出、通俗易懂,同时提供了丰富的插图和案例,并对每个操作、每条公式辅以详细的解释。另外,在每章的最后一节都有一个关于相关话题的讨论,可以使读者拓展视野,增加阅读的趣味性。
本书的内容
本书主要介绍较为经典和常用的传统机器学习算法和深度学习算法(神经网络模型)。在传统机器学习算法中,根据是否有特征和标签成对的训练样本集,将这些算法分为有监督学习算法、无监督学习算法及半监督学习算法。在有监督学习算法中,主要介绍以下内容。
● 线性回归及其改进版本——lasso回归和岭回归,并以此介绍机器学习的一些基本概念。
● 支持向量机算法。
● 逻辑斯蒂回归算法。
● 决策树算法。
● k近邻算法。
● 朴素贝叶斯算法。
● 线性判别分析。
在无监督学习算法部分,主要介绍以下内容。
● 主成分分析。
● 流形学习。
● 聚类算法。
● 稀疏编码。
除了以上内容,在经典机器学习算法中,还通过直推式支持向量机介绍了半监督学习算法的有关概念。另外,还讨论了集成学习的两种策略:自举汇聚和提升。
对于深度学习算法,主要介绍以下内容。
● 神经网络的原理和基本构成。
● 感知机模型。
● 卷积神经网络模型。
● 循环神经网络模型。
● 生成对抗网络模型。
此外,本书附赠书中所有源码,读者可扫描下方二维码关注微信公众号,根据提示获取。
本书读者对象
● 机器学习或深度学习程序员。
● Python算法工程师。
● 人工智能开发者。
● 计算机相关专业的学生。
目录
第一篇 经典机器学习模型
第1章 引言:从线性回归说起 2
1.1 什么是机器学习 3
1.1.1 传统算法与机器学习算法 4
1.1.2 线性回归 9
1.2 过拟合与正则化 10
1.2.1 样本量与过拟合 10
1.2.2 正则化方法 12
1.3 岭回归和lasso回归 14
1.3.1 岭回归 14
1.3.2 lasso回归 17
1.3.3 l1正则化和l2正则化 17
1.4 本章小结与代码实现 21
1.5 本章话题:机器学习的
一般原理 25
第2章 阴阳剖分:支持向量机模型 30
2.1 支持向量机模型的基本思路 30
2.1.1 支持向量机模型的
基本思路 31
2.1.2 支持向量机算法的
基本流程 34
2.2 数学形式与求解方法 34
2.2.1 数学知识补充 35
2.2.2 数学模型与理论推导 36
2.3 核方法与维度问题 38
2.3.1 核方法的含义 39
2.3.2 核函数SVM 39
2.4 软间隔支持向量机 41
2.4.1 软间隔的含义 41
2.4.2 软间隔SVM的损失
函数 42
2.5 本章小结与代码实现 44
2.6 本章话题:高维度,是灾难
还是契机? 46
第3章 化直为曲:逻辑斯蒂回归 50
3.1 逻辑斯蒂回归的基本原理 50
3.1.1 分类问题与回归问题 51
3.1.2 逻辑斯蒂回归算法思路 53
3.2 逻辑斯蒂函数 56
3.2.1 逻辑斯蒂函数的由来 56
3.2.2 逻辑斯蒂函数的优势 58
3.3 逻辑斯蒂回归的数学原理 59
3.3.1 逻辑斯蒂回归的数学
形式 59
3.3.2 准确率和召回率 62
3.4 参数确定的方法 65
3.4.1 似然函数简介 65
3.4.2 逻辑斯蒂回归的损失
函数 66
3.5 多项逻辑斯蒂回归 67
3.5.1 多分类问题的逻辑斯蒂
回归 67
3.5.2 softmax函数 68
3.6 本章小结与代码实现 69
3.7 本章话题:广义线性模型 72
第4章 层层拷问:决策树模型 77
4.1 模型思路与算法流程 78
4.1.1 决策树的思路——
以读心术游戏为例 78
4.1.2 决策树模型的基本流程 81
4.1.3 决策树模型的关键问题 87
4.2 特征选择原则 87
4.2.1 信息增益原则 87
4.2.2 信息增益比原则 89
4.2.3 基尼系数原则 89
4.3 剪枝策略 90
4.4 常用决策树模型:ID3与
C4.5算法 92
4.4.1 ID3算法 92
4.4.2 C4.5算法 92
4.5 多变量决策树简介 93
4.6 本章小结与代码实现 94
4.7 本章话题:信息论与
特征选择 97
第5章 近朱者赤:k近邻模型 101
5.1 模型的思路和特点 101
5.1.1 模型思路 101
5.1.2 懒惰学习与迫切学习 103
5.2 模型的相关性质 105
5.2.1 数学形式 105
5.2.2 损失函数与误差 108
5.2.3 k近邻模型的改进 109
5.3 距离函数与参数选择 111
5.3.1 距离函数 111
5.3.2 参数选择的影响 114
5.4 本章小结与代码实现 115
5.5 本章话题:相似性度量 119
第6章 执果索因:朴素贝叶斯
模型 123
6.1 贝叶斯方法的基本概念 123
6.1.1 贝叶斯学派与频率
学派 124
6.1.2 全概率公式与贝叶斯
公式 127
6.2 朴素贝叶斯的原理和方法 133
6.2.1 朴素贝叶斯的“朴素”
假设 133
6.2.2 拉普拉斯平滑 135
6.3 朴素贝叶斯算法的步骤与
流程 137
6.4 生成式模型与判别式模型 138
6.5 本章小结与代码实现 138
6.6 本章话题:贝叶斯思维与
先验概念 141
第7章 提纲挈领:线性判别分析与
主成分分析 144
7.1 线性降维的基本思路 144
7.2 LDA 146
7.2.1 投影的技巧 146
7.2.2 类内距离和类间距离 147
7.2.3 LDA的求解 149
7.3 PCA 151
7.3.1 基变换与特征降维 151
7.3.2 方差最大化与PCA原理
推导 154
7.3.3 PCA的实现步骤 158
7.4 LDA与PCA:区别与
联系 158
7.5 本章小结与代码实现 159
7.5.1 LDA实验:鸢尾花
数据集降维分类 159
7.5.2 PCA实验:手写数字
数据集降维 161
7.6 本章话题:矩阵的直观解释
与应用 162
第8章 曲面平铺:流形学习 166
8.1 流形与流形学习 166
8.2 Isomap的基本思路与
实现方法 170
8.2.1 测地距离的概念 170
8.2.2 计算测地距离:图论中的
Floyd算法 172
8.2.3 由距离到坐标:多维尺度
变换方法 173
8.3 Isomap算法步骤 175
8.4 LLE的基本思路与
实现方法 175
8.4.1 LLE的基本思想 175
8.4.2 局部线性重构 176
8.5 LLE算法步骤 177
8.6 本章小结与代码实现 178
8.7 本章话题:黎曼、非欧几何
与流形感知 180
第9章 物以类聚:聚类算法 185
9.1 无监督方法概述 185
9.2 聚类的基本目标和评价
标准 187
9.2.1 聚类的基本目标 187
9.2.2 聚类的评价标准 188
9.3 基于中心的k-means
算法 191
9.3.1 k-means算法的基本
思路 191
9.3.2 k-means算法步骤 193
9.3.3 k-means算法的局
限性 195
9.4 层次聚类算法 196
9.4.1 层次聚类的基本原理 196
9.4.2 层次聚类的AGNES
算法 199
9.5 密度聚类算法:DBSCAN 200
9.5.1 DBSCAN算法的基本
思路 200
9.5.2 DBSCAN算法步骤 201
9.6 本章小结与代码实现 203
9.7 本章话题:Science上的一种
巧妙聚类算法 205
第10章 字典重构:稀疏编码 209
10.1 稀疏编码的思路 209
10.1.1 神经生物学的发现 210
10.1.2 过完备性与稀疏性 210
10.2 稀疏编码的数学形式 213
10.3 字典学习中的“字典” 215
10.3.1 传统算法中的
“字典” 215
10.3.2 “字典”学习的意义 216
10.4 本章小结与代码实现 217
10.5 本章话题:压缩感知理论
简介 220
第11章 教学相长:直推式支持
向量机 223
11.1 半监督学习简介 223
11.2 T-SVM模型 227
11.2.1 T-SVM的基本思路 227
11.2.2 T-SVM算法步骤 228
11.3 本章小结与代码实现 229
11.4 本章话题:不同样本集场景
下的问题处理策略 233
第12章 群策群力:集成学习 236
12.1 自举汇聚和提升 236
12.1.1 Bagging算法和Boosting
算法的基本思路 237
12.1.2 Bagging算法和Boosting
算法的区别与联系 240
12.2 Bagging算法的基本
步骤 241
12.3 Boosting算法的基本
步骤 242
12.4 Bagging算法:以随机
森林算法为例 243
12.4.1 随机森林算法 243
12.4.2 随机森林算法中的
随机性 244
12.5 Boosting算法:以Adaboost
算法为例 244
12.5.1 Adaboost算法的实现
步骤 245
12.5.2 Adaboost算法过程
分析 245
12.6 本章小结与代码实现 246
12.7 本章话题:Adaboost算法
中的分步策略 249
第二篇 深度学习模型与方法
第13章 神经网络与深度学习:从感知机模型到阿尔法狗 254
13.1 感知机模型 256
13.1.1 感知机模型的基本原理
与数学形式 256
13.1.2 感知机模型的缺陷与
改进 260
13.2 人工神经网络 262
13.2.1 生物神经元与感知机
模型 262
13.2.2 人工神经网络方法
简介 264
13.2.3 反向传播算法 265
13.2.4 神经网络的优势 267
13.3 需要深度学习的原因 268
13.4 神经网络模型的局限性 268
13.5 常用神经网络框架简介 270
13.6 本章话题:人工智能发展
大事年表 271
短评
超级棒的一本书!理论方面写的通俗易懂,即使是我这种没什么基础的人也能看懂,例子举的也很形象可爱,配合公式进行说明,还有编程案例,讲的很细致。最难得的是,字里行间可以看到作者谦逊的态度,最后还推荐了很多机器学习方面的书籍,针对不同基础的人都有推荐,作者好,书也好!
2020-09-14 17:18:03