新書推薦:
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:NT$
250.0
《
英国简史(刘金源教授作品)
》
售價:NT$
449.0
《
便宜货:廉价商品与美国消费社会的形成
》
售價:NT$
352.0
《
读书是一辈子的事(2024年新版)
》
售價:NT$
352.0
《
乐道文库·什么是秦汉史
》
售價:NT$
367.0
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:NT$
500.0
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:NT$
500.0
《
药食同源中药鉴别图典
》
售價:NT$
305.0
|
編輯推薦: |
一个处于工程应用前沿的首席技术专家带你系统学习AI技术:
学术 应用,综合学习,融会贯通;
软件 硬件,系统学习,整体思考;
算法 平台,密切结合,释疑解惑。
|
內容簡介: |
《机器学习观止核心原理与实践》在写作伊始,就把读者设想为一位虽然没有任何AI基础,但对技术本身抱有浓厚兴趣、喜欢抽丝剥茧、探究真相的有识之士。有别于市面上部分AI技术书籍从一开始就直接讲解各种高深莫测算法的叙 述手法,《机器学习观止核心原理与实践》尝试先从零开始构建基础技术点,而后循序渐进地引领读者前进,最终直捣黄龙,赢取*后的胜利。
全书据此分为5篇,共31章,内容基本覆盖了由AI发展历史、数学基础知识、机器学习算法等经典知识点以及深度学习、深度强化学习等较新理论知识所组成的AI核心技术。同时注重理论联系实践,通过多个章节重点 介绍了如何在工程项目中运用AI来解决问题的诸多经验以及相应的模型算法,以期让读者既能享受到知其所以 然的乐趣,还能体会到知其然的轻松和愉悦。
《机器学习观止核心原理与实践》适合对AI感兴趣的读者阅读,从事AI领域工作的研究人员、工程开发人员、高校本科生和研究生都可以从 《机器学习观止核心原理与实践》中学到机器学习的相关知识。
|
關於作者: |
林学森,香港中文大学研究生学历,现为某世界100强科技公司首席技术专家、资深架构师。在系统软件、人工智能、软件工具链、分布式系统等领域具备多年的技术研发与项目管理经验。另著有《深入理解Android内核设计思想》《Android应用程序开发权威指南》等书籍。
|
目錄:
|
机器学习基础知识篇
第1章 人工智能概述002
1.1 人工智能的定义002
1.2 人工智能发展简史003
1.2.1 史前文明,曙光初现1956年前004
1.2.2 初出茅庐,一战成名19561974年008
1.2.3 寒风凛冽,首次入冬19741980年010
1.2.4 卷土重来,威震八方19801987年010
1.2.5 失望弥漫,再度入冬19871993年012
1.2.6 重出江湖,渐入佳境1993年至今013
1.3 人工智能经典流派016
1.3.1 符号主义018
1.3.2 连接主义019
1.3.3 行为主义023
1.3.4 贝叶斯派026
1.4 人工智能与机器学习027
1.5 如何选择机器学习算法029
1.5.1 没有免费的午餐理论030
1.5.2 Scikit Learn小抄031
1.5.3 Microsoft Azure小抄032
1.6 机器学习的典型应用场景032
1.6.1 计算机图像领域035
1.6.2 自然语言处理简述及其应用036
1.6.3 制造业中的预测性维护038
1.6.4 软件自动化开发和测试042
1.7 本书的组织结构043
第2章 机器学习中的数学基础045
2.1 微分学 045
2.1.1 链式求导法则045
2.1.2 对数函数求导045
2.1.3 梯度和梯度下降算法046
2.2 线性代数047
2.2.1 向量 047
2.2.2 矩阵拼接052
2.2.3 特征值和特征向量057
2.2.4 仿射变换059
2.3 概率论 060
2.3.1 概率分布061
2.3.2 先验后验概率062
2.3.3 最大似然估计063
2.3.4 贝叶斯法则064
2.4 统计学 065
2.4.1 数据的标准化和归一化065
2.4.2 标准差066
2.4.3 方差和偏差066
2.4.4 协方差和协方差矩阵067
2.5 最优化理论 068
2.5.1 概述 068
2.5.2 函数等高线070
2.5.3 拉格朗日乘子法071
2.5.4 拉格朗日对偶性074
2.5.5 KKT 079
2.6 其他 088
2.6.1 训练、验证和测试数据集088
2.6.2 过拟合和欠拟合090
2.6.3 奥卡姆的剃刀092
2.6.4 信息熵093
2.6.5 IOU 094
2.6.6 NMS 095
2.6.7 Huffman树096
第3章 机器学习模型的度量指标099
3.1 Precision、Recall和mAP099
3.2 F1 Score101
3.3 混淆矩阵102
3.4 ROC103
3.5 AUC105
3.6 PRC107
3.7 工业界使用的典型AI指标108
经典机器学习篇
第4章 回归算法112
4.1 回归分析112
4.2 线性回归112
4.2.1 线性回归的定义112
4.2.2 线性回归的损失函数113
4.2.3 线性回归范例113
4.3 逻辑回归115
4.3.1 逻辑回归二分类115
4.3.2 逻辑回归多分类及Softmax119
第5章 K-NN算法122
5.1 K-NN概述 122
5.2 K-NN分类算法123
5.3 K-NN回归算法124
5.4 K-NN的优缺点125
5.4.1 K-NN的优点125
5.4.2 K-NN的缺点126
5.5 K-NN工程范例126
第6章 k-means129
6.1 k-means概述129
6.2 k-means核心算法129
6.3 k-means算法的优缺点131
6.3.1 k-means算法的优点131
6.3.2 k-means算法的缺点131
6.4 k-means工程范例132
第7章 朴素贝叶斯135
7.1 朴素贝叶斯分类算法135
7.2 朴素贝叶斯的实际应用137
第8章 决策树和随机森林141
8.1 决策树 141
8.1.1 决策树的主要组成元素141
8.1.2 决策树的经典算法141
8.1.3 决策树的优缺点145
8.1.4 决策树的过拟合和剪枝145
8.2 随机森林146
第9章 支持向量机149
9.1 SVM可以做什么149
9.2 SVM的数学表述151
9.2.1 决策面的数学表述151
9.2.2 分类间隔的数学表述152
9.2.3 比较超平面的数学公式153
9.2.4 最优决策面的数学表述159
9.3 SVM相关的最优化理论160
9.3.1 感知机学习算法160
9.3.2 SVM最优化问题173
9.4 硬间隔SVM 174
9.5 软间隔SVM 177
9.6 核函数技巧 182
9.7 多分类SVM 187
9.8 SVM实践193
第10章 PCA降维196
10.1 降维概述 196
10.2 PCA降维实现原理197
10.2.1 PCA的直观理解197
10.2.2 PCA的理论基础最大方差理论199
10.2.3 PCA的核心处理过程199
10.3 PCA实例 200
第11章 集成学习202
11.1 集成学习概述202
11.2 集成学习架构203
11.2.1 聚合法203
11.2.2 提升法204
11.2.3 堆叠法205
11.3 典型的集成方法206
11.3.1 平均法206
11.3.2 投票法207
11.3.3 学习法208
深度学习进阶篇
第12章 深度神经网络212
12.1 神经元 212
12.2 激活函数 214
12.2.1 Sigmoid214
12.2.2 tanh216
12.2.3 ReLU217
12.2.4 Leaky ReLU218
12.2.5 ReLU的其他变种219
12.2.6 激活函数的选择220
12.3 前向传播和后向传播算法220
12.4 损失函数 224
12.4.1 分类场景225
12.4.2 回归场景228
12.4.3 其他任务类型的损失函数230
第13章 卷积神经网络232
13.1 CNN发展历史简述232
13.2 CNN的核心组成元素233
13.2.1 卷积层233
13.2.2 池化层235
13.2.3 全连接层236
13.2.4 Softmax层237
13.3 CNN经典框架 237
13.3.1 LeNet237
13.3.2 AlexNet238
13.3.3 VGG240
13.3.4 GoogLeNet242
13.3.5 ResNet245
13.4 CNN的典型特性249
13.4.1 CNN位移不变性250
13.4.2 CNN尺度不变性252
13.4.3 CNN旋转不变性253
13.4.4 CNN视角不变性255
第14章 RNN与LSTM256
14.1 RNN 256
14.2 RNN的多种形态257
14.3 RNN存在的不足258
14.4 LSTM 259
14.5 LSTM核心框架259
14.5.1 遗忘门261
14.5.2 输入门261
14.5.3 输出门262
14.6 GRU 263
第15章 深度强化学习265
15.1 强化学习和MDP265
15.1.1 强化学习的基础概念265
15.1.2 MDP266
15.1.3 强化学习的核心三要素267
15.2 MDP问题的解决方案分类268
15.3 基于模型的动态规划算法269
15.4 基于无模型的强化学习算法272
15.4.1 蒙特卡罗强化学习算法272
15.4.2 时间差分算法275
15.5 DQN 278
15.6 基于策略的强化学习算法280
15.6.1 有限差分策略梯度283
15.6.2 蒙特卡罗策略梯度283
第16章 MCTS285
16.1 MCTS概述 285
16.2 MCTS算法核心处理过程286
16.3 UCB和UCT286
16.4 MCTS实例解析288
机器学习应用实践及相关原理
第17章 数据集的建设292
17.1 数据集建设的核心目标292
17.2 数据采集和标注294
17.2.1 数据从哪来294
17.2.2 数据分布和多样性296
17.2.3 如何扩大数据量298
17.3 数据分析和处理299
17.3.1 数据集分析的典型方法299
17.3.2 标签类别合理性301
17.3.3 数据清洗303
第18章 CNN训练技巧304
18.1 数据预处理304
18.1.1 数据零中心化304
18.1.2 数据标准化306
18.1.3 尺寸调整306
18.1.4 其他307
18.2 数据增强 308
18.3 CNN核心组件择优309
18.3.1 激活函数309
18.3.2 超参数设定309
18.4 参数初始化策略310
18.4.1 全零初始化策略310
18.4.2 随机初始化策略311
18.4.3 采用预训练模型319
18.5 模型过拟合解决方法319
18.5.1 正则化319
18.5.2 批标准化320
18.6 模型的可解释性328
18.6.1 反卷积网络331
18.6.2 类别激活映射334
18.6.3 LIME339
18.6.4 可视化集成工具Darkon344
18.7 Auto ML346
第19章 CV和视觉识别经典模型348
19.1 CV发展简史348
19.2 视觉识别概述353
19.3 R-CNN 359
19.3.1 R-CNN简述359
19.3.2 R-CNN中的候选区域360
19.3.3 R-CNN算法处理流程361
19.4 Fast R-CNN364
19.5 SPP-Net365
19.5.1 空间金字塔池化366
19.5.2 特征图和原图的映射关系367
19.5.3 基于SPP-Net的目标识别367
19.6 Faster R-CNN368
19.6.1 Faster R-CNN简述368
19.6.2 候选区域网络370
19.6.3 分类器和边框回归375
19.7 YOLO 375
19.8 SSD 383
19.8.1 SSD的网络框架383
19.8.2 SSD的应用推理过程384
19.8.3 SSD的性能评估和缺点388
19.9 不基于CNN来实现目标识别390
19.9.1 相关的OpenCV函数390
19.9.2 利用OpenCV识别形状物体范例394
第20章 自然语言处理和CNN397
20.1 NLP简述 397
20.2 NLP发展历史399
20.3 自然语言基础400
20.4 词的表达方式403
20.5 自然语言模型405
20.5.1 基于N-Gram的语言模型406
20.5.2 基于神经网络的语言模型经典NNLM409
20.5.3 基于神经网络的语言模型NNLM的改进者CBOW模型411
20.5.4 基于神经网络的语言模型NNLM的改进者Skip-gram模型 414
20.6 word2vec 416
20.6.1 word2vec简介416
20.6.2 word2vec源码与编译417
20.6.3 word2vec使用范例418
20.7 常用语料库420
20.8 NLP应用:文本分类424
20.8.1 传统的文本分类方法424
20.8.2 基于深度学习的文本分类方法425
第21章 自然语言处理和CNN430
21.1 应用程序场景识别背景430
21.2 特征向量 431
21.3 数据采集 432
21.4 算法模型 433
21.5 落地应用 433
第22章 软件自动修复436
22.1 什么是软件自动修复436
22.1.1 软件自动修复的定义436
22.1.2 软件自动修复的价值437
22.2 软件自动修复基础知识437
22.2.1 软件自动修复技术分类437
22.2.2 软件自动修复基础概念439
22.3 阶段1:缺陷定位441
22.3.1 基于程序频谱的缺陷定位443
22.3.2 SFL中测试套件的构造447
22.3.3 SFL中程序频谱的构造451
22.4 阶段2:补丁生成458
22.4.1 基于搜索的补丁生成和自动修复459
22.4.2 基于模板的补丁生成和自动修复460
22.5 APR领域经典框架462
22.5.1 Facebook SapFix463
22.5.2 Microsoft DeepCoder465
22.5.3 GenProg474
第23章 基于强化学习的经典应用AlphaGO479
23.1 AlphaGO简述479
23.2 AlphaGO核心原理480
23.3 策略网络 481
23.4 估值网络 483
23.5 MCTS 483
机器学习平台篇
第24章 分布式机器学习框架基础知识488
24.1 分布式机器学习核心理念488
24.2 GPU硬件设备491
24.2.1 GPU架构492
24.2.2 GPU的共享访问494
24.3 网络标准 498
24.3.1 Ethernet498
24.3.2 InfiniBand499
24.4 分布式通信框架500
24.4.1 MPI500
24.4.2 P2P和聚合通信503
24.4.3 NCCL505
24.4.4 NV-Link508
24.4.5 RDMA510
24.5 经典分布式ML框架Caffe-MPI511
第25章 Tensorflow514
25.1 Tensorflow安装过程514
25.2 Tensorflow基础知识516
25.2.1 Tensorflow核心概念516
25.2.2 Tensorflow模型数据的保存和恢复519
25.2.3 Tensorflow模型fine-tuning523
25.2.4 Tensorflow模型调试526
25.2.5 Tensorflow的多语言支持528
25.2.6 可视化利器TensorBoard529
25.3 Tensorflow分布式训练533
25.3.1 Tensorflow的分布式原理533
25.3.2 单机多GPU下的并行计算535
25.3.3 多机多GPU下的分布式计算542
25.4 Tensorflow分布式部署549
25.4.1 Tensorflow Serving概述549
25.4.2 基于GPU的Tensorflow Serving549
25.4.3 Tensorflow Serving的核心概念552
25.4.4 Tensorflow模型分布式部署实例553
25.5 Tensorflow范例解析560
25.6 Tensorflow的变种563
25.6.1 Tensorflow Lite563
25.6.2 Tensorflow RS565
第26章 Caffe568
26.1 Caffe的安装568
26.1.1 Ubuntu下安装Caffe568
26.1.2 Windows下安装Caffe572
26.2 Caffe支持的数据集格式587
26.2.1 LevelDB587
26.2.2 LMDB590
26.2.3 数据库的生成592
26.3 Caffe中的网络模型构建594
26.4 Google Protocol Buffer598
26.5 Caffe2源码结构600
26.6 Caffe工程范例601
26.7 Caffe中的Model Zoo607
第27章 scikit-learn609
27.1 scikit-learn的安装610
27.2 scikit-learn中的机器学习算法610
27.2.1 分类610
27.2.2 回归611
27.2.3 聚类611
27.2.4 降维612
27.3 scikit-learn中的Model selection613
27.3.1 网络搜索613
27.3.2 交叉验证616
27.3.3 度量标准616
27.4 scikit-learn中的预处理619
27.4.1 数据标准化等预处理619
27.4.2 数据特征提取预处理621
第28章 主流AI云平台628
28.1 Microsoft OpenPAI628
28.2 Google Cloud631
28.3 Baidu 631
28.3.1 百度AI云服务632
28.3.2 PaddlePaddle636
28.4 Alibaba 637
28.4.1 阿里飞天平台638
28.4.2 MaxCompute平台639
28.4.3 PAI640
第29章 图像处理基础650
29.1 光、色彩和人类视觉系统650
29.2 图像的颜色模型653
29.3 图像的基本属性655
29.3.1 灰度值655
29.3.2 亮度656
29.3.3 对比度657
29.3.4 色相658
29.3.5 饱和度658
29.4 图像特征 659
29.4.1 颜色特征659
29.4.2 纹理特征660
29.4.3 形状特征661
29.5 图像的典型特征描述子661
29.5.1 LBP661
29.5.2 HOG 677
29.5.3 Haar-like 特征681
29.5.4 图像的傅里叶变换686
29.6 图像处理实例图像质量检测690
第30章 程序切片技术693
30.1 程序切片综述693
30.2 程序切片基础知识695
30.2.1 控制流图695
30.2.2 控制流分析699
30.2.3 数据流706
30.3 静态切片技术715
30.3.1 基本定义715
30.3.2 静态切片算法717
30.4 动态切片技术721
30.4.1 动态切片基本概念721
30.4.2 动态切片算法概述723
30.4.3 基于PDG的动态切片算法723
第31章 业界主流数据集分析726
31.1 ImageNet简述726
31.2 ImageNet的构建逻辑726
31.3 ImageNet数据源的选择与处理730
31.4 ImageNet的下载733
参考文献736
|
內容試閱:
|
这本书前后写了五年,终成稿付梓。
过去五年是以机器学习,特别是深度学习为代表的人工智能技术爆炸性增长的一段关键时期。在本书写作期间,深度学习三巨头Yoshua Bengio、Geoffrey Hinton和Yann LeCun共同获得了图灵奖,更是把本轮人工智能浪潮推向了巅峰。可以说,我们大家都在见证,并将在未来几十年里持续见证人工智能的各种突破性研究成果,以及它们在产业界各个角落的落地开花。
那么,本轮人工智能不论以何种分支为载体的兴起,真的可以如人类已经经历的几次工业革命一样,给整个社会带来颠覆性的影响吗?
提出这种疑问的人,可能对人工智能在过去几十年的风雨飘摇还记忆犹新。
人工智能起源于20世纪50年代,除了Alan Mathison Turing提出的著名的图灵测试外,还有几个重要事件,比如:世界上第一台神经网络计算机的建造;1956年在美国Dartmouth College召开的会议上,人们第一次提出人工智能Artificial Intelligence,AI术语,并将其确立为一门独立的学科;世界上第一座人工智能实验室,即MIT AI LAB的建立等。
随后的二十年是人工智能的第一次高峰,人们认为只需要较短的时间,机器就会取代人类完成很多工作。然而事实证明,当时的这个观点显然过于乐观了由于AI研究长期的雷声大雨点小,于是1973年一份著名的《莱特希尔报告》Lighthill Report就成了压死骆驼的最后一根稻草,直接将AI逼进了第一个寒冬19741980年。
不过这似乎并没有完全浇灭人们对于人工智能的希望之火果然,几年后的1980年,AI又以专家系统重出江湖了,而且这一次还是伴随着商业机遇出现的据悉1985年AI市场规模已经达到了10亿美元级别。人们在看到新希望的同时,也催生了AI的再次繁荣。
然而好景不长,AI的再次复出仍然没有能够达到人们的预期。正所谓希望越大,失望越大,于是,伴随着LISP机LISP machine市场的萎缩,AI又迅速地成了一个弃儿19871993年。
至此,AI实际上已经是四十岁的中年人了。人们常说四十不惑,或许AI在经历了这样曲折的人生阅历后,也可以逐步成熟稳重起来。事实证明,AI也确实在凤凰涅槃,1993年之后的它逐步在多个领域展开了拳脚,并且在学术界和工业界都取得了不小的成绩。特别是步入21世纪以后,计算机运算能力的指数级增长以及大数据的繁荣使得AI内功得到了极大的增强,于是以深度学习为代表的人工智能在多年的理论沉淀后终于得以厚积薄发。毫不夸张地说,人工智能已经成为当今最具热度的一个研究方向之一。业界预判AI将是激发新一轮产业革命的突破性技术,如图1所示。
图1?业界预判AI将是激发新一轮产业革命的突破性技术
材料引用自:华为2018年全联接大会keynote
那么,人工智能是否会进入下一个寒冬,或者说它在本轮热潮中还可以走多远呢?
相信没有人可以给出准确的答案,毕竟我们谁也不可能预知未来。但是,这并不应该成为大家对它热爱与否的前提条件,因为我们相信:
人工智能必将取得全面成功。
或许还需要10年、50年甚至更长的时间,但这个趋势是不可逆转的。与其去纠结人工智能寒冬是否会到来,不如静下心来好好研究一下AI技术是否可以帮助我们解决一些实实在在的工作中的问题。
总的来说,人工智能的发展历史还在继续,而我们这一代人则有幸正在参与它的谱写过程。这也是本书的创作目的之一,希望通过由浅入深的叙述方式,来带领更多的AI爱好者进入这个领域,并在可能的情况下为AI的发展添砖加瓦。
致谢
感谢清华大学出版社的编辑,你们的专业态度和处理问题的人性化,是所有作者的福音。
感谢我的家人林进跃、张建山、林美玉、杨惠萍、林惠忠、林月明,没有你们的鼓励与理解,就没有本书的顺利出版。
感谢我的妻子张白杨的默默付出,是你工作之外还无怨无悔地照顾着我们可爱的宝宝,才让我有充足的时间和精力来写作。
感谢所有读者的支持,是你们赋予了我写作的动力。
编者
2021 年元旦
|
|