本书主要涉及数据工程与人工智能算法原理、大数据平台技术、人工智能算法在大数据平台上的实现等,共7章。第1章介绍大数据与人工智能的历史、应用;第2章介绍数据工程;第3章介绍大数据平台;第4章介绍人工智能基础算法的原理;第5章以第4章为基础,介绍深度学习相关内容;第6章介绍当前热门的强化学习技术;第7章为数据分析与深度学习项目实践。
本书可作为希望快速了解和入门大数据与人工智能领域知识的本科生、研究生的参考书,也可供互联网领域中对人工智能算法感兴趣的工程技术人员参考使用。
对如何快速把握大数据与人工智能的精髓、避免陷入过多的数学细节推导的问题,以及人工智能算法和大数据平台技术的结合问题,本书作者做出了不懈探索。
1.选材上,不仅分别单独讲授人工智能和大数据,还突出两者相结合的内容。
2.内容上,突出浅显易懂,繁杂的数学推导适当做减法,宏观的介绍和实战技能适当做加法。
3.结构上,由浅入深,由宏观到比微观,由基础知识到新技术,由理论到实践。
本书主要突出优点如下:
1.知识点覆盖全。本书共七章,对大数据与人工智能领域的常用基础技术、算法、模型均有介绍,保障读者知识体系的完整性。
2.知识点覆盖新。本书紧跟本领域最新研究成果。尤其重点介绍了深度学习基础知识及其应用。深度学习是当前人工智能领域的潮流和趋势。另外,本书新版所增加的强化学习是机器学习新兴起的一个类别,在许多领域都具有重要作用,具有研究价值。
3.知识点难易程度严格控制。有利于读者构建完整、清晰的知识体系,抓住主干,避免钻进个别牛角尖。
4.理论与实战相结合。本书不仅介绍了理论知识,还注重问题建模、数据分析、算法实现、模型应用等实战技能。
5.知识脉络构建有特色。本书认为,当前人工智能取得重要进展的最根本原因是大数据,绝不能把两者割裂开来。
姚海鹏,北京邮电大学副教授, 主要研究方向为未来网络体系架构、网络大数据、物联网等。
刘韵洁,中国工程院院士,现任中国联通科技委主任,兼任国家信息化专家咨询委员会委员、国务院三网融合专家组成员、中国通信学会常务理事、中国互联网协会常务理事,国家未来网络试验设施重大科技基础设施项目负责人,面向服务的未来互联网体系结构及机制研究973项目首席科学家,获得“2014中国互联网年度人物”特别贡献奖。
目 录
第 1章 绪论 1
1.1 日益增长的数据 1
1.1.1 大数据基本概念 1
1.1.2 大数据发展历程 2
1.1.3 大数据的特征 3
1.1.4 大数据的基本认识 3
1.2 人工智能 4
1.2.1 认识人工智能 4
1.2.2 人工智能的派别与发展史 4
1.2.3 人工智能的现状与应用 5
1.2.4 当人工智能遇上大数据 7
1.3 大数据与人工智能的机遇与挑战 7
1.3.1 大数据与人工智能面临的难题 7
1.3.2 大数据与人工智能的前景 8
第 2章 数据工程 10
2.1 数据的多样性 10
2.1.1 数据格式的多样性 10
2.1.2 数据来源的多样性 11
2.1.3 数据用途的多样性 11
2.2 数据工程的一般流程 12
2.3 数据的获取 13
2.3.1 数据来源 14
2.3.2 数据采集方法 14
2.3.3 大数据采集平台 15
2.4 数据的存储与数据仓库 16
2.4.1 数据存储 16
2.4.2 数据仓库 16
2.5 数据的预处理技术 17
2.5.1 数据预处理的目的 17
2.5.2 数据清理 18
2.5.3 数据集成 19
2.5.4 数据变换 19
2.5.5 数据归约 19
2.6 模型的构建与评估 20
2.6.1 模型的构建 20
2.6.2 评价指标 20
2.7 数据的可视化 22
2.7.1 可视化的发展 22
2.7.2 可视化工具 23
第3章 大数据框架 28
3.1 Hadoop简介 28
3.1.1 Hadoop的由来 28
3.1.2 MapReduce和HDFS 28
3.2 Hadoop大数据处理框架 30
3.2.1 HDFS组件与运行机制 30
3.2.2 MapReduce组件与运行机制 33
3.2.3 YARN框架和运行机制 34
3.2.4 Hadoop相关技术 35
3.2.5 Hadoop的安装 36
3.3 MapReduce编程 39
3.3.1 MapReduce综述 39
3.3.2 Map阶段 40
3.3.3 Shuffle阶段 40
3.3.4 Reduce阶段 41
3.4 Spark简介 41
3.4.1 Spark概述 41
3.4.2 Spark基本概念 42
3.4.3 Spark生态系统 42
3.4.4 Spark组件与运行机制 44
3.4.5 Spark的安装 44
3.5 Storm简介 47
3.5.1 Storm概述 47
3.5.2 Storm组件和运行机制 48
3.5.3 Storm的应用 50
3.5.4 Storm的安装 50
3.6 Flink简介 53
3.6.1 Flink概述 53
3.6.2 Flink组件和运行机制 54
3.6.3 Flink的应用 55
3.6.4 Flink的安装和实例讲解 56
第4章 机器学习算法 58
4.1 机器学习绪论 58
4.1.1 机器学习基本概念 58
4.1.2 评价标准 59
4.1.3 机器模型的数学基础 61
4.2 决策树理论 64
4.2.1 决策树模型 65
4.2.2 决策树的训练 67
4.2.3 本节小结 72
4.3 朴素贝叶斯理论 72
4.4 线性回归 75
4.5 逻辑斯蒂回归 77
4.5.1 二分类逻辑回归模型 77
4.5.2 二分类逻辑斯蒂回归的训练 79
4.5.3 Softmax分类器 81
4.5.4 逻辑斯蒂回归和softmax的应用 81
4.5.5 本节小结 82
4.6 支持向量机 82
4.6.1 间隔 83
4.6.2 支持向量机的原始形式 84
4.6.3 支持向量机的对偶形式 85
4.6.4 特征空间的隐式映射:核函数 87
4.6.5 支持向量机拓展 88
4.6.6 支持向量机的应用 89
4.7 集成学习 89
4.7.1 基础概念 89
4.7.2 Boosting 91
4.7.3 Bagging 94
4.7.4 Stacking 95
4.8 神经网络 95
4.8.1 生物神经元和人工神经元 95
4.8.2 感知机 97
4.8.3 BP神经网络 98
4.8.4 Sklearn中的神经网络 100
4.8.5 本节小结 101
4.9 聚类 101
4.9.1 聚类思想 101
4.9.2 性能计算和距离计算 101
4.9.3 原型聚类 102
4.9.4 密度聚类 103
4.9.5 层次聚类 104
4.9.6 Sklearn中的聚类 105
4.9.7 本节小结 105
4.10 降维与特征选择 105
4.10.1 维数爆炸与降维 105
4.10.2 降维技术 106
4.10.3 特征选择技术 108
4.10.4 Sklearn中的降维 108
4.10.5 本节小结 108
第5章 深度学习简介 110
5.1 从神经网络到深度神经网络 110
5.1.1 深度学习应用 110
5.1.2 深度神经网络的困难 111
5.2 卷积神经网络 112
5.2.1 卷积神经网络的生物学基础 112
5.2.2 卷积神经网络结构 113
5.3 循环神经网络 116
5.3.1 循环神经网络简介 116
5.3.2 循环神经网络结构 116
5.4 生成对抗网络 118
5.4.1 生成对抗网络简介 118
5.4.2 生成对抗网络结构 119
第6章 强化学习简介 124
6.1 有限马尔可夫决策过程 125
6.1.1 目标和奖励 125
6.1.2 回报和分幕 126
6.1.3 策略和值函数 127
6.1.4 最优策略和最优状态值函数 127
6.2 动态规划 129
6.2.1 策略评估 129
6.2.2 策略改进 132
6.2.3 策略迭代 133
6.2.4 价值迭代 134
6.3 时序差分学习 135
6.3.1 时序差分预测 136
6.3.2 TD(0)学习 136
6.3.3 Sarsa算法 137
6.3.4 Q学习算法 138
6.4 策略梯度方法 139
6.4.1 策略梯度定理 140
6.4.2 蒙特卡罗策略梯度 141
6.4.3 “Actor-Critic”方法 142
6.5 深度强化学习 143
6.5.1 深度Q-learning 143
6.5.2 深度确定性策略梯度 146
第7章 数据分析实例 149
7.1 基本数据分析 149
7.1.1 数据介绍 149
7.1.2 数据导入与数据初识 149
7.1.3 分类 152
7.1.4 回归 153
7.1.5 降维 154
7.2 深度学习项目实战 155
7.2.1 Tensorflow与Keras安装部署 155
7.2.2 使用卷积神经网络进行手写数字识别 156
7.2.3 使用LSTM进行文本情感分类 158
参考文献 162
附录A 矩阵基础 163
附录B 梯度下降 166
附录C 拉格朗日对偶性 169
附录D Python语法知识 172
附录E Java语法基础介绍 184