首页>参考读物>计算机科学与技术>人工智能

机器学习算法框架实战:Java和Python实现
作者 : 麦嘉铭 编著
出版日期 : 2020-07-06
ISBN : 978-7-111-65975-4
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 216
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

随着互联网技术的飞速发展,全球逐渐步入了大数据时代,智能化的趋势越来越明显,各行各业几乎都喊出了智能化的口号,机器学习作为人工智能的一个重要研究方向,在一定程度上成为了IT人才的必要技能。本书以一个自研机器学习算法框架的构建为主线,首先介绍了机器学习的相关概念和背景,然后按照代数矩阵运算层、最优化方法层、算法模型层和业务功能层的分层顺序对算法框架展开讲述,旨在通过理论和实践相结合的方式,帮助广大零算法基础的开发人员了解和掌握一定的算法能力,同时作为算法设计人员在工程实现上的参考范例。
本书实用性强,既面向零算法基础的开发人员,也面向具备一定算法能力,并且在工程实现上希望有所借鉴或参考学习的算法设计人员及机器学习算法爱好者。

图书特色

广告语:
阿里前高级工程师力作,5位大咖力荐!兼顾理论和实战,从零开始自己动手开发一个机器学习算法框架;按代数矩阵运算层、最优化方法层、算法模型层和业务功能层顺序讲解


编辑推荐:
前阿里巴巴高级开发工程师力作,BIGO研发总监等5位大咖力荐
兼顾理论和实战,从零开始自己动手开发一个机器学习算法框架
按代数矩阵运算层、最优化方法层、算法模型层和业务功能层的分层顺序讲解

图书前言

  随着科技的迅猛发展,短短的几十年间,互联网几乎将全球的人联系了起来,世界上所发生的事件都开始相互影响。随即,大数据成为时代的热潮,人工智能技术有了长足的进步,智能化的概念渗透到各行各业。而这一切的背后,机器学习发挥着深远的影响,以至于似乎每个人都或多或少地需要接触机器学习。然而应该从何入手却是一个让人苦恼的问题。
  为了解决这一问题,作者通过总结多年的知识积累及工作经验,分别用Java和Python两种业界主流的语言从零开始构建了一个机器学习算法框架,并浓缩成这本书,分享给想要学习机器学习算法框架的读者。本书以理论和实践相结合的方式带领读者快速上手。通过阅读本书,读者不仅可以学习机器学习算法框架,而且能够获得算法和工程实践相结合的经验。此外,书中的机器学习算法框架以分层架构的方式呈现,一方面有利于读者循序渐进地理解机器学习算法,另一方面能够帮助读者更好地理解算法在工程架构中的应用。
本书特色
  1.理论和实践相结合,读者理解更深刻
  本书中的每一章内容都首先以简单易懂的方式展开理论阐述,随后在理论的基础上给出代码实现,并且给出相应的示例,进一步帮助读者理解相关概念。相信这种理论和实践相结合的方式能够更好地呈现知识,让读者更容易理解并留下深刻印象。因为纯理论的教科书显得枯燥无味,而只有代码实现的书则让读者知其然却不知其所以然。
  2.通过架构分层的方式由浅入深地展开阐述,让读者更易上手
  本书从零开始构建一个机器学习算法框架,读者在阅读的过程中能够体会到整个框架的构建过程。书中采用的架构分层方式可以让读者由浅入深地掌握机器学习的相关知识,并且很容易快速上手。另外,读者也可以从书中体会到机器学习算法在工程实践中的应用。
  3.两种语言实现,可兼顾不同背景的读者
  本书分别用Java和Python两种业界主流的编程语言实现代码。Java适合工业界的工作人员;Python足够灵活,同时有丰富的机器学习开源库,适应面更广。不同语言背景的读者可以基于自己熟悉的语言进行学习,也可以对比两种语言在实现上的异同,从而更加深入地理解本书内容。
本书内容及体系结构
  本书共14章,分为5篇,下面简单地进行介绍。
  第1篇 绪论(第1、2章)
  第1章主要介绍了一些重要的背景知识。该章首先解释了什么是机器学习,引出了机器学习的基本概念;然后阐述了相关的关键术语;接着讨论了机器学习所要解决的问题;最后针对如何选择机器学习算法给出了建议。
  第2章重点阐述了机器学习算法框架的整体概要,引入了算法框架的分层模型,并介绍了分层模型中各层级的具体职责,最后讲解了搭建算法框架的准备工作。
  第2篇 代数矩阵运算层(第3、4章)
  第3章着重于矩阵运算层,首先介绍了矩阵运算库,接着给出了矩阵基本运算的具体实现,最后补充常用矩阵操作的实现。
  第4章进一步扩展矩阵运算库,引入了矩阵相关函数的实现。该章首先介绍了常用函数的实现,包括协方差函数、均值函数、归一化函数、最大值函数和最小值函数;接着阐述了行列式函数、矩阵求逆函数、矩阵特征值和特征向量函数的实现;最后补充了矩阵正交化函数的具体实现。
  第3篇 最优化方法层(第5、6章)
  第5章介绍了一种通用模型的参数优化方法,即最速下降法。该章首先探讨了最速下降法的基本理论;然后动手设计参数优化器的接口,并且根据理论,具体实现了一个最速下降优化器;最后利用一个具体的例子,讲解了如何使用最速下降优化器来对模型的参数进行优化。
  第6章介绍了另一种模型参数的优化方法,即遗传算法。该章首先讨论了最速下降法的局限性;然后引入了遗传算法的参数优化方法,并且根据理论,具体实现了遗传算法优化器;最后利用具体示例,讲解了如何使用遗传算法优化器进行模型参数的优化。
  第4篇 算法模型层(第7~11章)
  第7章介绍了最为基础的分类和回归模型。该章首先探讨了分类和回归的概念;然后根据理论,动手实现了不同的回归模型;最后利用具体示例讲解了如何使用基础回归模型对数据进行预测,同时对比了不同回归模型的效果。
  第8章在前面章节所讲述的回归问题的基本模型和方法的基础上,进一步引入了一个更为复杂的解决回归问题的模型——多层神经网络模型。
  第9章讨论了数据分析场景中应用广泛的聚类问题,并分别讲解了解决这种问题的两种经典模型,即K-means模型和GMM(高斯混合模型)。
  第10章主要介绍了最为经典的时间序列预测模型——Holt-Winters,重点剖析了它的基本原理及具体实现,并且通过示例进行实践。
  第11章分别介绍了两种用于降维的模型,即主成分分析模型和自动编码机模型,并且在示例中对两者进行了对比。
  第5篇 业务功能层(第12~14章)
  第12章探讨了一种较为常用的功能服务,即时间序列异常检测。该章首先介绍了时间序列异常检测的应用场景;然后阐述了时间序列异常检测的基本原理;接下来给出了时间序列异常检测功能服务的具体实现;最后通过具体示例,演示了如何判断时间序列的异常数据。
  第13章探讨了另一种较为常用的功能服务,即离群点检测。该章首先介绍了离群点检测的应用场景;随后阐述了离群点检测的基本原理;接下来给出了离群点功能服务的具体实现;最后通过具体示例,演示了如何使用离群点检测找出数据中的异常记录。
  第14章探讨了本书的最后一种趋势线拟合。该章首先介绍了趋势线拟合的应用场景;然后阐述了它的基本原理;接下来给出了趋势线拟合功能服务的具体实现;最后通过具体示例,演示了如何对样本数据进行趋势线拟合。
本书配套资源
  本书涉及的所有源代码文件及习题参考答案需要读者自行下载。请在机工新阅读网站(www.cmpreading.com)上搜索到本书,然后单击“资料下载”按钮,即可在本书页面上的“扩展资源”模块找到配书资源下载链接。
本书读者对象
* 计算机相关专业的本科生和研究生;
* 从事计算机相关专业教学的老师;
* IT公司的开发工程师和算法工程师;
* 需要机器学习工具书的人员;
* 其他对机器学习感兴趣的各类人员。
勘识与售后支持
  因受笔者水平所限,本书难免有疏漏和不当之处,敬请指正。阅读本书时读者若有疑问发现了疏漏,请发E-mail到hzbook2017@163.com,笔者会对所提问题进行核实,并在后期加印时更正错漏。

上架指导

计算机/机器学习

封底文字

业内赞誉:

本书详细地讲解了如何从零开始构建一个机器学习算法框架,并通过场景化的实战案例,讲述了如何对框架进行应用落地,内容很丰富,而且也很实用,推荐机器学习算法爱好者阅读。
——BIGO机器学习研发总监 傅正佳

本书将整个机器学习算法框架分解为多个层次进行介绍,不同层次之间保持了相对的独立性,这样的结构清晰明了,便于机器学习算法初学者进行学习和实践。
——新加坡科技研究局研究科学家 何炯

目前,市面上鲜有介绍如何用Java语言实现机器学习算法库的图书。本书另辟蹊径,不但介绍了如何用Python语言构建一个机器学习算法库,而且也介绍了该算法库的Java语言实现过程。无论是Python开发人员,还是Java开发人员,都可以在本书的带领下进行实践,从而掌握开发机器学习算法库的方法。
——依图科技首席软件工程师 王立

市面上的大部分机器学习图书,要么只介绍枯燥的理论推导,而不给出具体的实现代码,要么只介绍代码实现流程,而缺少对理论知识的深入探讨。本书兼顾了理论和实践两个方面,值得机器学习算法爱好者阅读。
——广东工业大学DMIR实验室主任/广东省杰出青年基金获得者 蔡瑞初

与传统的机器学习算法类图书不同,本书兼顾了理论和实战,不但有严谨的理论推导,而且还给出了具体的代码实战案例,另外还展现了工程架构的设计,推荐算法工程师和开发工程师阅读。
——南海水产研究所AI分类学专家 吕俊霖

图书目录

前言
第1篇 绪论
第1章 背景 2
1.1 机器学习的概念 2
1.2 机器学习所解决的问题 3
1.2.1 有监督学习问题 3
1.2.2 无监督学习 4
1.3 如何选择机器学习算法 5
1.4 习题 5
第2章 机器学习算法框架概要 7
2.1 算法框架的分层模型 7
2.2 分层模型中各层级的职责 8
2.3 开始搭建框架的准备工作 8
2.3.1 使用Java开发的准备工作 8
2.3.2 使用Python开发的准备工作 13
第2篇 代数矩阵运算层
第3章 矩阵运算库 20
3.1 矩阵运算库概述 20
3.2 矩阵基本运算的实现 20
3.2.1 矩阵的数据结构 20
3.2.2 矩阵的加法和减法 22
3.2.3 矩阵的乘法和点乘 24
3.2.4 矩阵的转置 26
3.3 矩阵的其他操作 27
3.2.1 生成单位矩阵 27
3.3.2 矩阵的复制 28
3.3.3 矩阵的合并 29
3.4 习题 32
第4章 矩阵相关函数的实现 33
4.1 常用函数 33
4.1.1 协方差函数 33
4.1.2 均值函数 34
4.1.3 归一化函数 36
4.1.4 最大值函数 38
4.1.5 最小值函数 40
4.2 行列式函数 41
4.3 矩阵求逆函数 43
4.4 矩阵特征值和特征向量函数 44
4.5 矩阵正交化函数 45
4.5.1 向量单位化 45
4.5.2 矩阵正交化 47
4.6 习题 49
第3篇 最优化方法层
第5章 最速下降优化器 52
5.1 最速下降优化方法概述 52
5.1.1 模型参数优化的目标 52
5.1.2 最速下降优化方法 53
5.2 最速下降优化器的实现 54
5.2.1 参数优化器的接口设计 54
5.2.2 最速下降优化器的具体实现 57
5.3 一个目标函数的优化例子 62
5.3.1 单元测试示例:偏导数的计算 62
5.3.2 单元测试示例:目标函数的参数优化 64
5.4 习题 66
第6章 遗传算法优化器 67
6.1 遗传算法概述 67
6.1.1 遗传算法的目标 67
6.1.2 遗传算法的基本过程 68
6.2 遗传算法优化器的实现 71
6.2.1 遗传算法优化器主体流程的实现 71
6.2.2 遗传算法优化器各算子的实现 74
6.3 一个目标函数的优化例子 82
6.4 习题 85
第4篇 算法模型层
第7章 分类和回归模型 88
7.1 分类和回归模型概述 88
7.2 基础回归模型 89
7.2.1 线性回归模型 89
7.2.2 对数回归模型 92
7.2.3 指数回归模型 94
7.2.4 幂函数回归模型 97
7.2.5 多项式回归模型 100
7.3 分类回归分析的例子 102
7.3.1 示例:验证对数回归模型 102
7.3.2 示例:对比不同模型 104
7.4 习题 108
第8章 多层神经网络模型 109
8.1 多层神经网络模型概述 109
8.1.1 网络模型的表达形式 109
8.1.2 前馈运算 111
8.1.3 反向传播 112
8.2 多层神经网络模型的实现 115
8.3 多层神经网络模型示例 122
8.4 习题 125
第9章 聚类模型 126
9.1 K-means模型 126
9.1.1 K-means聚类模型概述 126
9.1.2 K-means模型的实现 128
9.1.3 示例:一个聚类的例子 131
9.2 GMM 134
9.2.1 从一维高斯函数到多维高斯函数 134
9.2.2 GMM概述 136
9.2.3 GMM的实现 139
9.2.4 示例:对比K-means模型 144
9.3 习题 147
第10章 时间序列模型 148
10.1 指数平滑模型 148
10.1.1 移动平均模型 148
10.1.2 一次指数平滑模型 149
10.1.3 二次指数平滑模型 150
10.2 Holt-Winters模型 150
10.2.1 Holt-Winters模型概述 150
10.2.2 Holt-Winters模型的实现 151
10.2.3 示例:时间序列的预测 156
10.3 习题 160
第11章 降维和特征提取 161
11.1 降维的目的 161
11.2 主成分分析模型 162
11.2.1 主成分分析方法概述 162
11.2.2 主成分分析模型的实现 165
11.2.3 示例:降维提取主要特征 167
11.3 自动编码机模型 170
11.3.1 非线性的主成分分析 170
11.3.2 自动编码机原理概述 171
11.3.3 自动编码机模型的实现 172
11.3.4 示例:对比主成分分析 173
11.4 习题 176
第5篇 业务功能层
第12章 时间序列异常检测 178
12.1 时间序列异常检测的应用场景 178
12.2 时间序列异常检测的基本原理 178
12.2.1 基于预测的时间序列异常检测 179
12.2.2 阈值的估计 179
12.3 时间序列异常检测功能服务的实现 180
12.4 应用实例:找出数据中的异常记录 182
12.5 习题 183
第13章 离群点检测 184
13.1 离群点检测的应用场景 184
13.2 离群点检测的基本原理 185
13.2.1 基于多维高斯函数检测离群点 186
13.2.2 数据的有效降维 188
13.3 离群点检测功能服务的实现 188
13.4 应用实例:找出数据中的异常记录 191
13.5 习题 193
第14章 趋势线拟合 194
14.1 趋势线拟合的应用场景 194
14.2 趋势线拟合的基本原理 195
14.2.1 基于不同基础回归模型的拟合 196
14.2.2 选取合适的回归模型 196
14.3 趋势线拟合功能服务的实现 196
14.4 应用实例:对样本数据进行趋势线拟合 201
14.5 习题 203

教学资源推荐
作者: [中]石川(Chuan Shi) [美]俞士纶 (Philip S. Yu) 著
作者: [美]穆罕默德·H. 萨德雷(Mohammad H. Sadraey) 著
作者: [德]菲利普·科恩(Philipp Koehn) 著
作者: [意]迪诺·埃斯波西托(Dino Esposito) 弗朗西斯科·埃斯波西托(Francesco Esposito) 著
参考读物推荐
作者: [意]迪诺·埃斯波西托(Dino Esposito) 弗朗西斯科·埃斯波西托(Francesco Esposito) 著
作者: [美]马修·博格蒂(Matthew Borgatti)卡里·洛夫(Kari Love) 著
作者: John Shawe-Taylor, Nello Cristianini