猜你喜欢
机器学习算法

机器学习算法

书籍作者:朱塞佩·博纳科尔索 ISBN:9787111595137
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4024
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
本书采用理论与实践相结合的方式,在简明扼要地阐明机器学习原理的基础上,通过大量实例介绍了不同场景下机器学习算法在scikit-learn中的实现及应用。书中还有大量的代码示例及图例,便于读者理解和学习并实际上手操作。另一方面,书中还有很多的延伸阅读指导,方便读者系统性地了解机器学习领域的现有技术及其发展状态。
前言
前 言Machine Learning Algorithms本书是对机器学习领域的介绍。机器学习不仅对于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,通过注册并登录个人账号,下载本书的源代码和彩图。
作者简介Machine Learning AlgorithmsGiuseppe Bonaccorso是一位拥有12年经验的机器学习和大数据方面的专家。他拥有意大利卡塔尼亚大学电子工程专业工程学硕士学位,并在意大利罗马第二大学、英国埃塞克斯大学深造过。在他的职业生涯中,担任过公共管理、军事、公用事业、医疗保健、诊断学和广告等多个业务领域的IT工程师,使用Java、Python、Hadoop、Spark、Theano和TensorFlow等多种技术进行过项目开发与管理。他的主要研究兴趣包括人工智能、机器学习、数据科学和精神哲学。
审校人员简介Machine Learning AlgorithmsManuel Amunategui是SpringML公司数据科学项目副总裁。SpringML是一家初创公司,提供Google Cloud、TensorFlow和Salesforce企业解决方案。在此之前,他曾在华尔街担任量化开发人员,为一家大型股票期权交易商工作,之后担任微软的软件开发人员。他拥有预测分析和国际管理硕士学位。
他是数据科学爱好者、博主(http://amunategui.github.io),担任Udemy.com和O'Reilly Media的培训师,以及Packt出版社的技术审校人员。
Doug Ortiz是ByteCubed的一名高级大数据架构师,他在整个职业生涯中一直从事企业解决方案方面的架构、开发和集成工作。他帮助企业通过一些现有的和新兴的技术,诸如Microsoft BI Stack、Hadoop、NoSQL数据库、SharePoint以及相关工具和技术,重新发现和利用未充分利用的数据。他也是Illustris公司的创始人,可通过[email protected]与他联系。
在专业领域,他有多平台和产品集成、大数据、数据科学、R和Python方面的丰富经验。Doug还帮助企业深入了解并重视对数据和现有资源的投资,将其转化为有用的信息来源。他利用独特和创新的技术改进、拯救并架构了多个项目。他的爱好是瑜伽和潜水。
Lukasz Tracewski是一名软件开发人员和科学家,专攻机器学习、数字信号处理和云计算。作为开源社区的积极成员,他也是众多研究类出版物的作者。他曾在荷兰一家高科技产业作为软件科学家工作了6年,先后在光刻和电子显微镜方面帮助构建达到生产量与物理精度极限的算法及机器。目前,他在金融行业领导着一支数据科学团队。
4年来,Lukasz一直在自然保护领域利用他的专业技能提供无偿服务,如从录音或卫星图像分析中进行鸟类分类等。他在业余时间从事濒危物种的保护工作。
目录
目 录
Machine Learning Algorithms

译者序
前言
作者简介
审校人员简介
第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