×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
深入浅出AI算法:基础概览

深入浅出AI算法:基础概览

1星价 ¥62.3 (7.0折)
2星价¥62.3 定价¥89.0
暂无评论
图文详情
  • ISBN:9787121415517
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:244
  • 出版时间:2021-07-01
  • 条形码:9787121415517 ; 978-7-121-41551-7

本书特色

√ 本书深入浅出话AI,将看似高深莫测的AI技术抽丝剥茧、化繁为简,娓娓道来。 √ 本书从理论到实践,循序渐进地介绍了人工智能算法的基础知识。 √ 本书每章的末尾提炼出了该章的核心关键词,方便读者查询回顾。 √ 归纳和总结出AI基础学习路径,让感兴趣的“门外汉”学习人工智能是什么、做什么及怎么做。

内容简介

本书从理论到实践,循序渐进地介绍人工智能算法的基础知识,帮助读者敲开人工智能算法之门。本书共有8 章,分别为算法入门、算法之内力、算法之招式、算法之武功秘籍、算法工程的组成部分、算法工程实战、进阶学习、思考与展望。本书主要讲解算法的历史背景与基本概念、与算法相关的数学基础知识、信息学算法与数据结构的概念与知识点、业界常用的几类机器学习算法模型;本书还会介绍算法工程比较完整的组成部分,以及一个典型的算法工程项目,手把手带领读者体验算法的魅力;此外,本书会介绍人工智能算法的三大研究方向,帮读者迈向进阶学习之路。本书适合从事人工智能应用实践的科研人员和工程技术人员阅读,也适合高等院校计算机科学与技术、人工智能、大数据等相关专业的本科生和研究生阅读。

目录

目录
第1章 算法入门 / 1
1.1 打开算法之门 / 2
1.1.1 算法简史 / 2
1.1.2 算法与人工智能 / 5
1.1.3 什么是数据分析 / 6
1.1.4 什么是数据挖掘 / 6
1.1.5 什么是机器学习 / 7
1.2 如何学习算法 / 8
1.3 本书结构 / 9
关键词回顾 / 10


第2章 算法之内力 / 11
2.1 线性代数 / 12
2.1.1 名词解释 / 13
2.1.2 向量和矩阵 / 13
2.2 排列组合 / 19
2.3 高等数学 / 20
2.3.1 导数 / 20
2.3.2 梯度 / 23
2.4 概率与统计 / 23
2.4.1 名词解释 / 23
2.4.2 概率分布 / 26
2.5 *优化原理 / 33
2.6 动脑时刻 / 34
2.7 本章小结 / 35
关键词回顾 / 36


第3章 算法之招式 / 37
3.1 数据结构 / 38
3.1.1 数组与链表 / 38
3.1.2 队列和栈 / 40
3.1.3 树 / 41
3.1.4 图 / 43
3.1.5 散列表 / 45
3.2 基础算法 / 46
3.2.1 排序 / 47
3.2.2 递归与分治 / 55
3.2.3 贪婪算法和动态规划 / 57
3.2.4 搜索 / 60
3.2.5 *短路径 / 61
3.2.6 *小生成树 / 65
3.2.7 树状数组 / 67
3.2.8 线段树 / 69
3.2.9 平衡二叉树 / 72
3.2.10 并查集 / 75
3.2.11 匈牙利算法 / 78
3.3 在线评测系统 / 80
3.3.1 LeetCode / 81
3.3.2 POJ与ZOJ / 82
3.3.3 Tsinsen / 82
3.4 动脑时刻 / 83
3.5 本章小结 / 83
关键词回顾 / 84


第4章 算法之武功秘籍 / 85
4.1 类别划分 / 86
4.1.1 按是否有监督信号划分 / 86
4.1.2 按学习目标划分 / 89
4.2 线性回归模型与逻辑回归模型 / 90
4.2.1 线性回归模型 / 90
4.2.2 逻辑回归模型 / 92
4.3 人工神经网络 / 95
4.3.1 初识人工神经网络 / 95
4.3.2 深度神经网络 / 97
4.3.3 卷积神经网络 / 99
4.3.4 递归神经网络 / 102
4.3.5 图神经网络 / 104
4.4 决策树 / 106
4.4.1 概念与方法 / 106
4.4.2 剪枝 / 109
4.4.3 梯度提升决策树 / 110
4.4.4 随机森林 / 112
4.5 聚类 / 113
4.5.1 距离度量 / 114
4.5.2 划分聚类 / 115
4.5.3 层次聚类 / 116
4.5.4 密度聚类 / 117
4.5.5 模型聚类 / 119

4.6 贝叶斯分类 / 121
4.6.1 概率基础 / 121
4.6.2 朴素贝叶斯分类 / 124
4.7 支持向量机 / 125
4.8 动脑时刻 / 128
4.9 本章小结 / 129
关键词回顾 / 129


第5章 算法工程的组成部分 / 133
5.1 数据分析 / 134
5.1.1 宏观把握数据 / 134
5.1.2 微观感受数据 / 137
5.1.3 分析方法 / 139
5.2 特征工程 / 141
5.2.1 数据预处理 / 141
5.2.2 特征分类 / 142
5.2.3 工程技巧 / 142
5.3 建模与调参 / 149
5.3.1 建模 / 150
5.3.2 调参 / 150
5.4 效果评估 / 151
5.4.1 数据集划分 / 151
5.4.2 评估指标 / 152
5.4.3 直观理解AUC / 155
5.5 模型托管 / 159
5.6 动脑时刻 / 160
5.7 本章小结 / 160
关键词回顾 / 161

第6章 算法工程实战 / 163
6.1 环境准备 / 164
6.1.1 设备配置 / 164
6.1.2 环境搭建 / 165
6.1.3 开发工具 / 167
6.1.4 基础调试 / 168
6.2 开源算法库 / 170
6.2.1 scikit-learn / 171
6.2.2 TensorFlow / 172
6.3 算法实践 / 174
6.3.1 线性回归模型 / 174
6.3.2 神经网络模型 / 179
6.4 工程实战 / 182
6.4.1 数据准备 / 182
6.4.2 数据分析 / 184
6.4.3 特征工程 / 188
6.4.4 模型训练 / 189
6.4.5 模型的保存与载入 / 190
6.5 算法竞赛介绍 / 191
6.5.1 Kaggle / 191
6.5.2 KDD Cup / 191
6.6 动脑时刻 / 192
6.7 本章小结 / 192
关键词回顾 / 193


第7章 进阶学习 / 195
7.1 深度学习 / 196
7.1.1 起源 / 196
7.1.2 难点与方法 / 197
7.1.3 经典模型:AlexNet / 201
7.2 强化学习 / 203
7.2.1 起源 / 203
7.2.2 流派与分类 / 204
7.2.3 经典案例:AlphaGo / 206
7.3 迁移学习 / 213
7.3.1 简介 / 213
7.3.2 方法与研究方向 / 214
7.3.3 经典模型:TrAdaBoost / 215
7.4 动脑时刻 / 216
7.5 本章小结 / 217
关键词回顾 / 217


第8章 思考与展望 / 219
8.1 思考 / 220
8.1.1 人工智能感悟 / 220
8.1.2 万物数据化 / 221
8.2 展望 / 224
8.2.1 人工智能*终能做什么 / 224
8.2.2 人类*终能做什么 / 224
8.3 本章小结 / 225

展开全部

节选

在《三国演义》中,诸葛亮在调兵遣将时经常说:关羽听令,给你三千精兵,从左路包抄曹军;张飞听令,给你五千精兵,从右路包抄曹军。由此可知,诸葛亮在用兵打仗之前,必然已经掌握了己方有多少将领、精兵、残兵、粮草、战场地势等情报。再如成语“量体裁衣”,是说按照身材尺寸裁剪出合适的衣服,用于比喻做事要从实际出发,因地制宜。算法工程也是同样的道理。在算法工程中,能做到知己知彼、“量体裁衣”的关键步骤,非数据分析莫属。 无论是数据挖掘、机器学习相关的算法比赛,还是工业界的推荐、排序等场景中的算法应用,如果没有足够的数据分析结论作为支撑,那么能够取得的结果通常都不甚理想。为什么数据分析对机器学习算法结果的影响如此之深?有哪些实用的数据分析方法,这些方法在算法工程中又是如何起作用的呢? 5.1.1 宏观把握数据 拿到数据,切勿着急生搬硬套模型,先统计各类指标或特征的数量,把握数据大局。这个数量包括但不限于样本数据集的总数量、不同类别样本的数量、各类特征或指标的数量、缺失值的数量及特征值的分布等。宏观把握数据是数据分析的基础,也是容易被忽视的一点,它能帮助我们避免一些基本问题。例如,在后续工作开展之前,先搞清楚所定算法目标是否合理,可以帮助我们少走弯路、不走死路,从而提高算法工程的实施效率。 举个例子,在不考虑分布式训练的情况下,如果需要知道算法模型从训练任务启动到完成需要花费多长时间,则可以用训练样本的总数量除以batch size①,再乘每批次训练花费的时间,就能估算出一个epoch①花费的总时间,*后乘epoch的数量,即可得出算法模型的总体训练时间。如果在训练之前没有统计样本的总数量,那么模型训练何时结束,就只能对着屏幕默默等待了。 一份拥有512条数据、特征维度为1000的数据集,假设batch size为128,一个epoch包含4个batch,epoch和batch之间的关系如图5-1所示。 除此之外,如果发现验证集或测试集中正、负例样本的一方过少,如只有1个正例样本的极端情况,则可以提前终止无意义的训练过程,因为针对极端比例下的类别样本数据集,无论是模型训练,还是模型评估,都会完全失效。事先统计各类别样本的数量,能提前发现样本不均衡的问题,尤其在类别样本比例差别较大时,一方面能帮助划分训练集、验证集和测试集的大小,另一方面可以对样本进行重采样或降低采样比例。样本不均衡问题会在5.2.3节的特征工程技巧中进一步讲解。 在一个动物分类数据集中,针对不同动物类别的数量统计结果如图5-2所示。 对于数据字段的缺失问题(为空值或非法值),事先统计有助于掌握特征字段、标签字段等关键字段的缺失程度。如果缺失字段占比较低(通常1%以下可以忽略不计),那么可以直接丢弃;如果缺失字段占比较高,那么可能是源头数据出问题了,可以检查源头数据的收集过程是否存在问题,避免在训练过程中再出现问题,从而提高算法工程的整体效率。 总之,在动手开始搭建算法模型前,对样本数据集先有一个宏观把控,可以帮助我们对算法目标有一个更清晰、具体的认识,从而做到少走弯路、有的放矢。 5.1.2 微观感受数据 作为一门复杂学问,在机器学习算法工程中,无论采用什么模型,都不可能得到百分之百精确的结果。训练再好的回归模型,也不可能将预测值与真实值之间的预测误差降为0;即使分类效果再好的分类模型,也不可能保证每次的分类结果一定是正确的。在机器学习算法工程中,我们的工作是尽可能地逼近目标和真相。除了继续调参①优化模型,在数据层面,一方面,可以通过宏观把握数据提前发现问题;另一方面,可以微观感受数据,抽样观察单个样本数据的行为表现并思考其合理性,对算法工程的开展也大有帮助。例如,在包含用户行为序列的场景中,抽样观察具体的用户行为序列,设身处地地理解和感受用户行为特征,对用户行为序列的建模大有裨益。 以电商场景为例,要真正理解用户数据,就必须对用户数据进行充分的观察。总体而言,抽样观察用户数据的方式主要有以下两种。 **,抽样观察用户个体维度的行为数据,换位思考,设身处地观察具体的用户行为序列,可以帮助我们更好地理解业务。行为数据是指用户在时间维度上的连续动作,如页面曝光、键盘输入、页面点击、鼠标滑动、触屏等行为。图5-3所示为一段完整的用户网上购物行为序列。笔者自从事电商行业相关算法工作以来,多次发现靠直觉得来的关于用户行为的观点,与用户的实际行为表现并不相符。例如,直觉上认为用户应该先单击商品A,然后单击商品B,由于运营规则、前端规则或用户偏见等原因,用户的实际行为表现可能会恰恰相反。 第二,抽样观察用户个体维度的统计指标,可以帮助我们更好地进行业务建模。并不是所有业务场景都适合使用复杂模型,有时基于规则的方法在某些业务场景中更容易出效果。笔者曾经跟进过一个保险返利①项目,项目目标是挖掘参与保险购买活动的作弊用户,从而减少因不正当手段获取返利带来的损失,净化拉新②指标。在项目前期,我们直接使用人工标记的作弊订单作为样本标签,基于逻辑回归训练了一个作弊分类器。但是,该作弊分类器在真实数据集上的分类效果很差。后来,我们根据对保险业务的重新理解,统计相关总体指标,提炼出几条满足非正常用户的规则,并且通过规则筛选出了一批作弊订单,然后在验证阶段通过电话逐一回访,发现大部分用户填写的手机号是无法拨通的空号,因此确认这些订单均为作弊订单。在这个反作弊场景中,基于规则的算法不仅简单易实现,作弊订单命中率非常高,而且具备极强的模型可解释性,只需根据当前作弊订单所命中的作弊规则,给出相应的规则描述。这便是微观感受数据带来的价值。 ① 在算法模型训练过程中,尝试选择不同的模型参数,从而达到*优预测结果,详见5.3.2节。 ① 在体验指定保险产品后返还红包或实物奖品。 ② 营销活动用词,是指拉动与发展新用户。 ① 每一批次同时输入算法模型中训练的样本量。 ① 模型训练的迭代单位,通常一个epoch表示遍历一遍数据集中的所有样本。

作者简介

吕 磊 微软(中国)软件工程师。本硕毕业于山东大学计算机科学与技术系,具有多年算法从业经验,曾先后在京东广告部、蚂蚁金服人工智能部、亚马逊AWS(中国)的AI产品相关部门从事算法工作,在工业界有着丰富的AI算法落地经验。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航