本书主要涉及数据工程、人工智能算法原理,大数据平台技术、人工智能算法在大数据平台上的实现、人工智能算法的应用于实践。
第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.3BP神经网络77
3.6.4Sklearn中的神经网络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 Boosting94
3.8.3 Bagging98
3.8.4 Stacking99
3.9聚类100
3.9.1聚类思想100
3.9.2性能计算和距离计算100
3.9.3原型聚类:K-means101
3.9.4密度聚类:DBSCAN103
3.9.5层次聚类105
3.9.6Sklearn中的聚类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和HDFS114
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 安装配置单机版Hadoop124
4.3.2 单机版WordCount程序128
4.3.3 安装配置伪分布式Hadoop129
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 Shell149
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卷积神经网络CNN176
6.2.1卷积神经网络的生物学基础176
6.2.2卷积神经网络结构177
6-3循环神经网络RNN182
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