新書推薦:
《
文本的密码:社会语境中的宋代文学
》
售價:NT$
306.0
《
启微·狂骉年代:西洋赛马在中国
》
售價:NT$
357.0
《
有趣的中国古建筑
》
售價:NT$
305.0
《
十一年夏至
》
售價:NT$
347.0
《
如何打造成功的商业赛事
》
售價:NT$
407.0
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:NT$
265.0
《
慈悲与玫瑰
》
售價:NT$
398.0
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:NT$
347.0
|
內容簡介: |
本书作为数据挖掘入门读物,基于真实数据集进行案例实战,使用Python数据科学库,从数据预处理开始一步步介绍数据建模和数据挖掘的过程。主要介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带领读者轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用逻辑回归进行环境数据检测,如何使用HMM进行中文分词,如何利用卷积神经网络识别雷达剖面图,如何使用循环神经网络构建聊天机器人,如何使用朴素贝叶斯算法进行破产预测,如何使用DCGAN网络进行人脸生成等。本书也涉及神经网络、在线学习、强化学习、深度学习、大数据处理等内容。
本书适合对传统数据挖掘和机器学习算法开发感兴趣的读者阅读,也适合需要系统掌握深度学习的开发人员阅读。
|
關於作者: |
方巍 博士,博士后,副教授,高级工程师,硕士生导师。美国佛罗里达大学访问学者,中国计算机学会高级会员,ACM会员,中国系统分析师协会(CSAI)顾问团专业顾问,江苏省计算机学会会员,江苏省人工智能学会委员,江苏省政府采购招标评审专家,江苏省高新技术企业认定评审专家。负责和参与国家级、省部级科研项目12项。在国内外学术期刊上发表论文20余篇,其中被SCI和EI检索15篇。获国家发明专利授权8项、软件著作权9项。出版科技图书2部。
|
目錄:
|
前言
第1章机器学习基础1
1.1机器学习概述2
1.2机器学习的发展历程2
1.3机器学习分类3
1.3.1监督学习3
1.3.2无监督学习3
1.3.3强化学习4
1.3.4深度学习4
1.4机器学习的应用4
1.5开发机器学习的步骤7
1.6Python语言的优势8
1.6.1可执行伪代码8
1.6.2Python语言使用广泛8
1.6.3Python语言特色8
1.6.4Python语言的缺点9
1.7Python开发工具介绍9
1.7.1IDLE简介10
1.7.2IPython简介11
1.7.3PyCharm简介11
1.7.4Jupyter Notebook简介12
1.7.5Anaconda和Spyder简介13
1.8本章小结15
第2章Python语言简介16
2.1搭建Python开发环境16
2.1.1安装Anaconda16
2.1.2安装Spyder18
2.1.3运行和保存Python程序19
2.2Python计算与变量19
2.2.1用Python做简单的计算20
2.2.2Python的运算符20
2.2.3Python的变量21
2.3Python的字符串22
2.4Python的列表23
2.5Python的元组25
2.6Python的字典27
2.7网络爬虫的发展历史和分类28
2.7.1网络爬虫的发展历史28
2.7.2网络爬虫的分类30
2.8网络爬虫的原理30
2.8.1理论概述30
2.8.2爬虫的工作流程31
2.9爬虫框架介绍36
2.9.1Scrapy介绍36
2.9.2XPath介绍39
2.10网络爬虫的设计与实现40
2.10.1网络爬虫的总体设计40
2.10.2具体实现过程40
2.10.3爬虫结果与分析45
2.11本章小结49
第3章回归分析50
3.1回归分析概述50
3.1.1基本概念50
3.1.2可以解决的问题51
3.1.3回归分析的步骤51
3.2线性回归51
3.2.1简单线性回归分析51
3.2.2多元线性回归分析52
3.2.3非线性回归数据分析52
3.3用Python实现一元线性回归53
3.4用Python实现多元线性回归56
3.4.1使用pandas读取数据56
3.4.2分析数据57
3.4.3线性回归模型58
3.5基于线性回归的股票预测62
3.5.1数据获取62
3.5.2数据预处理63
3.5.3编码实现64
3.5.4结果分析65
3.6逻辑回归66
3.6.1构造预测函数67
3.6.2构造损失函数J68
3.6.3梯度下降法求解最小值69
3.7基于逻辑回归的环境数据检测71
3.7.1数据来源71
3.7.2数据处理72
3.7.3异常数据分析72
3.7.4数据预测74
3.8本章小结76
第4章决策树与随机森林77
4.1决策树77
4.1.1决策树的基本原理77
4.1.2决策树的分类78
4.1.3 决策树的优缺点81
4.2使用决策树对鸢尾花分类82
4.2.1Iris数据集简介82
4.2.2读取数据83
4.2.3鸢尾花类别83
4.2.4数据可视化84
4.2.5训练和分类85
4.2.6数据集多类分类86
4.2.7实验结果86
4.3随机森林87
4.3.1随机森林的基本原理87
4.3.2随机森林的收敛性88
4.3.3随机森林的OOB估计89
4.3.4随机森林的随机特征选取89
4.3.5随机森林的优缺点90
4.4葡萄酒数据集的随机森林分类91
4.4.1数据收集91
4.4.2相关库函数简介92
4.4.3数据基本分析93
4.4.4使用随机森林构建模型97
4.4.5实验结果98
4.5本章小结99
第5章支持向量机100
5.1SVM的工作原理及分类100
5.1.1支持向量机的原理100
5.1.2线性可分的支持向量机101
5.1.3非线性可分的支持向量机102
5.2核函数103
5.2.1核函数简介103
5.2.2几种常见的核函数104
5.2.3核函数如何处理非线性数据104
5.2.4如何选择合适的核函数105
5.3SVR简介106
5.3.1SVR原理106
5.3.2SVR模型106
5.4时间序列曲线预测107
5.4.1生成训练数据集107
5.4.2运用不同的核函数进行支持向量回归108
5.4.3生成测试数据集109
5.4.4预测并生成图表110
5.4.5获取预测误差111
5.4.6创建数据集112
5.4.7选取最优参数112
5.4.8预测并生成图表112
5.4.9获取预测误差113
5.5本章小结114
第6章隐马尔可夫模型115
6.1隐马尔可夫模型简介115
6.1.1隐马尔可夫模型的概念115
6.1.2详例描述116
6.1.3HMM流程117
6.2Viterbi算法117
6.3HMM模型用于中文分词119
6.3.1UI界面119
6.3.2数据及其编码119
6.3.3HMM模型121
6.3.4实验结果122
6.4本章小结124
第7章BP神经网络模型125
7.1背景介绍125
7.2结构特点126
7.3网络模型126
7.4人工神经网络简介127
7.4.1神经元127
7.4.2单层神经网络128
7.4.3双层神经网络129
7.4.4多层神经网络130
7.5BP神经网络131
7.6通过TensorFlow实现BP神经网络132
7.7本章小结134
第8章卷积神经网络135
8.1传统图像识别技术135
8.1.1图像预处理135
8.1.2图像特征提取136
8.1.3图像分类方法136
8.2卷积神经网络结构简介137
8.2.1卷积神经网络发展历程137
8.2.2卷积神经网络结构简介137
8.3卷积神经网络的结构及原理139
8.3.1卷积层139
8.3.2池化层140
8.3.3激活函数142
8.3.4全连接层144
8.3.5反馈运算144
8.4卷积神经网络的优点146
8.5雷达剖面图识别模型148
8.5.1数据准备148
8.5.2构建模型150
8.6模型测试分析157
8.6.1部署基本模块157
8.6.2创建项目结构157
8.6.3训练网络158
8.6.4自动化测试158
8.7本章小结160
第9章循环神经网络161
9.1自然语言处理161
9.1.1自然语言处理概述161
9.1.2自然语言处理应用162
9.2对话系统163
9.2.1对话系统分类163
9.2.2聊天机器人分类164
9.3基于LSTM结构的循环神经网络165
9.3.1循环神经网络165
9.3.2通过时间反向传播166
9.3.3长短期记忆网络(LSTM)169
9.4Seq2Seq模型172
9.4.1Encoder-Decoder框架173
9.4.2Attention机制174
9.5聊天机器人的程序实现176
9.5.1准备数据176
9.5.2创建模型178
9.5.3训练模型179
9.5.4测试模型180
9.6本章小结181
第10章聚类与集成算法182
10.1聚类方法简介182
10.1.1聚类定义183
10.1.2聚类要求183
10.2聚类算法184
10.2.1划分方法184
10.2.2层次方法184
10.2.3基于密度的方法184
10.2.4基于网格的方法185
10.2.5基于模型的方法185
10.3K-Means算法185
10.3.1K-Means算法概述185
10.3.2K-Means算法流程185
10.3.3K-Means算法实现186
10.3.4实验结果及分析188
10.3.5K-Means算法存在的问题188
10.4K-Means算法189
10.4.1K-Means的基本思想189
10.4.2K-Means的数学描述190
10.4.3K-Means算法流程190
10.5K-Means的实现191
10.5.1数据集191
10.5.2代码实现192
10.5.3K-Means实验结果193
10.6Adaboost集成算法的原理194
10.6.1Boosting算法的基本原理194
10.6.2Adaboost算法介绍195
10.6.3Adaboost分类问题的损失函数优化197
10.6.4Adaboost二元分类问题的算法流程198
10.6.5Adaboost回归问题的算法流程199
10.6.6Adaboost算法的正则化200
10.6.7Adaboost的优缺点200
10.7Adaboost算法实现201
10.7.1数据集处理201
10.7.2实现过程201
10.7.3实验结果分析206
10.8本章小结208
第11章其他机器学习算法209
11.1贝叶斯分类器210
11.1.1概率基础知识210
11.1.2贝叶斯决策准则211
11.1.3极大似然估计212
11.2贝叶斯分类模型213
11.2.1朴素贝叶斯分类模型213
11.2.2半朴素贝叶斯分类模型216
11.2.3贝叶斯网络分类模型217
11.3朴素贝叶斯分类器在破产预测中的应用219
11.3.1数据集219
11.3.2训练多项式朴素贝叶斯模型220
11.4在线学习222
11.4.1线性模型的在线学习222
11.4.2非线性模型的在线学习224
11.5Bandit在线学习算法225
11.5.1Bandit算法与推荐系统226
11.5.2常用Bandit算法226
11.6Bandit算法原理及实现228
11.7GAN网络229
11.7.1GAN产生的背景230
11.7.2模型结构230
11.7.3GAN的实现原理232
11.8DCGAN网络236
11.8.1模型结构236
11.8.2反卷积237
11.9DCGAN人脸生成240
11.9.1实验准备240
11.9.2关键模块的实现240
11.9.3实验结果展示243
11.10本章小结245
附录A机器学习常见面试题246
附录B数学基础257
B.1常用符号257
B.2数学基础知识259
B.2.1线性代数259
B.2.2概率论261
B.2.3信息论262
参考文献264
|
內容試閱:
|
Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。作为一门编程语言,其魅力远超C#、Java、C和C等编程语言,被昵称为胶水语言,更被热爱它的程序员誉为最美丽的编程语言。从云端和客户端,再到物联网终端,Python应用无处不在,同时它还是人工智能(AI)首选的编程语言。
近年来,人工智能在全世界掀起了新的科技浪潮,各行各业都在努力涉足人工智能技术。而机器学习是人工智能的一种实现方式,也是最重要的实现方式之一。深度学习是目前机器学习比较热门的一个方向,其本身是神经网络算法的衍生,在图像、语音等富媒体的分类和识别上取得了非常好的效果。数据挖掘主要利用机器学习界提供的技术来分析海量数据,利用数据库界提供的技术来管理海量数据。例如,在对超市货品进行摆放时,牛奶到底是和面包摆放在一起销量更高,还是和其他商品摆在一起销量更高,就可以用相关算法得出结论。由于机器学习技术和数据挖掘技术都是对数据之间的规律进行探索,所以人们通常将两者放在一起提及。而这两种技术在现实生活中也有着非常广阔的应用场景。例如,分类学习算法可以对客户等级进行划分,可以验证码识别,可以对水果品质自动筛选等;回归学习算法可以对连续型数据进行预测,以及对趋势进行预测等;聚类学习算法可以对客户价值和商圈做预测;关联分析可以对超市的货品摆放和个性化推荐做分析;而深度学习算法还可以实现自然语言处理方面的应用,如文本相似度、聊天机器人及自动写诗作画等应用。
纵观国内图书市场,关于Python的书籍不少,它们主要偏向于工具本身的用法,如关于Python的语法、参数、异常处理、调用及开发类实例等,但是基于Python数据挖掘与机器学习类的书籍并不是特别多,特别是介绍最新的基于深度学习算法原理和实战的图书更少。本书将通过具体的实例来讲解数据处理和挖掘技术,同时结合最新的深度学习、强化学习及在线学习等理论知识和实用的项目案例,详细讲解16种常用的数据挖掘和机器学习算法。
本书有何特色
1.全程使用Python 3编程语言
本书通过Anaconda和Spyder提供的Python编程功能实现各种算法:
* 介绍了Scrapy框架和XPath工具;
* 重点介绍了TensorFlow工具的开发和使用;
* 以票务网为例,实现了网站票务信息的爬虫案例。
2.剖析回归分析的基本原理
回归分析是一种应用极为广泛的数量分析方法。本书中的回归分析相关章节实现了如下几个重要例子:
* 对于线性回归,介绍了如何使用一元线性回归求解房价预测的问题;
* 实例演示了使用多元线性回归进行商品价格的预测,以及使用线性回归对股票进行预测;
* 通过环境检测数据异常分析与预测这个实验,用实例具体实现了逻辑回归的过程。
3.详解分类和聚类机器学习算法
在数据挖掘领域中,对分类和聚类算法的研究及运用非常重要。书中着重研究了决策树、随机森林、SVM、HMM、BP神经网络、K-Means和贝叶斯等算法,并实现了以下例子:
* 使用决策树算法对鸢尾花数据集进行分类;
* 使用随机森林对葡萄酒数据集进行分类;
* SVM中采用三种核函数进行时间序列曲线预测;
* HMM模型用于中文分词;
* 用TensorFlow实现BP神经网络;
* 朴素贝叶斯分类器在破产预测中的应用。
4.详细地描述了常用的深度学习算法
本书相关章节中详细地描述了卷积神经网络、循环神经网络、生成对抗网络等。主要有如下实例演示:
* 采用卷积神经网络实现了雷达剖面图识别实例;
* 使用LSTM模型实现了一个聊天机器人的程序;
* 通过DCGAN网络来训练数据,从而产生人脸图像。
5.讨论了其他常用机器学习算法
本书中还讨论了在线学习和强化学习等常见的机器学习算法,例如:
* 演示在线学习Bandit算法与推荐系统;
* 使用Adaboost算法实现马疝病的检测。
6.提供了丰富而实用的数据挖掘源代码,并提供了操作视频和教学PPT
本书详尽地描述了各种重要算法,并提供了很多来源于真实项目案例的源代码。另外,还特别为本书制作了相关操作的教学视频和专业的教学PPT和操作视频,以方便读者学习。
* 卷积神经网络雷达图像识别项目;
* LSTM聊天机器人项目;
* HMM中文分词系统;
* DCGAN的人脸生成模型。
本书内容及知识体系
第1章主要对机器学习的基本概念进行了概述,介绍了5种Python开发工具,分别是IDLE、IPython、PyCharm、Jupyter Notebook、Anaconda和Spyder,对它们的特点进行了阐述,并选择Anaconda和Spyder作为本书的开发工具。
第2章主要介绍了Python开发环境、计算规则与变量,并详细介绍了Python常用的数据类型,分别是字符串、列表、元组和字典;还介绍了爬虫的基本原理,其中重点介绍了Scrapy框架和XPath工具,并且以票务网为例实现了网站票务信息的爬取。
第3章首先介绍了数据挖掘中的回归分析和线性回归的基本概念,然后介绍了如何使用一元线性回归求解房价预测的问题,最后介绍了使用多元线性回归进行商品价格的预测。本章通过环境检测数据异常分析与预测这个实验,对逻辑回归做出了具体的表现分析。
第4章是关于常用分类算法的讲解,主要对决策树和随机森林的基本概念和算法原理进行了详细阐述。本章使用决策树对鸢尾花数据集进行分类,并使用随机森林对葡萄酒数据集进行分类。通过学习本章内容,读者会对决策树算法和随机森林算法有更进一步的认识。
第5章主要介绍了基于统计学习理论的一种机器学习方法支持向量机,通过寻求结构风险最小来提高泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本较少的情况下也能获得良好的统计规律的目的,可利用SMO算法高效求解该问题。针对线性不可分问题,利用函数映射将原始样本空间映射到高维空间,使得样本线性可分,进而通过SMO算法求解拉普拉斯对偶问题。
第6章介绍了隐马尔可夫模型要解决的三个基本问题,以及解决这三个基本问题的方法,带领读者深入学习解码问题,并掌握解决解码的Viterbi算法,运用Viterbi算法思想精髓将全局最佳解的计算过程分解为阶段最佳解的计算,实现对语料的初步分词工作。此外,本章还介绍了HMM模型用于中文分词的方法。
第7章介绍了人工神经网络(Artificial Neural Network,ANN)的基本概念、特点、组成部分和前向传播等内容;阐述了单层神经网络、双层神经网络及多层神经网络的概念和原理;使用TensorFlow实现BP神经网络,进一步强化对BP神经网络的理解和使用。
第8章主要介绍了卷积神经网络的原理及其在图像识别领域中的应用。本章带领读者掌握卷积神经网络的各层,包括输入层、卷积层、池化层、全连接层和输出层;利用卷积神经网络进行雷达图像识别,实现了对雷暴大风灾害性天气的识别,并以地面自动站出现7级大风作为出现灾害性雷暴大风天气的判据,从而建立一套集雷暴大风实时识别、落区预报及落区检验于一体的综合系统。
第9章从自然语言处理的基础知识引入了循环神经网络,并详细阐述其原理及强大之处,最后使用它来实现聊天机器人。循环神经网络常用于处理序列数据,例如一段文字或声音、购物或观影的顺序,甚至可以是图片中的一行或一列像素。
第10章介绍了聚类与集成算法的相关知识。K-Means聚类是一种自下而上的聚类方法,其优点是简单、速度快;Adaboost算法是Boosting方法中最流行的一种算法。集成算法便是将多个弱学习模型通过一定的组合方式,形成一个强学习模型,以达到提高学习正确率的目的。
第11章介绍了贝叶斯分类器分类方法,在一个真实数据集上执行了朴素贝叶斯分类器的训练预测,取得了理想的效果;在围绕实时大数据流分析这一需求展开的研究中,对在线学习Bandit算法的概念进行了阐述,并用Python进行了实验分析;还对生成对抗网络(GAN)进行了讲解,同时也介绍了DCGAN网络模型,并且使用DCGAN网络进行了人脸生成实验。
本书配套资源获取方式
本书涉及的源代码文件、教学视频、教学PPT视频和Demo需要读者自行下载。请登录华章公司的网站www.hzbook.com,在该网站上搜索到本书页面,然后单击资料下载按钮即可在页面上找到配书资源下载链接。
本书读者对象
* Python程序员;
* 对数据挖掘感兴趣的人员;
* 对机器学习和深度学习感兴趣的人员;
* 想转行到人工智能领域的技术人员;
* 想从其他编程语言转Python开发的人员;
* 喜欢编程的自学人员;
* 高校计算机等专业的学生;
* 专业培训机构的学员。
本书阅读建议
* 没有Python开发基础的读者,建议从第1章顺次阅读并演练每一个实例。
* 有一定Python数据挖掘基础的读者,可以根据实际情况有重点地选择阅读各个模块和项目案例。对于每一个模块和项目案例,先思考一下实现的思路,然后再亲自动手实现,这样阅读效果更佳。
* 有基础的读者可以先阅读书中的模块和Demo,再结合配套源代码理解并调试,这样更加容易理解,而且也会理解得更加深刻。
本书作者
本书由方巍主笔编写。其他参与编写和程序调试工作的人员还有王秀芬、丁叶文和张飞鸿。本书能得以顺利出版,要感谢南京信息工程大学计算机与软件学院2017级的全体研究人员,还要感谢在写作和出版过程中给予笔者大量帮助的各位编辑!
由于笔者水平所限,加之写作时间有限,书中可能还存在一些疏漏和不足之处,敬请各位读者批评指正。联系邮箱:hzbook2017@163.com。
最后祝大家读书快乐!
编著者
|
|