新書推薦:
《
建安:官渡大决战(196—200)
》
售價:NT$
245.0
《
权力的图像——近代的中国海图与交流
》
售價:NT$
840.0
《
中亚民族史
》
售價:NT$
840.0
《
人工智能与智能制造:概念与方法 [美]马苏德·索鲁什 [美]理查德·D.布拉茨
》
售價:NT$
640.0
《
中平:东汉王朝大崩溃(184—189)
》
售價:NT$
245.0
《
基于鲲鹏的分布式图分析算法实战
》
售價:NT$
495.0
《
中国历史研究入门(全二册)
》
售價:NT$
1290.0
《
夺回大脑 如何靠自己走出强迫
》
售價:NT$
299.0
|
編輯推薦: |
本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。书中讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。
在本书第1版的基础上,作者对第2版进行了大量更新和扩展,纳入*近的开源技术,包括scikit-learn、Keras和TensorFlow,提供了使用Python构建高效的机器学习与深度学习应用的必要知识与技术。
通过阅读本书,你将学到:
· 探索并理解数据科学、机器学习与深度学习的主要框架
· 通过机器学习模型与神经网络对你的数据提出新的疑问
· 在机器学习中使用*近Python开源库的强大功能
· 掌握如何使用TensorFlow库来实现深度神经网络
· 在可访问的Web应用中嵌入你的机器学习模型
· 使用回归分析预测连续目标的结果
· 使用聚类发现数据中的隐藏模式与结构
· 使用深度学习技术分析图片
· 使用情感分析深入研究文本与社交媒体数据
|
內容簡介: |
机器学习与预测分析正在改变企业和其他组织的运作方式,本书将带领读者进入预测分析的世界。全书共16章,除了简要介绍机器学习及Python在机器学习中的应用,还系统讲述了数据分类、数据预处理、模型优化、集成学习、回归、聚类、神经网络、深度学习等内容。本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。本书讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。本书可作为学习数据科学的初学者及想进一步拓展数据科学领域认识的读者的参考书。同样,本书也适合计算机等相关专业的本科生、研究生阅读。
|
關於作者: |
塞巴斯蒂安·拉施卡(Sebastian Raschka)
密歇根州立大学博士,他在计算生物学领域提出了几种新的计算方法,还被科技博客Analytics Vidhya评为GitHub上*具影响力的数据科学家。他在Python编程方面积累了丰富经验,曾为如何实际应用数据科学、机器学习和深度学习做过数次讲座,包括在SciPy(重要的Python科学计算会议)上做的机器学习教程。正是因为Sebastian在数据科学、机器学习以及Python等领域拥有丰富的演讲和写作经验,他才有动力完成本书的撰写,以帮助那些不具备机器学习背景的人设计出有数据驱动的解决方案。他因其工作和贡献获得了2016-2017学年系杰出研究生奖,以及《ACM 计算评论》 2016年度*佳奖。
瓦希德·米尔贾利利(Vahid Mirjalili)
塞巴斯蒂安·拉施卡(Sebastian Raschka)
密歇根州立大学博士,他在计算生物学领域提出了几种新的计算方法,还被科技博客Analytics Vidhya评为GitHub上*具影响力的数据科学家。他在Python编程方面积累了丰富经验,曾为如何实际应用数据科学、机器学习和深度学习做过数次讲座,包括在SciPy(重要的Python科学计算会议)上做的机器学习教程。正是因为Sebastian在数据科学、机器学习以及Python等领域拥有丰富的演讲和写作经验,他才有动力完成本书的撰写,以帮助那些不具备机器学习背景的人设计出有数据驱动的解决方案。他因其工作和贡献获得了2016-2017学年系杰出研究生奖,以及《ACM 计算评论》 2016年度*佳奖。
瓦希德·米尔贾利利(Vahid Mirjalili)
密歇根州立大学计算机视觉与机器学习研究员,致力于把机器学习应用到各种计算机视觉研究项目。他在学术和研究生涯中积累了丰富的Python编程经验,其主要研究兴趣为深度学习和计算机视觉应用。
|
目錄:
|
译者序
关于作者
关于审校人员
前言
第1章 赋予计算机从数据中学习的能力1
1.1 构建把数据转换为知识的智能机器1
1.2 三种不同类型的机器学习1
1.2.1 用有监督学习预测未来2
1.2.2 用强化学习解决交互问题3
1.2.3 用无监督学习发现隐藏结构4
1.3 基本术语与符号4
1.4 构建机器学习系统的路线图6
1.4.1 预处理—整理数据6
1.4.2 训练和选择预测模型7
1.4.3 评估模型和预测新样本数据7
1.5 用Python进行机器学习7
1.5.1 从Python包索引安装Python和其他包8
1.5.2 采用Anaconda Python和软件包管理器8
1.5.3 科学计算、数据科学和机器学习软件包8
1.6 小结9
第2章 训练简单的机器学习分类算法10
2.1 人工神经元—机器学习早期历史一瞥10
2.1.1 人工神经元的正式定义11
2.1.2 感知器学习规则12
2.2 在Python中实现感知器学习算法14
2.2.1 面向对象的感知器API14
2.2.2 在鸢尾花数据集上训练感知器模型16
2.3 自适应神经元和学习收敛20
2.3.1 梯度下降为最小代价函数21
2.3.2 用Python实现Adaline22
2.3.3 通过调整特征大小改善梯度下降25
2.3.4 大规模机器学习与随机梯度下降27
2.4 小结30
第3章 scikit-learn机器学习分类器一览32
3.1 选择分类算法32
3.2 了解scikit-learn软件库的第一步—训练感知器32
3.3 基于逻辑回归的分类概率建模37
3.3.1 逻辑回归的直觉与条件概率37
3.3.2 学习逻辑代价函数的权重39
3.3.3 把转换的Adaline用于逻辑回归算法41
3.3.4 用scikit-learn训练逻辑回归模型44
3.3.5 通过正则化解决过拟合问题45
3.4 支持向量机的最大余量分类47
3.4.1 最大边际的直觉48
3.4.2 用松弛变量处理非线性可分48
3.4.3 其他的scikit-learn 实现50
3.5 用核支持向量机求解非线性问题50
3.5.1 处理线性不可分数据的核方法50
3.5.2 利用核技巧,发现高维空间的分离超平面52
3.6 决策树学习55
3.6.1 最大限度地获取信息—获得最大收益55
3.6.2 构建决策树58
3.6.3 通过随机森林组合多个决策树61
3.7 K-近邻—一种懒惰的学习算法63
3.8 小结65
第4章 构建良好的训练集——预处理66
4.1 处理缺失数据66
4.1.1 识别数据中的缺失数值66
4.1.2 删除缺失的数据67
4.1.3 填补缺失的数据68
4.1.4 了解scikit-learn评估器API68
4.2 处理分类数据69
4.2.1 名词特征和序数特征69
4.2.2 映射序数特征70
4.2.3 分类标签编码70
4.2.4 为名词特征做热编码71
4.3 分裂数据集为独立的训练集和测试集73
4.4 把特征保持在同一尺度上75
4.5 选择有意义的特征76
4.5.1 L1和L2正则化对模型复杂度的惩罚76
4.5.2 L2正则化的几何解释77
4.5.3 L1正则化的稀疏解决方案78
4.5.4 为序数特征选择算法80
4.6 用随机森林评估特征的重要性84
4.7 小结87
第5章 通过降维压缩数据88
5.1 用主成分分析实现无监督降维88
5.1.1 主成分分析的主要步骤88
5.1.2 逐步提取主成分89
5.1.3 总方差和解释方差91
5.1.4 特征变换92
5.1.5 scikit-learn的主成分分析93
5.2 基于线性判别分析的有监督数据压缩96
5.2.1 主成分分析与线性判别分析96
5.2.2 线性判别分析的内部逻辑97
5.2.3 计算散布矩阵97
5.2.4 在新的特征子空间选择线性判别式99
5.2.5 将样本投影到新的特征空间101
5.2.6 用scikit-learn实现的LDA101
5.3 非线性映射的核主成分分析102
5.3.1 核函数与核技巧103
5.3.2 用Python实现核主成分分析106
5.3.3 投影新的数据点111
5.3.4 scikit-learn的核主成分分析113
5.4 小结114
第6章 模型评估和超参数调优的最佳实践115
6.1 用管道方法简化工作流115
6.1.1 加载威斯康星乳腺癌数据集115
6.1.2 集成管道中的转换器和评估器116
6.2 使用k折交叉验证评估模型的性能118
6.2.1 抵抗方法118
6.2.2 k折交叉验证119
6.3 用学习和验证曲线调试算法122
6.3.1 用学习曲线诊断偏差和方差问题122
6.3.2 用验证曲线解决过拟合和欠拟合问题124
6.4 通过网格搜索为机器学习模型调优126
6.4.1 通过网格搜索为超参数调优126
6.4.2 以嵌套式交叉验证来选择算法127
6.5 比较不同的性能评估指标128
6.5.1 含混矩阵分析128
6.5.2 优化分类模型的准确度和召回率129
6.5.3 绘制受试者操作特性图130
6.5.4 多元分类评分指标133
6.6 处理类的不平衡问题133
6.7 小结135
第7章 综合不同模型的组合学习136
7.1 集成学习136
7.2 采用多数票机制的集成分类器139
7.2.1 实现基于多数票的简单分类器139
7.2.2 用多数票原则进行预测143
7.2.3 评估和优化集成分类器145
7.3 套袋—基于导引样本构建分类器集成149
7.3.1 套袋简介150
7.3.2 应用套袋技术对葡萄酒数据集中的样本分类151
7.4 通过自适应增强来利用弱学习者153
7.4.1 增强是如何实现的154
7.4.2 用scikit-learn实现AdaBoost156
7.5 小结158
第8章 应用机器学习于情感分析159
8.1 为文本处理预备好IMDb电影评论数据159
8.1.1 获取电影评论数据集159
8.1.2 把电影评论数据预处理成更方便格式的数据160
8.2 词袋模型介绍161
8.2.1 把词转换成特征向量161
8.2.2 通过词频逆反文档频率评估单词相关性162
8.2.3 清洗文本数据164
8.2.4 把文档处理为令牌165
8.3 训练文档分类的逻辑回归模型166
8.4 处理更大的数据集—在线算法和核心学习168
8.5 具有潜在狄氏分配的主题建模171
8.5.1 使用LDA分解文本文档171
8.5.2 LDA与scikit-learn172
8.6 小结174
第9章 将机器学习模型嵌入网络应用175
9.1 序列化拟合scikit-learn评估器175
9.2 搭建SQLite数据库存储数据177
9.3 用Flask开发网络应用179
9.3.1 第一个Flask网络应用179
9.3.2 表单验证与渲染181
9.4 将电影评论分类器转换为网络应用184
9.4.1 文件与文件夹—研究目录树185
9.4.2 实现主应用app.py186
9.4.3 建立评论表单188
9.4.4 创建一个结果页面的模板189
9.5 在面向公众的服务器上部署网络应用190
9.5.1 创建PythonAnywhere账户190
9.5.2 上传电影分类应用191
9.5.3 更新电影分类器191
9.6 小结193
第10章 用回归分析预测连续目标变量194
10.1 线性回归简介194
10.1.1 简单线性回归194
10.1.2 多元线性回归195
10.2 探索住房数据集196
10.2.1 加载住房数据196
10.2.2 可视化数据集的重要特点197
10.2.3 用关联矩阵查看关系198
10.3 普通最小二乘线性回归模型的实现200
10.3.1 用梯度下降方法求解回归参数200
10.3.2 通过scikit-learn估计回归模型的系数203
10.4 利用RANSAC拟合稳健的回归模型205
10.5 评估线性回归模型的性能206
10.6 用正则化方法进行回归209
10.7 将线性回归模型转换为曲线—多项式回归210
10.7.1 用scikit-learn增加多项式的项210
10.7.2 为住房数据集中的非线性关系建模211
10.8 用随机森林处理非线性关系214
10.8.1 决策树回归214
10.8.2 随机森林回归215
10.9 小结217
第11章 用聚类分析处理无标签数据218
11.1 用k-均值进行相似性分组218
11.1.1 scikit-learn的k-均值聚类218
11.1.2 k-均值++—更聪明地设置初始聚类中心的方法221
11.1.3 硬聚类与软聚类222
11.1.4 用肘法求解最佳聚类数223
11.1.5 通过轮廓图量化聚类质量224
11.2 把集群组织成有层次的树228
11.2.1 以自下而上的方式聚类228
11.2.2 在距离矩阵上进行层次聚类229
11.2.3 热度图附加树状图232
11.2.4 scikit-learn凝聚聚类方法233
11.3 通过DBSCAN定位高密度区域233
11.4 小结237
第12章 从零开始实现多层人工神经网络238
12.1 用人工神经网络为复杂函数建模238
12.1.1 单层神经网络扼要重述239
12.1.2 介绍多层神经网络体系240
12.1.3 利用正向传播激活神经网络242
12.2 识别手写数字243
12.2.1 获取MNIST数据集243
12.2.2 实现一个多层感知器247
12.3 训练人工神经网络256
12.3.1 逻辑成本函数的计算256
12.3.2 开发反向传播的直觉257
12.3.3 通过反向传播训练神经网络258
12.4 关于神经网络的收敛性260
12.5 关于神经网络实现的最后几句话261
12.6 小结261
第13章 用TensorFlow并行训练神经网络262
13.1 TensorFlow与模型训练的性能262
13.1.1 什么是TensorFlow263
13.1.2 如何学习TensorFlow264
13.1.3 学习TensorFlow的第一步264
13.1.4 使用阵列结构266
13.1.5 用TensorFlow的底层API开发简单的模型267
13.2 用TensorFlow的高级 API高效率地训练神经网络270
13.2.1 用TensorFlow的Layers API构建多层神经网络270
13.2.2 用Keras研发多层神经网络274
13.3 多层网络激活函数的选择277
13.3.1 逻辑函数回顾278
13.3.2 在多元分类中调用softmax函数评估类别概率279
13.3.3 利用双曲正切拓宽输出范围280
13.3.4 修正线性单元激活函数281
13.4 小结282
第14章 深入探讨TensorFlow的工作原理283
14.1 TensorFlow的主要功能283
14.2 TensorFlow 的排序与张量284
14.3 了解TensorFlow的计算图285
14.4 TensorFlow中的占位符287
14.4.1 定义占位符287
14.4.2 为占位符提供数据287
14.4.3 用batchsizes 为数据阵列定义占位符288
14.5 TensorFlow中的变量289
14.5.1 定义变量289
14.5.2 初始化变量290
14.5.3 变量范围291
14.5.4 变量复用292
14.6 建立回归模型295
14.7 在TensorFlow计算图中用张量名执行对象297
14.8 在TensorFlow中存储和恢复模型298
14.9
|
內容試閱:
|
通过新闻媒体的报道,你可能已经了解到机器学习已经成为当代最激动人心的技术。像谷歌、Facebook、苹果、Amazon和IBM这样的大公司基于各自的考虑,已经在机器学习的研究和应用方面投入了巨资。机器学习似乎已经成为流行词,但这绝不是昙花一现。这个激动人心的领域开启了许多新的可能性,已经在日常生活中不可或缺。智能手机的语音助手、为客户推荐合适的产品、防止信用卡欺诈、过滤垃圾邮件、检测和诊断疾病等都是明证。
如果有志于从事深度学习,想更好地解决问题或开展深度学习方面的研究,那么这本书就是为你而写。然而,深度学习背后的理论概念可能艰深难懂。但近几年已经出版了许多机器学习方面的著作,阅读它们有助于通过研发强大的机器学习算法走上机器学习之路。
熟悉机器学习的示例代码及应用是深入该领域的捷径。通过具体的示例学以致用有助于阐明宽泛的概念。请记住,能力越大责任越大!除了用Python和基于Python的机器学习软件库掌握实践经验外,本书还介绍了机器学习算法背后的数学概念,这对于成功地使用机器学习必不可少。这使得本书有别于其他的纯实战书籍。本书将对机器学习概念的必要细节进行讨论,同时对机器学习算法的工作原理、使用方法以及最为重要的如何避免掉入最常见的陷阱,提供直观且翔实的解释。
如果在谷歌专业网站以“机器学习”作为关键词进行搜索,结果会找到180万个出版物。当然我们无法对过去60年来所出现的各种不同算法和应用逐一进行考证。然而,本书将开始一个激动人心的旅程,涵盖所有重要的主题和概念,让你在该领域捷足先登。如果你发现所提供的知识还不能解渴,没关系,本书还引用了许多其他有用的资源,供你追踪该领域的精要突破。
如果已经详细研究了机器学习理论,那么本书可以教你如何把知识付诸实践。如果以前用过机器学习技术,想更深入地了解其工作原理,那么本书就是为你而备。如果机器学习对你是全新的领域,那么不必担心,你更有理由为此感到兴奋。我保证机器学习将会改变你解决问题的思路,并让你看到如何通过释放数据的力量来解决问题。
在深入机器学习领域之前,先回答一个最重要的问题:“为什么要用Python?”答案很简单:Python功能强大且易于取得。Python已成为数据科学最常用的编程语言,因为它可以让我们忘记编程的冗长乏味,同时提供了可以把想法落地、概念直接付诸行动的环境。
我们认为,对机器学习的研究使我们成为更好的科学家、思想家和问题解决者。本书将与你分享这些知识。知识是要靠学习获得的。学习的关键在于热情,而要真正掌握技能只能通过实践。前面的路或许崎岖不平,有些话题可能颇具挑战性,但我们希望你能抓住这个机会,更多地考虑本书所带来的回报。请记住,我们共同踏上这个旅程,本书将为你的军火库添加许多强大的武器,让你以数据驱动的方式来解决最棘手的问题。
本书内容
第1章介绍了机器学习在解决不同问题时的主要应用领域。另外,还讨论了构建典型的机器学习模型所需要的基本步骤,从而形成一条导引后续各章节的管道。
第2章追溯了机器学习的起源,介绍了二元感知器、分类器和自适应线性神经元。对模式分类的基本原理作了简单介绍,同时关注算法优化和机器学习的交互。
第3章描述了基本的机器学习分类算法,并用最流行和全面的开源机器学习软件库scikit-learn提供了实际案例。
第4章讨论了如何解决未处理数据集中最常见的问题,如数据缺失。也讨论了用来识别数据集中信息量最大特性的几种方法,并教你如何将不同类型的变量作为机器学习算法的适当输入。
第5章描述了减少数据集中的特征数,同时保留大部分有用和识别性信息的基本技术。讨论了基于主成分分析的标准降维方法,并将其与有监督学习和非线性变换技术进行了比较。
第6章讨论了在预测模型的性能评价中该做和不该做什么。此外,还讨论了模型性能评估的不同度量以及优化机器学习算法的技术。
第7章介绍了有效结合多种学习算法的不同概念,讲解了如何建立专家小组来克服个别学习者的弱点,从而产生更准确更可靠的预测。
第8章讨论了将文本数据转换为有意义的机器学习算法,以根据文本内容预测人们意见的基本步骤。
第9章继续使用前一章中的预测模型,并介绍了使用嵌入式机器学习模型开发网络应用的基本步骤。
第10章讨论根据目标和响应变量之间的线性关系建模,从而进行连续预测的基本技术。在介绍了不同的线性模型之后,还讨论了多项式回归和基于树的建模方法。
第11章将焦点转移到机器学习的其他子领域,即无监督学习。 用来自于三个基本聚类家族的算法来寻找一组拥有一定程度相似性的对象。
第12章扩展了基于梯度的优化概念,该概念在第2章中介绍过,用来在Python中构建基于常见的强大的多层神经网络的反向传播算法。
第13章基于前一章的知识,为更有效地训练神经网络提供实用指南。 该章的重点是TensorFlow,这是一个开源的Python 软件库,允许我们充分利用现代的多核GPU。
第14章更详细地介绍了TensorFlow的计算图和会话的核心概念。 另外,该章还介绍了如何保存会话以及可视化神经网络图等主题,这对本书其他章节的学习会非常有
|
|