机器学习算法
作者 : [意]朱塞佩·博纳科尔索(Giuseppe Bonaccorso)著
译者 : 罗娜 等译
出版日期 : 2018-05-07
ISBN : 978-7-111-59513-7
定价 : 69.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 245
开本 : 16
原书名 : Machine Learning Algorithms
原出版社: Packt Publishing Ltd.
属性分类: 教材
包含CD : 无CD
绝版 :
图书特色

图书前言

本书是对机器学习领域的介绍。机器学习不仅对于IT专业人员和分析师,而且对于所有希望利用预测分析、分类、聚类和自然语言处理等技术的科研人员和工程师,都变得越来越重要。当然,本书不可能覆盖所有细节内容,而是只对有些主题进行了简单的描述,给用户更多机会在关注基本概念的基础上通过参考文献深入研究感兴趣的内容。对于本书中可能出现的任何不准确的表达或错误深表歉意,同时感谢所有Packt编辑为本书所付出的辛勤劳动。谨以此书献给我的父母,在他们的信任和鼓励下,我才得以对这个非凡的主题一直保持着巨大的热情。
本书涵盖的内容
第1章 对机器学习领域进行简单的介绍,解释了生成智能应用的重要方法的相关基本概念。
第2章 解释了关于最常见的机器学习问题的数学概念,包括可学习性的概念和信息论的一些内容。
第3章 介绍了数据集预处理、如何选择信息量最大的特征以及进行降维的重要技术。
第4章 描述了连续型变量的线性模型,重点介绍了线性回归算法,介绍了Ridge、Lasso和ElasticNet优化以及其他高级技术。
第5章 介绍了线性分类的概念,重点介绍了逻辑回归和随机梯度下降算法,以及几个重要的评估指标。
第6章 解释了贝叶斯概率理论,并描述了朴素贝叶斯分类器的结构。
第7章 引入了支持向量机算法,着重介绍了线性和非线性分类问题。
第8章 解释了层次决策过程的概念,并描述了决策树分类、Bootstrap和袋装树以及投票分类器的概念。
第9章 介绍了聚类的概念,描述了k均值算法和确定聚类最佳数量的多种方法,还介绍了DBSCAN和谱聚类等其他聚类算法。
第10章 继续第9章聚类的内容,介绍了凝聚聚类。
第11章 解释了推荐系统中最常用的算法:基于内容和基于用户的策略、协同过滤和交替最小二乘法。
第12章 解释了词袋的概念,并介绍了有效处理自然语言数据集所需的最重要技术。
第13章 介绍了主题建模的概念,并描述了最重要的算法,如潜在语义分析和潜在狄利克雷分配。同时,还涵盖了情感分析问题,解释了最常用的解决问题的方法。
第14章 介绍了深度学习领域的内容,解释了神经网络和计算图的概念,对TensorFlow和Keras框架的主要概念进行了简要的介绍并列举了几个实例。
第15章 介绍了如何定义一个完整的机器学习管道,重点介绍了每一步的特点和缺点。
阅读本书须知
阅读本书不需要特别的数学基础知识。但是,为充分理解所有的算法,需要有线性代数、概率论和微积分的基本知识。
本书中的例子采用Python编写,使用了scikit-learn机器学习框架、自然语言工具包(NLTK)、Crab、langdetect、Spark、gensim和TensorFlow(深度学习框架),环境为Linux、Mac OS X或Windows平台的Python 2.7或3.3+版本。当一个特定的框架被用于特定的任务时,会提供详细的指导和参考内容。
scikit-learn、NLTK和TensorFlow可以按照以下网站提供的说明进行安装:http://scikit-learn.org、http://www.nltk.org和https://www.tensorflow.org。
读者对象
本书主要面向希望进入数据科学领域但对机器学习非常陌生的IT专业人员,最好熟悉Python语言。此外,需要基本的数学知识(线性代数、微积分和概率论),以充分理解大部分章节的内容。
排版约定
在本书中,你将找到许多区分不同类型信息的文本样式。下面是这些样式的一些例子以及含义:任何命令行输入或输出如下所示:

警告或重要内容。
提示和技巧。
示例代码及彩图下载
本书的代码包可以在GitHub上找到,网址为https://github.com/PacktPublishing/Machine-Learning-Algorithms。读者也可以访问华章图书官网www.hzbook.com,通过注册并登录个人账号,下载本书的源代码和彩图。

上架指导

计算机/人工智能/机器学习

封底文字

本书介绍了数据科学领域常用的所有重要机器学习算法以及TensorFlow和特征工程等相关内容。涵盖的算法包括线性回归、逻辑回归、支持向量机、朴素贝叶斯、k均值、随机森林等,这些算法可以用于监督学习、非监督学习、强化学习或半监督学习。
在本书中,你将学会如何使用这些算法来解决所遇到的问题,并了解这些算法的工作方式。本书还将介绍自然语言处理和推荐系统,这些内容将帮助大家进行多种算法的实践。
阅读完本书后,面对你所遇到的问题,你将了解如何选择合适的聚类、分类或回归的机器学习算法。

本书内容:
熟悉机器学习的重要元素
了解特征选择和特征工程
评估线性回归的性能并学会平衡其误差
构建数据模型并通过使用不同类型的算法来了解其工作原理
学习调整支持向量机的参数
对数据集实现聚类
了解自然语言处理和推荐系统
从头开始架构机器学习体系

译者序

作为一门多领域交叉学科,人工智能近年来引起了越来越多的关注,也日益广泛地应用于工业及日常生活中。作为未来能真正意义上实现人工智能的方向之一,机器学习涵盖了包括概率、统计、代数、优化等在内的大量基础知识以及数量繁多的算法,形成了庞大的理论知识体系。对机器学习方法进行实现并封装的软件包,使得人们可以在了解基础理论的基础上,快速地将机器学习的现有技术应用于所关注的领域。
作为一种解释型语言,Python简单易学,开发生态成熟,有很多非常有用的库可以调用,无论是初学者还是专业的程序员都可以利用它方便地编写出所需要的程序。同时,Python可以方便地调用很多第三方库,从而给程序员带来了很大的便捷性。基于此,Python拥有庞大的用户群体以及繁荣的社区,这反过来也促进了Python的进一步发展。
与机器学习领域很多偏重于理论的图书相比,本书在简明扼要地阐明基本原理的基础上,侧重于介绍如何在Python环境下使用机器学习方法库,并通过大量实例清晰形象地展示了不同场景下机器学习方法的应用。从这个角度来说,本书是一本使机器学习算法通过Python实现真正“落地”的书,而这无疑将给想要或致力于机器学习应用的读者带来方法理解和实现上的巨大裨益。
感谢华东理工大学信息科学与工程学院的部分研究生,包括金宇尘、何翔、陈鹏、李福杰、余刚、骆楠、戚鹏程等,他们在本书的翻译过程中做了一些辅助性的工作。感谢崔冬等软件开发人员,他们在本书的审阅过程中提出了建设性意见和建议。这里还要特别感谢机械工业出版社张梦玲编辑的大力引荐和无私帮助。
限于本人水平,对本书中部分内容的理解或中文语言的表达难免存在不当之处,敬请读者批评指正,以便能够不断改进。

罗娜
2017年12月12日于上海

图书目录

译者序
前言
作者简介
审校人员简介
第1章 机器学习简介1
 1.1 经典机器和自适应机器简介1
 1.2 机器学习的分类2
  1.2.1 监督学习3
  1.2.2 无监督学习5
  1.2.3 强化学习7
 1.3 超越机器学习——深度学习和仿生自适应系统8
 1.4 机器学习和大数据9
 延伸阅读10
 本章小结10
第2章 机器学习的重要元素11
 2.1 数据格式11
 2.2 可学习性13
  2.2.1 欠拟合和过拟合15
  2.2.2 误差度量16
  2.2.3 PAC学习18
 2.3 统计学习方法19
  2.3.1 最大后验概率学习20
  2.3.2 最大似然学习20
 2.4 信息论的要素24
 参考文献26
 本章小结26
第3章 特征选择与特征工程28
 3.1 scikit-learn练习数据集28
 3.2 创建训练集和测试集29
 3.3 管理分类数据30
 3.4 管理缺失特征33
 3.5 数据缩放和归一化33
 3.6 特征选择和过滤35
 3.7 主成分分析37
  3.7.1 非负矩阵分解42
  3.7.2 稀疏PCA42
  3.7.3 核PCA43
 3.8 原子提取和字典学习45
 参考文献47
 本章小结47
第4章 线性回归48
 4.1 线性模型48
 4.2 一个二维的例子48
 4.3 基于scikit-learn的线性回归和更高维50
 4.4 Ridge、Lasso和ElasticNet53
 4.5 随机采样一致的鲁棒回归57
 4.6 多项式回归58
 4.7 保序回归60
 参考文献62
 本章小结62
第5章 逻辑回归64
 5.1 线性分类64
 5.2 逻辑回归65
 5.3 实现和优化67
 5.4 随机梯度下降算法69
 5.5 通过网格搜索找到最优超参数71
 5.6 评估分类的指标73
 5.7 ROC曲线77
 本章小结79
第6章 朴素贝叶斯81
 6.1 贝叶斯定理81
 6.2 朴素贝叶斯分类器82
 6.3 scikit-learn中的朴素贝叶斯83
  6.3.1 伯努利朴素贝叶斯83
  6.3.2 多项式朴素贝叶斯85
  6.3.3 高斯朴素贝叶斯86
 参考文献89
 本章小结89
第7章 支持向量机90
 7.1 线性支持向量机90
 7.2 scikit-learn实现93
  7.2.1 线性分类94
  7.2.2 基于内核的分类95
  7.2.3 非线性例子97
 7.3 受控支持向量机101
 7.4 支持向量回归103
 参考文献104
 本章小结104
第8章 决策树和集成学习105
8.1 二元决策树105
  8.1.1 二元决策106
  8.1.2 不纯度的衡量107
  8.1.3 特征重要度109
 8.2 基于scikit-learn的决策树分类109
 8.3 集成学习113
  8.3.1 随机森林114
  8.3.2 AdaBoost116
  8.3.3 梯度树提升118
  8.3.4 投票分类器120
 参考文献122
 本章小结122
第9章 聚类基础124
 9.1 聚类简介124
  9.1.1 k均值聚类125
  9.1.2 DBSCAN136
  9.1.3 光谱聚类138
 9.2 基于实证的评价方法139
  9.2.1 同质性140
  9.2.2 完整性140
  9.2.3 修正兰德指数141
 参考文献142
 本章小结142
第10章 层次聚类143
 10.1 分层策略143
 10.2 凝聚聚类143
  10.2.1 树形图145
  10.2.2 scikit-learn中的凝聚聚类147
  10.2.3 连接限制149
 参考文献151
 本章小结152
第11章 推荐系统简介153
 11.1 朴素的基于用户的系统153
 11.2 基于内容的系统156
 11.3 无模式(或基于内存的)协同过滤158
 11.4 基于模型的协同过滤160
  11.4.1 奇异值分解策略161
  11.4.2 交替最小二乘法策略163
  11.4.3 用Apache Spark MLlib实现交替最小二乘法策略164
 参考文献167
 本章小结167
第12章 自然语言处理简介169
 12.1 NLTK和内置语料库169
 12.2 词袋策略171
  12.2.1 标记172
  12.2.2 停止词的删除174
  12.2.3 词干提取175
  12.2.4 向量化176
 12.3 基于路透社语料库的文本分类器例子180
 参考文献182
 本章小结182
第13章 自然语言处理中的主题建模与情感分析183
 13.1 主题建模183
  13.1.1 潜在语义分析183
  13.1.2 概率潜在语义分析188
  13.1.3 潜在狄利克雷分配193
 13.2 情感分析198
 参考文献202
 本章小结202
第14章 深度学习和TensorFlow简介203
 14.1 深度学习简介203
  14.1.1 人工神经网络203
  14.1.2 深层结构206
 14.2 TensorFlow简介208
  14.2.1 计算梯度210
  14.2.2 逻辑回归212
  14.2.3 用多层感知器进行分类215
  14.2.4 图像卷积218
 14.3 Keras内部速览220
 参考文献225
 本章小结225
第15章 构建机器学习框架226
 15.1 机器学习框架226
  15.1.1 数据收集227
  15.1.2 归一化227
  15.1.3 降维227
  15.1.4 数据扩充228
  15.1.5 数据转换228
  15.1.6 建模、网格搜索和交叉验证229
  15.1.7 可视化229
 15.2 用于机器学习框架的scikit-learn工具229
  15.2.1 管道229
  15.2.2 特征联合232
 参考文献233
 本章小结233

教学资源推荐
作者: (美)Tom Mitchell
作者: [黎]玛丽特·阿瓦德(Mariette Awad) [美]拉胡尔·肯纳(Rahul Khanna)著
作者: (美)Tom M.Mitchell
作者: [美]马修 T.梅森(Matthew T. Mason)著
参考读物推荐
作者: [美]马特·R.科尔(Matt R.Cole) 著