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