
张春强 张和平 唐振
本书视角独特,将软件工程中的方法应用到机器学习实践中,重视方法论和工程实践的融合。本书主要有3个特点。1)机器学习的软件工程方法:用软件工程(Software Engineering)中的工具、方法和理论指导机器学习的实践活动。主要体现在测试驱动开发(TDD)方法、机器学习项目管理方法、工程化软件应用于数据科学标准化环境,以及开源算法包的大量实践应用案例等。2)机器学习全生命周期:书中全面呈现了机器学习项目开发的完整链路,以项目需求为起点,历经样本定义、数据处理、建模、模型上线、模型监控、模型重训或重建。流程中的大部分节点独立成章,阐述充分,并且不是单纯地阐述理论,而是重在实践。同时,聚焦机器学习中应用最广泛和最有效的算法,使之成为贯穿机器学习项目生命周期的一条完整的学习路径。3)提出机器学习是一门实验学科:书中有大量的工业实践代码,例如数据分析包、特征离散化包、特征选择包、集成模型框架包、大规模模型上线系统架构和对应代码包等,对机器学习算法特性也有大量的代码解析。书中还多次强调对于机器学习这样一门实验和实践学科,工具、方法和策略的重要性,并介绍了在实际项目中对时间、人力成本等的权衡策略。本书不拘泥于公式推演、数值分析计算领域优化求解(梯度、牛顿、拉格朗日、凸优化)等主题,而重在展现机器学习的实际应用,以及各知识点的落地。在写作方式和内容编写等方面,本书力求既贴近工程实践又不失理论深度,给读者良好的阅读体验。
纯阳书评(豆瓣:纯阳子/公众号:纯阳书评/微信号:chimbusco88)第438期《机器学习软件工程方法与实现》作为一本机器学习书籍,这本书最大的特点是“脚踩两只船”。如果是谈恋爱的话,对方“脚踩两只船”绝对不是一件好事,但是如果是一本书的话,“脚踩两只船”很可能不是一件坏事。尤其是当作者的“脚踩两只船”是指不走寻常路,别出心裁地从两个甚至多个维度融合的角度阐述一个主题的话,这种“脚踩两只船”往往是一件好事,这种视角往往很独特,很新鲜,可以让读者领略到单一维度无法呈现的景象。 这本书就是如此,脚踩了两只船而且踩得还不错,一是在机器学习类书籍中这么踩得人很少,所以作者只要一踩,就踩出了陌生感,踩出了新鲜感,踩成了特色。二是脚踩两只船着实是个技术活儿,有难度,不好踩,稍有不慎就掉水里了。理论技术与工程实践这两条船也同样不好踩,理论技术与工程实践是两回事,追求的目标和、关注的指标、遵循的原则往往不同,甚至有时候会有很大差异,要把两者有机地融合在一块显然是一件看起来很美,做起来很有挑战的一件事。显然作者驾驭能力很强,理论功底过关,实践经验足够,所以本书在这两条船上踩得比较稳,把握得也很有节奏,一路下来有板有眼,有张有合,直到写完最后一个字,也没有把船踩翻。因为没有踩翻,所以在写作效果上就显得既有理论深度,又有工程思路。 除此以外,这本书另一个值得称道的地方是为机器学习的初学者提供了一份学习路线图。 机器学习作为一门快速发展、不断迭代的技术,既包含理论知识,也涉及到众多领域的实操经验。所以一名新手要想上路必须要过两关。一是过基本的理论知识关,二是能够上手的实操关。 为了帮助新手过第一关,作者从工程实践的视角阐述理论知识,较为全面的呈现了机器学习项目开发的整个链条,以项目需求为起点,详细阐述了样本定义、数据处理、各种模型的建模、模型上线、模型监控、模型重训等领域内容,以帮助读者建立一个较为完整的知识体系,建立一个全景式的理论知识图谱。 为了帮助新手过第二关,作者干了两件意义的事,一是在书中介绍了软件工程开发的基本思想和docker容器等配套技术,这些内容是上手实践机器学习的基础;二是提供并介绍了大量数据分析包、特征离散化包、特征选择包、集成模型框架包、大规模模型上线系统架构和对应代码包。这些技术和资源的介绍不一定足够详实,但是足以给读者指路,如果读者发现自己对相关内容不太熟悉,那么完全可以再去找相关资料去深入学习和研究,确保读者在机器学习上手实践的路上不走冤枉路。
不值得,确实是说深实际不深,意义不大
大部份内容感觉网上的博客一样,找时间看看配套代码