深入浅出AI算法:基础概览
  • 推荐0
  • 收藏0
  • 浏览272

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

吕磊 (作者) 

  • 丛  书:人工智能前沿技术丛书
  • 书  号:978-7-121-41551-7
  • 出版日期:2021-07-22
  • 页  数:244
  • 开  本:16(170*240)
  • 出版状态:上市销售
  • 维护人:宋亚东
纸质版 ¥89.00
本书从理论到实践,循序渐进地介绍人工智能算法的基础知识,帮助读者敲开人工智能算法之门。本书共有8 章,分别为算法入门、算法之内力、算法之招式、算法之武功秘籍、算法工程的组成部分、算法工程实战、进阶学习、思考与展望。本书主要讲解算法的历史背景与基本概念、与算法相关的数学基础知识、信息学算法与数据结构的概念与知识点、业界常用的几类机器学习算法模型;本书还会介绍算法工程比较完整的组成部分,以及一个典型的算法工程项目,手把手带领读者体验算法的魅力;此外,本书会介绍人工智能算法的三大研究方向,帮读者迈向进阶学习之路。
本书适合从事人工智能应用实践的科研人员和工程技术人员阅读,也适合高等院校计算机科学与技术、人工智能、大数据等相关专业的本科生和研究生阅读。
本书深入浅出话AI,将看似高深莫测的AI技术抽丝剥茧、化繁为简,娓娓道来。
本书从理论到实践,循序渐进地介绍了人工智能算法的基础知识。
本书每章的末尾提炼出了该章的核心关键词,方便读者查询回顾。
归纳和总结出AI基础学习路径,让感兴趣的“门外汉”学习人工智能是什么、做什么及怎么做。
推荐序
自进入21世纪以来,得益于大数据和计算机软硬件技术的迅猛发展,在全球范围内出现了机器学习研究与应用的热潮。机器学习大大提高了语音识别、图像识别、自动驾驶、虚拟现实和机器人等高新技术的发展进程。与前三次工业革命一样,机器学习也是一种能够产生巨大生产力的革命性技术。机器学习是专门研究如何让计算机模拟或实现人类行为的过程,通过调整特定的参数和配置,使对应的机器学习算法模型不断改善自身在某个方面的性能,如对话、翻译、游戏、驾驶等。它是当前人工智能(AI)发展的主要方面,是使计算机具有智能的重要途径。现阶段所讨论的AI算法,通常指的就是机器学习算法。
作为一门交叉学科,机器学习涉及概率论、统计学、组合数学、最优化理论等多门学科,因此学习门槛很高。如何降低机器学习算法的学习门槛,让更多的人可以理解、掌握这些算法并加以改进,从而应用于实际工作中,是一个亟须解决的问题。而本书是在这方面所做的有益尝试。
本书共8章,内容丰富,对常用的机器学习算法进行了深入浅出的介绍。围绕机器学习算法,本书囊括理论和实践,在保证完整性的前提下,重点探讨各个环节中的核心问题。从广度上看,本书讨论了算法的两种类别,即偏逻辑类型的信息学算法与偏数据类型的机器学习算法。从深度上看,本书讨论了相关的数学原理、算法原理及工程实战。
本书作者吕磊曾于山东大学师从于我,攻读硕士学位,毕业后先后就职于京东、阿里巴巴、亚马逊与微软的AI相关部门,在工业界有较为丰富的机器学习算法应用经历。
本书可以作为对人工智能与机器学习感兴趣的本科生、研究生,以及程序开发人员的算法入门参考书。

禹晓辉
加拿大约克大学信息技术学院副教授
山东大学计算机科学与技术学院兼职教授、博士生导师

前言
为什么会有这本书
在笔者从事算法相关的工作后,身边有不少朋友问笔者“算法到底是什么”“如何理解人工智能(Artificial Intelligence,AI)的概念”等问题。他们平时在各类电视节目、网络自媒体及新闻媒体中经常接触AI算法的相关信息,因此对AI算法表现出比较浓厚的兴趣。
经过进一步的沟通了解,笔者发现可以将这些朋友划分为两类人群。第一类人群,他们希望从事AI算法职业,或者希望转型做AI算法相关的工作;第二类人群,他们不想学习AI算法,但是想了解AI算法背后的原理,以及整个AI项目的运作机制、流程和规律等。无论是第一类人群的“入门”需求,还是第二类人群的“鸟瞰”需求,市面上已经有很多相关资料,如吴恩达 在Coursera 上发布的机器学习课程、斯坦福大学的CS在线课程系列 、周志华 的《机器学习》 及网络上的各种算法学习教程等。这些都是非常优质的AI算法学习资源。但可惜的是,对大部分人来说,一方面,Coursera和斯坦福大学的课程门槛太高,零基础入门不易;另一方面,虽然大部分学习资源在某个方向上基本都能做到比较高质量的讲解,但很少有学习资源是使用算法串联整体内容的,即很少有学习资源可以同时满足“入门”和“鸟瞰”需求。学习者往往需要通过整合多个信息源,才能对AI算法形成一个较为完整的总体印象。
此外,在和朋友讨论算法的过程中,笔者发现一件比较有意思的事情:大家通常会聊到两类算法,一类是信息学算法①,另一类是AI算法②。虽然都叫算法,但没有一个比较权威的划分方式将二者区别开。比较常见的区分方法是,信息学算法是有确定答案的、结果准确率为100%的精确算法;而AI算法的答案是不确定的,其结果的准确率通常也不可能达到100%。从这个角度来看,信息学算法的运算过程其实和简单的数学运算的运算过程没有本质区别,二者在每一步计算环节都有明确的结果,最后都会得到一个确定答案。AI算法在每次训练后的准确率都不固定,这体现出了“智能”的高低差异。虽然,当下“人工智能”要摆脱“人工”的日子看起来比较久远,但至少已经出现了一些让人为之惊叹的“人工”奇迹,如AI围棋程序、AI语音助手和AI自动驾驶等。
关于这两类算法的区别,笔者从《樊登读书》中获得了一种新的思考角度。书中提到,这个世界上有一种学问叫作简单科学,还有一种学问叫作复杂科学。简单科学可分为很多个步骤,每个步骤都有明确的输入和输出,各个步骤之间的因果关系清晰、明确、可追溯。例如,建造一栋大楼,或者建造一艘飞船,虽然工程复杂,但完全符合简单科学的范畴。复杂科学是混沌的,因果关系并不明确,如蝴蝶效应、群智涌现③等。笔者借助从樊登老师那里得到的灵感发现,信息学算法的步骤和结果明确,AI算法的因果关系混沌,二者恰好可以分别归于简单科学和复杂科学的范畴。这种分法或许比前面的分法更有趣一些。
为了满足读者“入门”和“鸟瞰”的不同需求,一方面,本书在内容筛选上必须大刀阔斧,又不能破坏内容结构的完整性;另一方面,本书将上述两类算法囊括在一起呈现,使读者能清晰、明确地认识二者之间的区别与联系。
本书是笔者温故知新的结果。俗话说,好记性不如烂笔头。通过归纳、总结与再学习,笔者在AI算法方面也有不少新的认识和收获。

本书的读者定位
AI算法博大精深,所含各部分内容都足以各自形成一本书。本书作为一本算法概览书,其内容尚不足以形成完整而系统的算法学习体系。此外,考虑到笔者存在的信息采样误差,本书挑选的常用知识点不一定具备绝对的普适性。
本书的目标受众包括但不限于行业属性或工作职能与AI算法有关的人士、从事传统行业的工程师、面临毕业的学生、初入职场的人士等。当然,无论是哪一类人群,前提都需要对AI算法感兴趣。爱因斯坦说过,兴趣是最好的老师。笔者希望,读者在读完本书后,可以对AI算法有一个较为清晰的整体认识,并且针对自己感兴趣的环节进行更深入的学习。

本书的内容及风格
本书从介绍算法是什么开始,包括发展简史和目前与算法有关的职位和领域,循序渐进地帮助读者敲开算法的大门。首先,本书甄选了与算法有关的数学基础知识,包括线性代数、排列组合、高等数学、概率与统计等,为读者正式接触算法奠定一定的数学基础。其次,本书从信息学算法与数据结构入手,讲解了二者最常用的概念与知识点,帮助读者培养一定的算法逻辑思维能力和数据结构思想。然后,切入AI算法正题,从总体视角将AI算法划分为两种类别,并且甄选业界常见的几类机器学习算法模型,帮助读者在总体把控的前提下,掌握不同机器学习算法模型中的具体算法,以及它们的实现原理。接着,本书会介绍算法工程的组成部分,并且手把手带领读者完成一个简易的算法工程项目,通过实践加深其对AI算法的理解,使其能够学以致用。最后,本书挑选出AI算法的三大研究方向,帮助读者铺垫AI算法学习的进阶之路,并且总结了笔者对算法行业的思考和展望。全书内容从基础到进阶,从理论到实践,层层递进。
学习算法对数学基础和逻辑思维的要求比较高。因此,本书尽量通过列举与生活息息相关的例子,对其中的一些概念进行直观讲述,如向量、矩阵、数组、链表。不过,并不是所有的知识点都可以通过直观举例来讲解,如高等数学中的导数和梯度、概率与统计中的各种名词等。所以,对于真正想入门AI算法的读者,该下的功夫、该花的时间是少不了的;而对于只想对AI算法有所了解的读者,在遇到较难理解的概念和公式时,只需了解它们在AI算法中的作用,可以跳过理论细节。
本书的章节标题运用了武侠小说中的“内力”“招式”“武功秘籍”,分别对应数学基础、信息学算法和机器学习算法。有人说,信息学算法和机器学习算法没什么关系,其实不然。看过武侠作品的读者应该知道,“内力”和“招式”作为“武功秘籍”修炼的前提,是一种基础能力。相应地,数学基础和信息学算法对学习机器学习算法而言,不仅是基础的铺垫,而且有助于思维模式的培养。
本书每章的内容都采用“总分总”形式,并且在章节末尾提炼出核心关键词,方便读者进一步查询回顾。其中在第2章~第7章末尾,针对章节内容留有若干思考题,帮助读者巩固和理解相关知识。关于动脑时刻的答案,请关注“对半独白”微信公众号并回复“动脑时刻”获取。

我与本书的局限性
本书的局限性。与其他同类型的机器学习入门书籍相比,本书关于AI算法的内容要少很多。本书作为一本AI算法图书,主要目的在于帮助读者构建一个较为完整的AI算法基础知识体系。作为一本只有200多页的书,既然选择了整体性,就必须舍弃部分性,这便是本书最大的局限性。但反过来想,无论哪一门学问,其知识体系都在持续不断地迭代更新。从这个角度来看,真正做到内容大而全的书,其实是不存在的。所谓“万变不离其宗”,授人以名目齐全之鱼,不如授人以追本溯源之渔。因此,本书在内容层面的局限性,未尝不会成为目标读者群体的优先选择性。
笔者的局限性。有一个词可以充分表达笔者的局限性,这个词或许也可以描述所有作者的局限性,那就是“偏见”。数据有偏见,写作也有偏见。在AI算法模型中,我们需要做的非常重要的一件事就是减少数据偏见,以及降低数据偏见带来的不良结果。所谓写作偏见,就是笔者在写作之前的各种经历和所处环境,对本书写作所带来的影响,包括但不限于长期积累所形成的个人认知水平、表达水平、专业水平、职业惯性,乃至个人素养和品质。因此,书中如有表达不当或有失偏颇之处,望读者海涵。
首先,我想感谢阅读本书的读者朋友。你们的青睐和支持,给了我坚持写作的原动力。如果本书能给大家带来收获,是我莫大的荣幸。
然后,我想感谢本书的责任编辑——电子工业出版社的宋亚东先生。您从“对半独白”公众号第一次联系到我直到现在,已近3年时光。从决定开始写书到最终完稿,这之间的过程真的十分不容易,感谢您一路对我的帮助。如果没有您的支持与鼓励,我不会顺利完成本书的写作,您是我人生旅程中的伯乐。
最后,我想感谢我的妻子——魏金璐。从校园恋爱开始,谢谢你一路走来对我的付出,不管遇到什么困难,你总是默默地在我身边倾听与陪伴,无论是工作还是生活,都给了我无穷的动力。

吕磊

目录

目录
第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

读者评论

相关博文

  • 瞥一瞥AI,撩一撩算法

    瞥一瞥AI,撩一撩算法

    博文小编 2021-08-03

    本文转自【吕磊】 风和日丽的午后,你走在马路上。 一个人型机器人迎面走来,点头,微笑,挥手,和你擦肩而过。 你回头望去,街头绿灯下,机器人正小跑穿过人行横道,步伐轻盈,体态自然。 机器人渐行渐远…… 你停下脚步,浮...

    博文小编 2021-08-03
    299 0 0 0

同系列书

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

    吕磊 (作者)

    本书从理论到实践,循序渐进地介绍人工智能算法的基础知识,帮助读者敲开人工智能算法之门。本书共有8 章,分别为算法入门、算法之内力、算法之招式、算法之武功秘籍、算...

    ¥89.00
  • 自然语言处理:基于预训练模型的方法

    车万翔 (作者)

    自然语言处理被誉为“人工智能皇冠上的明珠”。深度学习等技术的引入为自然语言处理技术带来了一场革命,尤其是近年来出现的基于预训练模型的方法,已成为研究自然语言处理...

    ¥118.00
  • 隐私计算

    陈凯 杨强 (作者)

    在大数据和人工智能时代,如何在享受新技术带来的便利性的同时保护自己的隐私,是一个重要的问题。本书系统讲解了隐私计算的基础技术和实践案例,全书共有11 章,按层次...