当前: 首页 - 图书专区 - Python机器学习
Python机器学习


  在线购买
[美] 塞巴斯蒂安?拉施卡(Sebastian Raschka)著
978-7-111-55880-4
79.00
271
2017年03月13日
高明 徐莹 陶虎成 译
计算机 > 人工智能
Packt Publishing Ltd.
231
简体中文
16
Python Machine Learning
店面
数据科学与工程技术丛书








本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。书中讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。不管你是学习数据科学的初学者,还是想进一步拓展对数据科学领域的认知,本书都是一个重要且不可错过的资源,它能帮助你了解如何使用Python解决数据中的关键问题。
使用Python在深度学习、数据转换与数据可视化领域功能强大的开源库
学习关于提高机器学习系统与算法效率以及优化方面的有效策略和最佳实践
提出(并解决)数据方面的棘手问题,在大规模数据集基础上构建稳定的统计模型

通过阅读本书,你可以学到:
探索如何使用各种机器学习模型从数据中得到不同问题的答案
学习如何使用Pylearn2和Theano构造人工神经网络
了解如何使用简洁且优雅的Python代码使算法发挥最优性能
学习如何将机器学习模型嵌入到Web应用中以使模型更为广泛地得以应用
使用回归模型预测连续目标值的输入结果
使用聚类分析发现数据中潜在的模式与结果
通过有效的预处理技术更好地组织数据
借助情感分析更深入地探究文本及社交媒体数据

作者简介
塞巴斯蒂安·拉施卡
(Sebastian Raschka)
密歇根州立大学博士,他在计算生物学领域提出了几种新的计算方法,还被科技博客Analytics Vidhya评为GitHub上最具影响力的数据科学家。他有使用Python进行编程的丰富经验,同时还多次参加数据科学应用与机器学习领域的研讨会。正是因为Sebastian在数据科学、机器学习以及Python等领域拥有丰富的演讲和写作经验,他才有动力完成本书的撰写,以帮助那些不具备机器学习背景的人设计出有数据驱动的解决方案。

译者简介
高明
同济大学博士,中科院计算技术研究所博士后。现致力于机器学习技术在企业的推广与应用,以及机器学习、大数据技术的培训及内训工作。

机器学习与预测分析正在改变企业和其他组织的运作方式。在充满挑战性的现代市场中,能够理解复杂数据中的趋势和模式是成功的关键,也是获得快速增长的关键战略之一。Python可以帮助我们获得洞察数据的关键技巧—从语言角度看它所具备的独特功能使得你可以构建复杂的算法和统计模型,从而揭示新的观点以及解决成功路上面临的关键问题。
本书将带领你进入预测分析的世界,并展示为什么Python会成为数据科学领域首屈一指的计算机语言。如果你想更好地从数据中得到问题的答案,或者想要提升并扩展现有机器学习系统的性能,那么这本基于数据科学实践的书籍非常值得一读。它的内容涵盖了众多高效Python库,包括scikit-learn、Theano、Pylearn2等,并给出了从情感分析到神经网络的一些技巧及指导性内容,这些内容能使你快速解决你和你的团队面临的一些重要问题。
无需多言,大家都已知道,机器学习已发展成为当前最能激发人们兴趣的技术之一。出于各种考虑,谷歌、脸书、苹果、亚马逊、IBM等众多大公司都投入了巨资用于机器学习理论和应用的研究。机器学习看起来已经成为当前的一个流行语,但这绝不是炒作。这一令人兴奋的技术为我们带来了全新的可能,并已成为我们日常生活中不可或缺的一部分。例如,与智能手机的语音助手对话、向客户推荐合适的商品、防止信用卡诈骗、过滤垃圾邮件,以及检测与诊断疾病等,这样的例子不胜枚举。
如果你想参与机器学习的实践,或是成为解决问题的能手,抑或是考虑从事机器学习研究方面的工作,那么本书正适合你。不过,对初学者来说,机器学习的理论知识是比较有难度的。幸运的是,近年来出版了许多非常实用的书籍,通过实现一些功能强大的算法来帮助读者步入机器学习的殿堂。在我看来,代码示例起到了重要的作用,通过示例代码的实际操作可以对概念进行更好的阐释。不过请记住:能力强大了,责任就接踵而至!机器学习背后的概念美妙且重要,就如同黑盒一样令人无法琢磨。因此,我旨在为读者提供一本不一样的书籍:讨论与机器学习概念相关的必要细节,并以直观且详实的方式来说明机器学习算法是如何工作的,以及如何在实际中应用它们。尤为重要的是,如何避开常见的误区。
如果在“谷歌学术”中搜索“机器学习”一词,会返回一个大的文献数:1 800 000。当然,我们无法讨论过去60年中所提出的算法和应用的全部细节。不过,本书涵盖了机器学习领域最核心的主题和概念,可以让大家率先踏入这一领域,从而开启一段令人兴奋的旅程。如果本书内容无法满足你对此领域的求知欲,你可以利用作者所列出的丰富资源,追寻这一领域最核心的突破。
如果你已经详细地研究过机器学习理论,本书将教会你如何把所学知识付诸实践。如果你曾经使用过机器学习技术,并且希望能更深入地了解机器学习算法是如何工作的,本书也适合你!如果你刚接触机器学习领域,也不用担心,反而更应该感到高兴。我保证,机器学习将改变你解决问题的思考方式,并且让你见识到如何通过发挥数据的力量来解决问题。
在深度进入机器学习领域之前,先回答一个重要的问题:为什么使用Python?答案很简单:它功能强大且使用方便。Python已经成为数据科学领域最为流行的编程语言,它不仅可以让我们忽略掉编程中那些繁杂的部分,还可以提供一个交互式环境,让我们能够快速记录自己的想法,并且将概念直接付诸实现。
回顾我的个人经历,实事求是地说,对机器学习的研究让我成为一名优秀的科学工作者,让我变得善于思考,并且成长为问题解决能手。在本书中,我将与读者分享这些知识。知识经由学习获得,而学习热情是其中的关键,真正掌握某项技能只有通过实践才能够实现。学习的历程不可能一帆风顺,某些主题相对来说难度会比较大,但我希望大家能把握住这个机会,并享受学习的回报。请记住,在机器学习的旅途中,我们共同前行,通过此书,你将学会许多新的技能,借助于它们,我们甚至能够以数据驱动的方式解决那些最棘手的问题。
本书内容
第1章介绍了机器学习算法的划分。此外,还讨论了构建一个典型的机器学习模型的必要步骤,对此过程的理解有助于后续章节的学习。
第2章追溯了机器学习的起源,介绍了二元感知分类器和自适应线性神经元。该章还介绍了模式分类的基础,并着重介绍优化算法和机器学习的相互作用。
第3章介绍了机器学习中分类算法的基本内容,并使用一个流行且包含算法种类相对齐全的开源机器学习算法库scikit-learn,来完成几个机器学习分类算法实例。
第4章讨论了如何处理原始数据中常见的问题,诸如数据缺失等。该章还讨论了几种如何从数据集中找出蕴含信息最丰富特征的方法,并讲解了如何处理不同数据类型的变量,以使其与机器学习算法的输入要求相匹配。
第5章介绍了如何通过降维来压缩数据的特征数量,以便将数据集压缩到一个容量相对较小的子集上,同时还能保持原数据中有用的区分信息。该章主要讨论了通过主成分分析来降维的标准方法,并将其与监督以及线性变换技术进行了比较。
第6章讨论了对预测模型进行评估时应该做什么和不应该做什么。此外,还探讨了衡量模型的不同标准以及机器学习算法调优的相关技巧。
第7章介绍了有效地组合多个机器学习算法的不同方法,并讲授了如何通过构造继承模型来消除个别分类器的弱点,从而最终得到更加准确和可信的预测结果。
第8章讨论了将文本数据转化为有意义的表达方式的方法,根据人们的留言借助机器学习算法来预测其观点。
第9章继续对预测模型进行了探讨,并将引导你完成将机器学习模型嵌入到Web应用中的核心步骤。
第10章讨论了当自变量和因变量都为连续值时,建立线性模型来完成预测的基本方法。在介绍了不同的线性模型后,又讨论了多项式回归和基于树的方法—随机森林。
第11章将关注的焦点转移到了另一类型的机器学习方法:无监督学习。我们使用了三种基本的聚类算法将具备一定相似度的对象划分为几个组别。
第12章扩展了第2章中提及的梯度优化的概念,并基于流行的反向传播算法来构建强大的多层神经网络。
在上一章内容的基础上,第13章提供了更加有效地训练神经网络的实用指南。该章关注的重点是Theano,它是一个开源的Python库,借此,我们可以充分利用现代GPU上众多的计算内核。
阅读须知
执行本书中的示例代码需要Python 3.4.3或者更高版本,所需操作系统为Mac OS X、Linux或者微软的Windows。书中的代码需要频繁使用Python科学计算的核心库,包括SciPy、NumPy、scikit-learn、matplotlib和pandas。
第1章将介绍如何设置Python环境和上述核心库,同时还会给出一些有用的技巧。在后续章节中,还会根据需要安装其他库:用于自然语言处理的NLTK库(第8章),Flask Web框架(第9章),统计数据可视化库seaborn(第10章),以及Theano库(第13章),它可用于高效训练图像处理的神经网络单元。
译者序
推荐序
作者简介
审校者简介
前言
第1章 赋予计算机学习数据的能力1
1.1构建智能机器将数据转化为知识1
1.2 机器学习的三种不同方法1
1.2.1 通过监督学习对未来事件进行预测2
1.2.2 通过强化学习解决交互式问题4
1.2.3 通过无监督学习发现数据本身潜在的结构4
1.2.4 基本术语及符号介绍5
1.3 构建机器学习系统的蓝图6
1.3.1 数据预处理6
1.3.2 选择预测模型类型并进行训练7
1.3.3 模型验证与使用未知数据进行预测8
1.4 Python在机器学习中的应用8
本章小结9
第2章 机器学习分类算法10
2.1 人造神经元—早期机器学习概览10
2.2 使用Python实现感知器学习算法13
2.3 自适应线性神经元及其学习的收敛性19
2.3.1 通过梯度下降最小化代价函数20
2.3.2 使用Python实现自适应线性神经元21
2.3.3 大规模机器学习与随机梯度下降25
本章小结29
第3章 使用scikit-learn实现机器学习分类算法30
3.1 分类算法的选择30
3.2 初涉scikit-learn的使用30
使用scikit-learn训练感知器31
3.3 逻辑斯谛回归中的类别概率34
3.3.1 初识逻辑斯谛回归与条件概率34
3.3.2 通过逻辑斯谛回归模型的代价函数获得权重36
3.3.3 使用scikit-learn训练逻辑斯谛回归模型37
3.3.4 通过正则化解决过拟合问题39
3.4 使用支持向量机最大化分类间隔41
3.4.1 对分类间隔最大化的直观认识41
3.4.2 使用松弛变量解决非线性可分问题42
3.4.3 使用scikit-learn实现SVM44
3.5 使用核SVM解决非线性问题44
3.6 决策树48
3.6.1 最大化信息增益—获知尽可能准确的结果49
3.6.2 构建决策树52
3.6.3 通过随机森林将弱分类器集成为强分类器53
3.7 惰性学习算法—k-近邻算法54
本章小结57
第4章 数据预处理—构建好的训练数据集58
4.1 缺失数据的处理58
4.1.1 将存在缺失值的特征或样本删除59
4.1.2 缺失数据填充60
4.1.3 理解scikit-learn预估器的API60
4.2 处理类别数据61
4.2.1 有序特征的映射61
4.2.2 类标的编码62
4.2.3 标称特征上的独热编码63
4.3 将数据集划分为训练数据集和测试数据集64
4.4 将特征的值缩放到相同的区间65
4.5 选择有意义的特征66
4.5.1 使用L1正则化满足数据稀疏化67
4.5.2 序列特征选择算法70
4.6 通过随机森林判定特征的重要性74
本章小结76
第5章 通过降维压缩数据77
5.1 无监督数据降维技术—主成分分析77
5.1.1 总体方差与贡献方差78
5.1.2 特征转换80
5.1.3 使用scikit-learn进行主成分分析82
5.2 通过线性判别分析压缩无监督数据84
5.2.1 计算散布矩阵85
5.2.2 在新特征子空间上选取线性判别算法87
5.2.3 将样本映射到新的特征空间89
5.2.4 使用scikit-learn进行LDA分析90
5.3 使用核主成分分析进行非线性映射91
5.3.1 核函数与核技巧91
5.3.2 使用Python实现核主成分分析94
5.3.3 映射新的数据点99
5.3.4 scikit-learn中的核主成分分析102
本章小结103
第6章 模型评估与参数调优实战104
6.1 基于流水线的工作流104
6.1.1 加载威斯康星乳腺癌数据集104
6.1.2 在流水线中集成数据转换及评估操作105
6.2 使用k折交叉验证评估模型性能106
6.2.1 holdout方法106
6.2.2 k折交叉验证107
6.3 通过学习及验证曲线来调试算法110
6.3.1 使用学习曲线判定偏差和方差问题110
6.3.2 通过验证曲线来判定过拟合与欠拟合112
6.4 使用网格搜索调优机器学习模型113
6.4.1 使用网络搜索调优超参114
6.4.2 通过嵌套交叉验证选择算法115
6.5 了解不同的性能评价指标116
6.5.1 读取混淆矩阵116
6.5.2 优化分类模型的准确率和召回率117
6.5.3 绘制ROC曲线118
6.5.4 多类别分类的评价标准121
本章小结121
第7章 集成学习—组合不同的模型122
7.1 集成学习122
7.2 实现一个简单的多数投票分类器125
7.3 评估与调优集成分类器131
7.4 bagging —通过bootstrap样本构建集成分类器135
7.5 通过自适应boosting提高弱学习机的性能138
本章小结143
第8章 使用机器学习进行情感分析144
8.1 获取IMDb电影评论数据集144
8.2 词袋模型简介146
8.2.1 将单词转换为特征向量146
8.2.2 通过词频-逆文档频率计算单词关联度147
8.2.3 清洗文本数据148
8.2.4 标记文档149
8.3 训练用于文档分类的逻辑斯谛回归模型151
8.4 使用大数据—在线算法与外存学习152
本章小结155
第9章 在Web应用中嵌入机器学习模型156
9.1 序列化通过scikit-learn拟合的模型156
9.2 使用SQLite数据库存储数据158
9.3 使用Flask开发Web应用160
9.3.1 第一个Flask Web应用160
9.3.2 表单验证及渲染161
9.4 将电影分类器嵌入Web应用164
9.5 在公共服务器上部署Web应用169
本章小结172
第10章 使用回归分析预测连续型目标变量173
10.1 简单线性回归模型初探173
10.2 波士顿房屋数据集174
10.3 基于最小二乘法构建线性回归模型178
10.3.1 通过梯度下降计算回归参数178
10.3.2 使用scikit-learn估计回归模型的系数181
10.4 使用RANSAC拟合高鲁棒性回归模型182
10.5 线性回归模型性能的评估184
10.6 回归中的正则化方法185
10.7 线性回归模型的曲线化-多项式回归186
10.7.1 房屋数据集中的非线性关系建模188
10.7.2 使用随机森林处理非线性关系190
本章小结193
第11章 聚类分析——处理无类标数据194
11.1 使用k-means算法对相似对象进行分组194
11.1.1 k-means++196
11.1.2 硬聚类与软聚类198
11.1.3 使用肘方法确定簇的最佳数量199
11.1.4 通过轮廓图定量分析聚类质量200
11.2 层次聚类203
11.2.1 基于距离矩阵进行层次聚类204
11.2.2 树状图与热度图的关联207
11.2.3 通过scikit-learn进行凝聚聚类208
11.3 使用DBSCAN划分高密度区域209
本章小结212
第12章 使用人工神经网络识别图像213
12.1 使用人工神经网络对复杂函数建模213
12.1.1 单层神经网络回顾214
12.1.2 多层神经网络架构简介215
12.1.3 通过正向传播构造神经网络216
12.2 手写数字的识别218
12.2.1 获取MNIST数据集218
12.2.2 实现一个多层感知器222
12.3 人工神经网络的训练228
12.3.1 计算逻辑斯谛代价函数228
12.3.2 通过反向传播训练神经网络230
12.4 建立对反向传播的直观认识231
12.5 通过梯度检验调试神经网络232
12.6 神经网络的收敛性236
12.7 其他神经网络架构237
12.7.1 卷积神经网络237
12.7.2 循环神经网络238
12.8 关于神经网络的实现239
本章小结240
第13章 使用Theano并行训练神经网络241
13.1 使用Theano构建、编译并运行表达式241
13.1.1 什么是Theano242
13.1.2 初探Theano243
13.1.3 配置Theano244
13.1.4 使用数组结构245
13.1.5 整理思路—线性回归示例247
13.2 为前馈神经网络选择激励函数250
13.2.1 逻辑斯谛函数概述250
13.2.2 通过softmax函数评估多类别分类任务中的类别概率252
13.2.3 通过双曲正切函数增大输出范围252
13.3 使用Keras提高训练神经网络的效率254
本章小结258
机器学习是一门研究如何使用计算机模拟人类行为,以获取新的知识与技能的学科。它是人工智能的核心,同时也是处理大数据的关键技术之一。机器学习的主要目标是自动地从数据中发现价值的模式,亦即将原始信息自动转换为人们可以加以利用的知识。
随着科技的进步,特别是互联网技术的发展,使得我们在不知不觉中被卷入了大数据时代。传统的方法已经无法处理如此庞大的数据量,而机器学习技术正是解决此问题的良方。
不同于晦涩的学术书籍,本书是为程序员而作,因此没有过多枯燥的理论讲解,而是借助于Python语言及其机器学习库scikit-learn来帮助程序员快速理解算法的核心与本质,并能在生产环境轻松地加以应用。
本书对机器学习的各种算法进行了系统的讲解。第1章对机器学习以及Python在机器学习中的应用进行了简要的介绍,在后续章节分别讨论了数据分类(第2、3章)、数据预处理(第4、5章)、模型优化(第6章)、集成学习(第7章)、回归(第10章)、聚类(第11章),以及当前流行的神经网络及其深度学习(第12、13章)。每个章节基本上都是按照算法介绍、Python实现,以及使用scikit-learn来应用算法这样的模式进行讨论的,让读者既能掌握算法的本质,又能尽快将其应用到实际开发中去。
第8、9章介绍了机器学习与其他技术相结合的使用情况。第8章通过与自然语言处理方法相结合,以IMDb电影评论数据集作为信息来源,借助于文本处理技术,对用户的情感倾向进行了分析。第9章包含许多实用的主题,包括如何序列化训练得到的模型、使用SQLite存储数据等,并通过实例演示了如何通过Web来分享分类模型的使用。
翻译的过程本身也是一个学习提高的过程,我们已经尽量去保证译文的准确性,但错误仍旧在所难免,如有问题还恳请读者不吝指教。此外,在本书出版后,我们将与同济大学和深圳大学合作,分别在上海、深圳两地就本书的内容与读者进行多次交流与讲解活动,有兴趣的读者可以邮件联系:gaomingsz@vip.163.com。
在翻译本书的过程中得到了深圳市意行科技开发公司、上海市公安高等专科学校、深圳市六度人和科技有限公司等单位领导的支持,在此一并表示感谢。

高 明
gaomingsz@vip.163.com
计算机\人工智能
读者书评
发表评论



高级搜索
面向机器智能的TensorFlow实践
面向机器学习的自然语言标注
发展型机器人:由人类婴儿启发的机器人


版权所有© 2017  北京华章图文信息有限公司 京ICP备08102525号 京公网安备110102004606号
通信地址:北京市百万庄南街1号 邮编:100037
电话:(010)68318309, 88378998 传真:(010)68311602, 68995260
高校教师服务
华章教育微信
诚聘英才
诚聘英才