机器学习算法框架实战:Java和Python实现
基本信息

编辑推荐
广告语:
阿里前高级工程师力作,5位大咖力荐!兼顾理论和实战,从零开始自己动手开发一个机器学习算法框架;按代数矩阵运算层、最优化方法层、算法模型层和业务功能层顺序讲解
编辑推荐:
前阿里巴巴高级开发工程师力作,BIGO研发总监等5位大咖力荐
兼顾理论和实战,从零开始自己动手开发一个机器学习算法框架
按代数矩阵运算层、最优化方法层、算法模型层和业务功能层的分层顺序讲解
内容简介
计算机书籍
随着互联网技术的飞速发展,全球逐渐步入了大数据时代,智能化的趋势越来越明显,各行各业几乎都喊出了智能化的口号,机器学习作为人工智能的一个重要研究方向,在一定程度上成为了IT人才的必要技能。本书以一个自研机器学习算法框架的构建为主线,首先介绍了机器学习的相关概念和背景,然后按照代数矩阵运算层、最优化方法层、算法模型层和业务功能层的分层顺序对算法框架展开讲述,旨在通过理论和实践相结合的方式,帮助广大零算法基础的开发人员了解和掌握一定的算法能力,同时作为算法设计人员在工程实现上的参考范例。
本书实用性强,既面向零算法基础的开发人员,也面向具备一定算法能力,并且在工程实现上希望有所借鉴或参考学习的算法设计人员及机器学习算法爱好者。
目录
第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
前言
为了解决这一问题,作者通过总结多年的知识积累及工作经验,分别用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章介绍了另一种模型参数的优化方法,即遗传算法。该章首先讨论了最速下降法的局限性;然后引入了遗传算法的参数优化方法,并且根据理论,具体实现了遗传算法优化器;最后利用具体示例,讲解了如何使用遗传算法优化器进行模型参数的优化。
媒体评论
本书详细地讲解了如何从零开始构建一个机器学习算法框架,并通过场景化的实战案例,讲述了如何对框架进行应用落地,内容很丰富,而且也很实用,推荐机器学习算法爱好者阅读。
——BIGO机器学习研发总监傅正佳
本书将整个机器学习算法框架分解为多个层次进行介绍,不同层次之间保持了相对的独立性,这样的结构清晰明了,便于机器学习算法初学者进行学习和实践。
——新加坡科技研究局研究科学家何炯
目前,市面上鲜有介绍如何用Java语言实现机器学习算法库的图书。本书另辟蹊径,不但介绍了如何用Python语言构建一个机器学习算法库,而且也介绍了该算法库的Java语言实现过程。无论是Python开发人员,还是Java开发人员,都可以在本书的带领下进行实践,从而掌握开发机器学习算法库的方法。
——依图科技首席软件工程师王立
市面上的大部分机器学习图书,要么只介绍枯燥的理论推导,而不给出具体的实现代码,要么只介绍代码实现流程,而缺少对理论知识的深入探讨。本书兼顾了理论和实践两个方面,值得机器学习算法爱好者阅读。
——广东工业大学DMIR实验室主任/广东省杰出青年基金获得者蔡瑞初
与传统的机器学习算法类图书不同,本书兼顾了理论和实战,不但有严谨的理论推导,而且还给出了具体的代码实战案例,另外还展现了工程架构的设计,推荐算法工程师和开发工程师阅读。
——南海水产研究所AI分类学专家吕俊霖