内容简介
机器学习模型不能给出准确结果的原因有很多。从设计的角度来审视这些系统,我们能够深入理解其底层算法和可用的优化方法。本书为我们提供了机器学习设计过程的坚实基础,能够使我们为特定问题建立起定制的机器学习模型。我们可能已经了解或使用过一些为解决常见问题的商用机器学习模型,例如垃圾邮件检测或电影分级,但是要着手于解决更为复杂的问题,则其重点是让这些模型适用于我们自己特定的需求。
作者简介
[美]戴维 · 朱利安(David Julian),数据分析员、信息系统咨询顾问和培训讲师。他目前正致力于 Urban Ecological Systems 和 Blue Smart Farms 的机器学习项目,该项目旨在发现和预测温室作物虫害。
本书内容
译者序
2016年,对于计算机相关从业者(和职业围棋手)而言,毋庸置疑,最具冲击力的大事件就是 AlphaGo 的成功了。对此,即便是如我本人这样最迟钝的计算机工程师,也终于不能无动于衷,感觉是时候跳出 if-else 的懒惰,捡起尘封多年乃至遗忘的线性规划和微积分等知识,投身于人工智能的汪洋了。历经60载的孕育,人工智能的时代终于到来了。
回想起本世纪初,我曾参与了电信公司的一个营销项目,这个项目的目标是建立一系列客户指标,以反映客户的价值和分类,使营销人员能够进行精准营销和客户关怀。对于这个项目,当时的术语是,数据仓库和集市,旋转、切片、透视等统计分析,分类和聚类等数据挖掘,等等。当工作作风一向是直接有效(简单粗暴)的市场营销专家,了解到数据仓库和统计工具软硬件的昂贵、数据挖掘工作的繁杂之后,他们提出直接拿一套指标变量和决策阈值,然后用 if-else 来决定对付客户的营销手段。好吧,指标变量还好,但是优化的决策边界怎么拿?最终,一份虚构臆想的报告出炉了,对此,我至今仍怀有深深的罪恶感。
如今,市场营销的专家作风依旧吧?但是,即便是初出茅庐(大有可为)的软件工程师,也完全能够用触手可得的开源工具和计算环境,建立起一个机器学习系统,获得一些令人信服的决策边界优化解,让那些令人哭笑不得的推销短信变得更少,让短信垃圾成为雪中送炭,想要获取信息的人们无须再从一些衣冠楚楚、侃侃而谈的顾问手里购买一纸空洞的报告了。这就是人工智能的时代,在自动驾驶成为投资大鳄眼中的香饽饽时,人工智能已经无所不在了。本书也是如此,对于计算机科学专业的小伙伴们来说,书中的内容都不陌生,但当这些都成为随手可得、随时要用的东西时,就证明了我们已经身处其时。
本书涵盖了建立机器学习系统的方方面面,相对比较基础,其中最有价值的是,书中介绍了机器学习系统设计的整个过程,以及相关的 Python 库,并在各个知识环节中都给出了 Python 示例。无论对于机器学习系统的新兵还是老手,本书都有一定的参考价值。对于机器学习系统的初学者而言,本书较为系统地介绍了相关知识,同时也在一开始就给出了语言和环境,能够让大家甩开膀子,撸起袖子,伸手开干;而对于机器学习系统的老手而言,其更多的参考价值在于如何使用 Python 来实现那些概念。
但需要注意的是,本书绝不是机器学习的学科教材,也不是 Python 库的用户手册,更不是实际项目的设计文档。因此,本书并没有对各种模型提供完整的解释和严格的推导,也没有对 Python 库的各种对象和函数提供完整详尽的说明,更不会对实际问题给出详细的解决方案和实现。但本书确实是一个简明的指引,并富有逻辑,让我们能够按图索骥,由此及彼,较为系统地了解 Python 机器学习系统设计的方方面面,并以此为线索,展开更多的阅读和深入的学习。同时,书中的诸多示例也能在一定程度上为我们解决类似问题提供思路。
在人工智能的时代,翻译一本机器学习的书籍,对译者而言也是幸甚至哉,借此与各路志士同仁共勉。
李洋
2017年2月
前言
机器学习是计算世界所见的最大趋势之一。机器学习系统具有意义深远且令人兴奋的能力,能够在各种应用领域为人们提供重要的洞察力,从具有开创性的挽救生命的医学研究到宇宙基础物理方面的发现,从为我们提供更健康、更清洁的食物到互联网分析和建立经济模型,等等。事实上,就某种意义而言,这项技术在我们的生活中已经无所不在。要想进入机器学习的领域,并且对其具有充分的认知,就必须能够理解和设计服务于某一项目需要的机器学习系统。
本书的主要内容
第1章从机器学习的基础知识开始,帮助你用机器学习的范式进行思考。你将学到机器学习的设计原理和相关模型。
第2章讲解了 Python 中众多针对机器学习任务的程序包。本章会让你初步了解一些大型库,包括 NumPy、SciPy、Matplotlib和Scilit-learn 等。
第3章讲解了原始数据可能有多种不同格式,其数量和质量也可能各不相同。有时,我们会被数据淹没;而有时,我们希望从数据中榨取最后一滴信息。数据要成为信息,需要有意义的结构。本章我们介绍了一些宽泛的主题,如大数据、数据属性、数据源、数据处理和分析等。
第4章在逻辑模型中探索了逻辑语言,并创建了假设空间映射;在树状模型中,我们发现其具有广泛作用域并易于描述和理解;在规则模型中,我们讨论了基于有序规则列表和无序规则集的模型。
第5章介绍了线性模型,它是使用最广泛的模型之一。线性模型是众多高级非线性技术的基础,例如,支持向量机(SVM)和神经网络。本章还研究了机器学习最常用的技术,创建线性回归和 logistic 回归的假设语句。
第6章介绍了机器学习最强大的人工神经网络算法。我们将看到这些网络如何成为大脑神经元的简化模型。
第7章讨论了特征的不同类型,即定量特征、有序特征和分类特征。我们还将详细学习如何结构化和变换特征。
第