本书主要涉及数据工程、人工智能算法原理,大数据平台技术、人工智能算法在大数据平台上的实现、人工智能算法的应用于实践。 第1章是大数据与人工智能的历史、应用。第2章是数据工程。第三章是人工智能基础算法的原理介绍。第四章是大数据平台的介绍。第五章以第三章中的几种算法为例子,介绍了它们是如何在大数据平台上分布式实现的。第六章是当前热门的深度学习技术的介绍。第七章是实践。 本书针对1.对大数据和人工智能感兴趣、希望快速了解和入门本领域知识的在读本科生、研究生。2.希望从事大数据和人工智能岗位、需要快速提升理论基础和实战技能的求职者。3.计算机和互联网领域,对人工智算法感兴趣或工作中迫切需要一定本领域知识的工程师。
针对如何快速把握大数据与人工智能的精髓、避免陷入过多的数学细节推导的问题,以及人工智能算法和大数据平台技术的结合问题,本书作者做出了不懈探索。一是选材上,不仅分别单独讲授人工智能和大数据,还突出两者相结合的内容。二是内容上,突出浅显易懂,繁杂的数学推导适当做减法,宏观的介绍和实战技能适当做加法。三是结构上,由浅入深,由宏观到比较围观,由基础知识到新技术,由理论到实践。本书主要突出优点如下。 1.知识点覆盖全。对大数据与人工智能领域的常用基础技术、算法、模型均有介绍,保障读者知识体系的完整性。而目前市场上相当同类书只涉及本领域其中的几个问题,使读者不能较好得从宏观角度来体会大数据和人工智能的技术。 2.知识点覆盖新。紧跟本领域zui新研究成果。尤其重点介绍了深度学习基础知识及其应用。深度学习是当前人工智能领域的潮流和趋势。目前市场上同类书对本领域新趋势的关注明显滞后。 3.知识点难易程度严格控制。有利于读者构建完整、清晰的知识体系,抓住主干,避免钻进个别牛角尖。许多同类书往往不能把做好难度控制,经常罗列大段生僻公式,使初学者丧失兴趣,也使初学者忽视了主干知识的学习。 4.理论与实战相结合。本书不仅介绍了理论知识,还注重问题建模、数据分析、算法实现、模型应用等实战技能。主流的同类图书基本以理论介绍为主,容易使读者眼高手低,不能真正把知识用于实践。 5.知识脉络构建有特色。市场上同类图书要么是只讲人工智能算法,要么只讲大数据工具平台。本书认为,当前人工智能取得重要进展的zui根本原因是大数据,绝不能把两者割裂开来。
姚海鹏,博士,北京邮电大学副教授,主要讲授网络大数据、物联网、人工智能等课程,主要研究方向为未来网络体系架构、网络大数据、物联网等。
1
及时章 绪论 10
1.1日益增长的数据 10
1.1.1大数据基本概念 11
1.1.2大数据发展历程 11
1.1.3大数据的特征 12
1.1.4大数据的基本认识 13
1.2人工智能 14
1.2.1认识人工智能 14
1.2.2人工智能的派别与发展历史 14
1.2.3人工智能的现状与应用 14
1.2.3 当人工智能遇上大数据 15
1.3 大数据与人工智能的机遇与挑战 16
1.3.1大数据与人工智能面临的难题 16
1.3.2大数据与人工智能的前景 17
第二章 数据工程 18
2.1数据的多样性 18
2.1.1数据格式的多样性 18
2.1.2数据来源的多样性 19
2.1.3数据用途的多样性 20
2.2数据工程的一般流程 21
2.2.1 数据获取 21
2.2.2 数据存储 21
2.2.3 数据清洗 21
2.2.4 数据建模 21
2.2.5 数据处理 22
2.3数据的获取 22
2.3.1数据来源 23
2.3.2数据采集方法 23
2.3.3 大数据采集平台 25
2.4数据的存储与数据仓库 25
2.4.1数据存储 25
2.4.2数据仓库 26
2.5数据的预处理技术 27
2.5.1 为什么要进行数据预处理 27
2.5.2 数据清理 28
2.5.3 数据集成 29
2.5.4 数据变换 30
2.5.5 数据规约 30
2.6模型的构建与评估 31
2.6.1模型的构建 31
2.6.2评价指标 31
2.7数据的可视化 33
2.7.1 可视化的发展 34
2.7.2 可视化工具 34
第三章 机器学习算法 41
3-1机器学习绪论 41
3.1.1 机器学习基本概念 41
3.1.2评价标准 43
3.1.3 机器模型的数学基础 46
3-2决策树理论 50
3.2.1决策树模型 50
3.2.2 决策树的训练 53
3.2.3 本节总结 58
3.3 朴素贝叶斯理论 59
3.4线性回归 63
3.5逻辑斯蒂回归 66
3.5.1二分类逻辑回归模型 66
3.5.2 二分类逻辑斯蒂回归的训练 68
3.5.3 softmax分类器 71
3.5.4逻辑斯蒂回归和softmax的应用 72
3.5.5本节总结 72
3.6神经网络 73
3.6.1生物神经元和人工神经元 73
3.6.2感知机 75
3.6.3 BP神经网络 77
3.6.4 Sklearn中的神经网络 80
3.6.5本章小结 81
3.6.6 拓展阅读 81
3.7支持向量机 81
3.7.1 间隔 82
3.7.2 支持向量机的原始形式 84
3.7.3 支持向量机的对偶形式 86
3.7.4特征空间的隐式映射:核函数 87
3.7.5 支持向量机拓展 90
3.7.6 支持向量机的应用 90
3.8集成学习 91
3.8.1 基础概念 91
3.8.2 Boosting 94
3.8.3 Bagging 98
3.8.4 Stacking 99
3.9聚类 100
3.9.1聚类思想 100
3.9.2性能计算和距离计算 100
3.9.3原型聚类:K-means 101
3.9.4密度聚类:DBSCAN 103
3.9.5层次聚类 105
3.9.6 Sklearn中的聚类 105
3.9.7本章小结 106
3.9.8拓展阅读 106
3.10降维与特征选择 106
3.10.1维数爆炸与降维 106
3.10.2降维技术 107
3.10.3特征选择算法 109
3.10.4 Sklearn中的降维 112
3.10.5本章小结 112
第四章 大数据框架 113
4-1 Hadoop简介 113
4.1.1 Hadoop的由来 113
4.1.2 MapReduce和HDFS 114
4-2 Hadoop大数据处理框架 115
4.2.1 HDFS组件与运行机制 116
4.2.2 MapReduce组件与运行机制 120
4.2.3 Yarn框架和运行机制 122
4.2.4 Hadoop相关技术 123
4-3 Hadoop安装与部署 124
4.3.1 安装配置单机版Hadoop 124
4.3.2 单机版WordCount程序 128
4.3.3 安装配置伪分布式Hadoop 129
4-4 MapReduce编程 135
4.4.1 MapReduce综述 136
4.4.2 Map阶段 136
4.4.3 shuffle阶段 137
4.4.4 Reduce阶段 138
4-5 HBase、Hive和Pig和简介 138
4.5.1 HBase简介 139
4.5.2 Hive简介 139
4.5.3 Pig简介 141
4-6 Spark简介 141
4.6.1 spark概述 141
4.6.2 Spark基本概念 142
4.6.3 spark生态系统 143
4.6.4 spark组件与运行机制 144
4-7 Spark安装使用 145
4.7.1 JDK安装 146
4.7.2 Scala安装 148
4.7.3 Spark安装 148
4.7.4 Winutils安装 148
4.7.5 使用Spark Shell 149
4.7.6 Spark文件目录 151
4-8 Spark实例讲解 152
第五章 分布式数据挖掘算法 153
5-1 K-Means聚类方法 154
5.1.1 K-Means聚类算法简介 154
5.1.2 K-Means算法的分布式实现 154
5-2 朴素贝叶斯分类算法 160
5.2.1 朴素贝叶斯分类并行化设计思路 160
5.2.2 朴素贝叶斯分类并行化实现 161
5-3 频繁项集挖掘算法 166
5.3.1 Apriori频繁项集挖掘算法简介 167
5.3.2 Apriori频繁项集挖掘的并行化实现 167
5-4参考资料 172
第六章 深度学习简介 173
6-1从神经网络到深度神经网络 173
6.1.1深度学习应用 173
6.1.2 深度神经网络的困难 175
6-2卷积神经网络CNN 176
6.2.1卷积神经网络的生物学基础 176
6.2.2卷积神经网络结构 177
6-3循环神经网络RNN 182
6.3.1循环神经网络简介 182
6.3.2循环神经网络结构 182
第七章 数据分析实例 185
7-1 基本数据分析 185
7.1.1数据介绍 185
7.1.2数据导入与数据初识 185
7.1.3分类 189
7.1.4 聚类 191
7.1.5回归 192
7.1.6降维 194
7.2深度学习项目实战 195
7.2.1 Tensorflow与keras安装部署 196
7.2.2使用卷积神经网络进行手写数字识别 198
7.2.3使用LSTM进行文本情感分类 201
附 录 206
A 矩阵基础 206
B 梯度下降 209
牛顿法 210
C 拉格朗日对偶性 211
D python 语法知识 213
E Java语法基础介绍 228